envio 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (220) hide show
  1. package/README.md +3 -3
  2. package/bin.mjs +2 -48
  3. package/evm.schema.json +67 -0
  4. package/fuel.schema.json +67 -0
  5. package/index.d.ts +822 -38
  6. package/index.js +5 -3
  7. package/package.json +10 -8
  8. package/rescript.json +5 -9
  9. package/src/Address.res +4 -5
  10. package/src/Address.res.mjs +9 -12
  11. package/src/Api.res +15 -0
  12. package/src/Api.res.mjs +20 -0
  13. package/src/Batch.res +32 -34
  14. package/src/Batch.res.mjs +172 -187
  15. package/src/Bin.res +89 -0
  16. package/src/Bin.res.mjs +97 -0
  17. package/src/ChainFetcher.res +33 -57
  18. package/src/ChainFetcher.res.mjs +197 -227
  19. package/src/ChainManager.res +6 -14
  20. package/src/ChainManager.res.mjs +74 -85
  21. package/src/ChainMap.res +14 -16
  22. package/src/ChainMap.res.mjs +38 -38
  23. package/src/Config.res +193 -135
  24. package/src/Config.res.mjs +566 -592
  25. package/src/Core.res +182 -0
  26. package/src/Core.res.mjs +207 -0
  27. package/src/Ecosystem.res +25 -4
  28. package/src/Ecosystem.res.mjs +12 -13
  29. package/src/Env.res +20 -13
  30. package/src/Env.res.mjs +124 -113
  31. package/src/EnvSafe.res +269 -0
  32. package/src/EnvSafe.res.mjs +296 -0
  33. package/src/EnvSafe.resi +18 -0
  34. package/src/Envio.res +37 -26
  35. package/src/Envio.res.mjs +59 -60
  36. package/src/ErrorHandling.res +2 -2
  37. package/src/ErrorHandling.res.mjs +15 -15
  38. package/src/EventConfigBuilder.res +219 -81
  39. package/src/EventConfigBuilder.res.mjs +259 -202
  40. package/src/EventProcessing.res +27 -38
  41. package/src/EventProcessing.res.mjs +165 -183
  42. package/src/EventUtils.res +11 -11
  43. package/src/EventUtils.res.mjs +21 -22
  44. package/src/EvmTypes.res +0 -1
  45. package/src/EvmTypes.res.mjs +5 -5
  46. package/src/FetchState.res +360 -256
  47. package/src/FetchState.res.mjs +958 -914
  48. package/src/GlobalState.res +365 -351
  49. package/src/GlobalState.res.mjs +958 -992
  50. package/src/GlobalStateManager.res +1 -2
  51. package/src/GlobalStateManager.res.mjs +36 -44
  52. package/src/HandlerLoader.res +107 -23
  53. package/src/HandlerLoader.res.mjs +128 -38
  54. package/src/HandlerRegister.res +127 -103
  55. package/src/HandlerRegister.res.mjs +164 -164
  56. package/src/HandlerRegister.resi +12 -4
  57. package/src/Hasura.res +35 -22
  58. package/src/Hasura.res.mjs +158 -167
  59. package/src/InMemoryStore.res +20 -27
  60. package/src/InMemoryStore.res.mjs +64 -80
  61. package/src/InMemoryTable.res +34 -39
  62. package/src/InMemoryTable.res.mjs +165 -170
  63. package/src/Internal.res +52 -33
  64. package/src/Internal.res.mjs +84 -81
  65. package/src/LazyLoader.res.mjs +55 -61
  66. package/src/LoadLayer.res +77 -78
  67. package/src/LoadLayer.res.mjs +160 -189
  68. package/src/LoadManager.res +16 -21
  69. package/src/LoadManager.res.mjs +79 -84
  70. package/src/LogSelection.res +236 -68
  71. package/src/LogSelection.res.mjs +211 -141
  72. package/src/Logging.res +13 -9
  73. package/src/Logging.res.mjs +130 -143
  74. package/src/Main.res +430 -51
  75. package/src/Main.res.mjs +530 -271
  76. package/src/Persistence.res +80 -84
  77. package/src/Persistence.res.mjs +131 -132
  78. package/src/PgStorage.res +294 -167
  79. package/src/PgStorage.res.mjs +799 -817
  80. package/src/Prometheus.res +50 -58
  81. package/src/Prometheus.res.mjs +345 -373
  82. package/src/ReorgDetection.res +22 -24
  83. package/src/ReorgDetection.res.mjs +100 -106
  84. package/src/SafeCheckpointTracking.res +7 -7
  85. package/src/SafeCheckpointTracking.res.mjs +40 -43
  86. package/src/SimulateItems.res +41 -49
  87. package/src/SimulateItems.res.mjs +257 -272
  88. package/src/Sink.res +2 -2
  89. package/src/Sink.res.mjs +22 -26
  90. package/src/TableIndices.res +1 -2
  91. package/src/TableIndices.res.mjs +42 -48
  92. package/src/TestIndexer.res +196 -189
  93. package/src/TestIndexer.res.mjs +536 -536
  94. package/src/TestIndexerProxyStorage.res +16 -16
  95. package/src/TestIndexerProxyStorage.res.mjs +99 -122
  96. package/src/TestIndexerWorker.res +4 -0
  97. package/src/TestIndexerWorker.res.mjs +7 -0
  98. package/src/Throttler.res +3 -3
  99. package/src/Throttler.res.mjs +23 -24
  100. package/src/Time.res +1 -1
  101. package/src/Time.res.mjs +18 -21
  102. package/src/TopicFilter.res +3 -3
  103. package/src/TopicFilter.res.mjs +29 -30
  104. package/src/UserContext.res +93 -54
  105. package/src/UserContext.res.mjs +197 -182
  106. package/src/Utils.res +141 -86
  107. package/src/Utils.res.mjs +334 -295
  108. package/src/bindings/BigDecimal.res +0 -2
  109. package/src/bindings/BigDecimal.res.mjs +19 -23
  110. package/src/bindings/ClickHouse.res +28 -27
  111. package/src/bindings/ClickHouse.res.mjs +243 -240
  112. package/src/bindings/DateFns.res +11 -11
  113. package/src/bindings/DateFns.res.mjs +7 -7
  114. package/src/bindings/EventSource.res.mjs +2 -2
  115. package/src/bindings/Express.res +2 -5
  116. package/src/bindings/Hrtime.res +2 -2
  117. package/src/bindings/Hrtime.res.mjs +30 -32
  118. package/src/bindings/Lodash.res.mjs +1 -1
  119. package/src/bindings/NodeJs.res +14 -9
  120. package/src/bindings/NodeJs.res.mjs +20 -20
  121. package/src/bindings/Pino.res +8 -10
  122. package/src/bindings/Pino.res.mjs +40 -43
  123. package/src/bindings/Postgres.res +7 -5
  124. package/src/bindings/Postgres.res.mjs +9 -9
  125. package/src/bindings/PromClient.res +17 -2
  126. package/src/bindings/PromClient.res.mjs +30 -7
  127. package/src/bindings/SDSL.res.mjs +2 -2
  128. package/src/bindings/Viem.res +4 -4
  129. package/src/bindings/Viem.res.mjs +20 -22
  130. package/src/bindings/Vitest.res +1 -1
  131. package/src/bindings/Vitest.res.mjs +2 -2
  132. package/src/bindings/WebSocket.res +1 -1
  133. package/src/db/EntityHistory.res +9 -3
  134. package/src/db/EntityHistory.res.mjs +84 -59
  135. package/src/db/InternalTable.res +62 -60
  136. package/src/db/InternalTable.res.mjs +271 -203
  137. package/src/db/Schema.res +1 -2
  138. package/src/db/Schema.res.mjs +28 -32
  139. package/src/db/Table.res +28 -27
  140. package/src/db/Table.res.mjs +276 -292
  141. package/src/sources/EventRouter.res +21 -16
  142. package/src/sources/EventRouter.res.mjs +55 -57
  143. package/src/sources/Evm.res +17 -1
  144. package/src/sources/Evm.res.mjs +16 -8
  145. package/src/sources/EvmChain.res +15 -17
  146. package/src/sources/EvmChain.res.mjs +40 -42
  147. package/src/sources/Fuel.res +14 -1
  148. package/src/sources/Fuel.res.mjs +16 -8
  149. package/src/sources/FuelSDK.res +1 -1
  150. package/src/sources/FuelSDK.res.mjs +6 -8
  151. package/src/sources/HyperFuel.res +8 -10
  152. package/src/sources/HyperFuel.res.mjs +113 -123
  153. package/src/sources/HyperFuelClient.res.mjs +6 -7
  154. package/src/sources/HyperFuelSource.res +19 -20
  155. package/src/sources/HyperFuelSource.res.mjs +339 -356
  156. package/src/sources/HyperSync.res +11 -13
  157. package/src/sources/HyperSync.res.mjs +206 -220
  158. package/src/sources/HyperSyncClient.res +5 -7
  159. package/src/sources/HyperSyncClient.res.mjs +70 -75
  160. package/src/sources/HyperSyncHeightStream.res +8 -9
  161. package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
  162. package/src/sources/HyperSyncJsonApi.res +18 -15
  163. package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
  164. package/src/sources/HyperSyncSource.res +17 -21
  165. package/src/sources/HyperSyncSource.res.mjs +268 -290
  166. package/src/sources/Rpc.res +5 -5
  167. package/src/sources/Rpc.res.mjs +168 -192
  168. package/src/sources/RpcSource.res +166 -167
  169. package/src/sources/RpcSource.res.mjs +972 -1046
  170. package/src/sources/RpcWebSocketHeightStream.res +10 -11
  171. package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
  172. package/src/sources/SimulateSource.res +1 -1
  173. package/src/sources/SimulateSource.res.mjs +35 -38
  174. package/src/sources/Source.res +1 -1
  175. package/src/sources/Source.res.mjs +3 -3
  176. package/src/sources/SourceManager.res +39 -20
  177. package/src/sources/SourceManager.res.mjs +340 -371
  178. package/src/sources/SourceManager.resi +2 -1
  179. package/src/sources/Svm.res +12 -5
  180. package/src/sources/Svm.res.mjs +44 -41
  181. package/src/tui/Tui.res +23 -12
  182. package/src/tui/Tui.res.mjs +292 -290
  183. package/src/tui/bindings/Ink.res +2 -4
  184. package/src/tui/bindings/Ink.res.mjs +35 -41
  185. package/src/tui/components/BufferedProgressBar.res +7 -7
  186. package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
  187. package/src/tui/components/CustomHooks.res +1 -2
  188. package/src/tui/components/CustomHooks.res.mjs +102 -122
  189. package/src/tui/components/Messages.res +1 -2
  190. package/src/tui/components/Messages.res.mjs +38 -42
  191. package/src/tui/components/SyncETA.res +10 -11
  192. package/src/tui/components/SyncETA.res.mjs +178 -196
  193. package/src/tui/components/TuiData.res +1 -1
  194. package/src/tui/components/TuiData.res.mjs +7 -6
  195. package/src/vendored/Rest.res +52 -66
  196. package/src/vendored/Rest.res.mjs +324 -364
  197. package/svm.schema.json +67 -0
  198. package/src/Address.gen.ts +0 -8
  199. package/src/Config.gen.ts +0 -19
  200. package/src/Envio.gen.ts +0 -55
  201. package/src/EvmTypes.gen.ts +0 -6
  202. package/src/InMemoryStore.gen.ts +0 -6
  203. package/src/Internal.gen.ts +0 -64
  204. package/src/PgStorage.gen.ts +0 -10
  205. package/src/PgStorage.res.d.mts +0 -5
  206. package/src/Types.ts +0 -56
  207. package/src/bindings/BigDecimal.gen.ts +0 -14
  208. package/src/bindings/BigDecimal.res.d.mts +0 -5
  209. package/src/bindings/BigInt.gen.ts +0 -10
  210. package/src/bindings/BigInt.res +0 -70
  211. package/src/bindings/BigInt.res.d.mts +0 -5
  212. package/src/bindings/BigInt.res.mjs +0 -154
  213. package/src/bindings/Ethers.res.d.mts +0 -5
  214. package/src/bindings/Pino.gen.ts +0 -17
  215. package/src/bindings/Postgres.gen.ts +0 -8
  216. package/src/bindings/Postgres.res.d.mts +0 -5
  217. package/src/bindings/Promise.res +0 -67
  218. package/src/bindings/Promise.res.mjs +0 -26
  219. package/src/db/InternalTable.gen.ts +0 -36
  220. package/src/sources/HyperSyncClient.gen.ts +0 -19
