Browse Source

init

master
nitowa 8 months ago
commit
1dae68b1c7
100 changed files with 14334 additions and 0 deletions
  1. 1
    0
      README.md
  2. 4
    0
      lib/RJSVM/framework/rjsvm.d.ts
  3. 127
    0
      lib/RJSVM/framework/rjsvm.js
  4. 67
    0
      lib/RJSVM/framework/types.d.ts
  5. 17
    0
      lib/RJSVM/framework/types.js
  6. 15
    0
      lib/RJSVM/protocol/datawriter.d.ts
  7. 53
    0
      lib/RJSVM/protocol/datawriter.js
  8. 3
    0
      lib/main.d.ts
  9. 19
    0
      lib/main.js
  10. 1
    0
      lib/user-defined-contract.d.ts
  11. 55
    0
      lib/user-defined-contract.js
  12. 3
    0
      lib/util/dataparser.d.ts
  13. 14
    0
      lib/util/dataparser.js
  14. 15
    0
      lib/util/protocol.constants.d.ts
  15. 18
    0
      lib/util/protocol.constants.js
  16. 3
    0
      lib/util/schemas.d.ts
  17. 8
    0
      lib/util/schemas.js
  18. 1
    0
      node_modules/.bin/sha.js
  19. 1
    0
      node_modules/.bin/tsc
  20. 1
    0
      node_modules/.bin/tsserver
  21. 904
    0
      node_modules/.package-lock.json
  22. 21
    0
      node_modules/@types/lodash/LICENSE
  23. 16
    0
      node_modules/@types/lodash/README.md
  24. 2
    0
      node_modules/@types/lodash/add.d.ts
  25. 2
    0
      node_modules/@types/lodash/after.d.ts
  26. 2
    0
      node_modules/@types/lodash/ary.d.ts
  27. 2
    0
      node_modules/@types/lodash/assign.d.ts
  28. 2
    0
      node_modules/@types/lodash/assignIn.d.ts
  29. 2
    0
      node_modules/@types/lodash/assignInWith.d.ts
  30. 2
    0
      node_modules/@types/lodash/assignWith.d.ts
  31. 2
    0
      node_modules/@types/lodash/at.d.ts
  32. 2
    0
      node_modules/@types/lodash/attempt.d.ts
  33. 2
    0
      node_modules/@types/lodash/before.d.ts
  34. 2
    0
      node_modules/@types/lodash/bind.d.ts
  35. 2
    0
      node_modules/@types/lodash/bindAll.d.ts
  36. 2
    0
      node_modules/@types/lodash/bindKey.d.ts
  37. 2
    0
      node_modules/@types/lodash/camelCase.d.ts
  38. 2
    0
      node_modules/@types/lodash/capitalize.d.ts
  39. 2
    0
      node_modules/@types/lodash/castArray.d.ts
  40. 2
    0
      node_modules/@types/lodash/ceil.d.ts
  41. 2
    0
      node_modules/@types/lodash/chain.d.ts
  42. 2
    0
      node_modules/@types/lodash/chunk.d.ts
  43. 2
    0
      node_modules/@types/lodash/clamp.d.ts
  44. 2
    0
      node_modules/@types/lodash/clone.d.ts
  45. 2
    0
      node_modules/@types/lodash/cloneDeep.d.ts
  46. 2
    0
      node_modules/@types/lodash/cloneDeepWith.d.ts
  47. 2
    0
      node_modules/@types/lodash/cloneWith.d.ts
  48. 2126
    0
      node_modules/@types/lodash/common/array.d.ts
  49. 1930
    0
      node_modules/@types/lodash/common/collection.d.ts
  50. 280
    0
      node_modules/@types/lodash/common/common.d.ts
  51. 23
    0
      node_modules/@types/lodash/common/date.d.ts
  52. 1446
    0
      node_modules/@types/lodash/common/function.d.ts
  53. 1700
    0
      node_modules/@types/lodash/common/lang.d.ts
  54. 405
    0
      node_modules/@types/lodash/common/math.d.ts
  55. 131
    0
      node_modules/@types/lodash/common/number.d.ts
  56. 2580
    0
      node_modules/@types/lodash/common/object.d.ts
  57. 210
    0
      node_modules/@types/lodash/common/seq.d.ts
  58. 788
    0
      node_modules/@types/lodash/common/string.d.ts
  59. 1220
    0
      node_modules/@types/lodash/common/util.d.ts
  60. 2
    0
      node_modules/@types/lodash/compact.d.ts
  61. 2
    0
      node_modules/@types/lodash/concat.d.ts
  62. 2
    0
      node_modules/@types/lodash/cond.d.ts
  63. 2
    0
      node_modules/@types/lodash/conformsTo.d.ts
  64. 2
    0
      node_modules/@types/lodash/constant.d.ts
  65. 2
    0
      node_modules/@types/lodash/countBy.d.ts
  66. 2
    0
      node_modules/@types/lodash/create.d.ts
  67. 2
    0
      node_modules/@types/lodash/curry.d.ts
  68. 2
    0
      node_modules/@types/lodash/curryRight.d.ts
  69. 2
    0
      node_modules/@types/lodash/debounce.d.ts
  70. 2
    0
      node_modules/@types/lodash/deburr.d.ts
  71. 2
    0
      node_modules/@types/lodash/defaultTo.d.ts
  72. 2
    0
      node_modules/@types/lodash/defaults.d.ts
  73. 2
    0
      node_modules/@types/lodash/defaultsDeep.d.ts
  74. 2
    0
      node_modules/@types/lodash/defer.d.ts
  75. 2
    0
      node_modules/@types/lodash/delay.d.ts
  76. 2
    0
      node_modules/@types/lodash/difference.d.ts
  77. 2
    0
      node_modules/@types/lodash/differenceBy.d.ts
  78. 2
    0
      node_modules/@types/lodash/differenceWith.d.ts
  79. 2
    0
      node_modules/@types/lodash/divide.d.ts
  80. 2
    0
      node_modules/@types/lodash/drop.d.ts
  81. 2
    0
      node_modules/@types/lodash/dropRight.d.ts
  82. 2
    0
      node_modules/@types/lodash/dropRightWhile.d.ts
  83. 2
    0
      node_modules/@types/lodash/dropWhile.d.ts
  84. 2
    0
      node_modules/@types/lodash/each.d.ts
  85. 2
    0
      node_modules/@types/lodash/eachRight.d.ts
  86. 2
    0
      node_modules/@types/lodash/endsWith.d.ts
  87. 2
    0
      node_modules/@types/lodash/entries.d.ts
  88. 2
    0
      node_modules/@types/lodash/entriesIn.d.ts
  89. 2
    0
      node_modules/@types/lodash/eq.d.ts
  90. 2
    0
      node_modules/@types/lodash/escape.d.ts
  91. 2
    0
      node_modules/@types/lodash/escapeRegExp.d.ts
  92. 2
    0
      node_modules/@types/lodash/every.d.ts
  93. 2
    0
      node_modules/@types/lodash/extend.d.ts
  94. 2
    0
      node_modules/@types/lodash/extendWith.d.ts
  95. 2
    0
      node_modules/@types/lodash/fill.d.ts
  96. 2
    0
      node_modules/@types/lodash/filter.d.ts
  97. 2
    0
      node_modules/@types/lodash/find.d.ts
  98. 2
    0
      node_modules/@types/lodash/findIndex.d.ts
  99. 2
    0
      node_modules/@types/lodash/findKey.d.ts
  100. 0
    0
      node_modules/@types/lodash/findLast.d.ts

+ 1
- 0
README.md View File

@@ -0,0 +1 @@
1
+## The home of RJSVM, the Ripple JavaScript Virtual Machine

+ 4
- 0
lib/RJSVM/framework/rjsvm.d.ts View File

@@ -0,0 +1,4 @@
1
+import { RJSVM, RJSVM_Config, RJSVM_Implementations, Function_Map, Endpoints_Of, State_Of, Generic_Ctor_ReturnType } from "./types";
2
+export declare abstract class RJSVM_Builder {
3
+    static from<Base_Ctor extends (new (...args: any) => RJSVM<State_T, Endpoints_T>) | (abstract new (...args: any) => RJSVM<State_T, Endpoints_T>), Impl extends RJSVM_Implementations<any, Endpoints_T>, Endpoints_T extends Function_Map = Endpoints_Of<Generic_Ctor_ReturnType<Base_Ctor>>, State_T = State_Of<Generic_Ctor_ReturnType<Base_Ctor>>>(Base: Base_Ctor, defs: Impl): (new (config: RJSVM_Config) => RJSVM<State_T, Endpoints_T>);
4
+}

+ 127
- 0
lib/RJSVM/framework/rjsvm.js View File

@@ -0,0 +1,127 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.RJSVM_Builder = void 0;
4
+const types_1 = require("./types");
5
+const xrpl_1 = require("xrpl");
6
+const xrpio_1 = require("xrpio");
7
+const dataparser_1 = require("../../util/dataparser");
8
+const protocol_constants_1 = require("../../util/protocol.constants");
9
+class RJSVM_Builder {
10
+    static from(Base, defs) {
11
+        return class RJSVM_Runnable extends Base {
12
+            config;
13
+            sync_block_height = -1;
14
+            rippleApi;
15
+            xrpIO;
16
+            definitions;
17
+            constructor(config) {
18
+                super();
19
+                this.config = config;
20
+                if (!protocol_constants_1.XRP_ADDRESS.test(this.owner)) {
21
+                    throw new Error(`Inavlid owner address ${this.owner}`);
22
+                }
23
+                this.definitions = Object.freeze(defs);
24
+                Object.entries(this.definitions).forEach(([k, v]) => {
25
+                    this[k] = (env, ...args) => v.implementation.apply(this, [env, ...args]);
26
+                });
27
+            }
28
+            connect = async () => {
29
+                this.rippleApi = new xrpl_1.Client(this.config.rippleNode);
30
+                await this.rippleApi.connect();
31
+                this.xrpIO = new xrpio_1.xrpIO(this.config.rippleNode);
32
+                await this.xrpIO.connect();
33
+                await this.sync();
34
+                this.rippleApi.on('ledgerClosed', (ledger) => {
35
+                    /*
36
+                    console.log("---- Ledger ----")
37
+                    console.log("index",ledger.ledger_index)
38
+                    console.log("hash", ledger.ledger_hash)
39
+                    console.log("---- /Ledger ----")
40
+                    */
41
+                });
42
+                await this.rippleApi.request({
43
+                    command: 'subscribe',
44
+                    streams: ['ledger']
45
+                });
46
+            };
47
+            handlePayload = async (tx, payload) => {
48
+                if (!(payload.endpoint in this.definitions)) {
49
+                    return;
50
+                }
51
+                const endpointDef = this.definitions[payload.endpoint];
52
+                if (endpointDef.visibility === 'owner' && tx.Account !== this.owner) {
53
+                    console.log(`owner restricted endpoint "${payload.endpoint}" called from ${tx.hash}. But ${tx.Account} != ${this.owner}`);
54
+                    return;
55
+                }
56
+                if (endpointDef.fee && Number(tx.Amount) < endpointDef.fee) {
57
+                    console.log(`Insufficient fee ${tx.hash}. Required ${endpointDef.fee}, was ${tx.Amount}`);
58
+                    return;
59
+                }
60
+                try {
61
+                    const data = await this.xrpIO.treeRead([payload.data], tx.Account);
62
+                    const jsonData = JSON.parse(data);
63
+                    endpointDef.parameterSchema.parse(jsonData);
64
+                    this[payload.endpoint].apply(this, [tx, jsonData]);
65
+                }
66
+                catch (err) {
67
+                    console.log(err);
68
+                    return;
69
+                }
70
+            };
71
+            parseMemos = async (tx, memos) => {
72
+                memos
73
+                    .map((memo) => {
74
+                    if (!memo.Memo || !memo.Memo.MemoData) {
75
+                        return;
76
+                    }
77
+                    try {
78
+                        const data = dataparser_1.DataParser.hex_to_ascii(memo.Memo.MemoData);
79
+                        return JSON.parse(data);
80
+                    }
81
+                    catch (e) {
82
+                        return;
83
+                    }
84
+                })
85
+                    .filter((data) => data != undefined)
86
+                    .forEach(payload => {
87
+                    try {
88
+                        const parsedPayload = types_1.payloadSchema.parse(payload);
89
+                        this.handlePayload(tx, parsedPayload);
90
+                    }
91
+                    catch (e) {
92
+                    }
93
+                });
94
+            };
95
+            sync = async (marker) => {
96
+                //If `forward` is set to true, returns values indexed with the oldest ledger first. 
97
+                //Otherwise, the results are indexed with the newest ledger first. 
98
+                //(Each page of results may not be internally ordered, but the pages are overall ordered.)
99
+                const resp = await this.rippleApi.request({
100
+                    command: "account_tx",
101
+                    account: this.config.listeningAddress,
102
+                    forward: true,
103
+                    ledger_index_min: this.sync_block_height,
104
+                    marker: marker,
105
+                });
106
+                //results may not be ordered, so sort them
107
+                const raw_txs = resp.result.transactions
108
+                    .sort((a, b) => a.tx.ledger_index - b.tx.ledger_index)
109
+                    .map((entry) => entry.tx);
110
+                //apply any state changes
111
+                await Promise.all(raw_txs.map((tx) => this.parseMemos(tx, tx.Memos)));
112
+                //if marker is present the result is paginated.
113
+                //re-run the same request with the marker included
114
+                if (resp.result.marker) {
115
+                    await this.sync(resp.result.marker);
116
+                }
117
+                else {
118
+                    //presence of no marker means we caught up to current block height
119
+                    this.sync_block_height = resp.result.ledger_index_max + 1;
120
+                    //schedule the next sync
121
+                    setTimeout(this.sync, 10000);
122
+                }
123
+            };
124
+        };
125
+    }
126
+}
127
+exports.RJSVM_Builder = RJSVM_Builder;

+ 67
- 0
lib/RJSVM/framework/types.d.ts View File

@@ -0,0 +1,67 @@
1
+import { z } from "zod";
2
+export declare abstract class RJSVM<State_T = any, Definitions_T extends Function_Map = Function_Map> {
3
+    owner: string;
4
+    state: State_T;
5
+    sync_block_height: number;
6
+    config: RJSVM_Config;
7
+    definitions: RJSVM_Implementations<any, Definitions_T>;
8
+    connect: () => Promise<void>;
9
+}
10
+export type Generic_Ctor_ReturnType<Ctor> = Ctor extends new (...args: any) => infer T ? T : Ctor extends abstract new (...args: any) => infer A ? A : never;
11
+export type State_Of<T extends RJSVM<any>> = T extends RJSVM<infer State_T> ? State_T : any;
12
+export type Endpoints_Of<T extends RJSVM<any, any>> = T extends RJSVM<any, infer Endpoints_T> ? Endpoints_T : any;
13
+export type PaymentTx_T = {
14
+    Account: string;
15
+    Amount: string;
16
+    Destination: string;
17
+    Fee: string;
18
+    Flags: number;
19
+    LastLedgerSequence: number;
20
+    Memos: any[];
21
+    Sequence: number;
22
+    SigningPubKey: string;
23
+    TransactionType: 'Payment';
24
+    TxnSignature: string;
25
+    date: number;
26
+    hash: string;
27
+    inLedger: number;
28
+    ledger_index: number;
29
+};
30
+export type ParameterizedFunction = (...args: any) => void;
31
+export type Function_Map = {
32
+    [K in string]: ParameterizedFunction;
33
+};
34
+export type RJSVM_Endpoint<RJSVM_T extends RJSVM<any, Definitions_T>, Definitions_T extends Function_Map = Endpoints_Of<RJSVM_T>, Impl extends RJSVM_EndpointHandler<RJSVM_T, Definitions_T, ParameterizedFunction> = RJSVM_EndpointHandler<RJSVM_T, Definitions_T, ParameterizedFunction>> = {
35
+    implementation: Impl;
36
+    visibility: 'owner' | 'public';
37
+    fee?: number;
38
+    parameterSchema: z.Schema;
39
+};
40
+export type RJSVM_Implementations<RJSVM_T extends RJSVM<any, Definitions>, Definitions extends Function_Map = Endpoints_Of<RJSVM_T>> = {
41
+    [Key in keyof Definitions]: RJSVM_Endpoint<RJSVM_T, Definitions, RJSVM_EndpointHandler<RJSVM_T, Definitions, Definitions[Key]>>;
42
+};
43
+export type RJSVM_EndpointHandler<RJSVM_T extends RJSVM<any, Definitions_T>, Definitions_T extends Function_Map = Endpoints_Of<RJSVM_T>, Fn extends ParameterizedFunction = ParameterizedFunction> = (this: RJSVM_T & RJSVM_Interface<RJSVM_T, State_Of<RJSVM_T>, Definitions_T>, env: PaymentTx_T, ...args: Parameters<Fn>) => void;
44
+export type RJSVM_Interface<RJSVM_T extends RJSVM<State_T, Definitions_T>, State_T = State_Of<RJSVM_T>, Definitions_T extends Function_Map = Endpoints_Of<RJSVM_T>> = {
45
+    state: State_T;
46
+} & {
47
+    [K in keyof Definitions_T]?: RJSVM_EndpointHandler<RJSVM_T, Definitions_T, Definitions_T[K]>;
48
+};
49
+export type RJSVM_InitState<State_T> = {
50
+    owner: string;
51
+    state: State_T;
52
+};
53
+export type RJSVM_Config = {
54
+    rippleNode: string;
55
+    listeningAddress: string;
56
+};
57
+export declare const payloadSchema: z.ZodObject<{
58
+    endpoint: z.ZodString;
59
+    data: z.ZodString;
60
+}, "strip", z.ZodTypeAny, {
61
+    endpoint?: string;
62
+    data?: string;
63
+}, {
64
+    endpoint?: string;
65
+    data?: string;
66
+}>;
67
+export type Payload = z.infer<typeof payloadSchema>;

