@reventlessdev/reventless-local 3.0.0-alpha.113

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 (334) hide show
  1. package/CHANGELOG.md +1197 -0
  2. package/LICENSE +202 -0
  3. package/__mocks__/emptyModule.js +2 -0
  4. package/__mocks__/nodeSqlite.mjs +6 -0
  5. package/package.json +67 -0
  6. package/rescript.json +39 -0
  7. package/src/Platform.res +2162 -0
  8. package/src/Platform.res.mjs +3389 -0
  9. package/src/adapter/Api/LocalGraphQL_Adapter.res +29 -0
  10. package/src/adapter/Api/LocalGraphQL_Adapter.res.mjs +26 -0
  11. package/src/adapter/Api/LocalGraphQL_SubscriptionResolvers.res +146 -0
  12. package/src/adapter/Api/LocalGraphQL_SubscriptionResolvers.res.mjs +88 -0
  13. package/src/adapter/Auth/Auth_GraphqlContext.res +83 -0
  14. package/src/adapter/Auth/Auth_GraphqlContext.res.mjs +76 -0
  15. package/src/adapter/Auth/LocalAuth.res +239 -0
  16. package/src/adapter/Auth/LocalAuth.res.mjs +247 -0
  17. package/src/adapter/Auth/UserStore.res +134 -0
  18. package/src/adapter/Auth/UserStore.res.mjs +146 -0
  19. package/src/adapter/Backend.res +46 -0
  20. package/src/adapter/Backend.res.mjs +66 -0
  21. package/src/adapter/BackendState.res +34 -0
  22. package/src/adapter/BackendState.res.mjs +42 -0
  23. package/src/adapter/Cloner/LocalClonerRunner.res +13 -0
  24. package/src/adapter/Cloner/LocalClonerRunner.res.mjs +12 -0
  25. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_GraphQL.res +329 -0
  26. package/src/adapter/CommandGenerator/CommandGeneratorResolvers_GraphQL.res.mjs +301 -0
  27. package/src/adapter/CommandGenerator/InboundTranslationResolvers_GraphQL.res +76 -0
  28. package/src/adapter/CommandGenerator/InboundTranslationResolvers_GraphQL.res.mjs +57 -0
  29. package/src/adapter/CommandGenerator/LocalCommandGeneratorResolvers.res +19 -0
  30. package/src/adapter/CommandGenerator/LocalCommandGeneratorResolvers.res.mjs +19 -0
  31. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res +104 -0
  32. package/src/adapter/CommandTopic/LocalCommandTopicChannel.res.mjs +82 -0
  33. package/src/adapter/CommandTopic/LocalCommandTopicRemoteChannel.res +32 -0
  34. package/src/adapter/CommandTopic/LocalCommandTopicRemoteChannel.res.mjs +38 -0
  35. package/src/adapter/Counter/LocalCounterHandler.res +42 -0
  36. package/src/adapter/Counter/LocalCounterHandler.res.mjs +45 -0
  37. package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res +131 -0
  38. package/src/adapter/DcbEventLog/DcbEventLogStorage_InMemory.res.mjs +140 -0
  39. package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res +334 -0
  40. package/src/adapter/DcbEventLog/DcbEventLogStorage_Sqlite.res.mjs +299 -0
  41. package/src/adapter/DomainGraphQL_Server.res +565 -0
  42. package/src/adapter/DomainGraphQL_Server.res.mjs +576 -0
  43. package/src/adapter/DomainMCP_Server.res +369 -0
  44. package/src/adapter/DomainMCP_Server.res.mjs +358 -0
  45. package/src/adapter/EventCollector/LocalEventCollectorChannel.res +87 -0
  46. package/src/adapter/EventCollector/LocalEventCollectorChannel.res.mjs +45 -0
  47. package/src/adapter/EventLog/EventLogStorage_InMemory.res +105 -0
  48. package/src/adapter/EventLog/EventLogStorage_InMemory.res.mjs +117 -0
  49. package/src/adapter/EventLog/EventLogStorage_Sqlite.res +145 -0
  50. package/src/adapter/EventLog/EventLogStorage_Sqlite.res.mjs +155 -0
  51. package/src/adapter/EventTopic/LocalEventTopicPublisher.res +36 -0
  52. package/src/adapter/EventTopic/LocalEventTopicPublisher.res.mjs +31 -0
  53. package/src/adapter/GraphQL_Server.res +6 -0
  54. package/src/adapter/GraphQL_Server.res.mjs +154 -0
  55. package/src/adapter/GraphQL_ServerInstance.res +310 -0
  56. package/src/adapter/GraphQL_ServerInstance.res.mjs +257 -0
  57. package/src/adapter/Heartbeat/LocalHeartbeatRunner.res +57 -0
  58. package/src/adapter/Heartbeat/LocalHeartbeatRunner.res.mjs +34 -0
  59. package/src/adapter/LocalBus.res +498 -0
  60. package/src/adapter/LocalBus.res.mjs +1011 -0
  61. package/src/adapter/LocalPluginSpec.res +16 -0
  62. package/src/adapter/LocalPluginSpec.res.mjs +33 -0
  63. package/src/adapter/LocalSideEffectHandler.res +44 -0
  64. package/src/adapter/LocalSideEffectHandler.res.mjs +34 -0
  65. package/src/adapter/MCP_Server.res +4 -0
  66. package/src/adapter/MCP_Server.res.mjs +67 -0
  67. package/src/adapter/MCP_ServerInstance.res +362 -0
  68. package/src/adapter/MCP_ServerInstance.res.mjs +313 -0
  69. package/src/adapter/PlatformGraphQL_Server.res +75 -0
  70. package/src/adapter/PlatformGraphQL_Server.res.mjs +84 -0
  71. package/src/adapter/PlatformMCP_Server.res +23 -0
  72. package/src/adapter/PlatformMCP_Server.res.mjs +46 -0
  73. package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res +793 -0
  74. package/src/adapter/QueryDb/QueryDbResolvers_GraphQL.res.mjs +569 -0
  75. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res +242 -0
  76. package/src/adapter/QueryDb/QueryDbStorage_InMemory.res.mjs +241 -0
  77. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res +339 -0
  78. package/src/adapter/QueryDb/QueryDbStorage_Sqlite.res.mjs +318 -0
  79. package/src/adapter/QueryDb/SortKey_Filter.res +48 -0
  80. package/src/adapter/QueryDb/SortKey_Filter.res.mjs +46 -0
  81. package/src/adapter/QueryEngine/LocalQueryEngine.res +57 -0
  82. package/src/adapter/QueryEngine/LocalQueryEngine.res.mjs +56 -0
  83. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res +91 -0
  84. package/src/adapter/Runtime/LocalAggregateRuntime_Builder.res.mjs +50 -0
  85. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res +47 -0
  86. package/src/adapter/Runtime/LocalEventCollectorRuntime_Builder.res.mjs +37 -0
  87. package/src/adapter/Runtime/LocalPluginRuntime_Builder.res +11 -0
  88. package/src/adapter/Runtime/LocalPluginRuntime_Builder.res.mjs +30 -0
  89. package/src/adapter/Runtime/LocalRuntimeEnvironment.res +54 -0
  90. package/src/adapter/Runtime/LocalRuntimeEnvironment.res.mjs +40 -0
  91. package/src/adapter/Scheduler/LocalScheduledPublisher.res +102 -0
  92. package/src/adapter/Scheduler/LocalScheduledPublisher.res.mjs +84 -0
  93. package/src/adapter/SqliteDriver.res +52 -0
  94. package/src/adapter/SqliteDriver.res.mjs +76 -0
  95. package/src/adapter/SqliteDriver.resi +31 -0
  96. package/src/adapter/Task/LocalTaskBucket.res +75 -0
  97. package/src/adapter/Task/LocalTaskBucket.res.mjs +48 -0
  98. package/src/adapter/Task/TaskBucket_Sqlite.res +47 -0
  99. package/src/adapter/Task/TaskBucket_Sqlite.res.mjs +40 -0
  100. package/src/components/Aggregate_Builder.res +55 -0
  101. package/src/components/Aggregate_Builder.res.mjs +140 -0
  102. package/src/components/AutomationSlice_Builder.res +41 -0
  103. package/src/components/AutomationSlice_Builder.res.mjs +57 -0
  104. package/src/components/Counter_Builder.res +14 -0
  105. package/src/components/Counter_Builder.res.mjs +32 -0
  106. package/src/components/DcbEventLog_Builder.res +18 -0
  107. package/src/components/DcbEventLog_Builder.res.mjs +24 -0
  108. package/src/components/ExtensionPoint_Builder.res +25 -0
  109. package/src/components/ExtensionPoint_Builder.res.mjs +44 -0
  110. package/src/components/InboundTranslationSlice_Builder.res +34 -0
  111. package/src/components/InboundTranslationSlice_Builder.res.mjs +45 -0
  112. package/src/components/OutboundTranslationSlice_Builder.res +43 -0
  113. package/src/components/OutboundTranslationSlice_Builder.res.mjs +59 -0
  114. package/src/components/Plugin_Builder.res +37 -0
  115. package/src/components/Plugin_Builder.res.mjs +67 -0
  116. package/src/components/ReadModel_Builder.res +47 -0
  117. package/src/components/ReadModel_Builder.res.mjs +54 -0
  118. package/src/components/StateChangeSlice_Builder.res +19 -0
  119. package/src/components/StateChangeSlice_Builder.res.mjs +21 -0
  120. package/src/components/StateViewSlice_Builder.res +42 -0
  121. package/src/components/StateViewSlice_Builder.res.mjs +58 -0
  122. package/src/components/Task_Builder.res +28 -0
  123. package/src/components/Task_Builder.res.mjs +41 -0
  124. package/src/reexport/CommandTopic.res +3 -0
  125. package/src/reexport/CommandTopic.res.mjs +55 -0
  126. package/src/test/Mocks/MockDcbEventLogStorage.res +136 -0
  127. package/src/test/Mocks/MockDcbEventLogStorage.res.mjs +146 -0
  128. package/src/test/Mocks/MockEventLogStorage.res +57 -0
  129. package/src/test/Mocks/MockEventLogStorage.res.mjs +65 -0
  130. package/src/test/Mocks/MockPublisher.res +29 -0
  131. package/src/test/Mocks/MockPublisher.res.mjs +28 -0
  132. package/src/test/Mocks/MockQueryDbStorage.res +104 -0
  133. package/src/test/Mocks/MockQueryDbStorage.res.mjs +136 -0
  134. package/src/test/TestRunner.res +96 -0
  135. package/src/test/TestRunner.res.mjs +71 -0
  136. package/tests/SplitApiFixtures.res +84 -0
  137. package/tests/SplitApiFixtures.res.mjs +88 -0
  138. package/tests/SplitApiTest.res +102 -0
  139. package/tests/SplitApiTest.res.mjs +82 -0
  140. package/tests/TestFixtures.res +54 -0
  141. package/tests/TestFixtures.res.mjs +65 -0
  142. package/tests/adapter/BackendParityTest.res +94 -0
  143. package/tests/adapter/BackendParityTest.res.mjs +96 -0
  144. package/tests/adapter/CollectNEventsTest.res +82 -0
  145. package/tests/adapter/CollectNEventsTest.res.mjs +83 -0
  146. package/tests/adapter/CommandAuthorizationTest.res +200 -0
  147. package/tests/adapter/CommandAuthorizationTest.res.mjs +190 -0
  148. package/tests/adapter/CommandTopicChannelTest.res +174 -0
  149. package/tests/adapter/CommandTopicChannelTest.res.mjs +170 -0
  150. package/tests/adapter/CounterHandlerTest.res +113 -0
  151. package/tests/adapter/CounterHandlerTest.res.mjs +96 -0
  152. package/tests/adapter/DcbEventLogStorageSqliteTest.res +157 -0
  153. package/tests/adapter/DcbEventLogStorageSqliteTest.res.mjs +165 -0
  154. package/tests/adapter/DcbEventLogStorageTest.res +187 -0
  155. package/tests/adapter/DcbEventLogStorageTest.res.mjs +195 -0
  156. package/tests/adapter/EventCollectorChannelTest.res +166 -0
  157. package/tests/adapter/EventCollectorChannelTest.res.mjs +178 -0
  158. package/tests/adapter/EventLogStorageSqliteTest.res +105 -0
  159. package/tests/adapter/EventLogStorageSqliteTest.res.mjs +116 -0
  160. package/tests/adapter/EventTapTest.res +102 -0
  161. package/tests/adapter/EventTapTest.res.mjs +94 -0
  162. package/tests/adapter/EventTopicPublisherTest.res +76 -0
  163. package/tests/adapter/EventTopicPublisherTest.res.mjs +86 -0
  164. package/tests/adapter/GraphQL_SchemaInspectorTest.res +763 -0
  165. package/tests/adapter/GraphQL_SchemaInspectorTest.res.mjs +578 -0
  166. package/tests/adapter/GraphQL_SubscriptionResolversTest.res +161 -0
  167. package/tests/adapter/GraphQL_SubscriptionResolversTest.res.mjs +134 -0
  168. package/tests/adapter/HeartbeatRunnerTest.res +136 -0
  169. package/tests/adapter/HeartbeatRunnerTest.res.mjs +96 -0
  170. package/tests/adapter/LocalAuthHttpTest.res +224 -0
  171. package/tests/adapter/LocalAuthHttpTest.res.mjs +237 -0
  172. package/tests/adapter/LocalAuthLoginTest.res +180 -0
  173. package/tests/adapter/LocalAuthLoginTest.res.mjs +207 -0
  174. package/tests/adapter/LocalAuthTest.res +106 -0
  175. package/tests/adapter/LocalAuthTest.res.mjs +145 -0
  176. package/tests/adapter/LocalAuthUserStoreTest.res +172 -0
  177. package/tests/adapter/LocalAuthUserStoreTest.res.mjs +208 -0
  178. package/tests/adapter/LocalBusBoundedTest.res +157 -0
  179. package/tests/adapter/LocalBusBoundedTest.res.mjs +168 -0
  180. package/tests/adapter/LocalBusPubSubTest.res +81 -0
  181. package/tests/adapter/LocalBusPubSubTest.res.mjs +81 -0
  182. package/tests/adapter/QueryDbGsiTtlTest.res +268 -0
  183. package/tests/adapter/QueryDbGsiTtlTest.res.mjs +209 -0
  184. package/tests/adapter/QueryDbListResolverTest.res +361 -0
  185. package/tests/adapter/QueryDbListResolverTest.res.mjs +426 -0
  186. package/tests/adapter/QueryDbStorageSqliteTest.res +159 -0
  187. package/tests/adapter/QueryDbStorageSqliteTest.res.mjs +126 -0
  188. package/tests/adapter/QueryDbStorageTest.res +171 -0
  189. package/tests/adapter/QueryDbStorageTest.res.mjs +170 -0
  190. package/tests/adapter/QueryEngineTest.res +152 -0
  191. package/tests/adapter/QueryEngineTest.res.mjs +148 -0
  192. package/tests/adapter/ScheduledPublisherTest.res +199 -0
  193. package/tests/adapter/ScheduledPublisherTest.res.mjs +203 -0
  194. package/tests/adapter/SortKey_FilterTest.res +103 -0
  195. package/tests/adapter/SortKey_FilterTest.res.mjs +135 -0
  196. package/tests/adapter/SqliteDriverTest.res +86 -0
  197. package/tests/adapter/SqliteDriverTest.res.mjs +101 -0
  198. package/tests/adapter/TaskBucketSqliteTest.res +44 -0
  199. package/tests/adapter/TaskBucketSqliteTest.res.mjs +40 -0
  200. package/tests/adapter/TaskBucketTest.res +106 -0
  201. package/tests/adapter/TaskBucketTest.res.mjs +118 -0
  202. package/tests/components/aggregate/AggregateFixtures.res +78 -0
  203. package/tests/components/aggregate/AggregateFixtures.res.mjs +109 -0
  204. package/tests/components/aggregate/AggregateTest.res +129 -0
  205. package/tests/components/aggregate/AggregateTest.res.mjs +129 -0
  206. package/tests/components/automationslice/AutomationSliceCallbackTest.res +212 -0
  207. package/tests/components/automationslice/AutomationSliceCallbackTest.res.mjs +233 -0
  208. package/tests/components/automationslice/AutomationSliceFixtures.res +189 -0
  209. package/tests/components/automationslice/AutomationSliceFixtures.res.mjs +276 -0
  210. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res +289 -0
  211. package/tests/components/automationslice/AutomationSliceSelfDeadlockFixtures.res.mjs +453 -0
  212. package/tests/components/automationslice/AutomationSliceSelfDeadlockTest.res +47 -0
  213. package/tests/components/automationslice/AutomationSliceSelfDeadlockTest.res.mjs +31 -0
  214. package/tests/components/automationslice/MixedSourceAutomationSliceFixtures.res +213 -0
  215. package/tests/components/automationslice/MixedSourceAutomationSliceFixtures.res.mjs +268 -0
  216. package/tests/components/automationslice/MixedSourceAutomationSliceTest.res +118 -0
  217. package/tests/components/automationslice/MixedSourceAutomationSliceTest.res.mjs +99 -0
  218. package/tests/components/commandgenerator/CommandGeneratorFixtures.res +73 -0
  219. package/tests/components/commandgenerator/CommandGeneratorFixtures.res.mjs +109 -0
  220. package/tests/components/commandgenerator/CommandGeneratorTest.res +43 -0
  221. package/tests/components/commandgenerator/CommandGeneratorTest.res.mjs +46 -0
  222. package/tests/components/commandtopic/CommandTopicFixtures.res +37 -0
  223. package/tests/components/commandtopic/CommandTopicFixtures.res.mjs +68 -0
  224. package/tests/components/commandtopic/CommandTopicStreamFixtures.res +43 -0
  225. package/tests/components/commandtopic/CommandTopicStreamFixtures.res.mjs +91 -0
  226. package/tests/components/commandtopic/CommandTopicStreamTest.res +30 -0
  227. package/tests/components/commandtopic/CommandTopicStreamTest.res.mjs +35 -0
  228. package/tests/components/commandtopic/CommandTopicTest.res +55 -0
  229. package/tests/components/commandtopic/CommandTopicTest.res.mjs +62 -0
  230. package/tests/components/counter/CounterFixtures.res +42 -0
  231. package/tests/components/counter/CounterFixtures.res.mjs +34 -0
  232. package/tests/components/counter/CounterTest.res +46 -0
  233. package/tests/components/counter/CounterTest.res.mjs +61 -0
  234. package/tests/components/dcb/DcbCrossPartitionFixtures.res +170 -0
  235. package/tests/components/dcb/DcbCrossPartitionFixtures.res.mjs +276 -0
  236. package/tests/components/dcb/DcbCrossPartitionReadTest.res +68 -0
  237. package/tests/components/dcb/DcbCrossPartitionReadTest.res.mjs +78 -0
  238. package/tests/components/dcb/DcbEventLogAppendStreamTest.res +72 -0
  239. package/tests/components/dcb/DcbEventLogAppendStreamTest.res.mjs +82 -0
  240. package/tests/components/dcb/DcbEventLogStreamTest.res +103 -0
  241. package/tests/components/dcb/DcbEventLogStreamTest.res.mjs +91 -0
  242. package/tests/components/dcb/DcbFixtures.res +145 -0
  243. package/tests/components/dcb/DcbFixtures.res.mjs +221 -0
  244. package/tests/components/dcb/DcbTest.res +55 -0
  245. package/tests/components/dcb/DcbTest.res.mjs +55 -0
  246. package/tests/components/eventcollector/EventCollectorFixtures.res +42 -0
  247. package/tests/components/eventcollector/EventCollectorFixtures.res.mjs +49 -0
  248. package/tests/components/eventcollector/EventCollectorTest.res +37 -0
  249. package/tests/components/eventcollector/EventCollectorTest.res.mjs +36 -0
  250. package/tests/components/eventlog/EventLogAppendStreamTest.res +93 -0
  251. package/tests/components/eventlog/EventLogAppendStreamTest.res.mjs +113 -0
  252. package/tests/components/eventlog/EventLogConflictTest.res +86 -0
  253. package/tests/components/eventlog/EventLogConflictTest.res.mjs +81 -0
  254. package/tests/components/eventlog/EventLogFixtures.res +52 -0
  255. package/tests/components/eventlog/EventLogFixtures.res.mjs +80 -0
  256. package/tests/components/eventlog/EventLogStreamTest.res +98 -0
  257. package/tests/components/eventlog/EventLogStreamTest.res.mjs +142 -0
  258. package/tests/components/eventlog/EventLogTest.res +53 -0
  259. package/tests/components/eventlog/EventLogTest.res.mjs +74 -0
  260. package/tests/components/eventtopic/EventTopicFixtures.res +47 -0
  261. package/tests/components/eventtopic/EventTopicFixtures.res.mjs +77 -0
  262. package/tests/components/eventtopic/EventTopicStreamFixtures.res +27 -0
  263. package/tests/components/eventtopic/EventTopicStreamFixtures.res.mjs +62 -0
  264. package/tests/components/eventtopic/EventTopicStreamTest.res +35 -0
  265. package/tests/components/eventtopic/EventTopicStreamTest.res.mjs +44 -0
  266. package/tests/components/eventtopic/EventTopicTest.res +35 -0
  267. package/tests/components/eventtopic/EventTopicTest.res.mjs +43 -0
  268. package/tests/components/extensionpoint/ExtensionPointFixtures.res +145 -0
  269. package/tests/components/extensionpoint/ExtensionPointFixtures.res.mjs +188 -0
  270. package/tests/components/extensionpoint/ExtensionPointTest.res +62 -0
  271. package/tests/components/extensionpoint/ExtensionPointTest.res.mjs +55 -0
  272. package/tests/components/heartbeat/HeartbeatFixtures.res +48 -0
  273. package/tests/components/heartbeat/HeartbeatFixtures.res.mjs +46 -0
  274. package/tests/components/heartbeat/HeartbeatTest.res +67 -0
  275. package/tests/components/heartbeat/HeartbeatTest.res.mjs +65 -0
  276. package/tests/components/inboundtranslationslice/InboundTranslationSliceCallbackTest.res +241 -0
  277. package/tests/components/inboundtranslationslice/InboundTranslationSliceCallbackTest.res.mjs +239 -0
  278. package/tests/components/inboundtranslationslice/InboundTranslationSliceFixtures.res +36 -0
  279. package/tests/components/inboundtranslationslice/InboundTranslationSliceFixtures.res.mjs +73 -0
  280. package/tests/components/outboundtranslationslice/OutboundTranslationSliceCallbackTest.res +191 -0
  281. package/tests/components/outboundtranslationslice/OutboundTranslationSliceCallbackTest.res.mjs +297 -0
  282. package/tests/components/outboundtranslationslice/OutboundTranslationSliceFixtures.res +78 -0
  283. package/tests/components/outboundtranslationslice/OutboundTranslationSliceFixtures.res.mjs +137 -0
  284. package/tests/components/querydb/QueryDbFixtures.res +39 -0
  285. package/tests/components/querydb/QueryDbFixtures.res.mjs +73 -0
  286. package/tests/components/querydb/QueryDbSubIdFixtures.res +44 -0
  287. package/tests/components/querydb/QueryDbSubIdFixtures.res.mjs +80 -0
  288. package/tests/components/querydb/QueryDbSubIdTest.res +104 -0
  289. package/tests/components/querydb/QueryDbSubIdTest.res.mjs +104 -0
  290. package/tests/components/querydb/QueryDbTest.res +81 -0
  291. package/tests/components/querydb/QueryDbTest.res.mjs +126 -0
  292. package/tests/components/readmodel/DcbReadModelE2EFixtures.res +215 -0
  293. package/tests/components/readmodel/DcbReadModelE2EFixtures.res.mjs +308 -0
  294. package/tests/components/readmodel/DcbReadModelE2ETest.res +45 -0
  295. package/tests/components/readmodel/DcbReadModelE2ETest.res.mjs +37 -0
  296. package/tests/components/readmodel/DcbReadModelTypoFailFastTest.res +88 -0
  297. package/tests/components/readmodel/DcbReadModelTypoFailFastTest.res.mjs +152 -0
  298. package/tests/components/readmodel/MixedSourceReadModelFixtures.res +181 -0
  299. package/tests/components/readmodel/MixedSourceReadModelFixtures.res.mjs +277 -0
  300. package/tests/components/readmodel/MixedSourceReadModelTest.res +61 -0
  301. package/tests/components/readmodel/MixedSourceReadModelTest.res.mjs +68 -0
  302. package/tests/components/readmodel/ReadModelFixtures.res +138 -0
  303. package/tests/components/readmodel/ReadModelFixtures.res.mjs +169 -0
  304. package/tests/components/readmodel/ReadModelTest.res +46 -0
  305. package/tests/components/readmodel/ReadModelTest.res.mjs +36 -0
  306. package/tests/components/scheduler/SchedulerFixtures.res +59 -0
  307. package/tests/components/scheduler/SchedulerFixtures.res.mjs +63 -0
  308. package/tests/components/scheduler/SchedulerTest.res +76 -0
  309. package/tests/components/scheduler/SchedulerTest.res.mjs +86 -0
  310. package/tests/components/sideeffecthandler/SideEffectHandlerFixtures.res +133 -0
  311. package/tests/components/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +149 -0
  312. package/tests/components/sideeffecthandler/SideEffectHandlerTest.res +39 -0
  313. package/tests/components/sideeffecthandler/SideEffectHandlerTest.res.mjs +28 -0
  314. package/tests/components/stateviewslice/StateViewSliceFixtures.res +117 -0
  315. package/tests/components/stateviewslice/StateViewSliceFixtures.res.mjs +188 -0
  316. package/tests/components/stateviewslice/StateViewSliceSubIdFixtures.res +117 -0
  317. package/tests/components/stateviewslice/StateViewSliceSubIdFixtures.res.mjs +183 -0
  318. package/tests/components/stateviewslice/StateViewSliceSubIdTest.res +78 -0
  319. package/tests/components/stateviewslice/StateViewSliceSubIdTest.res.mjs +107 -0
  320. package/tests/components/stateviewslice/StateViewSliceTest.res +59 -0
  321. package/tests/components/stateviewslice/StateViewSliceTest.res.mjs +72 -0
  322. package/tests/components/task/TaskFixtures.res +87 -0
  323. package/tests/components/task/TaskFixtures.res.mjs +82 -0
  324. package/tests/components/task/TaskTest.res +98 -0
  325. package/tests/components/task/TaskTest.res.mjs +46 -0
  326. package/tests/plugin/PluginBehavior_GWT.res +146 -0
  327. package/tests/plugin/PluginBehavior_GWT.res.mjs +281 -0
  328. package/tests/plugin/Plugin_Fixtures.res +61 -0
  329. package/tests/plugin/Plugin_Fixtures.res.mjs +105 -0
  330. package/tests/plugin/PluginsProjection_GWT.res +95 -0
  331. package/tests/plugin/PluginsProjection_GWT.res.mjs +120 -0
  332. package/tests/plugin/UIFragmentRegistryProjection_GWT.res +72 -0
  333. package/tests/plugin/UIFragmentRegistryProjection_GWT.res.mjs +117 -0
  334. package/tests/setup/sqliteGlobal.cjs +12 -0