@@ -3,10 +3,8 @@
3
3
  import * as Env from "./Env.res.mjs";
4
4
  import * as Batch from "./Batch.res.mjs";
5
5
  import * as Utils from "./Utils.res.mjs";
6
- import * as $$BigInt from "./bindings/BigInt.res.mjs";
7
6
  import * as Config from "./Config.res.mjs";
8
7
  import * as ChainMap from "./ChainMap.res.mjs";
9
- import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
10
8
  import * as Prometheus from "./Prometheus.res.mjs";
11
9
  import * as ChainFetcher from "./ChainFetcher.res.mjs";
12
10
  import * as SafeCheckpointTracking from "./SafeCheckpointTracking.res.mjs";
@@ -25,65 +23,63 @@ function calculateTargetBufferSize(activeChainsCount) {
25
23
  }
26
24
  switch (activeChainsCount) {
27
25
  case 1 :
28
- return 60000;
26
+ return 60000;
29
27
  case 2 :
30
- return 30000;
28
+ return 30000;
31
29
  case 3 :
32
- return 20000;
30
+ return 20000;
33
31
  case 4 :
34
- return 15000;
32
+ return 15000;
35
33
  case 5 :
36
- return 10000;
34
+ return 10000;
37
35
  default:
38
36
  return 5000;
39
37
  }