+ 17
- 0
lib/RJSVM/framework/types.js View File

@@ -0,0 +1,17 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.payloadSchema = exports.RJSVM = void 0;
4
+const zod_1 = require("zod");
5
+class RJSVM {
6
+    owner;
7
+    state;
8
+    sync_block_height;
9
+    config;
10
+    definitions;
11
+    connect;
12
+}
13
+exports.RJSVM = RJSVM;
14
+exports.payloadSchema = zod_1.z.object({
15
+    endpoint: zod_1.z.string(),
16
+    data: zod_1.z.string()
17
+});

+ 15
- 0
lib/RJSVM/protocol/datawriter.d.ts View File

@@ -0,0 +1,15 @@
1
+type Wallet = {
2
+    address: string;
3
+    secret: string;
4
+};
5
+type DatawriterConfig = {
6
+    receiveAddress: string;
7
+    sendWallet: Wallet;
8
+    xrpNode: string;
9
+};
10
+export declare class Datawriter {
11
+    private config;
12
+    constructor(config: DatawriterConfig);
13
+    callEndpoint(endpointName: string, contractAddress: string, parameter: any, fee?: number): Promise<void>;
14
+}
15
+export {};

+ 53
- 0
lib/RJSVM/protocol/datawriter.js View File

@@ -0,0 +1,53 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.Datawriter = void 0;
4
+const xrpio_1 = require("xrpio");
5
+class Datawriter {
6
+    config;
7
+    constructor(config) {
8
+        this.config = config;
9
+    }
10
+    async callEndpoint(endpointName, contractAddress, parameter, fee) {
11
+        const xrpio = new xrpio_1.xrpIO(this.config.xrpNode);
12
+        await xrpio.connect();
13
+        try {
14
+            const dataHash = await xrpio.treeWrite(JSON.stringify(parameter), this.config.receiveAddress, this.config.sendWallet.secret);
15
+            await xrpio.writeRaw({
16
+                data: JSON.stringify({
17
+                    endpoint: endpointName,
18
+                    data: dataHash
19
+                })
20
+            }, contractAddress, this.config.sendWallet.secret, undefined, fee ? String(fee) : undefined);
21
+        }
22
+        catch (e) {
23
+            console.log(e);
24
+        }
25
+        finally {
26
+            await xrpio.disconnect();
27
+        }
28
+    }
29
+}
30
+exports.Datawriter = Datawriter;
31
+(async () => {
32
+    const owner_dw = new Datawriter({
33
+        receiveAddress: "rDuXvMYNCEJCYDMFQykcafXhgi2NvMWqR",
34
+        sendWallet: {
35
+            address: "rUsPfG1hn6w6is28p5FUDWdMwvCo1iHrYq",
36
+            secret: "sEdTMicaTVmfsVMLhxrufyAzEQSnsaP"
37
+        },
38
+        xrpNode: "wss://s.altnet.rippletest.net:51233"
39
+    });
40
+    //await owner_dw.callEndpoint('submit', 'rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq', { title: "1", body: "2", from: "3" }, 100)
41
+    const user_dw = new Datawriter({
42
+        receiveAddress: "rwqCiEr3SLF43rAduhCChkR2K1XDhiqx5g",
43
+        sendWallet: {
44
+            address: "rHWN4X3hbodryX8H1EoPvmMV7AFHngEiBe",
45
+            secret: "sEdTdLPWvz69UAUmt1zYijTyWheER9u"
46
+        },
47
+        xrpNode: "wss://s.altnet.rippletest.net:51233"
48
+    });
49
+    //await owner_dw.callEndpoint('submit', 'rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq', { title: "1", body: "2", from: "3" }, 100)
50
+    //await user_dw.callEndpoint('restricted', 'rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq', { title: "user", body: "user", from: "user" })
51
+    //await owner_dw.callEndpoint('restricted', 'rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq', { title: "owner", body: "owner", from: "owner" })
52
+    await user_dw.callEndpoint('setTns', 'rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq', { hash: '01708abcF00636CE10E191FD782DBDC8F4076F28404BD88EBC31DE42DD084C0944B', name: 'test' });
53
+})();

+ 3
- 0
lib/main.d.ts View File

@@ -0,0 +1,3 @@
1
+export * from "./RJSVM/framework/rjsvm";
2
+export * from "./RJSVM/framework/types";
3
+export * from "./util/dataparser";

+ 19
- 0
lib/main.js View File

@@ -0,0 +1,19 @@
1
+"use strict";
2
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+    if (k2 === undefined) k2 = k;
4
+    var desc = Object.getOwnPropertyDescriptor(m, k);
5
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+      desc = { enumerable: true, get: function() { return m[k]; } };
7
+    }
8
+    Object.defineProperty(o, k2, desc);
9
+}) : (function(o, m, k, k2) {
10
+    if (k2 === undefined) k2 = k;
11
+    o[k2] = m[k];
12
+}));
13
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+};
16
+Object.defineProperty(exports, "__esModule", { value: true });
17
+__exportStar(require("./RJSVM/framework/rjsvm"), exports);
18
+__exportStar(require("./RJSVM/framework/types"), exports);
19
+__exportStar(require("./util/dataparser"), exports);

+ 1
- 0
lib/user-defined-contract.d.ts View File

@@ -0,0 +1 @@
1
+export {};

+ 55
- 0
lib/user-defined-contract.js View File

@@ -0,0 +1,55 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+const zod_1 = require("zod");
4
+const types_1 = require("./RJSVM/framework/types");
5
+const main_1 = require("./main");
6
+const schemas_1 = require("./util/schemas");
7
+const shoutSchema = zod_1.z.object({
8
+    title: zod_1.z.string(),
9
+    body: zod_1.z.string(),
10
+    from: zod_1.z.string(),
11
+    id: zod_1.z.optional(zod_1.z.string())
12
+});
13
+const tnsEntrySchema = zod_1.z.object({
14
+    hash: schemas_1.xrp_transaction_hash_schema,
15
+    name: zod_1.z.string(),
16
+});
17
+class RJSVM_Base extends types_1.RJSVM {
18
+    owner = "rUsPfG1hn6w6is28p5FUDWdMwvCo1iHrYq";
19
+    state = {
20
+        shouts: []
21
+    };
22
+}
23
+const RJSVM_Contract = {
24
+    submit: {
25
+        implementation: function (env, shout) {
26
+            this.state.shouts.unshift(shout);
27
+            console.log(shout);
28
+        },
29
+        visibility: 'public',
30
+        fee: 10,
31
+        parameterSchema: shoutSchema
32
+    },
33
+    restricted: {
34
+        implementation: function (env, shout) {
35
+            this.state.shouts.unshift(shout);
36
+            console.log(shout);
37
+        },
38
+        visibility: 'owner',
39
+        parameterSchema: shoutSchema
40
+    },
41
+    setTns: {
42
+        implementation: function (env, tnsEntry) {
43
+            console.log(tnsEntry);
44
+        },
45
+        visibility: 'public',
46
+        parameterSchema: tnsEntrySchema,
47
+    }
48
+};
49
+const Rjsvm = main_1.RJSVM_Builder.from(RJSVM_Base, RJSVM_Contract);
50
+const conf = {
51
+    listeningAddress: "rLaXUiYvW1EMns69PsAfwSLb2VgNtPpZwq",
52
+    rippleNode: "wss://s.altnet.rippletest.net:51233"
53
+};
54
+const rjsvm = new Rjsvm(conf);
55
+rjsvm.connect();

+ 3
- 0
lib/util/dataparser.d.ts View File

@@ -0,0 +1,3 @@
1
+export declare class DataParser {
2
+    static hex_to_ascii(input: any): string;
3
+}

+ 14
- 0
lib/util/dataparser.js View File

@@ -0,0 +1,14 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.DataParser = void 0;
4
+class DataParser {
5
+    static hex_to_ascii(input) {
6
+        var hex = input.toString();
7
+        var str = '';
8
+        for (var n = 0; n < hex.length; n += 2) {
9
+            str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));
10
+        }
11
+        return str;
12
+    }
13
+}
14
+exports.DataParser = DataParser;

+ 15
- 0
lib/util/protocol.constants.d.ts View File

@@ -0,0 +1,15 @@
1
+export declare const MSG_DELIM: string;
2
+export declare const MSG_DATA_MAX: number;
3
+export declare const PUBKEY_LEN: number;
4
+export declare const NON_ZERO_TX_HASH: RegExp;
5
+export declare const PTR_FORMAT: RegExp;
6
+export declare const DATA_FORMAT: RegExp;
7
+export declare const SIGNATURE_FORMAT: RegExp;
8
+export declare const SIGNER_FORMAT: RegExp;
9
+export declare const MSG_FORMAT: RegExp;
10
+export declare const AMOUNT_DECIMALS = 18;
11
+export declare const MAX_SUPPLY = 20000000;
12
+export declare const AMOUNT_FORMAT: RegExp;
13
+export declare const MIN_XRP_FEE = "0.00001";
14
+export declare const MIN_XRP_TX_VALUE = "0.000001";
15
+export declare const XRP_ADDRESS: RegExp;

+ 18
- 0
lib/util/protocol.constants.js View File

@@ -0,0 +1,18 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.XRP_ADDRESS = exports.MIN_XRP_TX_VALUE = exports.MIN_XRP_FEE = exports.AMOUNT_FORMAT = exports.MAX_SUPPLY = exports.AMOUNT_DECIMALS = exports.MSG_FORMAT = exports.SIGNER_FORMAT = exports.SIGNATURE_FORMAT = exports.DATA_FORMAT = exports.PTR_FORMAT = exports.NON_ZERO_TX_HASH = exports.PUBKEY_LEN = exports.MSG_DATA_MAX = exports.MSG_DELIM = void 0;
4
+exports.MSG_DELIM = ' ';
5
+exports.MSG_DATA_MAX = 925;
6
+exports.PUBKEY_LEN = 66;
7
+exports.NON_ZERO_TX_HASH = new RegExp(`[0-9A-F]{64}`);
8
+exports.PTR_FORMAT = new RegExp(`^((${exports.NON_ZERO_TX_HASH.source})|0)`);
9
+exports.DATA_FORMAT = new RegExp(`(.{1,${exports.MSG_DATA_MAX}})`);
10
+exports.SIGNATURE_FORMAT = new RegExp(`(\\S{140}|\\S{142})$`);
11
+exports.SIGNER_FORMAT = new RegExp(`(\\S{${exports.PUBKEY_LEN}})`);
12
+exports.MSG_FORMAT = new RegExp(`${exports.PTR_FORMAT.source}${exports.MSG_DELIM}${exports.DATA_FORMAT.source}`, 'm');
13
+exports.AMOUNT_DECIMALS = 18;
14
+exports.MAX_SUPPLY = 20_000_000;
15
+exports.AMOUNT_FORMAT = new RegExp(`\d+(\.\d{1,${exports.AMOUNT_DECIMALS}})?`);
16
+exports.MIN_XRP_FEE = "0.00001";
17
+exports.MIN_XRP_TX_VALUE = "0.000001";
18
+exports.XRP_ADDRESS = new RegExp(`^([r])([1-9A-HJ-NP-Za-km-z]{24,34})`);

+ 3
- 0
lib/util/schemas.d.ts View File

@@ -0,0 +1,3 @@
1
+import { z } from "zod";
2
+export declare const xrp_address_schema: z.ZodString;
3
+export declare const xrp_transaction_hash_schema: z.ZodString;

+ 8
- 0
lib/util/schemas.js View File

@@ -0,0 +1,8 @@
1
+"use strict";
2
+Object.defineProperty(exports, "__esModule", { value: true });
3
+exports.xrp_transaction_hash_schema = exports.xrp_address_schema = void 0;
4
+const zod_1 = require("zod");
5
+const protocol_constants_1 = require("./protocol.constants");
6
+const xrpio_1 = require("xrpio");
7
+exports.xrp_address_schema = zod_1.z.string().regex(protocol_constants_1.XRP_ADDRESS, "Not a valid XRP address");
8
+exports.xrp_transaction_hash_schema = zod_1.z.string().regex(xrpio_1.NON_ZERO_TX_HASH, "Not a valid XRP transaction hash");

+ 1
- 0
node_modules/.bin/sha.js View File

@@ -0,0 +1 @@
1
+../sha.js/bin.js

+ 1
- 0
node_modules/.bin/tsc View File

@@ -0,0 +1 @@
1
+../typescript/bin/tsc

+ 1
- 0
node_modules/.bin/tsserver View File

@@ -0,0 +1 @@
1
+../typescript/bin/tsserver

+ 904
- 0
node_modules/.package-lock.json View File

