@rocketh/core 0.16.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/{environment/utils/artifacts.d.ts → artifacts.d.ts} +2 -2
  2. package/dist/artifacts.d.ts.map +1 -0
  3. package/dist/artifacts.js.map +1 -0
  4. package/dist/chains.d.ts +12 -0
  5. package/dist/chains.d.ts.map +1 -0
  6. package/dist/{environment/utils/chains.js → chains.js} +49 -19
  7. package/dist/chains.js.map +1 -0
  8. package/dist/{utils/extensions.d.ts → environment.d.ts} +3 -2
  9. package/dist/environment.d.ts.map +1 -0
  10. package/dist/{utils/extensions.js → environment.js} +16 -1
  11. package/dist/environment.js.map +1 -0
  12. package/dist/index.d.ts +1 -8
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -8
  15. package/dist/index.js.map +1 -1
  16. package/dist/{utils/json.d.ts → json.d.ts} +6 -0
  17. package/dist/json.d.ts.map +1 -0
  18. package/dist/json.js +53 -0
  19. package/dist/json.js.map +1 -0
  20. package/dist/logging.d.ts +5 -0
  21. package/dist/logging.d.ts.map +1 -0
  22. package/dist/logging.js.map +1 -0
  23. package/dist/providers/BaseProvider.d.ts.map +1 -0
  24. package/dist/providers/BaseProvider.js.map +1 -0
  25. package/dist/{environment/providers → providers}/TransactionHashTracker.d.ts +1 -1
  26. package/dist/providers/TransactionHashTracker.d.ts.map +1 -0
  27. package/dist/providers/TransactionHashTracker.js.map +1 -0
  28. package/dist/providers/index.d.ts +2 -0
  29. package/dist/providers/index.d.ts.map +1 -0
  30. package/dist/providers/index.js +2 -0
  31. package/dist/providers/index.js.map +1 -0
  32. package/dist/types.d.ts +24 -9
  33. package/dist/types.d.ts.map +1 -1
  34. package/package.json +31 -12
  35. package/dist/environment/index.d.ts +0 -17
  36. package/dist/environment/index.d.ts.map +0 -1
  37. package/dist/environment/index.js +0 -630
  38. package/dist/environment/index.js.map +0 -1
  39. package/dist/environment/providers/BaseProvider.d.ts.map +0 -1
  40. package/dist/environment/providers/BaseProvider.js.map +0 -1
  41. package/dist/environment/providers/TransactionHashTracker.d.ts.map +0 -1
  42. package/dist/environment/providers/TransactionHashTracker.js.map +0 -1
  43. package/dist/environment/utils/artifacts.d.ts.map +0 -1
  44. package/dist/environment/utils/artifacts.js.map +0 -1
  45. package/dist/environment/utils/chains.d.ts +0 -18
  46. package/dist/environment/utils/chains.d.ts.map +0 -1
  47. package/dist/environment/utils/chains.js.map +0 -1
  48. package/dist/executor/index.d.ts +0 -55
  49. package/dist/executor/index.d.ts.map +0 -1
  50. package/dist/executor/index.js +0 -366
  51. package/dist/executor/index.js.map +0 -1
  52. package/dist/internal/logging.d.ts +0 -11
  53. package/dist/internal/logging.d.ts.map +0 -1
  54. package/dist/internal/logging.js.map +0 -1
  55. package/dist/internal/types.d.ts +0 -5
  56. package/dist/internal/types.d.ts.map +0 -1
  57. package/dist/internal/types.js +0 -2
  58. package/dist/internal/types.js.map +0 -1
  59. package/dist/utils/eth.d.ts +0 -24
  60. package/dist/utils/eth.d.ts.map +0 -1
  61. package/dist/utils/eth.js +0 -62
  62. package/dist/utils/eth.js.map +0 -1
  63. package/dist/utils/extensions.d.ts.map +0 -1
  64. package/dist/utils/extensions.js.map +0 -1
  65. package/dist/utils/extensions.test.d.ts +0 -18
  66. package/dist/utils/extensions.test.d.ts.map +0 -1
  67. package/dist/utils/extensions.test.js +0 -35
  68. package/dist/utils/extensions.test.js.map +0 -1
  69. package/dist/utils/json.d.ts.map +0 -1
  70. package/dist/utils/json.js +0 -28
  71. package/dist/utils/json.js.map +0 -1
  72. /package/dist/{environment/utils/artifacts.js → artifacts.js} +0 -0
  73. /package/dist/{internal/logging.js → logging.js} +0 -0
  74. /package/dist/{environment/providers → providers}/BaseProvider.d.ts +0 -0
  75. /package/dist/{environment/providers → providers}/BaseProvider.js +0 -0
  76. /package/dist/{environment/providers → providers}/TransactionHashTracker.js +0 -0