@@ -0,0 +1,576 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as S from "sury/src/S.res.mjs";
4
+ import * as Http from "http";
5
+ import * as Graphql from "graphql";
6
+ import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
7
+ import * as GraphqlYoga from "graphql-yoga";
8
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
9
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
10
+ import * as Identity$Reventless from "@reventlessdev/reventless-spec/src/types/Identity.res.mjs";
11
+ import * as Logger$ReventlessCore from "@reventlessdev/reventless-core/src/util/Logger.res.mjs";
12
+ import * as LocalAuth$ReventlessLocal from "./Auth/LocalAuth.res.mjs";
13
+ import * as GraphQL_Stitcher$ReventlessCore from "@reventlessdev/reventless-core/src/components/Api/GraphQL_Stitcher.res.mjs";
14
+ import * as Auth_GraphqlContext$ReventlessLocal from "./Auth/Auth_GraphqlContext.res.mjs";
15
+
16
+ let log = Logger$ReventlessCore.fromEnv();
17
+
18
+ function readBody(req, onBody) {
19
+ let buf = {
20
+ contents: ""
21
+ };
22
+ req.setEncoding("utf8");
23
+ req.on("data", chunk => {
24
+ buf.contents = buf.contents + chunk;
25
+ });
26
+ req.on("end", () => onBody(buf.contents));
27
+ }
28
+
29
+ function _writeJson(res, status, body) {
30
+ res.writeHead(status, {
31
+ "Content-Type": "application/json",
32
+ "Access-Control-Allow-Origin": "*"
33
+ });
34
+ res.end(JSON.stringify(body));
35
+ }
36
+
37
+ function _loginRejected(res, error) {
38
+ _writeJson(res, 401, Object.fromEntries([[
39
+ "error",
40
+ error
41
+ ]]));
42
+ }
43
+
44
+ function handleLogin(req, res) {
45
+ readBody(req, body => {
46
+ let parsed;
47
+ try {
48
+ parsed = JSON.parse(body);
49
+ } catch (exn) {
50
+ parsed = undefined;
51
+ }
52
+ if (parsed === undefined) {
53
+ return _loginRejected(res, "Invalid JSON body");
54
+ }
55
+ let username = parsed.username;
56
+ LocalAuth$ReventlessLocal.Login.issue(username, parsed.password).then(result => {
57
+ if (result.TAG === "Ok") {
58
+ let i = LocalAuth$ReventlessLocal.lookupUser(username);
59
+ let identity = i !== undefined ? i : Identity$Reventless.anonymous;
60
+ let identityJson = S.reverseConvertToJsonOrThrow(identity, Identity$Reventless.schema);
61
+ _writeJson(res, 200, Object.fromEntries([
62
+ [
63
+ "token",
64
+ result._0
65
+ ],
66
+ [
67
+ "identity",
68
+ identityJson
69
+ ]
70
+ ]));
71
+ } else {
72
+ _loginRejected(res, result._0);
73
+ }
74
+ return Promise.resolve();
75
+ });
76
+ });
77
+ }
78
+
79
+ function handleLogout(_req, res) {
80
+ res.writeHead(204, {
81
+ "Access-Control-Allow-Origin": "*"
82
+ });
83
+ res.end(null);
84
+ }
85
+
86
+ function _isInvalidBearer(req) {
87
+ let h = req.headers["authorization"];
88
+ if (h === undefined) {
89
+ return false;
90
+ }
91
+ if (!h.startsWith("Bearer ")) {
92
+ return false;
93
+ }
94
+ let token = h.slice(7, h.length).trim();
95
+ return Stdlib_Option.isNone(LocalAuth$ReventlessLocal.Login.verifyAndDecode(token));
96
+ }
97
+
98
+ function _dispatch(req, res, yoga, getSdl) {
99
+ let path = Stdlib_Option.getOr(req.url.split("?")[0], req.url);
100
+ if (path !== "/__inmemory/login" && _isInvalidBearer(req)) {
101
+ return _writeJson(res, 401, Object.fromEntries([[
102
+ "error",
103
+ "Invalid bearer token"
104
+ ]]));
105
+ } else if (path === "/sdl") {
106
+ res.writeHead(200, {
107
+ "Content-Type": "text/plain",
108
+ "Access-Control-Allow-Origin": "*"
109
+ });
110
+ res.end(getSdl());
111
+ return;
112
+ } else if (path === "/__inmemory/login" && req.method === "POST") {
113
+ return handleLogin(req, res);
114
+ } else if (path === "/__inmemory/logout" && req.method === "POST") {
115
+ return handleLogout(req, res);
116
+ } else {
117
+ return yoga(req, res);
118
+ }
119
+ }
120
+
121
+ function encodeGlobalId(typeName, localId) {
122
+ return btoa(typeName + `:` + localId);
123
+ }
124
+
125
+ function decodeGlobalId(globalId) {
126
+ try {
127
+ let decoded = atob(globalId);
128
+ let idx = decoded.indexOf(":");
129
+ if (idx <= 0) {
130
+ return;
131
+ }
132
+ let typeName = decoded.slice(0, idx);
133
+ let localId = decoded.slice(idx + 1 | 0, decoded.length);
134
+ return [
135
+ typeName,
136
+ localId
137
+ ];
138
+ } catch (exn) {
139
+ return;
140
+ }
141
+ }
142
+
143
+ let mutationResolvers = {
144
+ contents: {}
145
+ };
146
+
147
+ let queryResolvers = {
148
+ contents: {}
149
+ };
150
+
151
+ let subscriptionResolvers = {
152
+ contents: {}
153
+ };
154
+
155
+ let mutationFields = {
156
+ contents: []
157
+ };
158
+
159
+ let queryFields = {
160
+ contents: []
161
+ };
162
+
163
+ let subscriptionFields = {
164
+ contents: []
165
+ };
166
+
167
+ let typeDefinitions = {
168
+ contents: []
169
+ };
170
+
171
+ function registerMutations(sdlFields, resolvers) {
172
+ mutationFields.contents = mutationFields.contents.concat(sdlFields);
173
+ Object.entries(resolvers).forEach(param => {
174
+ mutationResolvers.contents[param[0]] = param[1];
175
+ });
176
+ }
177
+
178
+ function registerQueries(sdlFields, resolvers) {
179
+ queryFields.contents = queryFields.contents.concat(sdlFields);
180
+ Object.entries(resolvers).forEach(param => {
181
+ queryResolvers.contents[param[0]] = param[1];
182
+ });
183
+ }
184
+
185
+ function registerSubscriptions(sdlFields, resolvers) {
186
+ subscriptionFields.contents = subscriptionFields.contents.concat(sdlFields);
187
+ Object.entries(resolvers).forEach(param => {
188
+ subscriptionResolvers.contents[param[0]] = param[1];
189
+ });
190
+ }
191
+
192
+ function getMutationResolver(fieldName) {
193
+ return mutationResolvers.contents[fieldName];
194
+ }
195
+
196
+ function getQueryResolver(fieldName) {
197
+ return queryResolvers.contents[fieldName];
198
+ }
199
+
200
+ function registerTypes(sdlTypes) {
201
+ typeDefinitions.contents = typeDefinitions.contents.concat(sdlTypes);
202
+ }
203
+
204
+ let nodeTypeRegistry = {
205
+ contents: {}
206
+ };
207
+
208
+ function registerNodeType(typeName, queryDbName) {
209
+ nodeTypeRegistry.contents[typeName] = queryDbName;
210
+ }
211
+
212
+ let nodeResolverCallback = {
213
+ contents: undefined
214
+ };
215
+
216
+ function registerNodeResolverCallback(cb) {
217
+ nodeResolverCallback.contents = cb;
218
+ }
219
+
220
+ function buildNodeResolver() {
221
+ let resolve = nodeResolverCallback.contents;
222
+ if (resolve === undefined) {
223
+ return;
224
+ }
225
+ let resolver = async (_root, args, _ctx) => {
226
+ let id = Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_Option.flatMap(Stdlib_JSON.Decode.object(args), d => d["id"]), Stdlib_JSON.Decode.string), "");
227
+ let match = decodeGlobalId(id);
228
+ if (match === undefined) {
229
+ return null;
230
+ }
231
+ let entity = await resolve(match[0], match[1]);
232
+ if (entity !== undefined) {
233
+ return entity;
234
+ } else {
235
+ return null;
236
+ }
237
+ };
238
+ return [
239
+ "node",
240
+ resolver
241
+ ];
242
+ }
243
+
244
+ let debug = Stdlib_Option.isSome(process.env["GRAPHQL_DEBUG"]);
245
+
246
+ let activeServer = {
247
+ contents: undefined
248
+ };
249
+
250
+ let activeSchema = {
251
+ contents: undefined
252
+ };
253
+
254
+ let lastFullSdl = {
255
+ contents: undefined
256
+ };
257
+
258
+ function buildSdl() {
259
+ let typesSdl = typeDefinitions.contents.length !== 0 ? typeDefinitions.contents.join("\n\n") : "";
260
+ let mutations = mutationFields.contents.length !== 0 ? mutationFields.contents.join("\n") : " _noop: String";
261
+ let queries = queryFields.contents.length !== 0 ? queryFields.contents.join("\n") : " _noop: String";
262
+ let queriesMutationsSdl = `type Query {
263
+ ` + queries + `
264
+ }
265
+ type Mutation {
266
+ ` + mutations + `
267
+ }`;
268
+ let subscriptionsSdl = subscriptionFields.contents.length !== 0 ? `\n\ntype Subscription {\n` + subscriptionFields.contents.join("\n") + `\n}` : "";
269
+ let base = typesSdl.length > 0 ? typesSdl + "\n\n" + queriesMutationsSdl : queriesMutationsSdl;
270
+ return base + subscriptionsSdl;
271
+ }
272
+
273
+ function start(portOpt, param, param$1) {
274
+ let port = portOpt !== undefined ? portOpt : 4000;
275
+ let match = buildNodeResolver();
276
+ if (match !== undefined) {
277
+ queryResolvers.contents[match[0]] = match[1];
278
+ }
279
+ let resolvers = {};
280
+ resolvers["Query"] = queryResolvers.contents;
281
+ resolvers["Mutation"] = mutationResolvers.contents;
282
+ if (Object.keys(subscriptionResolvers.contents).length !== 0) {
283
+ resolvers["Subscription"] = subscriptionResolvers.contents;
284
+ }
285
+ let sdl = buildSdl();
286
+ lastFullSdl.contents = sdl;
287
+ let schema = GraphqlYoga.createSchema({
288
+ typeDefs: sdl,
289
+ resolvers: resolvers
290
+ });
291
+ activeSchema.contents = Primitive_option.some(schema);
292
+ let yoga = GraphqlYoga.createYoga({
293
+ schema: schema,
294
+ graphiql: true,
295
+ logging: debug,
296
+ maskedErrors: !debug,
297
+ context: Auth_GraphqlContext$ReventlessLocal.buildAuthContext
298
+ });
299
+ let getSdl = () => {
300
+ let s = activeSchema.contents;
301
+ if (s !== undefined) {
302
+ return Graphql.printSchema(Primitive_option.valFromOption(s));
303
+ } else {
304
+ return Stdlib_Option.getOr(lastFullSdl.contents, "");
305
+ }
306
+ };
307
+ let server = Http.createServer((req, res) => _dispatch(req, res, yoga, getSdl));
308
+ server.listen(port, () => log.info("GraphQL:Domain", undefined, `listening on http://localhost:` + port.toString() + `/graphql (SDL: /sdl)`));
309
+ activeServer.contents = Primitive_option.some(server);
310
+ }
311
+
312
+ function stop() {
313
+ let server = activeServer.contents;
314
+ if (server !== undefined) {
315
+ Primitive_option.valFromOption(server).close(() => {});
316
+ activeServer.contents = undefined;
317
+ activeSchema.contents = undefined;
318
+ return;
319
+ }
320
+ }
321
+
322
+ function rebuildSchema(baseFragment, pluginFragments) {
323
+ stop();
324
+ let allFragments = [baseFragment].concat(pluginFragments);
325
+ let fragmentTypes = allFragments.flatMap(frag => GraphQL_Stitcher$ReventlessCore.decode(frag).types);
326
+ let existingNames = new Set(typeDefinitions.contents.map(GraphQL_Stitcher$ReventlessCore.extractLeadingName));
327
+ fragmentTypes.forEach(typeDef => {
328
+ let name = GraphQL_Stitcher$ReventlessCore.extractLeadingName(typeDef);
329
+ if (!existingNames.has(name)) {
330
+ typeDefinitions.contents.push(typeDef);
331
+ existingNames.add(name);
332
+ return;
333
+ }
334
+ });
335
+ let match = buildNodeResolver();
336
+ if (match !== undefined) {
337
+ queryResolvers.contents[match[0]] = match[1];
338
+ }
339
+ let fullSdl = buildSdl();
340
+ lastFullSdl.contents = fullSdl;
341
+ let resolvers = {};
342
+ resolvers["Query"] = queryResolvers.contents;
343
+ resolvers["Mutation"] = mutationResolvers.contents;
344
+ if (Object.keys(subscriptionResolvers.contents).length !== 0) {
345
+ resolvers["Subscription"] = subscriptionResolvers.contents;
346
+ }
347
+ let schema = GraphqlYoga.createSchema({
348
+ typeDefs: fullSdl,
349
+ resolvers: resolvers
350
+ });
351
+ activeSchema.contents = Primitive_option.some(schema);
352
+ let yoga = GraphqlYoga.createYoga({
353
+ schema: schema,
354
+ graphiql: true,
355
+ logging: debug,
356
+ maskedErrors: !debug,
357
+ context: Auth_GraphqlContext$ReventlessLocal.buildAuthContext
358
+ });
359
+ let getSdl = () => {
360
+ let s = activeSchema.contents;
361
+ if (s !== undefined) {
362
+ return Graphql.printSchema(Primitive_option.valFromOption(s));
363
+ } else {
364
+ return Stdlib_Option.getOr(lastFullSdl.contents, "");
365
+ }
366
+ };
367
+ let server = Http.createServer((req, res) => _dispatch(req, res, yoga, getSdl));
368
+ server.listen(4000, () => log.info("GraphQL:Domain", undefined, "rebuilt schema - http://localhost:4000/graphql (SDL: /sdl)"));
369
+ activeServer.contents = Primitive_option.some(server);
370
+ }
371
+
372
+ function reset() {
373
+ mutationResolvers.contents = {};
374
+ queryResolvers.contents = {};
375
+ subscriptionResolvers.contents = {};
376
+ mutationFields.contents = [];
377
+ queryFields.contents = [];
378
+ subscriptionFields.contents = [];
379
+ typeDefinitions.contents = [];
380
+ nodeTypeRegistry.contents = {};
381
+ nodeResolverCallback.contents = undefined;
382
+ activeSchema.contents = undefined;
383
+ lastFullSdl.contents = undefined;
384
+ }
385
+
386
+ function getRegisteredSdl() {
387
+ return buildSdl();
388
+ }
389
+
390
+ function getRegisteredResolverNames() {
391
+ return {
392
+ mutations: Object.keys(mutationResolvers.contents),
393
+ queries: Object.keys(queryResolvers.contents)
394
+ };
395
+ }
396
+
397
+ function getFullSdl() {
398
+ return lastFullSdl.contents;
399
+ }
400
+
401
+ function getSchema() {
402
+ return activeSchema.contents;
403
+ }
404
+
405
+ function getLiveSdl() {
406
+ return Stdlib_Option.map(activeSchema.contents, prim => Graphql.printSchema(prim));
407
+ }
408
+
409
+ function printLiveSdl() {
410
+ let sdl = getLiveSdl();
411
+ if (sdl !== undefined) {
412
+ log.info("GraphQL:Domain", undefined, "Live SDL:");
413
+ console.log(sdl);
414
+ return;
415
+ } else {
416
+ return log.info("GraphQL:Domain", undefined, "no active schema");
417
+ }
418
+ }
419
+
420
+ function extractFieldName(sdlField) {
421
+ let trimmed = sdlField.trim();
422
+ return Stdlib_Option.getOr(Stdlib_Option.getOr(trimmed.split("(")[0], "").trim().split(":")[0], "").trim();
423
+ }
424
+
425
+ function diagnostics() {
426
+ let mutFieldNames = mutationFields.contents.map(extractFieldName).filter(n => n !== "_noop");
427
+ let queryFieldNames = queryFields.contents.map(extractFieldName).filter(n => n !== "_noop");
428
+ let mutResolverNames = Object.keys(mutationResolvers.contents);
429
+ let queryResolverNames = Object.keys(queryResolvers.contents);
430
+ let mismatches = [];
431
+ let mutResolverSet = new Set(mutResolverNames);
432
+ mutFieldNames.forEach(name => {
433
+ if (!mutResolverSet.has(name)) {
434
+ mismatches.push(`Mutation "` + name + `": SDL field but no resolver`);
435
+ return;
436
+ }
437
+ });
438
+ let queryResolverSet = new Set(queryResolverNames);
439
+ queryFieldNames.forEach(name => {
440
+ if (!queryResolverSet.has(name)) {
441
+ mismatches.push(`Query "` + name + `": SDL field but no resolver`);
442
+ return;
443
+ }
444
+ });
445
+ let mutFieldSet = new Set(mutFieldNames);
446
+ mutResolverNames.forEach(name => {
447
+ if (!mutFieldSet.has(name)) {
448
+ mismatches.push(`Mutation "` + name + `": resolver but no SDL field`);
449
+ return;
450
+ }
451
+ });
452
+ let queryFieldSet = new Set(queryFieldNames);
453
+ queryResolverNames.forEach(name => {
454
+ if (!queryFieldSet.has(name)) {
455
+ mismatches.push(`Query "` + name + `": resolver but no SDL field`);
456
+ return;
457
+ }
458
+ });
459
+ let typeNames = typeDefinitions.contents.map(GraphQL_Stitcher$ReventlessCore.extractLeadingName);
460
+ return {
461
+ registeredTypeDefinitions: typeNames,
462
+ registeredMutationFields: mutFieldNames,
463
+ registeredQueryFields: queryFieldNames,
464
+ registeredMutationResolvers: mutResolverNames,
465
+ registeredQueryResolvers: queryResolverNames,
466
+ typeCount: typeNames.length,
467
+ sdlMutationCount: mutFieldNames.length,
468
+ sdlQueryCount: queryFieldNames.length,
469
+ resolverMutationCount: mutResolverNames.length,
470
+ resolverQueryCount: queryResolverNames.length,
471
+ mismatches: mismatches,
472
+ fullSdl: lastFullSdl.contents,
473
+ serverRunning: Stdlib_Option.isSome(activeServer.contents)
474
+ };
475
+ }
476
+
477
+ function printDiagnostics() {
478
+ let p = s => log.info("GraphQL:Domain", undefined, s);
479
+ let d = diagnostics();
480
+ p("Diagnostics");
481
+ p(` Types: ` + d.typeCount.toString());
482
+ p(` Mutations: ` + d.sdlMutationCount.toString() + ` SDL fields, ` + d.resolverMutationCount.toString() + ` resolvers`);
483
+ p(` Queries: ` + d.sdlQueryCount.toString() + ` SDL fields, ` + d.resolverQueryCount.toString() + ` resolvers`);
484
+ if (d.mismatches.length !== 0) {
485
+ p(` Mismatches (` + d.mismatches.length.toString() + `):`);
486
+ d.mismatches.forEach(m => p(` ⚠ ` + m));
487
+ } else {
488
+ p(" No mismatches");
489
+ }
490
+ p(` Server running: ` + (
491
+ d.serverRunning ? "yes" : "no"
492
+ ));
493
+ let sdl = d.fullSdl;
494
+ if (sdl !== undefined) {
495
+ p("");
496
+ p("--- Full SDL ---");
497
+ sdl.split("\n").forEach(p);
498
+ return p("--- End ---");
499
+ } else {
500
+ return p(" No SDL recorded");
501
+ }
502
+ }
503
+
504
+ let asInterface = {
505
+ registerMutations: registerMutations,
506
+ registerQueries: registerQueries,
507
+ registerSubscriptions: registerSubscriptions,
508
+ registerTypes: registerTypes,
509
+ getMutationResolver: getMutationResolver,
510
+ getQueryResolver: getQueryResolver,
511
+ start: start,
512
+ stop: stop,
513
+ reset: reset,
514
+ buildSdl: buildSdl,
515
+ getFullSdl: getFullSdl,
516
+ getSchema: getSchema,
517
+ diagnostics: diagnostics,
518
+ printDiagnostics: printDiagnostics
519
+ };
520
+
521
+ let YG;
522
+
523
+ let buildAuthContext = Auth_GraphqlContext$ReventlessLocal.buildAuthContext;
524
+
525
+ export {
526
+ YG,
527
+ log,
528
+ readBody,
529
+ _writeJson,
530
+ _loginRejected,
531
+ handleLogin,
532
+ handleLogout,
533
+ _isInvalidBearer,
534
+ _dispatch,
535
+ buildAuthContext,
536
+ encodeGlobalId,
537
+ decodeGlobalId,
538
+ mutationResolvers,
539
+ queryResolvers,
540
+ subscriptionResolvers,
541
+ mutationFields,
542
+ queryFields,
543
+ subscriptionFields,
544
+ typeDefinitions,
545
+ registerMutations,
546
+ registerQueries,
547
+ registerSubscriptions,
548
+ getMutationResolver,
549
+ getQueryResolver,
550
+ registerTypes,
551
+ nodeTypeRegistry,
552
+ registerNodeType,
553
+ nodeResolverCallback,
554
+ registerNodeResolverCallback,
555
+ buildNodeResolver,
556
+ debug,
557
+ activeServer,
558
+ activeSchema,
559
+ lastFullSdl,
560
+ buildSdl,
561
+ start,
562
+ stop,
563
+ rebuildSchema,
564
+ reset,
565
+ getRegisteredSdl,
566
+ getRegisteredResolverNames,
567
+ getFullSdl,
568
+ getSchema,
569
+ getLiveSdl,
570
+ printLiveSdl,
571
+ extractFieldName,
572
+ diagnostics,
573
+ printDiagnostics,
574
+ asInterface,
575
+ }
576
+ /* log Not a pure module */