@@ -0,0 +1,904 @@
1
+{
2
+  "name": "rjsvm",
3
+  "version": "0.1.2",
4
+  "lockfileVersion": 2,
5
+  "requires": true,
6
+  "packages": {
7
+    "node_modules/@types/lodash": {
8
+      "version": "4.14.189",
9
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.189.tgz",
10
+      "integrity": "sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA=="
11
+    },
12
+    "node_modules/@types/node": {
13
+      "version": "18.11.9",
14
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
15
+      "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
16
+    },
17
+    "node_modules/@types/ws": {
18
+      "version": "7.4.7",
19
+      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz",
20
+      "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==",
21
+      "dependencies": {
22
+        "@types/node": "*"
23
+      }
24
+    },
25
+    "node_modules/agent-base": {
26
+      "version": "6.0.2",
27
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
28
+      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
29
+      "dependencies": {
30
+        "debug": "4"
31
+      },
32
+      "engines": {
33
+        "node": ">= 6.0.0"
34
+      }
35
+    },
36
+    "node_modules/assert": {
37
+      "version": "2.0.0",
38
+      "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
39
+      "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
40
+      "dependencies": {
41
+        "es6-object-assign": "^1.1.0",
42
+        "is-nan": "^1.2.1",
43
+        "object-is": "^1.0.1",
44
+        "util": "^0.12.0"
45
+      }
46
+    },
47
+    "node_modules/available-typed-arrays": {
48
+      "version": "1.0.5",
49
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
50
+      "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
51
+      "engines": {
52
+        "node": ">= 0.4"
53
+      },
54
+      "funding": {
55
+        "url": "https://github.com/sponsors/ljharb"
56
+      }
57
+    },
58
+    "node_modules/base-x": {
59
+      "version": "3.0.9",
60
+      "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
61
+      "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
62
+      "dependencies": {
63
+        "safe-buffer": "^5.0.1"
64
+      }
65
+    },
66
+    "node_modules/base64-js": {
67
+      "version": "1.5.1",
68
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
69
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
70
+      "funding": [
71
+        {
72
+          "type": "github",
73
+          "url": "https://github.com/sponsors/feross"
74
+        },
75
+        {
76
+          "type": "patreon",
77
+          "url": "https://www.patreon.com/feross"
78
+        },
79
+        {
80
+          "type": "consulting",
81
+          "url": "https://feross.org/support"
82
+        }
83
+      ]
84
+    },
85
+    "node_modules/big-integer": {
86
+      "version": "1.6.51",
87
+      "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
88
+      "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
89
+      "engines": {
90
+        "node": ">=0.6"
91
+      }
92
+    },
93
+    "node_modules/bignumber.js": {
94
+      "version": "9.1.0",
95
+      "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz",
96
+      "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==",
97
+      "engines": {
98
+        "node": "*"
99
+      }
100
+    },
101
+    "node_modules/bindings": {
102
+      "version": "1.5.0",
103
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
104
+      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
105
+      "dependencies": {
106
+        "file-uri-to-path": "1.0.0"
107
+      }
108
+    },
109
+    "node_modules/bip32": {
110
+      "version": "2.0.6",
111
+      "resolved": "https://registry.npmjs.org/bip32/-/bip32-2.0.6.tgz",
112
+      "integrity": "sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==",
113
+      "dependencies": {
114
+        "@types/node": "10.12.18",
115
+        "bs58check": "^2.1.1",
116
+        "create-hash": "^1.2.0",
117
+        "create-hmac": "^1.1.7",
118
+        "tiny-secp256k1": "^1.1.3",
119
+        "typeforce": "^1.11.5",
120
+        "wif": "^2.0.6"
121
+      },
122
+      "engines": {
123
+        "node": ">=6.0.0"
124
+      }
125
+    },
126
+    "node_modules/bip32/node_modules/@types/node": {
127
+      "version": "10.12.18",
128
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz",
129
+      "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ=="
130
+    },
131
+    "node_modules/bip39": {
132
+      "version": "3.0.4",
133
+      "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz",
134
+      "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==",
135
+      "dependencies": {
136
+        "@types/node": "11.11.6",
137
+        "create-hash": "^1.1.0",
138
+        "pbkdf2": "^3.0.9",
139
+        "randombytes": "^2.0.1"
140
+      }
141
+    },
142
+    "node_modules/bip39/node_modules/@types/node": {
143
+      "version": "11.11.6",
144
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
145
+      "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
146
+    },
147
+    "node_modules/bn.js": {
148
+      "version": "5.2.1",
149
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
150
+      "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="
151
+    },
152
+    "node_modules/brorand": {
153
+      "version": "1.1.0",
154
+      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
155
+      "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
156
+    },
157
+    "node_modules/bs58": {
158
+      "version": "4.0.1",
159
+      "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
160
+      "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==",
161
+      "dependencies": {
162
+        "base-x": "^3.0.2"
163
+      }
164
+    },
165
+    "node_modules/bs58check": {
166
+      "version": "2.1.2",
167
+      "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
168
+      "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
169
+      "dependencies": {
170
+        "bs58": "^4.0.0",
171
+        "create-hash": "^1.1.0",
172
+        "safe-buffer": "^5.1.2"
173
+      }
174
+    },
175
+    "node_modules/call-bind": {
176
+      "version": "1.0.2",
177
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
178
+      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
179
+      "dependencies": {
180
+        "function-bind": "^1.1.1",
181
+        "get-intrinsic": "^1.0.2"
182
+      },
183
+      "funding": {
184
+        "url": "https://github.com/sponsors/ljharb"
185
+      }
186
+    },
187
+    "node_modules/cipher-base": {
188
+      "version": "1.0.4",
189
+      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
190
+      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
191
+      "dependencies": {
192
+        "inherits": "^2.0.1",
193
+        "safe-buffer": "^5.0.1"
194
+      }
195
+    },
196
+    "node_modules/create-hash": {
197
+      "version": "1.2.0",
198
+      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
199
+      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
200
+      "dependencies": {
201
+        "cipher-base": "^1.0.1",
202
+        "inherits": "^2.0.1",
203
+        "md5.js": "^1.3.4",
204
+        "ripemd160": "^2.0.1",
205
+        "sha.js": "^2.4.0"
206
+      }
207
+    },
208
+    "node_modules/create-hmac": {
209
+      "version": "1.1.7",
210
+      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
211
+      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
212
+      "dependencies": {
213
+        "cipher-base": "^1.0.3",
214
+        "create-hash": "^1.1.0",
215
+        "inherits": "^2.0.1",
216
+        "ripemd160": "^2.0.0",
217
+        "safe-buffer": "^5.0.1",
218
+        "sha.js": "^2.4.8"
219
+      }
220
+    },
221
+    "node_modules/debug": {
222
+      "version": "4.3.1",
223
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
224
+      "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
225
+      "dependencies": {
226
+        "ms": "2.1.2"
227
+      },
228
+      "engines": {
229
+        "node": ">=6.0"
230
+      },
231
+      "peerDependenciesMeta": {
232
+        "supports-color": {
233
+          "optional": true
234
+        }
235
+      }
236
+    },
237
+    "node_modules/debug/node_modules/ms": {
238
+      "version": "2.1.2",
239
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
240
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
241
+    },
242
+    "node_modules/decimal.js": {
243
+      "version": "10.4.2",
244
+      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz",
245
+      "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA=="
246
+    },
247
+    "node_modules/define-properties": {
248
+      "version": "1.1.4",
249
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
250
+      "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
251
+      "dependencies": {
252
+        "has-property-descriptors": "^1.0.0",
253
+        "object-keys": "^1.1.1"
254
+      },
255
+      "engines": {
256
+        "node": ">= 0.4"
257
+      },
258
+      "funding": {
259
+        "url": "https://github.com/sponsors/ljharb"
260
+      }
261
+    },
262
+    "node_modules/elliptic": {
263
+      "version": "6.5.4",
264
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
265
+      "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
266
+      "dependencies": {
267
+        "bn.js": "^4.11.9",
268
+        "brorand": "^1.1.0",
269
+        "hash.js": "^1.0.0",
270
+        "hmac-drbg": "^1.0.1",
271
+        "inherits": "^2.0.4",
272
+        "minimalistic-assert": "^1.0.1",
273
+        "minimalistic-crypto-utils": "^1.0.1"
274
+      }
275
+    },
276
+    "node_modules/elliptic/node_modules/bn.js": {
277
+      "version": "4.12.0",
278
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
279
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
280
+    },
281
+    "node_modules/es6-object-assign": {
282
+      "version": "1.1.0",
283
+      "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
284
+      "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw=="
285
+    },
286
+    "node_modules/file-uri-to-path": {
287
+      "version": "1.0.0",
288
+      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
289
+      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
290
+    },
291
+    "node_modules/for-each": {
292
+      "version": "0.3.3",
293
+      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
294
+      "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
295
+      "dependencies": {
296
+        "is-callable": "^1.1.3"
297
+      }
298
+    },
299
+    "node_modules/function-bind": {
300
+      "version": "1.1.1",
301
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
302
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
303
+    },
304
+    "node_modules/get-intrinsic": {
305
+      "version": "1.1.3",
306
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
307
+      "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
308
+      "dependencies": {
309
+        "function-bind": "^1.1.1",
310
+        "has": "^1.0.3",
311
+        "has-symbols": "^1.0.3"
312
+      },
313
+      "funding": {
314
+        "url": "https://github.com/sponsors/ljharb"
315
+      }
316
+    },
317
+    "node_modules/gopd": {
318
+      "version": "1.0.1",
319
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
320
+      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
321
+      "dependencies": {
322
+        "get-intrinsic": "^1.1.3"
323
+      },
324
+      "funding": {
325
+        "url": "https://github.com/sponsors/ljharb"
326
+      }
327
+    },
328
+    "node_modules/has": {
329
+      "version": "1.0.3",
330
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
331
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
332
+      "dependencies": {
333
+        "function-bind": "^1.1.1"
334
+      },
335
+      "engines": {
336
+        "node": ">= 0.4.0"
337
+      }
338
+    },
339
+    "node_modules/has-property-descriptors": {
340
+      "version": "1.0.0",
341
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz",
342
+      "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==",
343
+      "dependencies": {
344
+        "get-intrinsic": "^1.1.1"
345
+      },
346
+      "funding": {
347
+        "url": "https://github.com/sponsors/ljharb"
348
+      }
349
+    },
350
+    "node_modules/has-symbols": {
351
+      "version": "1.0.3",
352
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
353
+      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
354
+      "engines": {
355
+        "node": ">= 0.4"
356
+      },
357
+      "funding": {
358
+        "url": "https://github.com/sponsors/ljharb"
359
+      }
360
+    },
361
+    "node_modules/has-tostringtag": {
362
+      "version": "1.0.0",
363
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
364
+      "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
365
+      "dependencies": {
366
+        "has-symbols": "^1.0.2"
367
+      },
368
+      "engines": {
369
+        "node": ">= 0.4"
370
+      },
371
+      "funding": {
372
+        "url": "https://github.com/sponsors/ljharb"
373
+      }
374
+    },
375
+    "node_modules/hash-base": {
376
+      "version": "3.1.0",
377
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
378
+      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
379
+      "dependencies": {
380
+        "inherits": "^2.0.4",
381
+        "readable-stream": "^3.6.0",
382
+        "safe-buffer": "^5.2.0"
383
+      },
384
+      "engines": {
385
+        "node": ">=4"
386
+      }
387
+    },
388
+    "node_modules/hash.js": {
389
+      "version": "1.1.7",
390
+      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
391
+      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
392
+      "dependencies": {
393
+        "inherits": "^2.0.3",
394
+        "minimalistic-assert": "^1.0.1"
395
+      }
396
+    },
397
+    "node_modules/hmac-drbg": {
398
+      "version": "1.0.1",
399
+      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
400
+      "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
401
+      "dependencies": {
402
+        "hash.js": "^1.0.3",
403
+        "minimalistic-assert": "^1.0.0",
404
+        "minimalistic-crypto-utils": "^1.0.1"
405
+      }
406
+    },
407
+    "node_modules/https-proxy-agent": {
408
+      "version": "5.0.1",
409
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
410
+      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
411
+      "dependencies": {
412
+        "agent-base": "6",
413
+        "debug": "4"
414
+      },
415
+      "engines": {
416
+        "node": ">= 6"
417
+      }
418
+    },
419
+    "node_modules/ieee754": {
420
+      "version": "1.2.1",
421
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
422
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
423
+      "funding": [
424
+        {
425
+          "type": "github",
426
+          "url": "https://github.com/sponsors/feross"
427
+        },
428
+        {
429
+          "type": "patreon",
430
+          "url": "https://www.patreon.com/feross"
431
+        },
432
+        {
433
+          "type": "consulting",
434
+          "url": "https://feross.org/support"
435
+        }
436
+      ]
437
+    },
438
+    "node_modules/inherits": {
439
+      "version": "2.0.4",
440
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
441
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
442
+    },
443
+    "node_modules/is-arguments": {
444
+      "version": "1.1.1",
445
+      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
446
+      "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
447
+      "dependencies": {
448
+        "call-bind": "^1.0.2",
449
+        "has-tostringtag": "^1.0.0"
450
+      },
451
+      "engines": {
452
+        "node": ">= 0.4"
453
+      },
454
+      "funding": {
455
+        "url": "https://github.com/sponsors/ljharb"
456
+      }
457
+    },
458
+    "node_modules/is-callable": {
459
+      "version": "1.2.7",
460
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
461
+      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
462
+      "engines": {
463
+        "node": ">= 0.4"
464
+      },
465
+      "funding": {
466
+        "url": "https://github.com/sponsors/ljharb"
467
+      }
468
+    },
469
+    "node_modules/is-generator-function": {
470
+      "version": "1.0.10",
471
+      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
472
+      "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
473
+      "dependencies": {
474
+        "has-tostringtag": "^1.0.0"
475
+      },
476
+      "engines": {
477
+        "node": ">= 0.4"
478
+      },
479
+      "funding": {
480
+        "url": "https://github.com/sponsors/ljharb"
481
+      }
482
+    },
483
+    "node_modules/is-nan": {
484
+      "version": "1.3.2",
485
+      "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
486
+      "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
487
+      "dependencies": {
488
+        "call-bind": "^1.0.0",
489
+        "define-properties": "^1.1.3"
490
+      },
491
+      "engines": {
492
+        "node": ">= 0.4"
493
+      },
494
+      "funding": {
495
+        "url": "https://github.com/sponsors/ljharb"
496
+      }
497
+    },
498
+    "node_modules/is-typed-array": {
499
+      "version": "1.1.10",
500
+      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
501
+      "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
502
+      "dependencies": {
503
+        "available-typed-arrays": "^1.0.5",
504
+        "call-bind": "^1.0.2",
505
+        "for-each": "^0.3.3",
506
+        "gopd": "^1.0.1",
507
+        "has-tostringtag": "^1.0.0"
508
+      },
509
+      "engines": {
510
+        "node": ">= 0.4"
511
+      },
512
+      "funding": {
513
+        "url": "https://github.com/sponsors/ljharb"
514
+      }
515
+    },
516
+    "node_modules/jsonschema": {
517
+      "version": "1.2.2",
518
+      "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.2.tgz",
519
+      "integrity": "sha512-iX5OFQ6yx9NgbHCwse51ohhKgLuLL7Z5cNOeZOPIlDUtAMrxlruHLzVZxbltdHE5mEDXN+75oFOwq6Gn0MZwsA==",
520
+      "engines": {
521
+        "node": "*"
522
+      }
523
+    },
524
+    "node_modules/lodash": {
525
+      "version": "4.17.21",
526
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
527
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
528
+    },
529
+    "node_modules/md5.js": {
530
+      "version": "1.3.5",
531
+      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
532
+      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
533
+      "dependencies": {
534
+        "hash-base": "^3.0.0",
535
+        "inherits": "^2.0.1",
536
+        "safe-buffer": "^5.1.2"
537
+      }
538
+    },
539
+    "node_modules/minimalistic-assert": {
540
+      "version": "1.0.1",
541
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
542
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
543
+    },
544
+    "node_modules/minimalistic-crypto-utils": {
545
+      "version": "1.0.1",
546
+      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
547
+      "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
548
+    },
549
+    "node_modules/nan": {
550
+      "version": "2.17.0",
551
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
552
+      "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ=="
553
+    },
554
+    "node_modules/object-is": {
555
+      "version": "1.1.5",
556
+      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
557
+      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
558
+      "dependencies": {
559
+        "call-bind": "^1.0.2",
560
+        "define-properties": "^1.1.3"
561
+      },
562
+      "engines": {
563
+        "node": ">= 0.4"
564
+      },
565
+      "funding": {
566
+        "url": "https://github.com/sponsors/ljharb"
567
+      }
568
+    },
569
+    "node_modules/object-keys": {
570
+      "version": "1.1.1",
571
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
572
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
573
+      "engines": {
574
+        "node": ">= 0.4"
575
+      }
576
+    },
577
+    "node_modules/pbkdf2": {
578
+      "version": "3.1.2",
579
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
580
+      "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
581
+      "dependencies": {
582
+        "create-hash": "^1.1.2",
583
+        "create-hmac": "^1.1.4",
584
+        "ripemd160": "^2.0.1",
585
+        "safe-buffer": "^5.0.1",
586
+        "sha.js": "^2.4.8"
587
+      },
588
+      "engines": {
589
+        "node": ">=0.12"
590
+      }
591
+    },
592
+    "node_modules/randombytes": {
593
+      "version": "2.1.0",
594
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
595
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
596
+      "dependencies": {
597
+        "safe-buffer": "^5.1.0"
598
+      }
599
+    },
600
+    "node_modules/readable-stream": {
601
+      "version": "3.6.0",
602
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
603
+      "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
604
+      "dependencies": {
605
+        "inherits": "^2.0.3",
606
+        "string_decoder": "^1.1.1",
607
+        "util-deprecate": "^1.0.1"
608
+      },
609
+      "engines": {
610
+        "node": ">= 6"
611
+      }
612
+    },
613
+    "node_modules/ripemd160": {
614
+      "version": "2.0.2",
615
+      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
616
+      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
617
+      "dependencies": {
618
+        "hash-base": "^3.0.0",
619
+        "inherits": "^2.0.1"
620
+      }
621
+    },
622
+    "node_modules/ripple-address-codec": {
623
+      "version": "4.2.5",
624
+      "resolved": "https://registry.npmjs.org/ripple-address-codec/-/ripple-address-codec-4.2.5.tgz",
625
+      "integrity": "sha512-SZ96zZH+0REeyEcYVFl0vqcsGRXiFXS2RUgHupHhtVkOEk6men53vngVjJwBrSnY+oa6Cri15q1zSni3DEoxNw==",
626
+      "dependencies": {
627
+        "base-x": "^3.0.9",
628
+        "create-hash": "^1.1.2"
629
+      },
630
+      "engines": {
631
+        "node": ">= 10"
632
+      }
633
+    },
634
+    "node_modules/ripple-binary-codec": {
635
+      "version": "1.4.3",
636
+      "resolved": "https://registry.npmjs.org/ripple-binary-codec/-/ripple-binary-codec-1.4.3.tgz",
637
+      "integrity": "sha512-P4ALjAJWBJpRApTQO+dJCrHE6mZxm7ypZot9OS0a3RCKOWTReNw0pDWfdhCGh1qXh71TeQnAk4CHdMLwR/76oQ==",
638
+      "dependencies": {
639
+        "assert": "^2.0.0",
640
+        "big-integer": "^1.6.48",
641
+        "buffer": "5.6.0",
642
+        "create-hash": "^1.2.0",
643
+        "decimal.js": "^10.2.0",
644
+        "ripple-address-codec": "^4.2.5"
645
+      },
646
+      "engines": {
647
+        "node": ">= 10"
648
+      }
649
+    },
650
+    "node_modules/ripple-binary-codec/node_modules/buffer": {
651
+      "version": "5.6.0",
652
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
653
+      "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
654
+      "dependencies": {
655
+        "base64-js": "^1.0.2",
656
+        "ieee754": "^1.1.4"
657
+      }
658
+    },
659
+    "node_modules/ripple-keypairs": {
660
+      "version": "1.1.5",
661
+      "resolved": "https://registry.npmjs.org/ripple-keypairs/-/ripple-keypairs-1.1.5.tgz",
662
+      "integrity": "sha512-wLJXIBsMVazn2Yp/7oP4PvgA4Gd1HtuZLftdEJFNOLgraf82phqa2AnNK3t9f3XeQnApW1jAe/FcFFOY6QUn5w==",
663
+      "dependencies": {
664
+        "bn.js": "^5.1.1",
665
+        "brorand": "^1.0.5",
666
+        "elliptic": "^6.5.4",
667
+        "hash.js": "^1.0.3",
668
+        "ripple-address-codec": "^4.2.5"
669
+      },
670
+      "engines": {
671
+        "node": ">= 10"
672
+      }
673
+    },
674
+    "node_modules/ripple-lib": {
675
+      "version": "1.10.1",
676
+      "resolved": "https://registry.npmjs.org/ripple-lib/-/ripple-lib-1.10.1.tgz",
677
+      "integrity": "sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA==",
678
+      "dependencies": {
679
+        "@types/lodash": "^4.14.136",
680
+        "@types/ws": "^7.2.0",
681
+        "bignumber.js": "^9.0.0",
682
+        "https-proxy-agent": "^5.0.0",
683
+        "jsonschema": "1.2.2",
684
+        "lodash": "^4.17.4",
685
+        "ripple-address-codec": "^4.1.1",
686
+        "ripple-binary-codec": "^1.1.3",
687
+        "ripple-keypairs": "^1.0.3",
688
+        "ripple-lib-transactionparser": "0.8.2",
689
+        "ws": "^7.2.0"
690
+      },
691
+      "engines": {
692
+        "node": ">=10.13.0",
693
+        "yarn": "^1.15.2"
694
+      }
695
+    },
696
+    "node_modules/ripple-lib-transactionparser": {
697
+      "version": "0.8.2",
698
+      "resolved": "https://registry.npmjs.org/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz",
699
+      "integrity": "sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g==",
700
+      "dependencies": {
701
+        "bignumber.js": "^9.0.0",
702
+        "lodash": "^4.17.15"
703
+      }
704
+    },
705
+    "node_modules/safe-buffer": {
706
+      "version": "5.2.1",
707
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
708
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
709
+      "funding": [
710
+        {
711
+          "type": "github",
712
+          "url": "https://github.com/sponsors/feross"
713
+        },
714
+        {
715
+          "type": "patreon",
716
+          "url": "https://www.patreon.com/feross"
717
+        },
718
+        {
719
+          "type": "consulting",
720
+          "url": "https://feross.org/support"
721
+        }
722
+      ]
723
+    },
724
+    "node_modules/sha.js": {
725
+      "version": "2.4.11",
726
+      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
727
+      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
728
+      "dependencies": {
729
+        "inherits": "^2.0.1",
730
+        "safe-buffer": "^5.0.1"
731
+      },
732
+      "bin": {
733
+        "sha.js": "bin.js"
734
+      }
735
+    },
736
+    "node_modules/string_decoder": {
737
+      "version": "1.3.0",
738
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
739
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
740
+      "dependencies": {
741
+        "safe-buffer": "~5.2.0"
742
+      }
743
+    },
744
+    "node_modules/tiny-secp256k1": {
745
+      "version": "1.1.6",
746
+      "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz",
747
+      "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==",
748
+      "hasInstallScript": true,
749
+      "dependencies": {
750
+        "bindings": "^1.3.0",
751
+        "bn.js": "^4.11.8",
752
+        "create-hmac": "^1.1.7",
753
+        "elliptic": "^6.4.0",
754
+        "nan": "^2.13.2"
755
+      },
756
+      "engines": {
757
+        "node": ">=6.0.0"
758
+      }
759
+    },
760
+    "node_modules/tiny-secp256k1/node_modules/bn.js": {
761
+      "version": "4.12.0",
762
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
763
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
764
+    },
765
+    "node_modules/typeforce": {
766
+      "version": "1.18.0",
767
+      "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz",
768
+      "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g=="
769
+    },
770
+    "node_modules/typescript": {
771
+      "version": "4.9.3",
772
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz",
773
+      "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==",
774
+      "dev": true,
775
+      "bin": {
776
+        "tsc": "bin/tsc",
777
+        "tsserver": "bin/tsserver"
778
+      },
779
+      "engines": {
780
+        "node": ">=4.2.0"
781
+      }
782
+    },
783
+    "node_modules/util": {
784
+      "version": "0.12.5",
785
+      "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
786
+      "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
787
+      "dependencies": {
788
+        "inherits": "^2.0.3",
789
+        "is-arguments": "^1.0.4",
790
+        "is-generator-function": "^1.0.7",
791
+        "is-typed-array": "^1.1.3",
792
+        "which-typed-array": "^1.1.2"
793
+      }
794
+    },
795
+    "node_modules/util-deprecate": {
796
+      "version": "1.0.2",
797
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
798
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
799
+    },
800
+    "node_modules/which-typed-array": {
801
+      "version": "1.1.9",
802
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
803
+      "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
804
+      "dependencies": {
805
+        "available-typed-arrays": "^1.0.5",
806
+        "call-bind": "^1.0.2",
807
+        "for-each": "^0.3.3",
808
+        "gopd": "^1.0.1",
809
+        "has-tostringtag": "^1.0.0",
810
+        "is-typed-array": "^1.1.10"
811
+      },
812
+      "engines": {
813
+        "node": ">= 0.4"
814
+      },
815
+      "funding": {
816
+        "url": "https://github.com/sponsors/ljharb"
817
+      }
818
+    },
819
+    "node_modules/wif": {
820
+      "version": "2.0.6",
821
+      "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz",
822
+      "integrity": "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==",
823
+      "dependencies": {
824
+        "bs58check": "<3.0.0"
825
+      }
826
+    },
827
+    "node_modules/ws": {
828
+      "version": "7.5.9",
829
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
830
+      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
831
+      "engines": {
832
+        "node": ">=8.3.0"
833
+      },
834
+      "peerDependencies": {
835
+        "bufferutil": "^4.0.1",
836
+        "utf-8-validate": "^5.0.2"
837
+      },
838
+      "peerDependenciesMeta": {
839
+        "bufferutil": {
840
+          "optional": true
841
+        },
842
+        "utf-8-validate": {
843
+          "optional": true
844
+        }
845
+      }
846
+    },
847
+    "node_modules/xrpio": {
848
+      "version": "0.2.1",
849
+      "resolved": "https://registry.npmjs.org/xrpio/-/xrpio-0.2.1.tgz",
850
+      "integrity": "sha512-2Dmse3BdEHDztXfn7LpV5GSX8W9ue2mGEBu5NvoGJMIauvKZTniSdkBpMU0D1uu3v3OyDin2q+puWERQ8Kqh+g==",
851
+      "dependencies": {
852
+        "ripple-lib": "^1.10.0",
853
+        "xrpl": "^2.7.0"
854
+      }
855
+    },
856
+    "node_modules/xrpl": {
857
+      "version": "2.7.0",
858
+      "resolved": "https://registry.npmjs.org/xrpl/-/xrpl-2.7.0.tgz",
859
+      "integrity": "sha512-P4M/Myxn2U7wl1avAG2Y/JuJMlKw2boLNx0f9woYQJLrS68sICmAfGOYKqPSzwRPc9P7kmydNrk+737nmFW5Vw==",
860
+      "dependencies": {
861
+        "bignumber.js": "^9.0.0",
862
+        "bip32": "^2.0.6",
863
+        "bip39": "^3.0.4",
864
+        "https-proxy-agent": "^5.0.0",
865
+        "lodash": "^4.17.4",
866
+        "ripple-address-codec": "^4.2.5",
867
+        "ripple-binary-codec": "^1.4.3",
868
+        "ripple-keypairs": "^1.1.5",
869
+        "ws": "^8.2.2"
870
+      },
871
+      "engines": {
872
+        "node": ">=10.13.0"
873
+      }
874
+    },
875
+    "node_modules/xrpl/node_modules/ws": {
876
+      "version": "8.11.0",
877
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
878
+      "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
879
+      "engines": {
880
+        "node": ">=10.0.0"
881
+      },
882
+      "peerDependencies": {
883
+        "bufferutil": "^4.0.1",
884
+        "utf-8-validate": "^5.0.2"
885
+      },
886
+      "peerDependenciesMeta": {
887
+        "bufferutil": {
888
+          "optional": true
889
+        },
890
+        "utf-8-validate": {
891
+          "optional": true
892
+        }
893
+      }
894
+    },
895
+    "node_modules/zod": {
896
+      "version": "3.21.4",
897
+      "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
898
+      "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
899
+      "funding": {
900
+        "url": "https://github.com/sponsors/colinhacks"
901
+      }
902
+    }
903
+  }
904
+}