40
38
  }
41
39
 
42
- async function makeFromDbState(initialState, config, registrations) {
43
- var isInReorgThreshold = initialState.cleanRun ? false : Belt_Array.some(initialState.chains, (function (chain) {
44
- return isProgressInReorgThreshold(chain.progressBlockNumber, chain.sourceBlockNumber, chain.maxReorgDepth);
45
- }));
46
- var targetBufferSize = calculateTargetBufferSize(initialState.chains.length);
40
+ function makeFromDbState(initialState, config, registrations) {
41
+ let isInReorgThreshold = initialState.cleanRun ? false : initialState.chains.some(chain => isProgressInReorgThreshold(chain.progressBlockNumber, chain.sourceBlockNumber, chain.maxReorgDepth));
42
+ let targetBufferSize = calculateTargetBufferSize(initialState.chains.length);
47
43
  Prometheus.ProcessingMaxBatchSize.set(config.batchSize);
48
44
  Prometheus.IndexingTargetBufferSize.set(targetBufferSize);
49
45
  Prometheus.ReorgThreshold.set(isInReorgThreshold);
50
- Utils.Dict.forEach(initialState.cache, (function (param) {
51
- var count = param.count;
52
- Prometheus.EffectCacheCount.set(count, param.effectName);
53
- }));
54
- var chainFetchersArr = await Promise.all(Belt_Array.map(initialState.chains, (async function (resumedChainState) {
55
- var chain = Config.getChain(config, resumedChainState.id);
56
- var chainConfig = ChainMap.get(config.chainMap, chain);
57
- return [
58
- chain,
59
- await ChainFetcher.makeFromDbState(chainConfig, resumedChainState, initialState.reorgCheckpoints, isInReorgThreshold, config, registrations, targetBufferSize)
60
- ];
61
- })));
62
- var chainFetchers = ChainMap.fromArrayUnsafe(chainFetchersArr);
63
- var allChainsReady = {
46
+ Utils.Dict.forEach(initialState.cache, param => {
47
+ let count = param.count;
48
+ Prometheus.EffectCacheCount.set(count, param.effectName);
49
+ });
50
+ let chainFetchersArr = initialState.chains.map(resumedChainState => {
51
+ let chain = Config.getChain(config, resumedChainState.id);
52
+ let chainConfig = ChainMap.get(config.chainMap, chain);
53
+ return [
54
+ chain,
55
+ ChainFetcher.makeFromDbState(chainConfig, resumedChainState, initialState.reorgCheckpoints, isInReorgThreshold, config, registrations, targetBufferSize)
56
+ ];
57
+ });
58
+ let chainFetchers = ChainMap.fromArrayUnsafe(chainFetchersArr);
59
+ let allChainsReady = {
64
60
  contents: chainFetchersArr.length !== 0
65
61
  };
66
- Belt_Array.forEach(chainFetchersArr, (function (param) {
67
- var cf = param[1];
68
- var chain = param[0];
69
- Prometheus.ProgressBlockNumber.set(cf.committedProgressBlockNumber, chain);
70
- Prometheus.ProgressReady.init(chain);
71
- if (ChainFetcher.isReady(cf)) {
72
- return Prometheus.ProgressReady.set(chain);
73
- } else {
74
- allChainsReady.contents = false;
75
- return ;
76
- }
77
- }));
62
+ chainFetchersArr.forEach(param => {
63
+ let cf = param[1];
64
+ let chain = param[0];
65
+ Prometheus.ProgressBlockNumber.set(cf.committedProgressBlockNumber, chain);
66
+ Prometheus.ProgressReady.init(chain);
67
+ if (ChainFetcher.isReady(cf)) {
68
+ return Prometheus.ProgressReady.set(chain);
69
+ } else {
70
+ allChainsReady.contents = false;
71
+ return;
72
+ }
73
+ });
78
74
  if (allChainsReady.contents) {
79
75
  Prometheus.ProgressReady.setAllReady();
80
76
  }
81
77
  return {
82
- committedCheckpointId: initialState.checkpointId,
83
- chainFetchers: chainFetchers,
84
- multichain: config.multichain,
85
- isInReorgThreshold: isInReorgThreshold
86
- };
78
+ committedCheckpointId: initialState.checkpointId,
79
+ chainFetchers: chainFetchers,
80
+ multichain: config.multichain,
81
+ isInReorgThreshold: isInReorgThreshold
82
+ };
87
83
  }
88
84
 
89
85
  function getChainFetcher(chainManager, chain) {
@@ -92,36 +88,32 @@ function getChainFetcher(chainManager, chain) {
92
88
 
93
89
  function setChainFetcher(chainManager, chainFetcher) {
94
90
  return {
95
- committedCheckpointId: chainManager.committedCheckpointId,
96
- chainFetchers: ChainMap.set(chainManager.chainFetchers, ChainMap.Chain.makeUnsafe(chainFetcher.chainConfig.id), chainFetcher),
97
- multichain: chainManager.multichain,
98
- isInReorgThreshold: chainManager.isInReorgThreshold
99
- };
91
+ committedCheckpointId: chainManager.committedCheckpointId,
92
+ chainFetchers: ChainMap.set(chainManager.chainFetchers, ChainMap.Chain.makeUnsafe(chainFetcher.chainConfig.id), chainFetcher),
93
+ multichain: chainManager.multichain,
94
+ isInReorgThreshold: chainManager.isInReorgThreshold
95
+ };
100
96
  }
101
97
 
102
98
  function nextItemIsNone(chainManager) {
103
- return !Batch.hasMultichainReadyItem(ChainMap.map(chainManager.chainFetchers, (function (cf) {
104
- return cf.fetchState;
105
- })), chainManager.multichain);
99
+ return !Batch.hasMultichainReadyItem(ChainMap.map(chainManager.chainFetchers, cf => cf.fetchState), chainManager.multichain);
106
100
  }
107
101
 
108
102
  function createBatch(chainManager, batchSizeTarget, isRollback) {
109
- return Batch.make($$BigInt.add(chainManager.committedCheckpointId, isRollback ? 1n : 0n), ChainMap.map(chainManager.chainFetchers, (function (cf) {
110
- return {
111
- fetchState: cf.fetchState,
112
- reorgDetection: cf.reorgDetection,
113
- progressBlockNumber: cf.committedProgressBlockNumber,
114
- sourceBlockNumber: cf.fetchState.knownHeight,
115
- totalEventsProcessed: cf.numEventsProcessed,
116
- chainConfig: cf.chainConfig
117
- };
118
- })), chainManager.multichain, batchSizeTarget);
103
+ return Batch.make(chainManager.committedCheckpointId + (
104
+ isRollback ? 1n : 0n
105
+ ), ChainMap.map(chainManager.chainFetchers, cf => ({
106
+ fetchState: cf.fetchState,
107
+ reorgDetection: cf.reorgDetection,
108
+ progressBlockNumber: cf.committedProgressBlockNumber,
109
+ sourceBlockNumber: cf.fetchState.knownHeight,
110
+ totalEventsProcessed: cf.numEventsProcessed,
111
+ chainConfig: cf.chainConfig
112
+ })), chainManager.multichain, batchSizeTarget);
119
113
  }
120
114
 
121
115
  function isProgressAtHead(chainManager) {
122
- return ChainMap.values(chainManager.chainFetchers).every(function (cf) {
123
- return cf.isProgressAtHead;
124
- });
116
+ return ChainMap.values(chainManager.chainFetchers).every(cf => cf.isProgressAtHead);
125
117
  }
126
118
 
127
119
  function isActivelyIndexing(chainManager) {
@@ -129,38 +121,35 @@ function isActivelyIndexing(chainManager) {
129
121
  }
130
122
 
131
123
  function getSafeCheckpointId(chainManager) {
132
- var chainFetchers = ChainMap.values(chainManager.chainFetchers);
133
- var result;
134
- for(var idx = 0 ,idx_finish = chainFetchers.length; idx < idx_finish; ++idx){
135
- var chainFetcher = chainFetchers[idx];
136
- var safeCheckpointTracking = chainFetcher.safeCheckpointTracking;
124
+ let chainFetchers = ChainMap.values(chainManager.chainFetchers);
125
+ let result;
126
+ for (let idx = 0, idx_finish = chainFetchers.length; idx < idx_finish; ++idx) {
127
+ let chainFetcher = chainFetchers[idx];
128
+ let safeCheckpointTracking = chainFetcher.safeCheckpointTracking;
137
129
  if (safeCheckpointTracking !== undefined) {
138
- var safeCheckpointId = SafeCheckpointTracking.getSafeCheckpointId(safeCheckpointTracking, chainFetcher.fetchState.knownHeight);
139
- var current = result;
130
+ let safeCheckpointId = SafeCheckpointTracking.getSafeCheckpointId(safeCheckpointTracking, chainFetcher.fetchState.knownHeight);
131
+ let current = result;
140
132
  if (!(current !== undefined && safeCheckpointId >= current)) {
141
133
  result = safeCheckpointId;
142
134
  }
143
-
144
135
  }
145
-
146
136
  }
147
- var id = result;
137
+ let id = result;
148
138
  if (id !== undefined && id > 0n) {
149
139
  return id;
150
140
  }
151
-
152
141
  }
153
142
 
154
143
  export {
155
- isProgressInReorgThreshold ,
156
- calculateTargetBufferSize ,
157
- makeFromDbState ,
158
- getChainFetcher ,
159
- setChainFetcher ,
160
- nextItemIsNone ,
161
- createBatch ,
162
- isProgressAtHead ,
163
- isActivelyIndexing ,
164
- getSafeCheckpointId ,
144
+ isProgressInReorgThreshold,
145
+ calculateTargetBufferSize,
146
+ makeFromDbState,
147
+ getChainFetcher,
148
+ setChainFetcher,
149
+ nextItemIsNone,
150
+ createBatch,
151
+ isProgressAtHead,
152
+ isActivelyIndexing,
153
+ getSafeCheckpointId,
165
154
  }
166
155
  /* Env Not a pure module */
package/src/ChainMap.res CHANGED
@@ -1,5 +1,3 @@
1
- open Belt
2
-
3
1
  module Chain = {
4
2
  type t = int
5
3
 
@@ -10,33 +8,33 @@ module Chain = {
10
8
  let makeUnsafe = (~chainId) => chainId
11
9
  }
12
10
 
13
- module ChainIdCmp = Belt.Id.MakeComparableU({
11
+ module ChainIdCmp = Belt.Id.MakeComparable({
14
12
  type t = Chain.t
15
- let cmp = (a, b) => Pervasives.compare(a->Chain.toChainId, b->Chain.toChainId)
13
+ let cmp = (a, b) => Int.compare(a->Chain.toChainId, b->Chain.toChainId)->Int.fromFloat
16
14
  })
17
15
 
18
16
  type t<'a> = Belt.Map.t<ChainIdCmp.t, 'a, ChainIdCmp.identity>
19
17
 
20
18
  let fromArrayUnsafe: array<(Chain.t, 'a)> => t<'a> = arr => {
21
- arr->Map.fromArray(~id=module(ChainIdCmp))
19
+ arr->Belt.Map.fromArray(~id=module(ChainIdCmp))
22
20
  }
23
21
 
24
22
  let get: (t<'a>, Chain.t) => 'a = (self, chain) =>
25
- switch Map.get(self, chain) {
23
+ switch Belt.Map.get(self, chain) {
26
24
  | Some(v) => v
27
25
  | None =>
28
26
  // Should be unreachable, since we validate on Chain.t creation
29
27
  // Still throw just in case something went wrong
30
- Js.Exn.raiseError("No chain with id " ++ chain->Chain.toString ++ " found in chain map")
28
+ JsError.throwWithMessage("No chain with id " ++ chain->Chain.toString ++ " found in chain map")
31
29
  }
32
30
 
33
- let set: (t<'a>, Chain.t, 'a) => t<'a> = (map, chain, v) => Map.set(map, chain, v)
34
- let values: t<'a> => array<'a> = map => Map.valuesToArray(map)
35
- let keys: t<'a> => array<Chain.t> = map => Map.keysToArray(map)
36
- let entries: t<'a> => array<(Chain.t, 'a)> = map => Map.toArray(map)
37
- let has: (t<'a>, Chain.t) => bool = (map, chain) => Map.has(map, chain)
38
- let map: (t<'a>, 'a => 'b) => t<'b> = (map, fn) => Map.map(map, fn)
39
- let mapWithKey: (t<'a>, (Chain.t, 'a) => 'b) => t<'b> = (map, fn) => Map.mapWithKey(map, fn)
40
- let size: t<'a> => int = map => Map.size(map)
31
+ let set: (t<'a>, Chain.t, 'a) => t<'a> = (map, chain, v) => Belt.Map.set(map, chain, v)
32
+ let values: t<'a> => array<'a> = map => Belt.Map.valuesToArray(map)
33
+ let keys: t<'a> => array<Chain.t> = map => Belt.Map.keysToArray(map)
34
+ let entries: t<'a> => array<(Chain.t, 'a)> = map => Belt.Map.toArray(map)
35
+ let has: (t<'a>, Chain.t) => bool = (map, chain) => Belt.Map.has(map, chain)
36
+ let map: (t<'a>, 'a => 'b) => t<'b> = (map, fn) => Belt.Map.map(map, fn)
37
+ let mapWithKey: (t<'a>, (Chain.t, 'a) => 'b) => t<'b> = (map, fn) => Belt.Map.mapWithKey(map, fn)
38
+ let size: t<'a> => int = map => Belt.Map.size(map)
41
39
  let update: (t<'a>, Chain.t, 'a => 'a) => t<'a> = (map, chain, updateFn) =>
42
- Map.update(map, chain, opt => opt->Option.map(updateFn))
40
+ Belt.Map.update(map, chain, opt => opt->Option.map(updateFn))
@@ -1,78 +1,78 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Caml from "rescript/lib/es6/caml.js";
4
- import * as Js_exn from "rescript/lib/es6/js_exn.js";
5
- import * as Belt_Id from "rescript/lib/es6/belt_Id.js";
6
- import * as Belt_Map from "rescript/lib/es6/belt_Map.js";
7
- import * as Belt_Option from "rescript/lib/es6/belt_Option.js";
8
- import * as Caml_option from "rescript/lib/es6/caml_option.js";
3
+ import * as Belt_Id from "@rescript/runtime/lib/es6/Belt_Id.js";
4
+ import * as Belt_Map from "@rescript/runtime/lib/es6/Belt_Map.js";
5
+ import * as Primitive_int from "@rescript/runtime/lib/es6/Primitive_int.js";
6
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
7
+ import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
8
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
9
9
 
10
10
  function toString(chainId) {
11
- return String(chainId);
11
+ return chainId.toString();
12
12
  }
13
13
 
14
14
  function makeUnsafe(chainId) {
15
15
  return chainId;
16
16
  }
17
17
 
18
- var Chain = {
18
+ let Chain = {
19
19
  toString: toString,
20
20
  makeUnsafe: makeUnsafe
21
21
  };
22
22
 
23
- var cmp = Caml.int_compare;
23
+ function cmp(a, b) {
24
+ return Primitive_int.compare(a, b) | 0;
25
+ }
24
26
 
25
- var ChainIdCmp = Belt_Id.MakeComparableU({
26
- cmp: cmp
27
- });
27
+ let ChainIdCmp = Belt_Id.MakeComparable({
28
+ cmp: cmp
29
+ });
28
30
 
29
31
  function fromArrayUnsafe(arr) {
30
32
  return Belt_Map.fromArray(arr, ChainIdCmp);
31
33
  }
32
34
 
33
35
  function get(self, chain) {
34
- var v = Belt_Map.get(self, chain);
36
+ let v = Belt_Map.get(self, chain);
35
37
  if (v !== undefined) {
36
- return Caml_option.valFromOption(v);
38
+ return Primitive_option.valFromOption(v);
37
39
  } else {
38
- return Js_exn.raiseError("No chain with id " + String(chain) + " found in chain map");
40
+ return Stdlib_JsError.throwWithMessage("No chain with id " + chain.toString() + " found in chain map");
39
41
  }
40
42
  }
41
43
 
42
- var set = Belt_Map.set;
44
+ let set = Belt_Map.set;
43
45
 
44
- var values = Belt_Map.valuesToArray;
46
+ let values = Belt_Map.valuesToArray;
45
47
 
46
- var keys = Belt_Map.keysToArray;
48
+ let keys = Belt_Map.keysToArray;
47
49
 
48
- var entries = Belt_Map.toArray;
50
+ let entries = Belt_Map.toArray;
49
51
 
50
- var has = Belt_Map.has;
52
+ let has = Belt_Map.has;
51
53
 
52
- var map = Belt_Map.map;
54
+ let map = Belt_Map.map;
53
55
 
54
- var mapWithKey = Belt_Map.mapWithKey;
56
+ let mapWithKey = Belt_Map.mapWithKey;
55
57
 
56
- var size = Belt_Map.size;
58
+ let size = Belt_Map.size;
57
59
 
58
60
  function update(map, chain, updateFn) {
59
- return Belt_Map.update(map, chain, (function (opt) {
60
- return Belt_Option.map(opt, updateFn);
61
- }));
61
+ return Belt_Map.update(map, chain, opt => Stdlib_Option.map(opt, updateFn));
62
62
  }
63
63
 
64
64
  export {
65
- Chain ,
66
- fromArrayUnsafe ,
67
- get ,
68
- set ,
69
- values ,
70
- keys ,
71
- entries ,
72
- has ,
73
- map ,
74
- mapWithKey ,
75
- size ,
76
- update ,
65
+ Chain,
66
+ fromArrayUnsafe,
67
+ get,
68
+ set,
69
+ values,
70
+ keys,
71
+ entries,
72
+ has,
73
+ map,
74
+ mapWithKey,
75
+ size,
76
+ update,
77
77
  }
78
78
  /* ChainIdCmp Not a pure module */