@@ -1,24 +0,0 @@
1
- import { EIP1193BlockTag, EIP1193ProviderWithoutEvents } from 'eip-1193';
2
- export type EstimateGasPriceOptions = {
3
- blockCount: number;
4
- newestBlock: EIP1193BlockTag;
5
- rewardPercentiles: number[];
6
- };
7
- export type RoughEstimateGasPriceOptions = {
8
- blockCount: number;
9
- newestBlock: EIP1193BlockTag;
10
- rewardPercentiles: [number, number, number];
11
- };
12
- export type GasPrice = {
13
- maxFeePerGas: bigint;
14
- maxPriorityFeePerGas: bigint;
15
- };
16
- export type EstimateGasPriceResult = GasPrice[];
17
- export type RoughEstimateGasPriceResult = {
18
- slow: GasPrice;
19
- average: GasPrice;
20
- fast: GasPrice;
21
- };
22
- export declare function getGasPriceEstimate(provider: EIP1193ProviderWithoutEvents, options?: Partial<EstimateGasPriceOptions>): Promise<EstimateGasPriceResult>;
23
- export declare function getRoughGasPriceEstimate(provider: EIP1193ProviderWithoutEvents, options?: Partial<RoughEstimateGasPriceOptions>): Promise<RoughEstimateGasPriceResult>;
24
- //# sourceMappingURL=eth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../src/utils/eth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,4BAA4B,EAAkB,MAAM,UAAU,CAAC;AAOxF,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,eAAe,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,eAAe,CAAC;IAC7B,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAC,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,EAAE,CAAC;AAChD,MAAM,MAAM,2BAA2B,GAAG;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,CAAC;AAE9F,wBAAsB,mBAAmB,CACxC,QAAQ,EAAE,4BAA4B,EACtC,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,OAAO,CAAC,sBAAsB,CAAC,CA8CjC;AAED,wBAAsB,wBAAwB,CAC7C,QAAQ,EAAE,4BAA4B,EACtC,OAAO,CAAC,EAAE,OAAO,CAAC,4BAA4B,CAAC,GAC7C,OAAO,CAAC,2BAA2B,CAAC,CAkBtC"}
package/dist/utils/eth.js DELETED
@@ -1,62 +0,0 @@
1
- function avg(arr) {
2
- const sum = arr.reduce((a, v) => a + v);
3
- return sum / BigInt(arr.length);
4
- }
5
- export async function getGasPriceEstimate(provider, options) {
6
- const defaultOptions = {
7
- blockCount: 20,
8
- newestBlock: 'pending',
9
- rewardPercentiles: [10, 50, 80],
10
- };
11
- const optionsResolved = options ? { ...defaultOptions, ...options } : defaultOptions;
12
- const historicalBlocks = `0x${optionsResolved.blockCount.toString(16)}`;
13
- const rawFeeHistory = await provider.request({
14
- method: 'eth_feeHistory',
15
- params: [historicalBlocks, optionsResolved.newestBlock, optionsResolved.rewardPercentiles],
16
- });
17
- let blockNum = Number(rawFeeHistory.oldestBlock);
18
- const lastBlock = blockNum + rawFeeHistory.reward.length;
19
- let index = 0;
20
- const blocksHistory = [];
21
- while (blockNum < lastBlock) {
22
- blocksHistory.push({
23
- number: blockNum,
24
- baseFeePerGas: BigInt(rawFeeHistory.baseFeePerGas[index]),
25
- gasUsedRatio: Number(rawFeeHistory.gasUsedRatio[index]),
26
- priorityFeePerGas: rawFeeHistory.reward[index].map((x) => BigInt(x)),
27
- });
28
- blockNum += 1;
29
- index += 1;
30
- }
31
- const percentilePriorityFeeAverages = [];
32
- for (let i = 0; i < optionsResolved.rewardPercentiles.length; i++) {
33
- percentilePriorityFeeAverages.push(avg(blocksHistory.map((b) => b.priorityFeePerGas[i])));
34
- }
35
- const baseFeePerGas = BigInt(rawFeeHistory.baseFeePerGas[rawFeeHistory.baseFeePerGas.length - 1]);
36
- const result = [];
37
- for (let i = 0; i < optionsResolved.rewardPercentiles.length; i++) {
38
- result.push({
39
- maxFeePerGas: percentilePriorityFeeAverages[i] + baseFeePerGas,
40
- maxPriorityFeePerGas: percentilePriorityFeeAverages[i],
41
- });
42
- }
43
- return result;
44
- }
45
- export async function getRoughGasPriceEstimate(provider, options) {
46
- const defaultOptions = {
47
- blockCount: 20,
48
- newestBlock: 'pending',
49
- rewardPercentiles: [10, 50, 80],
50
- };
51
- const optionsResolved = options ? { ...defaultOptions, ...options } : defaultOptions;
52
- if (optionsResolved.rewardPercentiles.length !== 3) {
53
- throw new Error(`rough gas estimate require 3 percentile, it defaults to [10,50,80]`);
54
- }
55
- const result = await getGasPriceEstimate(provider, optionsResolved);
56
- return {
57
- slow: result[0],
58
- average: result[1],
59
- fast: result[2],
60
- };
61
- }
62
- //# sourceMappingURL=eth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../src/utils/eth.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../src/utils/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC9B,gBAAgB,EAChB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EAC1E,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,CAAC,SAAS,MAAM,CACf,MAAM,EACJ,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GACxF,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CACtE,GAAG,MAAM,CACT,MAAM,EACJ,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GACjF,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,GAAG,CAAC,CAC/D,EACA,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAoBxG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/utils/extensions.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,eAAe,CAc7B,GAAyD,EAAE,mBAAsB;IAClF,MAAM,MAAM,GAAG,EAAyB,CAAC;IAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/D,0DAA0D;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAExB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YACjC,qFAAqF;YACpF,MAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACP,kEAAkE;YAClE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;gBAClC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpB,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { Environment } from '../types.js';
2
- declare const exampleExtensions: {
3
- deploy: (env: Environment) => (contractName: string, args: any[]) => Promise<void>;
4
- verify: (env: Environment) => (address: string) => Promise<boolean>;
5
- getBalance: (env: Environment) => (address: string) => Promise<bigint>;
6
- syncFunction: (env: Environment) => (value: number) => number;
7
- provider: (env: Environment) => import("../environment/providers/TransactionHashTracker.js").TransactionHashTracker;
8
- };
9
- declare const enhancedEnv: import("../types.js").CurriedFunctions<{
10
- deploy: (env: Environment) => (contractName: string, args: any[]) => Promise<void>;
11
- verify: (env: Environment) => (address: string) => Promise<boolean>;
12
- getBalance: (env: Environment) => (address: string) => Promise<bigint>;
13
- syncFunction: (env: Environment) => (value: number) => number;
14
- provider: (env: Environment) => import("../environment/providers/TransactionHashTracker.js").TransactionHashTracker;
15
- }>;
16
- declare function testTypes(): Promise<void>;
17
- export { testTypes, enhancedEnv, exampleExtensions };
18
- //# sourceMappingURL=extensions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.test.d.ts","sourceRoot":"","sources":["../../src/utils/extensions.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAO7C,QAAA,MAAM,iBAAiB;kBAEf,WAAW,MACV,cAAc,MAAM,EAAE,MAAM,GAAG,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;kBAKlD,WAAW,MACV,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;sBAKnC,WAAW,MACV,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;wBAKlC,WAAW,MAChB,OAAO,MAAM,KAAG,MAAM;oBAIR,WAAW;CAC3B,CAAC;AAGF,QAAA,MAAM,WAAW;kBA3BT,WAAW,MACV,cAAc,MAAM,EAAE,MAAM,GAAG,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;kBAKlD,WAAW,MACV,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;sBAKnC,WAAW,MACV,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;wBAKlC,WAAW,MAChB,OAAO,MAAM,KAAG,MAAM;oBAIR,WAAW;EAImC,CAAC;AAGhE,iBAAe,SAAS,kBAUvB;AAGD,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAC,CAAC"}
@@ -1,35 +0,0 @@
1
- import { withEnvironment } from './extensions.js';
2
- // Mock environment for testing
3
- const mockEnv = {};
4
- // Example functions that take environment as first parameter
5
- const exampleExtensions = {
6
- deploy: (env) => async (contractName, args) => {
7
- return Promise.resolve();
8
- },
9
- verify: (env) => async (address) => {
10
- return Promise.resolve(true);
11
- },
12
- getBalance: (env) => async (address) => {
13
- return Promise.resolve(BigInt(0));
14
- },
15
- syncFunction: (env) => (value) => {
16
- return value * 2;
17
- },
18
- provider: (env) => env.network.provider,
19
- };
20
- // Test the currying function
21
- const enhancedEnv = withEnvironment(mockEnv, exampleExtensions);
22
- // Type tests - these should compile without errors
23
- async function testTypes() {
24
- // These calls should work without passing env
25
- await enhancedEnv.deploy('MyContract', []);
26
- const isVerified = await enhancedEnv.verify('0x123...');
27
- const balance = await enhancedEnv.getBalance('0x456...');
28
- const doubled = enhancedEnv.syncFunction(42);
29
- const provider = enhancedEnv.provider;
30
- console.log('Type tests passed!');
31
- console.log({ isVerified, balance, doubled, provider });
32
- }
33
- // Export for potential use in actual tests
34
- export { testTypes, enhancedEnv, exampleExtensions };
35
- //# sourceMappingURL=extensions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extensions.test.js","sourceRoot":"","sources":["../../src/utils/extensions.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,+BAA+B;AAC/B,MAAM,OAAO,GAAG,EAAiB,CAAC;AAElC,6DAA6D;AAC7D,MAAM,iBAAiB,GAAG;IACzB,MAAM,EACL,CAAC,GAAgB,EAAE,EAAE,CACrB,KAAK,EAAE,YAAoB,EAAE,IAAW,EAAiB,EAAE;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEF,MAAM,EACL,CAAC,GAAgB,EAAE,EAAE,CACrB,KAAK,EAAE,OAAe,EAAoB,EAAE;QAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEF,UAAU,EACT,CAAC,GAAgB,EAAE,EAAE,CACrB,KAAK,EAAE,OAAe,EAAmB,EAAE;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAEF,YAAY,EACX,CAAC,GAAgB,EAAE,EAAE,CACrB,CAAC,KAAa,EAAU,EAAE;QACzB,OAAO,KAAK,GAAG,CAAC,CAAC;IAClB,CAAC;IAEF,QAAQ,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;CACpD,CAAC;AAEF,6BAA6B;AAC7B,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAEhE,mDAAmD;AACnD,KAAK,UAAU,SAAS;IACvB,8CAA8C;IAC9C,MAAM,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,EAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;AACvD,CAAC;AAED,2CAA2C;AAC3C,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AACA,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAK5D;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAK7D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,CAS3D;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,UAE/E;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAExD"}
@@ -1,28 +0,0 @@
1
- // TODO share with db-utils
2
- export function postfixBigIntReplacer(k, v) {
3
- if (typeof v === 'bigint') {
4
- return v.toString() + 'n';
5
- }
6
- return v;
7
- }
8
- export function bigIntToStringReplacer(k, v) {
9
- if (typeof v === 'bigint') {
10
- return v.toString();
11
- }
12
- return v;
13
- }
14
- export function postfixBigIntReviver(k, v) {
15
- if (typeof v === 'string' &&
16
- (v.startsWith('-') ? !isNaN(parseInt(v.charAt(1))) : !isNaN(parseInt(v.charAt(0)))) &&
17
- v.charAt(v.length - 1) === 'n') {
18
- return BigInt(v.slice(0, -1));
19
- }
20
- return v;
21
- }
22
- export function JSONToString(json, space) {
23
- return JSON.stringify(json, bigIntToStringReplacer, space);
24
- }
25
- export function stringToJSON(str) {
26
- return JSON.parse(str);
27
- }
28
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,UAAU,qBAAqB,CAAC,CAAS,EAAE,CAAM;IACtD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,CAAS,EAAE,CAAM;IACvD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAS,EAAE,CAAM;IACrD,IACC,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAC7B,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,UAAU,YAAY,CAAc,IAAa,EAAE,KAAuB;IAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,YAAY,CAAc,GAAW;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}
File without changes