envio 3.0.0-alpha.21 → 3.0.0-alpha.22

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 (219) hide show
  1. package/bin.mjs +2 -48
  2. package/evm.schema.json +67 -0
  3. package/fuel.schema.json +67 -0
  4. package/index.d.ts +822 -38
  5. package/index.js +5 -3
  6. package/package.json +10 -8
  7. package/rescript.json +5 -9
  8. package/src/Address.res +4 -5
  9. package/src/Address.res.mjs +9 -12
  10. package/src/Api.res +15 -0
  11. package/src/Api.res.mjs +20 -0
  12. package/src/Batch.res +32 -34
  13. package/src/Batch.res.mjs +172 -187
  14. package/src/Bin.res +89 -0
  15. package/src/Bin.res.mjs +97 -0
  16. package/src/ChainFetcher.res +33 -57
  17. package/src/ChainFetcher.res.mjs +197 -227
  18. package/src/ChainManager.res +6 -14
  19. package/src/ChainManager.res.mjs +74 -85
  20. package/src/ChainMap.res +14 -16
  21. package/src/ChainMap.res.mjs +38 -38
  22. package/src/Config.res +193 -135
  23. package/src/Config.res.mjs +566 -592
  24. package/src/Core.res +182 -0
  25. package/src/Core.res.mjs +207 -0
  26. package/src/Ecosystem.res +25 -4
  27. package/src/Ecosystem.res.mjs +12 -13
  28. package/src/Env.res +20 -13
  29. package/src/Env.res.mjs +124 -113
  30. package/src/EnvSafe.res +269 -0
  31. package/src/EnvSafe.res.mjs +296 -0
  32. package/src/EnvSafe.resi +18 -0
  33. package/src/Envio.res +37 -26
  34. package/src/Envio.res.mjs +59 -60
  35. package/src/ErrorHandling.res +2 -2
  36. package/src/ErrorHandling.res.mjs +15 -15
  37. package/src/EventConfigBuilder.res +219 -81
  38. package/src/EventConfigBuilder.res.mjs +259 -202
  39. package/src/EventProcessing.res +27 -38
  40. package/src/EventProcessing.res.mjs +165 -183
  41. package/src/EventUtils.res +11 -11
  42. package/src/EventUtils.res.mjs +21 -22
  43. package/src/EvmTypes.res +0 -1
  44. package/src/EvmTypes.res.mjs +5 -5
  45. package/src/FetchState.res +360 -256
  46. package/src/FetchState.res.mjs +958 -914
  47. package/src/GlobalState.res +365 -351
  48. package/src/GlobalState.res.mjs +958 -992
  49. package/src/GlobalStateManager.res +1 -2
  50. package/src/GlobalStateManager.res.mjs +36 -44
  51. package/src/HandlerLoader.res +107 -23
  52. package/src/HandlerLoader.res.mjs +128 -38
  53. package/src/HandlerRegister.res +127 -103
  54. package/src/HandlerRegister.res.mjs +164 -164
  55. package/src/HandlerRegister.resi +12 -4
  56. package/src/Hasura.res +35 -22
  57. package/src/Hasura.res.mjs +158 -167
  58. package/src/InMemoryStore.res +20 -27
  59. package/src/InMemoryStore.res.mjs +64 -80
  60. package/src/InMemoryTable.res +34 -39
  61. package/src/InMemoryTable.res.mjs +165 -170
  62. package/src/Internal.res +52 -33
  63. package/src/Internal.res.mjs +84 -81
  64. package/src/LazyLoader.res.mjs +55 -61
  65. package/src/LoadLayer.res +77 -78
  66. package/src/LoadLayer.res.mjs +160 -189
  67. package/src/LoadManager.res +16 -21
  68. package/src/LoadManager.res.mjs +79 -84
  69. package/src/LogSelection.res +236 -68
  70. package/src/LogSelection.res.mjs +211 -141
  71. package/src/Logging.res +13 -9
  72. package/src/Logging.res.mjs +130 -143
  73. package/src/Main.res +428 -51
  74. package/src/Main.res.mjs +528 -271
  75. package/src/Persistence.res +77 -84
  76. package/src/Persistence.res.mjs +131 -132
  77. package/src/PgStorage.res +291 -167
  78. package/src/PgStorage.res.mjs +797 -817
  79. package/src/Prometheus.res +50 -58
  80. package/src/Prometheus.res.mjs +345 -373
  81. package/src/ReorgDetection.res +22 -24
  82. package/src/ReorgDetection.res.mjs +100 -106
  83. package/src/SafeCheckpointTracking.res +7 -7
  84. package/src/SafeCheckpointTracking.res.mjs +40 -43
  85. package/src/SimulateItems.res +41 -49
  86. package/src/SimulateItems.res.mjs +257 -272
  87. package/src/Sink.res +2 -2
  88. package/src/Sink.res.mjs +22 -26
  89. package/src/TableIndices.res +1 -2
  90. package/src/TableIndices.res.mjs +42 -48
  91. package/src/TestIndexer.res +196 -189
  92. package/src/TestIndexer.res.mjs +536 -536
  93. package/src/TestIndexerProxyStorage.res +15 -16
  94. package/src/TestIndexerProxyStorage.res.mjs +98 -122
  95. package/src/TestIndexerWorker.res +4 -0
  96. package/src/TestIndexerWorker.res.mjs +7 -0
  97. package/src/Throttler.res +3 -3
  98. package/src/Throttler.res.mjs +23 -24
  99. package/src/Time.res +1 -1
  100. package/src/Time.res.mjs +18 -21
  101. package/src/TopicFilter.res +3 -3
  102. package/src/TopicFilter.res.mjs +29 -30
  103. package/src/UserContext.res +93 -54
  104. package/src/UserContext.res.mjs +197 -182
  105. package/src/Utils.res +141 -86
  106. package/src/Utils.res.mjs +334 -295
  107. package/src/bindings/BigDecimal.res +0 -2
  108. package/src/bindings/BigDecimal.res.mjs +19 -23
  109. package/src/bindings/ClickHouse.res +28 -27
  110. package/src/bindings/ClickHouse.res.mjs +243 -240
  111. package/src/bindings/DateFns.res +11 -11
  112. package/src/bindings/DateFns.res.mjs +7 -7
  113. package/src/bindings/EventSource.res.mjs +2 -2
  114. package/src/bindings/Express.res +2 -5
  115. package/src/bindings/Hrtime.res +2 -2
  116. package/src/bindings/Hrtime.res.mjs +30 -32
  117. package/src/bindings/Lodash.res.mjs +1 -1
  118. package/src/bindings/NodeJs.res +14 -9
  119. package/src/bindings/NodeJs.res.mjs +20 -20
  120. package/src/bindings/Pino.res +8 -10
  121. package/src/bindings/Pino.res.mjs +40 -43
  122. package/src/bindings/Postgres.res +2 -5
  123. package/src/bindings/Postgres.res.mjs +9 -9
  124. package/src/bindings/PromClient.res +17 -2
  125. package/src/bindings/PromClient.res.mjs +30 -7
  126. package/src/bindings/SDSL.res.mjs +2 -2
  127. package/src/bindings/Viem.res +4 -4
  128. package/src/bindings/Viem.res.mjs +20 -22
  129. package/src/bindings/Vitest.res +1 -1
  130. package/src/bindings/Vitest.res.mjs +2 -2
  131. package/src/bindings/WebSocket.res +1 -1
  132. package/src/db/EntityHistory.res +9 -3
  133. package/src/db/EntityHistory.res.mjs +84 -59
  134. package/src/db/InternalTable.res +62 -60
  135. package/src/db/InternalTable.res.mjs +271 -203
  136. package/src/db/Schema.res +1 -2
  137. package/src/db/Schema.res.mjs +28 -32
  138. package/src/db/Table.res +28 -27
  139. package/src/db/Table.res.mjs +276 -292
  140. package/src/sources/EventRouter.res +21 -16
  141. package/src/sources/EventRouter.res.mjs +55 -57
  142. package/src/sources/Evm.res +17 -1
  143. package/src/sources/Evm.res.mjs +16 -8
  144. package/src/sources/EvmChain.res +15 -17
  145. package/src/sources/EvmChain.res.mjs +40 -42
  146. package/src/sources/Fuel.res +14 -1
  147. package/src/sources/Fuel.res.mjs +16 -8
  148. package/src/sources/FuelSDK.res +1 -1
  149. package/src/sources/FuelSDK.res.mjs +6 -8
  150. package/src/sources/HyperFuel.res +8 -10
  151. package/src/sources/HyperFuel.res.mjs +113 -123
  152. package/src/sources/HyperFuelClient.res.mjs +6 -7
  153. package/src/sources/HyperFuelSource.res +19 -20
  154. package/src/sources/HyperFuelSource.res.mjs +339 -356
  155. package/src/sources/HyperSync.res +11 -13
  156. package/src/sources/HyperSync.res.mjs +206 -220
  157. package/src/sources/HyperSyncClient.res +5 -7
  158. package/src/sources/HyperSyncClient.res.mjs +70 -75
  159. package/src/sources/HyperSyncHeightStream.res +8 -9
  160. package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
  161. package/src/sources/HyperSyncJsonApi.res +18 -15
  162. package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
  163. package/src/sources/HyperSyncSource.res +17 -21
  164. package/src/sources/HyperSyncSource.res.mjs +268 -290
  165. package/src/sources/Rpc.res +5 -5
  166. package/src/sources/Rpc.res.mjs +168 -192
  167. package/src/sources/RpcSource.res +166 -167
  168. package/src/sources/RpcSource.res.mjs +972 -1046
  169. package/src/sources/RpcWebSocketHeightStream.res +10 -11
  170. package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
  171. package/src/sources/SimulateSource.res +1 -1
  172. package/src/sources/SimulateSource.res.mjs +35 -38
  173. package/src/sources/Source.res +1 -1
  174. package/src/sources/Source.res.mjs +3 -3
  175. package/src/sources/SourceManager.res +39 -20
  176. package/src/sources/SourceManager.res.mjs +340 -371
  177. package/src/sources/SourceManager.resi +2 -1
  178. package/src/sources/Svm.res +12 -5
  179. package/src/sources/Svm.res.mjs +44 -41
  180. package/src/tui/Tui.res +23 -12
  181. package/src/tui/Tui.res.mjs +292 -290
  182. package/src/tui/bindings/Ink.res +2 -4
  183. package/src/tui/bindings/Ink.res.mjs +35 -41
  184. package/src/tui/components/BufferedProgressBar.res +7 -7
  185. package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
  186. package/src/tui/components/CustomHooks.res +1 -2
  187. package/src/tui/components/CustomHooks.res.mjs +102 -122
  188. package/src/tui/components/Messages.res +1 -2
  189. package/src/tui/components/Messages.res.mjs +38 -42
  190. package/src/tui/components/SyncETA.res +10 -11
  191. package/src/tui/components/SyncETA.res.mjs +178 -196
  192. package/src/tui/components/TuiData.res +1 -1
  193. package/src/tui/components/TuiData.res.mjs +7 -6
  194. package/src/vendored/Rest.res +52 -66
  195. package/src/vendored/Rest.res.mjs +324 -364
  196. package/svm.schema.json +67 -0
  197. package/src/Address.gen.ts +0 -8
  198. package/src/Config.gen.ts +0 -19
  199. package/src/Envio.gen.ts +0 -55
  200. package/src/EvmTypes.gen.ts +0 -6
  201. package/src/InMemoryStore.gen.ts +0 -6
  202. package/src/Internal.gen.ts +0 -64
  203. package/src/PgStorage.gen.ts +0 -10
  204. package/src/PgStorage.res.d.mts +0 -5
  205. package/src/Types.ts +0 -56
  206. package/src/bindings/BigDecimal.gen.ts +0 -14
  207. package/src/bindings/BigDecimal.res.d.mts +0 -5
  208. package/src/bindings/BigInt.gen.ts +0 -10
  209. package/src/bindings/BigInt.res +0 -70
  210. package/src/bindings/BigInt.res.d.mts +0 -5
  211. package/src/bindings/BigInt.res.mjs +0 -154
  212. package/src/bindings/Ethers.res.d.mts +0 -5
  213. package/src/bindings/Pino.gen.ts +0 -17
  214. package/src/bindings/Postgres.gen.ts +0 -8
  215. package/src/bindings/Postgres.res.d.mts +0 -5
  216. package/src/bindings/Promise.res +0 -67
  217. package/src/bindings/Promise.res.mjs +0 -26
  218. package/src/db/InternalTable.gen.ts +0 -36
  219. 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 */