+ 21
- 0
node_modules/@types/lodash/LICENSE View File

@@ -0,0 +1,21 @@
1
+    MIT License
2
+
3
+    Copyright (c) Microsoft Corporation.
4
+
5
+    Permission is hereby granted, free of charge, to any person obtaining a copy
6
+    of this software and associated documentation files (the "Software"), to deal
7
+    in the Software without restriction, including without limitation the rights
8
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+    copies of the Software, and to permit persons to whom the Software is
10
+    furnished to do so, subject to the following conditions:
11
+
12
+    The above copyright notice and this permission notice shall be included in all
13
+    copies or substantial portions of the Software.
14
+
15
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+    SOFTWARE

+ 16
- 0
node_modules/@types/lodash/README.md View File

@@ -0,0 +1,16 @@
1
+# Installation
2
+> `npm install --save @types/lodash`
3
+
4
+# Summary
5
+This package contains type definitions for Lo-Dash (https://lodash.com).
6
+
7
+# Details
8
+Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash.
9
+
10
+### Additional Details
11
+ * Last updated: Mon, 14 Nov 2022 21:32:45 GMT
12
+ * Dependencies: none
13
+ * Global values: `_`
14
+
15
+# Credits
16
+These definitions were written by [Brian Zengel](https://github.com/bczengel), [Ilya Mochalov](https://github.com/chrootsu), [AJ Richardson](https://github.com/aj-r), [e-cloud](https://github.com/e-cloud), [Georgii Dolzhykov](https://github.com/thorn0), [Jack Moore](https://github.com/jtmthf), [Dominique Rau](https://github.com/DomiR), and [William Chelman](https://github.com/WilliamChelman).

+ 2
- 0
node_modules/@types/lodash/add.d.ts View File

@@ -0,0 +1,2 @@
1
+import { add } from "./index";
2
+export = add;

+ 2
- 0
node_modules/@types/lodash/after.d.ts View File

@@ -0,0 +1,2 @@
1
+import { after } from "./index";
2
+export = after;

+ 2
- 0
node_modules/@types/lodash/ary.d.ts View File

@@ -0,0 +1,2 @@
1
+import { ary } from "./index";
2
+export = ary;

+ 2
- 0
node_modules/@types/lodash/assign.d.ts View File

@@ -0,0 +1,2 @@
1
+import { assign } from "./index";
2
+export = assign;

+ 2
- 0
node_modules/@types/lodash/assignIn.d.ts View File

@@ -0,0 +1,2 @@
1
+import { assignIn } from "./index";
2
+export = assignIn;

+ 2
- 0
node_modules/@types/lodash/assignInWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { assignInWith } from "./index";
2
+export = assignInWith;

+ 2
- 0
node_modules/@types/lodash/assignWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { assignWith } from "./index";
2
+export = assignWith;

+ 2
- 0
node_modules/@types/lodash/at.d.ts View File

@@ -0,0 +1,2 @@
1
+import { at } from "./index";
2
+export = at;

+ 2
- 0
node_modules/@types/lodash/attempt.d.ts View File

@@ -0,0 +1,2 @@
1
+import { attempt } from "./index";
2
+export = attempt;

+ 2
- 0
node_modules/@types/lodash/before.d.ts View File

@@ -0,0 +1,2 @@
1
+import { before } from "./index";
2
+export = before;

+ 2
- 0
node_modules/@types/lodash/bind.d.ts View File

@@ -0,0 +1,2 @@
1
+import { bind } from "./index";
2
+export = bind;

+ 2
- 0
node_modules/@types/lodash/bindAll.d.ts View File

@@ -0,0 +1,2 @@
1
+import { bindAll } from "./index";
2
+export = bindAll;

+ 2
- 0
node_modules/@types/lodash/bindKey.d.ts View File

@@ -0,0 +1,2 @@
1
+import { bindKey } from "./index";
2
+export = bindKey;

+ 2
- 0
node_modules/@types/lodash/camelCase.d.ts View File

@@ -0,0 +1,2 @@
1
+import { camelCase } from "./index";
2
+export = camelCase;

+ 2
- 0
node_modules/@types/lodash/capitalize.d.ts View File

@@ -0,0 +1,2 @@
1
+import { capitalize } from "./index";
2
+export = capitalize;

+ 2
- 0
node_modules/@types/lodash/castArray.d.ts View File

@@ -0,0 +1,2 @@
1
+import { castArray } from "./index";
2
+export = castArray;

+ 2
- 0
node_modules/@types/lodash/ceil.d.ts View File

@@ -0,0 +1,2 @@
1
+import { ceil } from "./index";
2
+export = ceil;

+ 2
- 0
node_modules/@types/lodash/chain.d.ts View File

@@ -0,0 +1,2 @@
1
+import { chain } from "./index";
2
+export = chain;

+ 2
- 0
node_modules/@types/lodash/chunk.d.ts View File

@@ -0,0 +1,2 @@
1
+import { chunk } from "./index";
2
+export = chunk;

+ 2
- 0
node_modules/@types/lodash/clamp.d.ts View File

@@ -0,0 +1,2 @@
1
+import { clamp } from "./index";
2
+export = clamp;

+ 2
- 0
node_modules/@types/lodash/clone.d.ts View File

@@ -0,0 +1,2 @@
1
+import { clone } from "./index";
2
+export = clone;

+ 2
- 0
node_modules/@types/lodash/cloneDeep.d.ts View File

@@ -0,0 +1,2 @@
1
+import { cloneDeep } from "./index";
2
+export = cloneDeep;

+ 2
- 0
node_modules/@types/lodash/cloneDeepWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { cloneDeepWith } from "./index";
2
+export = cloneDeepWith;

+ 2
- 0
node_modules/@types/lodash/cloneWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { cloneWith } from "./index";
2
+export = cloneWith;

+ 2126
- 0
node_modules/@types/lodash/common/array.d.ts
File diff suppressed because it is too large
View File


+ 1930
- 0
node_modules/@types/lodash/common/collection.d.ts
File diff suppressed because it is too large
View File


+ 280
- 0
node_modules/@types/lodash/common/common.d.ts View File

@@ -0,0 +1,280 @@
1
+import _ = require("../index");
2
+// tslint:disable-next-line:strict-export-declare-modifiers
3
+type GlobalPartial<T> = Partial<T>;
4
+declare module "../index" {
5
+    type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
6
+    type PartialObject<T> = GlobalPartial<T>;
7
+    type Many<T> = T | ReadonlyArray<T>;
8
+    type ImpChain<T> =
9
+        T extends { __trapAny: any } ? Collection<any> & Function<any> & Object<any> & Primitive<any> & String :
10
+        T extends null | undefined ? never :
11
+        T extends string | null | undefined ? String :
12
+        T extends (...args: any) => any ? Function<T> :
13
+        T extends List<infer U> | null | undefined ? Collection<U> :
14
+        T extends object | null | undefined ? Object<T> :
15
+        Primitive<T>;
16
+    type ExpChain<T> =
17
+        T extends { __trapAny: any } ? CollectionChain<any> & FunctionChain<any> & ObjectChain<any> & PrimitiveChain<any> & StringChain :
18
+        T extends null | undefined ? never :
19
+        T extends string ? StringChain :
20
+        T extends string | null | undefined ? StringNullableChain :
21
+        T extends (...args: any) => any ? FunctionChain<T> :
22
+        T extends List<infer U> | null | undefined ? CollectionChain<U> :
23
+        T extends object | null | undefined ? ObjectChain<T> :
24
+        PrimitiveChain<T>;
25
+    interface LoDashStatic {
26
+        /**
27
+        * Creates a lodash object which wraps value to enable implicit method chain sequences.
28
+        * Methods that operate on and return arrays, collections, and functions can be chained together.
29
+        * Methods that retrieve a single value or may return a primitive value will automatically end the
30
+        * chain sequence and return the unwrapped value. Otherwise, the value must be unwrapped with value().
31
+        *
32
+        * Explicit chain sequences, which must be unwrapped with value(), may be enabled using _.chain.
33
+        *
34
+        * The execution of chained methods is lazy, that is, it's deferred until value() is
35
+        * implicitly or explicitly called.
36
+        *
37
+        * Lazy evaluation allows several methods to support shortcut fusion. Shortcut fusion
38
+        * is an optimization to merge iteratee calls; this avoids the creation of intermediate
39
+        * arrays and can greatly reduce the number of iteratee executions. Sections of a chain
40
+        * sequence qualify for shortcut fusion if the section is applied to an array and iteratees
41
+        * accept only one argument. The heuristic for whether a section qualifies for shortcut
42
+        * fusion is subject to change.
43
+        *
44
+        * Chaining is supported in custom builds as long as the value() method is directly or
45
+        * indirectly included in the build.
46
+        *
47
+        * In addition to lodash methods, wrappers have Array and String methods.
48
+        * The wrapper Array methods are:
49
+        * concat, join, pop, push, shift, sort, splice, and unshift.
50
+        * The wrapper String methods are:
51
+        * replace and split.
52
+        *
53
+        * The wrapper methods that support shortcut fusion are:
54
+        * at, compact, drop, dropRight, dropWhile, filter, find, findLast, head, initial, last,
55
+        * map, reject, reverse, slice, tail, take, takeRight, takeRightWhile, takeWhile, and toArray
56
+        *
57
+        * The chainable wrapper methods are:
58
+        * after, ary, assign, assignIn, assignInWith, assignWith, at, before, bind, bindAll, bindKey,
59
+        * castArray, chain, chunk, commit, compact, concat, conforms, constant, countBy, create,
60
+        * curry, debounce, defaults, defaultsDeep, defer, delay, difference, differenceBy, differenceWith,
61
+        * drop, dropRight, dropRightWhile, dropWhile, extend, extendWith, fill, filter, flatMap,
62
+        * flatMapDeep, flatMapDepth, flatten, flattenDeep, flattenDepth, flip, flow, flowRight,
63
+        * fromPairs, functions, functionsIn, groupBy, initial, intersection, intersectionBy, intersectionWith,
64
+        * invert, invertBy, invokeMap, iteratee, keyBy, keys, keysIn, map, mapKeys, mapValues,
65
+        * matches, matchesProperty, memoize, merge, mergeWith, method, methodOf, mixin, negate,
66
+        * nthArg, omit, omitBy, once, orderBy, over, overArgs, overEvery, overSome, partial, partialRight,
67
+        * partition, pick, pickBy, plant, property, propertyOf, pull, pullAll, pullAllBy, pullAllWith, pullAt,
68
+        * push, range, rangeRight, rearg, reject, remove, rest, reverse, sampleSize, set, setWith,
69
+        * shuffle, slice, sort, sortBy, sortedUniq, sortedUniqBy, splice, spread, tail, take,
70
+        * takeRight, takeRightWhile, takeWhile, tap, throttle, thru, toArray, toPairs, toPairsIn,
71
+        * toPath, toPlainObject, transform, unary, union, unionBy, unionWith, uniq, uniqBy, uniqWith,
72
+        * unset, unshift, unzip, unzipWith, update, updateWith, values, valuesIn, without, wrap,
73
+        * xor, xorBy, xorWith, zip, zipObject, zipObjectDeep, and zipWith.
74
+        *
75
+        * The wrapper methods that are not chainable by default are:
76
+        * add, attempt, camelCase, capitalize, ceil, clamp, clone, cloneDeep, cloneDeepWith, cloneWith,
77
+        * conformsTo, deburr, defaultTo, divide, each, eachRight, endsWith, eq, escape, escapeRegExp,
78
+        * every, find, findIndex, findKey, findLast, findLastIndex, findLastKey, first, floor, forEach,
79
+        * forEachRight, forIn, forInRight, forOwn, forOwnRight, get, gt, gte, has, hasIn, head,
80
+        * identity, includes, indexOf, inRange, invoke, isArguments, isArray, isArrayBuffer,
81
+        * isArrayLike, isArrayLikeObject, isBoolean, isBuffer, isDate, isElement, isEmpty, isEqual, isEqualWith,
82
+        * isError, isFinite, isFunction, isInteger, isLength, isMap, isMatch, isMatchWith, isNaN,
83
+        * isNative, isNil, isNull, isNumber, isObject, isObjectLike, isPlainObject, isRegExp,
84
+        * isSafeInteger, isSet, isString, isUndefined, isTypedArray, isWeakMap, isWeakSet, join,
85
+        * kebabCase, last, lastIndexOf, lowerCase, lowerFirst, lt, lte, max, maxBy, mean, meanBy,
86
+        * min, minBy, multiply, noConflict, noop, now, nth, pad, padEnd, padStart, parseInt, pop,
87
+        * random, reduce, reduceRight, repeat, result, round, runInContext, sample, shift, size,
88
+        * snakeCase, some, sortedIndex, sortedIndexBy, sortedLastIndex, sortedLastIndexBy, startCase,
89
+        * startsWith, stubArray, stubFalse, stubObject, stubString, stubTrue, subtract, sum, sumBy,
90
+        * template, times, toFinite, toInteger, toJSON, toLength, toLower, toNumber, toSafeInteger,
91
+        * toString, toUpper, trim, trimEnd, trimStart, truncate, unescape, uniqueId, upperCase,
92
+        * upperFirst, value, and words.
93
+        **/
94
+        <TrapAny extends { __trapAny: any }>(value: TrapAny): Collection<any> & Function<any> & Object<any> & Primitive<any> & String;
95
+        <T extends null | undefined>(value: T): Primitive<T>;
96
+        (value: string | null | undefined): String;
97
+        <T extends (...args: any) => any>(value: T): Function<T>;
98
+        <T = any>(value: List<T> | null | undefined): Collection<T>;
99
+        <T extends object>(value: T | null | undefined): Object<T>;
100
+        <T>(value: T): Primitive<T>;
101
+        /**
102
+        * The semantic version number.
103
+        **/
104
+        VERSION: string;
105
+        /**
106
+        * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
107
+        * (ERB). Change the following template settings to use alternative delimiters.
108
+        **/
109
+        templateSettings: TemplateSettings;
110
+    }
111
+    /**
112
+    * By default, the template delimiters used by Lo-Dash are similar to those in embedded Ruby
113
+    * (ERB). Change the following template settings to use alternative delimiters.
114
+    **/
115
+    interface TemplateSettings {
116
+        /**
117
+        * The "escape" delimiter.
118
+        **/
119
+        escape?: RegExp | undefined;
120
+        /**
121
+        * The "evaluate" delimiter.
122
+        **/
123
+        evaluate?: RegExp | undefined;
124
+        /**
125
+        * An object to import into the template as local variables.
126
+        */
127
+        imports?: Dictionary<any> | undefined;
128
+        /**
129
+        * The "interpolate" delimiter.
130
+        */
131
+        interpolate?: RegExp | undefined;
132
+        /**
133
+        * Used to reference the data object in the template text.
134
+        */
135
+        variable?: string | undefined;
136
+    }
137
+    /**
138
+     * Creates a cache object to store key/value pairs.
139
+     */
140
+    interface MapCache {
141
+        /**
142
+         * Removes `key` and its value from the cache.
143
+         * @param key The key of the value to remove.
144
+         * @return Returns `true` if the entry was removed successfully, else `false`.
145
+         */
146
+        delete(key: any): boolean;
147
+        /**
148
+         * Gets the cached value for `key`.
149
+         * @param key The key of the value to get.
150
+         * @return Returns the cached value.
151
+         */
152
+        get(key: any): any;
153
+        /**
154
+         * Checks if a cached value for `key` exists.
155
+         * @param key The key of the entry to check.
156
+         * @return Returns `true` if an entry for `key` exists, else `false`.
157
+         */
158
+        has(key: any): boolean;
159
+        /**
160
+         * Sets `value` to `key` of the cache.
161
+         * @param key The key of the value to cache.
162
+         * @param value The value to cache.
163
+         * @return Returns the cache object.
164
+         */
165
+        set(key: any, value: any): this;
166
+        /**
167
+         * Removes all key-value entries from the map.
168
+         */
169
+        clear?: (() => void) | undefined;
170
+    }
171
+    interface MapCacheConstructor {
172
+        new (): MapCache;
173
+    }
174
+    interface Collection<T> {
175
+        pop(): T | undefined;
176
+        push(...items: T[]): this;
177
+        shift(): T | undefined;
178
+        sort(compareFn?: (a: T, b: T) => number): this;
179
+        splice(start: number, deleteCount?: number, ...items: T[]): this;
180
+        unshift(...items: T[]): this;
181
+    }
182
+    interface CollectionChain<T> {
183
+        pop(): ExpChain<T | undefined>;
184
+        push(...items: T[]): this;
185
+        shift(): ExpChain<T | undefined>;
186
+        sort(compareFn?: (a: T, b: T) => number): this;
187
+        splice(start: number, deleteCount?: number, ...items: T[]): this;
188
+        unshift(...items: T[]): this;
189
+    }
190
+    interface Function<T extends (...args: any) => any> extends LoDashImplicitWrapper<T> {
191
+    }
192
+    interface String extends LoDashImplicitWrapper<string> {
193
+    }
194
+    interface Object<T> extends LoDashImplicitWrapper<T> {
195
+    }
196
+    interface Collection<T> extends LoDashImplicitWrapper<T[]> {
197
+    }
198
+    interface Primitive<T> extends LoDashImplicitWrapper<T> {
199
+    }
200
+    interface FunctionChain<T extends (...args: any) => any> extends LoDashExplicitWrapper<T> {
201
+    }
202
+    interface StringChain extends LoDashExplicitWrapper<string> {
203
+    }
204
+    interface StringNullableChain extends LoDashExplicitWrapper<string | undefined> {
205
+    }
206
+    interface ObjectChain<T> extends LoDashExplicitWrapper<T> {
207
+    }
208
+    interface CollectionChain<T> extends LoDashExplicitWrapper<T[]> {
209
+    }
210
+    interface PrimitiveChain<T> extends LoDashExplicitWrapper<T> {
211
+    }
212
+    type NotVoid = unknown;
213
+    type IterateeShorthand<T> = PropertyName | [PropertyName, any] | PartialShallow<T>;
214
+    type ArrayIterator<T, TResult> = (value: T, index: number, collection: T[]) => TResult;
215
+    type ListIterator<T, TResult> = (value: T, index: number, collection: List<T>) => TResult;
216
+    type ListIteratee<T> = ListIterator<T, NotVoid> | IterateeShorthand<T>;
217
+    type ListIterateeCustom<T, TResult> = ListIterator<T, TResult> | IterateeShorthand<T>;
218
+    type ListIteratorTypeGuard<T, S extends T> = (value: T, index: number, collection: List<T>) => value is S;
219
+    // Note: key should be string, not keyof T, because the actual object may contain extra properties that were not specified in the type.
220
+    type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
221
+    type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
222
+    type ObjectIterateeCustom<TObject, TResult> = ObjectIterator<TObject, TResult> | IterateeShorthand<TObject[keyof TObject]>;
223
+    type ObjectIteratorTypeGuard<TObject, S extends TObject[keyof TObject]> = (value: TObject[keyof TObject], key: string, collection: TObject) => value is S;
224
+    type StringIterator<TResult> = (char: string, index: number, string: string) => TResult;
225
+    /** @deprecated Use MemoVoidArrayIterator or MemoVoidDictionaryIterator instead. */
226
+    type MemoVoidIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => void;
227
+    /** @deprecated Use MemoListIterator or MemoObjectIterator instead. */
228
+    type MemoIterator<T, TResult> = (prev: TResult, curr: T, indexOrKey: any, list: T[]) => TResult;
229
+    type MemoListIterator<T, TResult, TList> = (prev: TResult, curr: T, index: number, list: TList) => TResult;
230
+    type MemoObjectIterator<T, TResult, TList> = (prev: TResult, curr: T, key: string, list: TList) => TResult;
231
+    type MemoIteratorCapped<T, TResult> = (prev: TResult, curr: T) => TResult;
232
+    type MemoIteratorCappedRight<T, TResult> = (curr: T, prev: TResult) => TResult;
233
+    type MemoVoidArrayIterator<T, TResult> = (acc: TResult, curr: T, index: number, arr: T[]) => void;
234
+    type MemoVoidDictionaryIterator<T, K extends string | number | symbol, TResult> = (acc: TResult, curr: T, key: K, dict: Record<K, T>) => void;
235
+    type MemoVoidIteratorCapped<T, TResult> = (acc: TResult, curr: T) => void;
236
+    type ValueIteratee<T> = ((value: T) => NotVoid) | IterateeShorthand<T>;
237
+    type ValueIterateeCustom<T, TResult> = ((value: T) => TResult) | IterateeShorthand<T>;
238
+    type ValueIteratorTypeGuard<T, S extends T> = (value: T) => value is S;
239
+    type ValueKeyIteratee<T> = ((value: T, key: string) => NotVoid) | IterateeShorthand<T>;
240
+    type ValueKeyIterateeTypeGuard<T, S extends T> = (value: T, key: string) => value is S;
241
+    type Comparator<T> = (a: T, b: T) => boolean;
242
+    type Comparator2<T1, T2> = (a: T1, b: T2) => boolean;
243
+    type PropertyName = string | number | symbol;
244
+    type PropertyPath = Many<PropertyName>;
245
+    /** Common interface between Arrays and jQuery objects */
246
+    type List<T> = ArrayLike<T>;
247
+    interface Dictionary<T> {
248
+        [index: string]: T;
249
+    }
250
+    interface NumericDictionary<T> {
251
+        [index: number]: T;
252
+    }
253
+    // Crazy typedef needed get _.omit to work properly with Dictionary and NumericDictionary
254
+    type AnyKindOfDictionary =
255
+        | Dictionary<unknown>
256
+        | NumericDictionary<unknown>;
257
+    type PartialShallow<T> = {
258
+        [P in keyof T]?: T[P] extends object ? object : T[P]
259
+    };
260
+    // For backwards compatibility
261
+    type LoDashImplicitArrayWrapper<T> = LoDashImplicitWrapper<T[]>;
262
+    type LoDashImplicitNillableArrayWrapper<T> = LoDashImplicitWrapper<T[] | null | undefined>;
263
+    type LoDashImplicitObjectWrapper<T> = LoDashImplicitWrapper<T>;
264
+    type LoDashImplicitNillableObjectWrapper<T> = LoDashImplicitWrapper<T | null | undefined>;
265
+    type LoDashImplicitNumberArrayWrapper = LoDashImplicitWrapper<number[]>;
266
+    type LoDashImplicitStringWrapper = LoDashImplicitWrapper<string>;
267
+    type LoDashExplicitArrayWrapper<T> = LoDashExplicitWrapper<T[]>;
268
+    type LoDashExplicitNillableArrayWrapper<T> = LoDashExplicitWrapper<T[] | null | undefined>;
269
+    type LoDashExplicitObjectWrapper<T> = LoDashExplicitWrapper<T>;
270
+    type LoDashExplicitNillableObjectWrapper<T> = LoDashExplicitWrapper<T | null | undefined>;
271
+    type LoDashExplicitNumberArrayWrapper = LoDashExplicitWrapper<number[]>;
272
+    type LoDashExplicitStringWrapper = LoDashExplicitWrapper<string>;
273
+    type DictionaryIterator<T, TResult> = ObjectIterator<Dictionary<T>, TResult>;
274
+    type DictionaryIteratee<T> = ObjectIteratee<Dictionary<T>>;
275
+    type DictionaryIteratorTypeGuard<T, S extends T> = ObjectIteratorTypeGuard<Dictionary<T>, S>;
276
+    // NOTE: keys of objects at run time are always strings, even when a NumericDictionary is being iterated.
277
+    type NumericDictionaryIterator<T, TResult> = (value: T, key: string, collection: NumericDictionary<T>) => TResult;
278
+    type NumericDictionaryIteratee<T> = NumericDictionaryIterator<T, NotVoid> | IterateeShorthand<T>;
279
+    type NumericDictionaryIterateeCustom<T, TResult> = NumericDictionaryIterator<T, TResult> | IterateeShorthand<T>;
280
+}

+ 23
- 0
node_modules/@types/lodash/common/date.d.ts View File

@@ -0,0 +1,23 @@
1
+import _ = require("../index");
2
+declare module "../index" {
3
+    interface LoDashStatic {
4
+        /*
5
+         * Gets the number of milliseconds that have elapsed since the Unix epoch (1 January 1970 00:00:00 UTC).
6
+         *
7
+         * @return The number of milliseconds.
8
+         */
9
+        now(): number;
10
+    }
11
+    interface LoDashImplicitWrapper<TValue> {
12
+        /**
13
+         * @see _.now
14
+         */
15
+        now(): number;
16
+    }
17
+    interface LoDashExplicitWrapper<TValue> {
18
+        /**
19
+         * @see _.now
20
+         */
21
+        now(): PrimitiveChain<number>;
22
+    }
23
+}

+ 1446
- 0
node_modules/@types/lodash/common/function.d.ts
File diff suppressed because it is too large
View File


+ 1700
- 0
node_modules/@types/lodash/common/lang.d.ts
File diff suppressed because it is too large
View File


+ 405
- 0
node_modules/@types/lodash/common/math.d.ts View File

@@ -0,0 +1,405 @@
1
+import _ = require("../index");
2
+declare module "../index" {
3
+    interface LoDashStatic {
4
+        /**
5
+         * Adds two numbers.
6
+         *
7
+         * @param augend The first number to add.
8
+         * @param addend The second number to add.
9
+         * @return Returns the sum.
10
+         */
11
+        add(augend: number, addend: number): number;
12
+    }
13
+    interface LoDashImplicitWrapper<TValue> {
14
+        /**
15
+         * @see _.add
16
+         */
17
+        add(addend: number): number;
18
+    }
19
+    interface LoDashExplicitWrapper<TValue> {
20
+        /**
21
+         * @see _.add
22
+         */
23
+        add(addend: number): PrimitiveChain<number>;
24
+    }
25
+
26
+    interface LoDashStatic {
27
+        /**
28
+         * Calculates n rounded up to precision.
29
+         *
30
+         * @param n The number to round up.
31
+         * @param precision The precision to round up to.
32
+         * @return Returns the rounded up number.
33
+         */
34
+        ceil(n: number, precision?: number): number;
35
+    }
36
+    interface LoDashImplicitWrapper<TValue> {
37
+        /**
38
+         * @see _.ceil
39
+         */
40
+        ceil(precision?: number): number;
41
+    }
42
+    interface LoDashExplicitWrapper<TValue> {
43
+        /**
44
+         * @see _.ceil
45
+         */
46
+        ceil(precision?: number): PrimitiveChain<number>;
47
+    }
48
+
49
+    interface LoDashStatic {
50
+        /**
51
+        * Divide two numbers.
52
+        *
53
+        * @param dividend The first number in a division.
54
+        * @param divisor The second number in a division.
55
+        * @returns Returns the quotient.
56
+         */
57
+        divide(dividend: number, divisor: number): number;
58
+    }
59
+    interface LoDashImplicitWrapper<TValue> {
60
+        /**
61
+         * @see _.divide
62
+         */
63
+        divide(divisor: number): number;
64
+    }
65
+    interface LoDashExplicitWrapper<TValue> {
66
+        /**
67
+         * @see _.divide
68
+         */
69
+        divide(divisor: number): PrimitiveChain<number>;
70
+    }
71
+
72
+    interface LoDashStatic {
73
+        /**
74
+         * Calculates n rounded down to precision.
75
+         *
76
+         * @param n The number to round down.
77
+         * @param precision The precision to round down to.
78
+         * @return Returns the rounded down number.
79
+         */
80
+        floor(n: number, precision?: number): number;
81
+    }
82
+    interface LoDashImplicitWrapper<TValue> {
83
+        /**
84
+         * @see _.floor
85
+         */
86
+        floor(precision?: number): number;
87
+    }
88
+    interface LoDashExplicitWrapper<TValue> {
89
+        /**
90
+         * @see _.floor
91
+         */
92
+        floor(precision?: number): PrimitiveChain<number>;
93
+    }
94
+
95
+    interface LoDashStatic {
96
+        /**
97
+          * Computes the maximum value of `array`. If `array` is empty or falsey
98
+          * `undefined` is returned.
99
+          *
100
+          * @category Math
101
+          * @param array The array to iterate over.
102
+          * @returns Returns the maximum value.
103
+         */
104
+        max<T>(collection: List<T> | null | undefined): T | undefined;
105
+    }
106
+    interface Collection<T> {
107
+        /**
108
+         * @see _.max
109
+         */
110
+        max(): T | undefined;
111
+    }
112
+    interface CollectionChain<T> {
113
+        /**
114
+         * @see _.max
115
+         */
116
+        max(): ExpChain<T | undefined>;
117
+    }
118
+
119
+    interface LoDashStatic {
120
+        /**
121
+         * This method is like `_.max` except that it accepts `iteratee` which is
122
+         * invoked for each element in `array` to generate the criterion by which
123
+         * the value is ranked. The iteratee is invoked with one argument: (value).
124
+         *
125
+         * @category Math
126
+         * @param array The array to iterate over.
127
+         * @param iteratee The iteratee invoked per element.
128
+         * @returns Returns the maximum value.
129
+         * @example
130
+         *
131
+         * var objects = [{ 'n': 1 }, { 'n': 2 }];
132
+         *
133
+         * _.maxBy(objects, function(o) { return o.n; });
134
+         * // => { 'n': 2 }
135
+         *
136
+         * // using the `_.property` iteratee shorthand
137
+         * _.maxBy(objects, 'n');
138
+         * // => { 'n': 2 }
139
+         */
140
+        maxBy<T>(collection: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T | undefined;
141
+    }
142
+    interface Collection<T> {
143
+        /**
144
+         * @see _.maxBy
145
+         */
146
+        maxBy(iteratee?: ValueIteratee<T>): T | undefined;
147
+    }
148
+    interface CollectionChain<T> {
149
+        /**
150
+         * @see _.maxBy
151
+         */
152
+        maxBy(iteratee?: ValueIteratee<T>): ExpChain<T | undefined>;
153
+    }
154
+
155
+    interface LoDashStatic {
156
+        /**
157
+         * Computes the mean of the values in `array`.
158
+         *
159
+         * @category Math
160
+         * @param array The array to iterate over.
161
+         * @returns Returns the mean.
162
+         * @example
163
+         *
164
+         * _.mean([4, 2, 8, 6]);
165
+         * // => 5
166
+         */
167
+        mean(collection: List<any> | null | undefined): number;
168
+    }
169
+    interface LoDashImplicitWrapper<TValue> {
170
+        /**
171
+         * @see _.mean
172
+         */
173
+        mean(): number;
174
+    }
175
+    interface LoDashExplicitWrapper<TValue> {
176
+        /**
177
+         * @see _.mean
178
+         */
179
+        mean(): PrimitiveChain<number>;
180
+    }
181
+
182
+    interface LoDashStatic {
183
+        /**
184
+         * Computes the mean of the provided properties of the objects in the `array`
185
+         *
186
+         * @category Math
187
+         * @param array The array to iterate over.
188
+         * @param iteratee The iteratee invoked per element.
189
+         * @returns Returns the mean.
190
+         * @example
191
+         *
192
+         * _.mean([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], 'n');
193
+         * // => 5
194
+         */
195
+        meanBy<T>(collection: List<T> | null | undefined, iteratee?: ValueIteratee<T>): number;
196
+    }
197
+    interface Collection<T> {
198
+        /**
199
+         * @see _.meanBy
200
+         */
201
+        meanBy(iteratee?: ValueIteratee<T>): number;
202
+    }
203
+    interface CollectionChain<T> {
204
+        /**
205
+         * @see _.meanBy
206
+         */
207
+        meanBy(iteratee?: ValueIteratee<T>): PrimitiveChain<number>;
208
+    }
209
+
210
+    interface LoDashStatic {
211
+        /**
212
+         * Computes the minimum value of `array`. If `array` is empty or falsey
213
+         * `undefined` is returned.
214
+         *
215
+         * @category Math
216
+         * @param array The array to iterate over.
217
+         * @returns Returns the minimum value.
218
+         */
219
+        min<T>(collection: List<T> | null | undefined): T | undefined;
220
+    }
221
+    interface Collection<T> {
222
+        /**
223
+         * @see _.min
224
+         */
225
+        min(): T | undefined;
226
+    }
227
+    interface CollectionChain<T> {
228
+        /**
229
+         * @see _.min
230
+         */
231
+        min(): ExpChain<T | undefined>;
232
+    }
233
+
234
+    interface LoDashStatic {
235
+        /**
236
+         * This method is like `_.min` except that it accepts `iteratee` which is
237
+         * invoked for each element in `array` to generate the criterion by which
238
+         * the value is ranked. The iteratee is invoked with one argument: (value).
239
+         *
240
+         * @category Math
241
+         * @param array The array to iterate over.
242
+         * @param iteratee The iteratee invoked per element.
243
+         * @returns Returns the minimum value.
244
+         * @example
245
+         *
246
+         * var objects = [{ 'n': 1 }, { 'n': 2 }];
247
+         *
248
+         * _.minBy(objects, function(o) { return o.a; });
249
+         * // => { 'n': 1 }
250
+         *
251
+         * // using the `_.property` iteratee shorthand
252
+         * _.minBy(objects, 'n');
253
+         * // => { 'n': 1 }
254
+         */
255
+        minBy<T>(collection: List<T> | null | undefined, iteratee?: ValueIteratee<T>): T | undefined;
256
+    }
257
+    interface Collection<T> {
258
+        /**
259
+         * @see _.minBy
260
+         */
261
+        minBy(iteratee?: ValueIteratee<T>): T | undefined;
262
+    }
263
+    interface CollectionChain<T> {
264
+        /**
265
+         * @see _.minBy
266
+         */
267
+        minBy(iteratee?: ValueIteratee<T>): ExpChain<T | undefined>;
268
+    }
269
+
270
+    interface LoDashStatic {
271
+        /**
272
+         * Multiply two numbers.
273
+         * @param multiplier The first number in a multiplication.
274
+         * @param multiplicand The second number in a multiplication.
275
+         * @returns Returns the product.
276
+         */
277
+        multiply(multiplier: number, multiplicand: number): number;
278
+    }
279
+    interface LoDashImplicitWrapper<TValue> {
280
+        /**
281
+         * @see _.multiply
282
+         */
283
+        multiply(multiplicand: number): number;
284
+    }
285
+    interface LoDashExplicitWrapper<TValue> {
286
+        /**
287
+         * @see _.multiply
288
+         */
289
+        multiply(multiplicand: number): PrimitiveChain<number>;
290
+    }
291
+
292
+    interface LoDashStatic {
293
+        /**
294
+         * Calculates n rounded to precision.
295
+         *
296
+         * @param n The number to round.
297
+         * @param precision The precision to round to.
298
+         * @return Returns the rounded number.
299
+         */
300
+        round(n: number, precision?: number): number;
301
+    }
302
+    interface LoDashImplicitWrapper<TValue> {
303
+        /**
304
+         * @see _.round
305
+         */
306
+        round(precision?: number): number;
307
+    }
308
+    interface LoDashExplicitWrapper<TValue> {
309
+        /**
310
+         * @see _.round
311
+         */
312
+        round(precision?: number): PrimitiveChain<number>;
313
+    }
314
+
315
+    interface LoDashStatic {
316
+        /**
317
+         * Subtract two numbers.
318
+         *
319
+         * @category Math
320
+         * @param minuend The first number in a subtraction.
321
+         * @param subtrahend The second number in a subtraction.
322
+         * @returns Returns the difference.
323
+         * @example
324
+         *
325
+         * _.subtract(6, 4);
326
+         * // => 2
327
+         */
328
+        subtract(minuend: number, subtrahend: number): number;
329
+    }
330
+    interface LoDashImplicitWrapper<TValue> {
331
+        /**
332
+         * @see _.subtract
333
+         */
334
+        subtract(subtrahend: number): number;
335
+    }
336
+    interface LoDashExplicitWrapper<TValue> {
337
+        /**
338
+         * @see _.subtract
339
+         */
340
+        subtract(subtrahend: number): PrimitiveChain<number>;
341
+    }
342
+
343
+    interface LoDashStatic {
344
+        /**
345
+         * Computes the sum of the values in `array`.
346
+         *
347
+         * @category Math
348
+         * @param array The array to iterate over.
349
+         * @returns Returns the sum.
350
+         * @example
351
+         *
352
+         * _.sum([4, 2, 8, 6]);
353
+         * // => 20
354
+         */
355
+        sum(collection: List<any> | null | undefined): number;
356
+    }
357
+    interface LoDashImplicitWrapper<TValue> {
358
+        /**
359
+         * @see _.sum
360
+         */
361
+        sum(): number;
362
+    }
363
+    interface LoDashExplicitWrapper<TValue> {
364
+        /**
365
+         * @see _.sum
366
+         */
367
+        sum(): PrimitiveChain<number>;
368
+    }
369
+
370
+    interface LoDashStatic {
371
+        /**
372
+         * This method is like `_.sum` except that it accepts `iteratee` which is
373
+         * invoked for each element in `array` to generate the value to be summed.
374
+         * The iteratee is invoked with one argument: (value).
375
+         *
376
+         * @category Math
377
+         * @param array The array to iterate over.
378
+         * @param [iteratee=_.identity] The iteratee invoked per element.
379
+         * @returns Returns the sum.
380
+         * @example
381
+         *
382
+         * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];
383
+         *
384
+         * _.sumBy(objects, function(o) { return o.n; });
385
+         * // => 20
386
+         *
387
+         * // using the `_.property` iteratee shorthand
388
+         * _.sumBy(objects, 'n');
389
+         * // => 20
390
+         */
391
+        sumBy<T>(collection: List<T> | null | undefined, iteratee?: ((value: T) => number) | string): number;
392
+    }
393
+    interface Collection<T> {
394
+        /**
395
+         * @see _.sumBy
396
+         */
397
+        sumBy(iteratee?: ((value: T) => number) | string): number;
398
+    }
399
+    interface CollectionChain<T> {
400
+        /**
401
+         * @see _.sumBy
402
+         */
403
+        sumBy(iteratee?: ((value: T) => number) | string): PrimitiveChain<number>;
404
+    }
405
+}

+ 131
- 0
node_modules/@types/lodash/common/number.d.ts View File

@@ -0,0 +1,131 @@
1
+import _ = require("../index");
2
+declare module "../index" {
3
+    // clamp
4
+    interface LoDashStatic {
5
+        /**
6
+         * Clamps `number` within the inclusive `lower` and `upper` bounds.
7
+         *
8
+         * @category Number
9
+         * @param number The number to clamp.
10
+         * @param [lower] The lower bound.
11
+         * @param upper The upper bound.
12
+         * @returns Returns the clamped number.
13
+         * @example
14
+         *
15
+         * _.clamp(-10, -5, 5);
16
+         * // => -5
17
+         *
18
+         * _.clamp(10, -5, 5);
19
+         * // => 5
20
+         * Clamps `number` within the inclusive `lower` and `upper` bounds.
21
+         *
22
+         * @category Number
23
+         * @param number The number to clamp.
24
+         * @param [lower] The lower bound.
25
+         * @param upper The upper bound.
26
+         * @returns Returns the clamped number.
27
+         * @example
28
+         *
29
+         * _.clamp(-10, -5, 5);
30
+         * // => -5
31
+         *
32
+         * _.clamp(10, -5, 5);
33
+         */
34
+        clamp(number: number, lower: number, upper: number): number;
35
+        /**
36
+         * @see _.clamp
37
+         */
38
+        clamp(number: number, upper: number): number;
39
+    }
40
+    interface LoDashImplicitWrapper<TValue> {
41
+        /**
42
+         * @see _.clamp
43
+         */
44
+        clamp(lower: number, upper: number): number;
45
+        /**
46
+         * @see _.clamp
47
+         */
48
+        clamp(upper: number): number;
49
+    }
50
+    interface LoDashExplicitWrapper<TValue> {
51
+        /**
52
+         * @see _.clamp
53
+         */
54
+        clamp(lower: number, upper: number): PrimitiveChain<number>;
55
+        /**
56
+         * @see _.clamp
57
+         */
58
+        clamp(upper: number): PrimitiveChain<number>;
59
+    }
60
+    // inRange
61
+    interface LoDashStatic {
62
+        /**
63
+         * Checks if n is between start and up to but not including, end. If end is not specified it’s set to start
64
+         * with start then set to 0.
65
+         *
66
+         * @param n The number to check.
67
+         * @param start The start of the range.
68
+         * @param end The end of the range.
69
+         * @return Returns true if n is in the range, else false.
70
+         */
71
+        inRange(n: number, start: number, end?: number): boolean;
72
+    }
73
+    interface LoDashImplicitWrapper<TValue> {
74
+        /**
75
+         * @see _.inRange
76
+         */
77
+        inRange(start: number, end?: number): boolean;
78
+    }
79
+    interface LoDashExplicitWrapper<TValue> {
80
+        /**
81
+         * @see _.inRange
82
+         */
83
+        inRange(start: number, end?: number): PrimitiveChain<boolean>;
84
+    }
85
+    // random
86
+    interface LoDashStatic {
87
+        /**
88
+         * Produces a random number between min and max (inclusive). If only one argument is provided a number between
89
+         * 0 and the given number is returned. If floating is true, or either min or max are floats, a floating-point
90
+         * number is returned instead of an integer.
91
+         *
92
+         * @param min The minimum possible value.
93
+         * @param max The maximum possible value.
94
+         * @param floating Specify returning a floating-point number.
95
+         * @return Returns the random number.
96
+         */
97
+        random(floating?: boolean): number;
98
+        /**
99
+         * @see _.random
100
+         */
101
+        random(max: number, floating?: boolean): number;
102
+        /**
103
+         * @see _.random
104
+         */
105
+        random(min: number, max: number, floating?: boolean): number;
106
+        /**
107
+         * @see _.random
108
+         */
109
+        random(min: number, index: string | number, guard: object): number;
110
+    }
111
+    interface LoDashImplicitWrapper<TValue> {
112
+        /**
113
+         * @see _.random
114
+         */
115
+        random(floating?: boolean): number;
116
+        /**
117
+         * @see _.random
118
+         */
119
+        random(max: number, floating?: boolean): number;
120
+    }
121
+    interface LoDashExplicitWrapper<TValue> {
122
+        /**
123
+         * @see _.random
124
+         */
125
+        random(floating?: boolean): PrimitiveChain<number>;
126
+        /**
127
+         * @see _.random
128
+         */
129
+        random(max: number, floating?: boolean): PrimitiveChain<number>;
130
+    }
131
+}

+ 2580
- 0
node_modules/@types/lodash/common/object.d.ts
File diff suppressed because it is too large
View File


+ 210
- 0
node_modules/@types/lodash/common/seq.d.ts View File

@@ -0,0 +1,210 @@
1
+import _ = require("../index");
2
+declare module "../index" {
3
+    // chain
4
+    interface LoDashStatic {
5
+        /**
6
+         * Creates a lodash object that wraps value with explicit method chaining enabled.
7
+         *
8
+         * @param value The value to wrap.
9
+         * @return Returns the new lodash wrapper instance.
10
+         */
11
+        chain<TrapAny extends { __lodashAnyHack: any }>(value: TrapAny): CollectionChain<any> & FunctionChain<any> & ObjectChain<any> & PrimitiveChain<any> & StringChain;
12
+        /**
13
+         * @see _.chain
14
+         */
15
+        chain<T extends null | undefined>(value: T): PrimitiveChain<T>;
16
+        /**
17
+         * @see _.chain
18
+         */
19
+        chain(value: string): StringChain;
20
+        /**
21
+         * @see _.chain
22
+         */
23
+        chain(value: string | null | undefined): StringNullableChain;
24
+        /**
25
+         * @see _.chain
26
+         */
27
+        chain<T extends (...args: any[]) => any>(value: T): FunctionChain<T>;
28
+        /**
29
+         * @see _.chain
30
+         */
31
+        chain<T = any>(value: List<T> | null | undefined): CollectionChain<T>;
32
+        /**
33
+         * @see _.chain
34
+         */
35
+        chain<T extends object>(value: T | null | undefined): ObjectChain<T>;
36
+        /**
37
+         * @see _.chain
38
+         */
39
+        chain<T>(value: T): PrimitiveChain<T>;
40
+    }
41
+    interface Collection<T> {
42
+        /**
43
+         * @see _.chain
44
+         */
45
+        chain(): CollectionChain<T>;
46
+    }
47
+    interface String {
48
+        /**
49
+         * @see _.chain
50
+         */
51
+        chain(): StringChain;
52
+    }
53
+    interface Object<T> {
54
+        /**
55
+         * @see _.chain
56
+         */
57
+        chain(): ObjectChain<T>;
58
+    }
59
+    interface Primitive<T> {
60
+        /**
61
+         * @see _.chain
62
+         */
63
+        chain(): PrimitiveChain<T>;
64
+    }
65
+    interface Function<T extends (...args: any) => any> {
66
+        /**
67
+         * @see _.chain
68
+         */
69
+        chain(): FunctionChain<T>;
70
+    }
71
+    interface LoDashExplicitWrapper<TValue> {
72
+        /**
73
+         * @see _.chain
74
+         */
75
+        chain(): this;
76
+    }
77
+    // prototype.commit
78
+    interface LoDashImplicitWrapper<TValue> {
79
+        /**
80
+         * @see _.commit
81
+         */
82
+        commit(): this;
83
+    }
84
+    interface LoDashExplicitWrapper<TValue> {
85
+        /**
86
+         * @see _.commit
87
+         */
88
+        commit(): this;
89
+    }
90
+    // prototype.plant
91
+    interface LoDashImplicitWrapper<TValue> {
92
+        /**
93
+         * @see _.plant
94
+         */
95
+        plant(value: unknown): this;
96
+    }
97
+    interface LoDashExplicitWrapper<TValue> {
98
+        /**
99
+         * @see _.plant
100
+         */
101
+        plant(value: unknown): this;
102
+    }
103
+    // prototype.reverse
104
+    interface LoDashImplicitWrapper<TValue> {
105
+        /**
106
+         * @see _.reverse
107
+         */
108
+        reverse(): this;
109
+    }
110
+    interface LoDashExplicitWrapper<TValue> {
111
+        /**
112
+         * @see _.reverse
113
+         */
114
+        reverse(): this;
115
+    }
116
+    // prototype.toJSON
117
+    interface LoDashImplicitWrapper<TValue> {
118
+        /**
119
+         * @see _.toJSON
120
+         */
121
+        toJSON(): TValue;
122
+    }
123
+    interface LoDashExplicitWrapper<TValue> {
124
+        /**
125
+         * @see _.toJSON
126
+         */
127
+        toJSON(): TValue;
128
+    }
129
+    // prototype.toString
130
+    interface LoDashWrapper<TValue> {
131
+        /**
132
+         * @see _.toString
133
+         */
134
+        toString(): string;
135
+    }
136
+    // prototype.value
137
+    interface LoDashImplicitWrapper<TValue> {
138
+        /**
139
+         * @see _.value
140
+         */
141
+        value(): TValue;
142
+    }
143
+    interface LoDashExplicitWrapper<TValue> {
144
+        /**
145
+         * @see _.value
146
+         */
147
+        value(): TValue;
148
+    }
149
+    // prototype.valueOf
150
+    interface LoDashImplicitWrapper<TValue> {
151
+        /**
152
+         * @see _.valueOf
153
+         */
154
+        valueOf(): TValue;
155
+    }
156
+    interface LoDashExplicitWrapper<TValue> {
157
+        /**
158
+         * @see _.valueOf
159
+         */
160
+        valueOf(): TValue;
161
+    }
162
+    // tap
163
+    interface LoDashStatic {
164
+        /**
165
+         * This method invokes interceptor and returns value. The interceptor is invoked with one
166
+         * argument; (value). The purpose of this method is to "tap into" a method chain in order to perform operations
167
+         * on intermediate results within the chain.
168
+         *
169
+         * @param value The value to provide to interceptor.
170
+         * @param interceptor The function to invoke.
171
+         * @return Returns value.
172
+         */
173
+        tap<T>(value: T, interceptor: (value: T) => void): T;
174
+    }
175
+    interface LoDashImplicitWrapper<TValue> {
176
+        /**
177
+         * @see _.tap
178
+         */
179
+        tap(interceptor: (value: TValue) => void): this;
180
+    }
181
+    interface LoDashExplicitWrapper<TValue> {
182
+        /**
183
+         * @see _.tap
184
+         */
185
+        tap(interceptor: (value: TValue) => void): this;
186
+    }
187
+    // thru
188
+    interface LoDashStatic {
189
+        /**
190
+         * This method is like _.tap except that it returns the result of interceptor.
191
+         *
192
+         * @param value The value to provide to interceptor.
193
+         * @param interceptor The function to invoke.
194
+         * @return Returns the result of interceptor.
195
+         */
196
+        thru<T, TResult>(value: T, interceptor: (value: T) => TResult): TResult;
197
+    }
198
+    interface LoDashImplicitWrapper<TValue> {
199
+        /**
200
+         * @see _.thru
201
+         */
202
+        thru<TResult>(interceptor: (value: TValue) => TResult): ImpChain<TResult>;
203
+    }
204
+    interface LoDashExplicitWrapper<TValue> {
205
+        /**
206
+         * @see _.thru
207
+         */
208
+        thru<TResult>(interceptor: (value: TValue) => TResult): ExpChain<TResult>;
209
+    }
210
+}

+ 788
- 0
node_modules/@types/lodash/common/string.d.ts View File

@@ -0,0 +1,788 @@
1
+import _ = require("../index");
2
+declare module "../index" {
3
+    interface LoDashStatic {
4
+        /**
5
+         * Converts string to camel case.
6
+         *
7
+         * @param string The string to convert.
8
+         * @return Returns the camel cased string.
9
+         */
10
+        camelCase(string?: string): string;
11
+    }
12
+    interface LoDashImplicitWrapper<TValue> {
13
+        /**
14
+         * @see _.camelCase
15
+         */
16
+        camelCase(): string;
17
+    }
18
+    interface LoDashExplicitWrapper<TValue> {
19
+        /**
20
+         * @see _.camelCase
21
+         */
22
+        camelCase(): StringChain;
23
+    }
24
+
25
+    interface LoDashStatic {
26
+        /**
27
+         * Converts the first character of string to upper case and the remaining to lower case.
28
+         *
29
+         * @param string The string to capitalize.
30
+         * @return Returns the capitalized string.
31
+         */
32
+        capitalize(string?: string): string;
33
+    }
34
+    interface LoDashImplicitWrapper<TValue> {
35
+        /**
36
+         * @see _.capitalize
37
+         */
38
+        capitalize(): string;
39
+    }
40
+    interface LoDashExplicitWrapper<TValue> {
41
+        /**
42
+         * @see _.capitalize
43
+         */
44
+        capitalize(): StringChain;
45
+    }
46
+
47
+    interface LoDashStatic {
48
+        /**
49
+         * Deburrs string by converting latin-1 supplementary letters to basic latin letters and removing combining
50
+         * diacritical marks.
51
+         *
52
+         * @param string The string to deburr.
53
+         * @return Returns the deburred string.
54
+         */
55
+        deburr(string?: string): string;
56
+    }
57
+    interface LoDashImplicitWrapper<TValue> {
58
+        /**
59
+         * @see _.deburr
60
+         */
61
+        deburr(): string;
62
+    }
63
+    interface LoDashExplicitWrapper<TValue> {
64
+        /**
65
+         * @see _.deburr
66
+         */
67
+        deburr(): StringChain;
68
+    }
69
+
70
+    interface LoDashStatic {
71
+        /**
72
+         * Checks if string ends with the given target string.
73
+         *
74
+         * @param string The string to search.
75
+         * @param target The string to search for.
76
+         * @param position The position to search from.
77
+         * @return Returns true if string ends with target, else false.
78
+         */
79
+        endsWith(string?: string, target?: string, position?: number): boolean;
80
+    }
81
+    interface LoDashImplicitWrapper<TValue> {
82
+        /**
83
+         * @see _.endsWith
84
+         */
85
+        endsWith(target?: string, position?: number): boolean;
86
+    }
87
+    interface LoDashExplicitWrapper<TValue> {
88
+        /**
89
+         * @see _.endsWith
90
+         */
91
+        endsWith(target?: string, position?: number): PrimitiveChain<boolean>;
92
+    }
93
+
94
+    interface LoDashStatic {
95
+        /**
96
+         * Converts the characters "&", "<", ">", '"', "'", and "`" in string to their corresponding HTML entities.
97
+         *
98
+         * Note: No other characters are escaped. To escape additional characters use a third-party library like he.
99
+         *
100
+         * hough the ">" character is escaped for symmetry, characters like ">" and "/" don’t need escaping in HTML
101
+         * and have no special meaning unless they're part of a tag or unquoted attribute value. See Mathias Bynens’s
102
+         * article (under "semi-related fun fact") for more details.
103
+         *
104
+         * Backticks are escaped because in IE < 9, they can break out of attribute values or HTML comments. See #59,
105
+         * #102, #108, and #133 of the HTML5 Security Cheatsheet for more details.
106
+         *
107
+         * When working with HTML you should always quote attribute values to reduce XSS vectors.
108
+         *
109
+         * @param string The string to escape.
110
+         * @return Returns the escaped string.
111
+         */
112
+        escape(string?: string): string;
113
+    }
114
+    interface LoDashImplicitWrapper<TValue> {
115
+        /**
116
+         * @see _.escape
117
+         */
118
+        escape(): string;
119
+    }
120
+    interface LoDashExplicitWrapper<TValue> {
121
+        /**
122
+         * @see _.escape
123
+         */
124
+        escape(): StringChain;
125
+    }
126
+
127
+    interface LoDashStatic {
128
+        /**
129
+         * Escapes the RegExp special characters "^", "$", "\", ".", "*", "+", "?", "(", ")", "[", "]",
130
+         * "{", "}", and "|" in string.
131
+         *
132
+         * @param string The string to escape.
133
+         * @return Returns the escaped string.
134
+         */
135
+        escapeRegExp(string?: string): string;
136
+    }
137
+    interface LoDashImplicitWrapper<TValue> {
138
+        /**
139
+         * @see _.escapeRegExp
140
+         */
141
+        escapeRegExp(): string;
142
+    }
143
+    interface LoDashExplicitWrapper<TValue> {
144
+        /**
145
+         * @see _.escapeRegExp
146
+         */
147
+        escapeRegExp(): StringChain;
148
+    }
149
+
150
+    interface LoDashStatic {
151
+        /**
152
+         * Converts string to kebab case.
153
+         *
154
+         * @param string The string to convert.
155
+         * @return Returns the kebab cased string.
156
+         */
157
+        kebabCase(string?: string): string;
158
+    }
159
+    interface LoDashImplicitWrapper<TValue> {
160
+        /**
161
+         * @see _.kebabCase
162
+         */
163
+        kebabCase(): string;
164
+    }
165
+    interface LoDashExplicitWrapper<TValue> {
166
+        /**
167
+         * @see _.kebabCase
168
+         */
169
+        kebabCase(): StringChain;
170
+    }
171
+
172
+    interface LoDashStatic {
173
+        /**
174
+         * Converts `string`, as space separated words, to lower case.
175
+         *
176
+         * @param string The string to convert.
177
+         * @return Returns the lower cased string.
178
+         */
179
+        lowerCase(string?: string): string;
180
+    }
181
+    interface LoDashImplicitWrapper<TValue> {
182
+        /**
183
+         * @see _.lowerCase
184
+         */
185
+        lowerCase(): string;
186
+    }
187
+    interface LoDashExplicitWrapper<TValue> {
188
+        /**
189
+         * @see _.lowerCase
190
+         */
191
+        lowerCase(): StringChain;
192
+    }
193
+
194
+    interface LoDashStatic {
195
+        /**
196
+         * Converts the first character of `string` to lower case.
197
+         *
198
+         * @param string The string to convert.
199
+         * @return Returns the converted string.
200
+         */
201
+        lowerFirst(string?: string): string;
202
+    }
203
+    interface LoDashImplicitWrapper<TValue> {
204
+        /**
205
+         * @see _.lowerFirst
206
+         */
207
+        lowerFirst(): string;
208
+    }
209
+    interface LoDashExplicitWrapper<TValue> {
210
+        /**
211
+         * @see _.lowerFirst
212
+         */
213
+        lowerFirst(): StringChain;
214
+    }
215
+
216
+    interface LoDashStatic {
217
+        /**
218
+         * Pads string on the left and right sides if it’s shorter than length. Padding characters are truncated if
219
+         * they can’t be evenly divided by length.
220
+         *
221
+         * @param string The string to pad.
222
+         * @param length The padding length.
223
+         * @param chars The string used as padding.
224
+         * @return Returns the padded string.
225
+         */
226
+        pad(string?: string, length?: number, chars?: string): string;
227
+    }
228
+    interface LoDashImplicitWrapper<TValue> {
229
+        /**
230
+         * @see _.pad
231
+         */
232
+        pad(length?: number, chars?: string): string;
233
+    }
234
+    interface LoDashExplicitWrapper<TValue> {
235
+        /**
236
+         * @see _.pad
237
+         */
238
+        pad(length?: number, chars?: string): StringChain;
239
+    }
240
+
241
+    interface LoDashStatic {
242
+        /**
243
+         * Pads string on the right side if it’s shorter than length. Padding characters are truncated if they exceed
244
+         * length.
245
+         *
246
+         * @param string The string to pad.
247
+         * @param length The padding length.
248
+         * @param chars The string used as padding.
249
+         * @return Returns the padded string.
250
+         */
251
+        padEnd(string?: string, length?: number, chars?: string): string;
252
+    }
253
+    interface LoDashImplicitWrapper<TValue> {
254
+        /**
255
+         * @see _.padEnd
256
+         */
257
+        padEnd(length?: number, chars?: string): string;
258
+    }
259
+    interface LoDashExplicitWrapper<TValue> {
260
+        /**
261
+         * @see _.padEnd
262
+         */
263
+        padEnd(length?: number, chars?: string): StringChain;
264
+    }
265
+
266
+    interface LoDashStatic {
267
+        /**
268
+         * Pads string on the left side if it’s shorter than length. Padding characters are truncated if they exceed
269
+         * length.
270
+         *
271
+         * @param string The string to pad.
272
+         * @param length The padding length.
273
+         * @param chars The string used as padding.
274
+         * @return Returns the padded string.
275
+         */
276
+        padStart(string?: string, length?: number, chars?: string): string;
277
+    }
278
+    interface LoDashImplicitWrapper<TValue> {
279
+        /**
280
+         * @see _.padStart
281
+         */
282
+        padStart(length?: number, chars?: string): string;
283
+    }
284
+    interface LoDashExplicitWrapper<TValue> {
285
+        /**
286
+         * @see _.padStart
287
+         */
288
+        padStart(length?: number, chars?: string): StringChain;
289
+    }
290
+
291
+    interface LoDashStatic {
292
+        /**
293
+         * Converts string to an integer of the specified radix. If radix is undefined or 0, a radix of 10 is used
294
+         * unless value is a hexadecimal, in which case a radix of 16 is used.
295
+         *
296
+         * Note: This method aligns with the ES5 implementation of parseInt.
297
+         *
298
+         * @param string The string to convert.
299
+         * @param radix The radix to interpret value by.
300
+         * @return Returns the converted integer.
301
+         */
302
+        parseInt(string: string, radix?: number): number;
303
+    }
304
+    interface LoDashImplicitWrapper<TValue> {
305
+        /**
306
+         * @see _.parseInt
307
+         */
308
+        parseInt(radix?: number): number;
309
+    }
310
+    interface LoDashExplicitWrapper<TValue> {
311
+        /**
312
+         * @see _.parseInt
313
+         */
314
+        parseInt(radix?: number): PrimitiveChain<number>;
315
+    }
316
+
317
+    interface LoDashStatic {
318
+        /**
319
+         * Repeats the given string n times.
320
+         *
321
+         * @param string The string to repeat.
322
+         * @param n The number of times to repeat the string.
323
+         * @return Returns the repeated string.
324
+         */
325
+        repeat(string?: string, n?: number): string;
326
+    }
327
+    interface LoDashImplicitWrapper<TValue> {
328
+        /**
329
+         * @see _.repeat
330
+         */
331
+        repeat(n?: number): string;
332
+    }
333
+    interface LoDashExplicitWrapper<TValue> {
334
+        /**
335
+         * @see _.repeat
336
+         */
337
+        repeat(n?: number): StringChain;
338
+    }
339
+    type ReplaceFunction = (match: string, ...args: any[]) => string;
340
+
341
+    interface LoDashStatic {
342
+        /**
343
+         * Replaces matches for pattern in string with replacement.
344
+         *
345
+         * Note: This method is based on String#replace.
346
+         *
347
+         * @return Returns the modified string.
348
+         */
349
+        replace(string: string, pattern: RegExp | string, replacement: ReplaceFunction | string): string;
350
+        /**
351
+         * @see _.replace
352
+         */
353
+        replace(pattern: RegExp | string, replacement: ReplaceFunction | string): string;
354
+    }
355
+    interface LoDashImplicitWrapper<TValue> {
356
+        /**
357
+         * @see _.replace
358
+         */
359
+        replace(pattern: RegExp | string, replacement: ReplaceFunction | string): string;
360
+        /**
361
+         * @see _.replace
362
+         */
363
+        replace(replacement: ReplaceFunction | string): string;
364
+    }
365
+    interface LoDashExplicitWrapper<TValue> {
366
+        /**
367
+         * @see _.replace
368
+         */
369
+        replace(pattern: RegExp | string, replacement: ReplaceFunction | string): StringChain;
370
+        /**
371
+         * @see _.replace
372
+         */
373
+        replace(replacement: ReplaceFunction | string): StringChain;
374
+    }
375
+
376
+    interface LoDashStatic {
377
+        /**
378
+         * Converts string to snake case.
379
+         *
380
+         * @param string The string to convert.
381
+         * @return Returns the snake cased string.
382
+         */
383
+        snakeCase(string?: string): string;
384
+    }
385
+    interface LoDashImplicitWrapper<TValue> {
386
+        /**
387
+         * @see _.snakeCase
388
+         */
389
+        snakeCase(): string;
390
+    }
391
+    interface LoDashExplicitWrapper<TValue> {
392
+        /**
393
+         * @see _.snakeCase
394
+         */
395
+        snakeCase(): StringChain;
396
+    }
397
+
398
+    interface LoDashStatic {
399
+        /**
400
+         * Splits string by separator.
401
+         *
402
+         * Note: This method is based on String#split.
403
+         *
404
+         * @param string The string to split.
405
+         * @param separator The separator pattern to split by.
406
+         * @param limit The length to truncate results to.
407
+         * @return Returns the new array of string segments.
408
+         */
409
+        split(string: string | null | undefined, separator?: RegExp | string, limit?: number): string[];
410
+        /**
411
+         * @see _.split
412
+         */
413
+        split(string: string | null | undefined, index: string | number, guard: object): string[];
414
+    }
415
+    interface LoDashImplicitWrapper<TValue> {
416
+        /**
417
+         * @see _.split
418
+         */
419
+        split(separator?: RegExp | string, limit?: number): Collection<string>;
420
+    }
421
+    interface LoDashExplicitWrapper<TValue> {
422
+        /**
423
+         * @see _.split
424
+         */
425
+        split(separator?: RegExp | string, limit?: number): CollectionChain<string>;
426
+    }
427
+
428
+    interface LoDashStatic {
429
+        /**
430
+         * Converts string to start case.
431
+         *
432
+         * @param string The string to convert.
433
+         * @return Returns the start cased string.
434
+         */
435
+        startCase(string?: string): string;
436
+    }
437
+    interface LoDashImplicitWrapper<TValue> {
438
+        /**
439
+         * @see _.startCase
440
+         */
441
+        startCase(): string;
442
+    }
443
+    interface LoDashExplicitWrapper<TValue> {
444
+        /**
445
+         * @see _.startCase
446
+         */
447
+        startCase(): StringChain;
448
+    }
449
+
450
+    interface LoDashStatic {
451
+        /**
452
+         * Checks if string starts with the given target string.
453
+         *
454
+         * @param string The string to search.
455
+         * @param target The string to search for.
456
+         * @param position The position to search from.
457
+         * @return Returns true if string starts with target, else false.
458
+         */
459
+        startsWith(string?: string, target?: string, position?: number): boolean;
460
+    }
461
+    interface LoDashImplicitWrapper<TValue> {
462
+        /**
463
+         * @see _.startsWith
464
+         */
465
+        startsWith(target?: string, position?: number): boolean;
466
+    }
467
+    interface LoDashExplicitWrapper<TValue> {
468
+        /**
469
+         * @see _.startsWith
470
+         */
471
+        startsWith(target?: string, position?: number): PrimitiveChain<boolean>;
472
+    }
473
+
474
+    interface TemplateOptions extends TemplateSettings {
475
+        /**
476
+         * @see _.sourceURL
477
+         */
478
+        sourceURL?: string | undefined;
479
+    }
480
+    interface TemplateExecutor {
481
+        (data?: object): string;
482
+        /**
483
+         * @see _.source
484
+         */
485
+        source: string;
486
+    }
487
+    interface LoDashStatic {
488
+        /**
489
+         * Creates a compiled template function that can interpolate data properties in "interpolate" delimiters,
490
+         * HTML-escape interpolated data properties in "escape" delimiters, and execute JavaScript in "evaluate"
491
+         * delimiters. Data properties may be accessed as free variables in the template. If a setting object is
492
+         * provided it takes precedence over _.templateSettings values.
493
+         *
494
+         * Note: In the development build _.template utilizes
495
+         * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier
496
+         * debugging.
497
+         *
498
+         * For more information on precompiling templates see
499
+         * [lodash's custom builds documentation](https://lodash.com/custom-builds).
500
+         *
501
+         * For more information on Chrome extension sandboxes see
502
+         * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).
503
+         *
504
+         * @param string The template string.
505
+         * @param options The options object.
506
+         * @param options.escape The HTML "escape" delimiter.
507
+         * @param options.evaluate The "evaluate" delimiter.
508
+         * @param options.imports An object to import into the template as free variables.
509
+         * @param options.interpolate The "interpolate" delimiter.
510
+         * @param options.sourceURL The sourceURL of the template's compiled source.
511
+         * @param options.variable The data object variable name.
512
+         * @return Returns the compiled template function.
513
+         */
514
+        template(string?: string, options?: TemplateOptions): TemplateExecutor;
515
+    }
516
+    interface LoDashImplicitWrapper<TValue> {
517
+        /**
518
+         * @see _.template
519
+         */
520
+        template(options?: TemplateOptions): TemplateExecutor;
521
+    }
522
+    interface LoDashExplicitWrapper<TValue> {
523
+        /**
524
+         * @see _.template
525
+         */
526
+        template(options?: TemplateOptions): FunctionChain<TemplateExecutor>;
527
+    }
528
+
529
+    interface LoDashStatic {
530
+        /**
531
+         * Converts `string`, as a whole, to lower case.
532
+         *
533
+         * @param string The string to convert.
534
+         * @return Returns the lower cased string.
535
+         */
536
+        toLower(string?: string): string;
537
+    }
538
+    interface LoDashImplicitWrapper<TValue> {
539
+        /**
540
+         * @see _.toLower
541
+         */
542
+        toLower(): string;
543
+    }
544
+    interface LoDashExplicitWrapper<TValue> {
545
+        /**
546
+         * @see _.toLower
547
+         */
548
+        toLower(): StringChain;
549
+    }
550
+
551
+    interface LoDashStatic {
552
+        /**
553
+         * Converts `string`, as a whole, to upper case.
554
+         *
555
+         * @param string The string to convert.
556
+         * @return Returns the upper cased string.
557
+         */
558
+        toUpper(string?: string): string;
559
+    }
560
+    interface LoDashImplicitWrapper<TValue> {
561
+        /**
562
+         * @see _.toUpper
563
+         */
564
+        toUpper(): string;
565
+    }
566
+    interface LoDashExplicitWrapper<TValue> {
567
+        /**
568
+         * @see _.toUpper
569
+         */
570
+        toUpper(): StringChain;
571
+    }
572
+
573
+    interface LoDashStatic {
574
+        /**
575
+         * Removes leading and trailing whitespace or specified characters from string.
576
+         *
577
+         * @param string The string to trim.
578
+         * @param chars The characters to trim.
579
+         * @return Returns the trimmed string.
580
+         */
581
+        trim(string?: string, chars?: string): string;
582
+        /**
583
+         * @see _.trim
584
+         */
585
+        trim(string: string, index: string | number, guard: object): string;
586
+    }
587
+    interface LoDashImplicitWrapper<TValue> {
588
+        /**
589
+         * @see _.trim
590
+         */
591
+        trim(chars?: string): string;
592
+    }
593
+    interface LoDashExplicitWrapper<TValue> {
594
+        /**
595
+         * @see _.trim
596
+         */
597
+        trim(chars?: string): StringChain;
598
+    }
599
+
600
+    interface LoDashStatic {
601
+        /**
602
+         * Removes trailing whitespace or specified characters from string.
603
+         *
604
+         * @param string The string to trim.
605
+         * @param chars The characters to trim.
606
+         * @return Returns the trimmed string.
607
+         */
608
+        trimEnd(string?: string, chars?: string): string;
609
+        /**
610
+         * @see _.trimEnd
611
+         */
612
+        trimEnd(string: string, index: string | number, guard: object): string;
613
+    }
614
+    interface LoDashImplicitWrapper<TValue> {
615
+        /**
616
+         * @see _.trimEnd
617
+         */
618
+        trimEnd(chars?: string): string;
619
+    }
620
+    interface LoDashExplicitWrapper<TValue> {
621
+        /**
622
+         * @see _.trimEnd
623
+         */
624
+        trimEnd(chars?: string): StringChain;
625
+    }
626
+
627
+    interface LoDashStatic {
628
+        /**
629
+         * Removes leading whitespace or specified characters from string.
630
+         *
631
+         * @param string The string to trim.
632
+         * @param chars The characters to trim.
633
+         * @return Returns the trimmed string.
634
+         */
635
+        trimStart(string?: string, chars?: string): string;
636
+        /**
637
+         * @see _.trimStart
638
+         */
639
+        trimStart(string: string, index: string | number, guard: object): string;
640
+    }
641
+    interface LoDashImplicitWrapper<TValue> {
642
+        /**
643
+         * @see _.trimStart
644
+         */
645
+        trimStart(chars?: string): string;
646
+    }
647
+    interface LoDashExplicitWrapper<TValue> {
648
+        /**
649
+         * @see _.trimStart
650
+         */
651
+        trimStart(chars?: string): StringChain;
652
+    }
653
+
654
+    interface TruncateOptions {
655
+        /**
656
+         * @see _.length
657
+         */
658
+        length?: number | undefined;
659
+        /**
660
+         * @see _.omission
661
+         */
662
+        omission?: string | undefined;
663
+        /**
664
+         * @see _.separator
665
+         */
666
+        separator?: string | RegExp | undefined;
667
+    }
668
+    interface LoDashStatic {
669
+        /**
670
+         * Truncates string if it’s longer than the given maximum string length. The last characters of the truncated
671
+         * string are replaced with the omission string which defaults to "…".
672
+         *
673
+         * @param string The string to truncate.
674
+         * @param options The options object or maximum string length.
675
+         * @return Returns the truncated string.
676
+         */
677
+        truncate(string?: string, options?: TruncateOptions): string;
678
+    }
679
+    interface LoDashImplicitWrapper<TValue> {
680
+        /**
681
+         * @see _.truncate
682
+         */
683
+        truncate(options?: TruncateOptions): string;
684
+    }
685
+    interface LoDashExplicitWrapper<TValue> {
686
+        /**
687
+         * @see _.truncate
688
+         */
689
+        truncate(options?: TruncateOptions): StringChain;
690
+    }
691
+
692
+    interface LoDashStatic {
693
+        /**
694
+         * The inverse of _.escape; this method converts the HTML entities &amp;, &lt;, &gt;, &quot;, &#39;, and &#96;
695
+         * in string to their corresponding characters.
696
+         *
697
+         * Note: No other HTML entities are unescaped. To unescape additional HTML entities use a third-party library
698
+         * like he.
699
+         *
700
+         * @param string The string to unescape.
701
+         * @return Returns the unescaped string.
702
+         */
703
+        unescape(string?: string): string;
704
+    }
705
+    interface LoDashImplicitWrapper<TValue> {
706
+        /**
707
+         * @see _.unescape
708
+         */
709
+        unescape(): string;
710
+    }
711
+    interface LoDashExplicitWrapper<TValue> {
712
+        /**
713
+         * @see _.unescape
714
+         */
715
+        unescape(): StringChain;
716
+    }
717
+
718
+    interface LoDashStatic {
719
+        /**
720
+         * Converts `string`, as space separated words, to upper case.
721
+         *
722
+         * @param string The string to convert.
723
+         * @return Returns the upper cased string.
724
+         */
725
+        upperCase(string?: string): string;
726
+    }
727
+    interface LoDashImplicitWrapper<TValue> {
728
+        /**
729
+         * @see _.upperCase
730
+         */
731
+        upperCase(): string;
732
+    }
733
+    interface LoDashExplicitWrapper<TValue> {
734
+        /**
735
+         * @see _.upperCase
736
+         */
737
+        upperCase(): StringChain;
738
+    }
739
+
740
+    interface LoDashStatic {
741
+        /**
742
+         * Converts the first character of `string` to upper case.
743
+         *
744
+         * @param string The string to convert.
745
+         * @return Returns the converted string.
746
+         */
747
+        upperFirst(string?: string): string;
748
+    }
749
+    interface LoDashImplicitWrapper<TValue> {
750
+        /**
751
+         * @see _.upperFirst
752
+         */
753
+        upperFirst(): string;
754
+    }
755
+    interface LoDashExplicitWrapper<TValue> {
756
+        /**
757
+         * @see _.upperFirst
758
+         */
759
+        upperFirst(): StringChain;
760
+    }
761
+
762
+    interface LoDashStatic {
763
+        /**
764
+         * Splits `string` into an array of its words.
765
+         *
766
+         * @param string The string to inspect.
767
+         * @param pattern The pattern to match words.
768
+         * @return Returns the words of `string`.
769
+         */
770
+        words(string?: string, pattern?: string | RegExp): string[];
771
+        /**
772
+         * @see _.words
773
+         */
774
+        words(string: string, index: string | number, guard: object): string[];
775
+    }
776
+    interface LoDashImplicitWrapper<TValue> {
777
+        /**
778
+         * @see _.words
779
+         */
780
+        words(pattern?: string | RegExp): Collection<string>;
781
+    }
782
+    interface LoDashExplicitWrapper<TValue> {
783
+        /**
784
+         * @see _.words
785
+         */
786
+        words(pattern?: string | RegExp): CollectionChain<string>;
787
+    }
788
+}

+ 1220
- 0
node_modules/@types/lodash/common/util.d.ts
File diff suppressed because it is too large
View File


+ 2
- 0
node_modules/@types/lodash/compact.d.ts View File

@@ -0,0 +1,2 @@
1
+import { compact } from "./index";
2
+export = compact;

+ 2
- 0
node_modules/@types/lodash/concat.d.ts View File

@@ -0,0 +1,2 @@
1
+import { concat } from "./index";
2
+export = concat;

+ 2
- 0
node_modules/@types/lodash/cond.d.ts View File

@@ -0,0 +1,2 @@
1
+import { cond } from "./index";
2
+export = cond;

+ 2
- 0
node_modules/@types/lodash/conformsTo.d.ts View File

@@ -0,0 +1,2 @@
1
+import { conformsTo } from "./index";
2
+export = conformsTo;

+ 2
- 0
node_modules/@types/lodash/constant.d.ts View File

@@ -0,0 +1,2 @@
1
+import { constant } from "./index";
2
+export = constant;

+ 2
- 0
node_modules/@types/lodash/countBy.d.ts View File

@@ -0,0 +1,2 @@
1
+import { countBy } from "./index";
2
+export = countBy;

+ 2
- 0
node_modules/@types/lodash/create.d.ts View File

@@ -0,0 +1,2 @@
1
+import { create } from "./index";
2
+export = create;

+ 2
- 0
node_modules/@types/lodash/curry.d.ts View File

@@ -0,0 +1,2 @@
1
+import { curry } from "./index";
2
+export = curry;

+ 2
- 0
node_modules/@types/lodash/curryRight.d.ts View File

@@ -0,0 +1,2 @@
1
+import { curryRight } from "./index";
2
+export = curryRight;

+ 2
- 0
node_modules/@types/lodash/debounce.d.ts View File

@@ -0,0 +1,2 @@
1
+import { debounce } from "./index";
2
+export = debounce;

+ 2
- 0
node_modules/@types/lodash/deburr.d.ts View File

@@ -0,0 +1,2 @@
1
+import { deburr } from "./index";
2
+export = deburr;

+ 2
- 0
node_modules/@types/lodash/defaultTo.d.ts View File

@@ -0,0 +1,2 @@
1
+import { defaultTo } from "./index";
2
+export = defaultTo;

+ 2
- 0
node_modules/@types/lodash/defaults.d.ts View File

@@ -0,0 +1,2 @@
1
+import { defaults } from "./index";
2
+export = defaults;

+ 2
- 0
node_modules/@types/lodash/defaultsDeep.d.ts View File

@@ -0,0 +1,2 @@
1
+import { defaultsDeep } from "./index";
2
+export = defaultsDeep;

+ 2
- 0
node_modules/@types/lodash/defer.d.ts View File

@@ -0,0 +1,2 @@
1
+import { defer } from "./index";
2
+export = defer;

+ 2
- 0
node_modules/@types/lodash/delay.d.ts View File

@@ -0,0 +1,2 @@
1
+import { delay } from "./index";
2
+export = delay;

+ 2
- 0
node_modules/@types/lodash/difference.d.ts View File

@@ -0,0 +1,2 @@
1
+import { difference } from "./index";
2
+export = difference;

+ 2
- 0
node_modules/@types/lodash/differenceBy.d.ts View File

@@ -0,0 +1,2 @@
1
+import { differenceBy } from "./index";
2
+export = differenceBy;

+ 2
- 0
node_modules/@types/lodash/differenceWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { differenceWith } from "./index";
2
+export = differenceWith;

+ 2
- 0
node_modules/@types/lodash/divide.d.ts View File

@@ -0,0 +1,2 @@
1
+import { divide } from "./index";
2
+export = divide;

+ 2
- 0
node_modules/@types/lodash/drop.d.ts View File

@@ -0,0 +1,2 @@
1
+import { drop } from "./index";
2
+export = drop;

+ 2
- 0
node_modules/@types/lodash/dropRight.d.ts View File

@@ -0,0 +1,2 @@
1
+import { dropRight } from "./index";
2
+export = dropRight;

+ 2
- 0
node_modules/@types/lodash/dropRightWhile.d.ts View File

@@ -0,0 +1,2 @@
1
+import { dropRightWhile } from "./index";
2
+export = dropRightWhile;

+ 2
- 0
node_modules/@types/lodash/dropWhile.d.ts View File

@@ -0,0 +1,2 @@
1
+import { dropWhile } from "./index";
2
+export = dropWhile;

+ 2
- 0
node_modules/@types/lodash/each.d.ts View File

@@ -0,0 +1,2 @@
1
+import { each } from "./index";
2
+export = each;

+ 2
- 0
node_modules/@types/lodash/eachRight.d.ts View File

@@ -0,0 +1,2 @@
1
+import { eachRight } from "./index";
2
+export = eachRight;

+ 2
- 0
node_modules/@types/lodash/endsWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { endsWith } from "./index";
2
+export = endsWith;

+ 2
- 0
node_modules/@types/lodash/entries.d.ts View File

@@ -0,0 +1,2 @@
1
+import { entries } from "./index";
2
+export = entries;

+ 2
- 0
node_modules/@types/lodash/entriesIn.d.ts View File

@@ -0,0 +1,2 @@
1
+import { entriesIn } from "./index";
2
+export = entriesIn;

+ 2
- 0
node_modules/@types/lodash/eq.d.ts View File

@@ -0,0 +1,2 @@
1
+import { eq } from "./index";
2
+export = eq;

+ 2
- 0
node_modules/@types/lodash/escape.d.ts View File

@@ -0,0 +1,2 @@
1
+import { escape } from "./index";
2
+export = escape;

+ 2
- 0
node_modules/@types/lodash/escapeRegExp.d.ts View File

@@ -0,0 +1,2 @@
1
+import { escapeRegExp } from "./index";
2
+export = escapeRegExp;

+ 2
- 0
node_modules/@types/lodash/every.d.ts View File

@@ -0,0 +1,2 @@
1
+import { every } from "./index";
2
+export = every;

+ 2
- 0
node_modules/@types/lodash/extend.d.ts View File

@@ -0,0 +1,2 @@
1
+import { extend } from "./index";
2
+export = extend;

+ 2
- 0
node_modules/@types/lodash/extendWith.d.ts View File

@@ -0,0 +1,2 @@
1
+import { extendWith } from "./index";
2
+export = extendWith;

+ 2
- 0
node_modules/@types/lodash/fill.d.ts View File

@@ -0,0 +1,2 @@
1
+import { fill } from "./index";
2
+export = fill;

+ 2
- 0
node_modules/@types/lodash/filter.d.ts View File

@@ -0,0 +1,2 @@
1
+import { filter } from "./index";
2
+export = filter;

+ 2
- 0
node_modules/@types/lodash/find.d.ts View File

@@ -0,0 +1,2 @@
1
+import { find } from "./index";
2
+export = find;

+ 2
- 0
node_modules/@types/lodash/findIndex.d.ts View File

@@ -0,0 +1,2 @@
1
+import { findIndex } from "./index";
2
+export = findIndex;

+ 2
- 0
node_modules/@types/lodash/findKey.d.ts View File

@@ -0,0 +1,2 @@
1
+import { findKey } from "./index";
2
+export = findKey;

+ 0
- 0
node_modules/@types/lodash/findLast.d.ts View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save