@sprucelabs/spruce-cli 19.1.39 → 19.1.41

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 (532) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/GlobalEmitter.js +4 -5
  3. package/build/GlobalEmitter.js.map +1 -1
  4. package/build/__tests__/behavioral/AddingADependency.test.js +7 -8
  5. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  6. package/build/__tests__/behavioral/BlockingCommands.test.js +7 -8
  7. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  8. package/build/__tests__/behavioral/BootingTheCli.test.js +4 -5
  9. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  10. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +4 -5
  11. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  12. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +4 -5
  13. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  14. package/build/__tests__/behavioral/DeployingASkill.test.js +9 -10
  15. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  16. package/build/__tests__/behavioral/DeployingToSandbox.test.js +8 -9
  17. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  18. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +4 -5
  19. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  20. package/build/__tests__/behavioral/GettingCliVersion.test.js +5 -6
  21. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  22. package/build/__tests__/behavioral/ManagingDependencies.test.js +7 -8
  23. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  24. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +7 -8
  25. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  26. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +4 -5
  27. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  28. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +7 -8
  29. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  30. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +7 -8
  31. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  32. package/build/__tests__/behavioral/SettingRemote.test.js +7 -8
  33. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  34. package/build/__tests__/behavioral/SettingUpVscode.test.js +4 -5
  35. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  36. package/build/__tests__/behavioral/TestingAConversation.test.js +4 -5
  37. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  38. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +4 -5
  39. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  40. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +4 -5
  41. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  42. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +4 -5
  43. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  44. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +4 -5
  45. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  46. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +8 -9
  47. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  48. package/build/__tests__/behavioral/events/CreatingAListener.test.js +8 -9
  49. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  50. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +7 -8
  51. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  52. package/build/__tests__/behavioral/events/EventWriter.test.js +4 -5
  53. package/build/__tests__/behavioral/events/EventWriter.test.js.map +1 -1
  54. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +4 -5
  55. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  56. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +7 -8
  57. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  58. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +4 -5
  59. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  60. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +4 -5
  61. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  62. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js +7 -8
  63. package/build/__tests__/behavioral/events/ListeningToCoreEvents.test.js.map +1 -1
  64. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js +5 -6
  65. package/build/__tests__/behavioral/events/RegisteringEventsOnBoot.test.js.map +1 -1
  66. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js +8 -9
  67. package/build/__tests__/behavioral/events/RegisteringGlobalEvents.test.js.map +1 -1
  68. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +4 -5
  69. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  70. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +5 -6
  71. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  72. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js +7 -8
  73. package/build/__tests__/behavioral/events/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  74. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +4 -5
  75. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  76. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +5 -7
  77. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  78. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +4 -5
  79. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  80. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +4 -5
  81. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  82. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js +4 -5
  83. package/build/__tests__/behavioral/permissions/PermissionPlugin.test.js.map +1 -1
  84. package/build/__tests__/behavioral/permissions/PermissionStore.test.js +8 -9
  85. package/build/__tests__/behavioral/permissions/PermissionStore.test.js.map +1 -1
  86. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js +4 -5
  87. package/build/__tests__/behavioral/permissions/PermissionWriter.test.js.map +1 -1
  88. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +8 -10
  89. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  90. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js +5 -6
  91. package/build/__tests__/behavioral/permissions/support/AbstractPermissionsTest.js.map +1 -1
  92. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +4 -5
  93. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  94. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +4 -5
  95. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  96. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +4 -5
  97. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  98. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +4 -5
  99. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  100. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js +4 -5
  101. package/build/__tests__/behavioral/schemas/CreatingSchemasWithGenerics.test.js.map +1 -1
  102. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +4 -5
  103. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  104. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +4 -5
  105. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  106. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +4 -5
  107. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  108. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +4 -5
  109. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  110. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +8 -9
  111. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  112. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +4 -5
  113. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  114. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +9 -10
  115. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  116. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +4 -5
  117. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  118. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +4 -5
  119. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  120. package/build/__tests__/behavioral/skill/BootingASkill.test.js +7 -8
  121. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +5 -6
  123. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  124. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js +5 -6
  125. package/build/__tests__/behavioral/skill/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js +8 -9
  127. package/build/__tests__/behavioral/skill/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js +7 -8
  129. package/build/__tests__/behavioral/skill/RebuildingASkill.test.js.map +1 -1
  130. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +19 -14
  131. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  132. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +4 -5
  133. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  134. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +7 -8
  135. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  136. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +8 -9
  137. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  138. package/build/__tests__/behavioral/tests/CreatingATest.test.js +4 -5
  139. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  140. package/build/__tests__/behavioral/tests/RunningTests.test.js +8 -9
  141. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  142. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +4 -5
  143. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  144. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js +7 -8
  145. package/build/__tests__/behavioral/tests/SettingUpASkillForTesting.test.js.map +1 -1
  146. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +4 -5
  147. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  148. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js +4 -5
  149. package/build/__tests__/behavioral/tests/TestReporterSettingsRemembered.test.js.map +1 -1
  150. package/build/__tests__/behavioral/tests/TestingDataStores.test.js +7 -8
  151. package/build/__tests__/behavioral/tests/TestingDataStores.test.js.map +1 -1
  152. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +8 -9
  153. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  154. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +8 -9
  155. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  156. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +5 -6
  157. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  158. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +5 -6
  159. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  160. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +5 -6
  161. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  162. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +8 -9
  163. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  164. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +5 -6
  165. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  166. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.d.ts +5 -0
  167. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +238 -74
  168. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  169. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +4 -5
  170. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  171. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +5 -6
  172. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  173. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +8 -9
  174. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  175. package/build/__tests__/behavioral/views/CreatingATheme.test.js +7 -8
  176. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  177. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +8 -9
  178. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js +7 -8
  180. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.js.map +1 -1
  181. package/build/__tests__/behavioral/views/SettingUpViews.test.js +4 -5
  182. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  183. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +8 -9
  184. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  185. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js +8 -9
  186. package/build/__tests__/behavioral/views/WatchingSkillViews.test.js.map +1 -1
  187. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +4 -5
  188. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  189. package/build/__tests__/implementation/ActionExecuter.test.js +4 -5
  190. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  191. package/build/__tests__/implementation/ActionExecuter2.test.js +4 -5
  192. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  193. package/build/__tests__/implementation/ActionExecuter3.test.js +4 -5
  194. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  195. package/build/__tests__/implementation/ActionExecuter4.test.js +5 -6
  196. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  197. package/build/__tests__/implementation/ArgParser.test.js +4 -5
  198. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  199. package/build/__tests__/implementation/BuildService.test.js +4 -5
  200. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  201. package/build/__tests__/implementation/BulkImporting.test.js +7 -8
  202. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  203. package/build/__tests__/implementation/CachingImports.test.js +8 -9
  204. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  205. package/build/__tests__/implementation/CommandOptionBuilder.test.js +4 -5
  206. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  207. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +8 -9
  208. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  209. package/build/__tests__/implementation/DataStoreStore.test.js +8 -9
  210. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  211. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +4 -5
  212. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  213. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +4 -5
  214. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventStore.test.js +8 -9
  216. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  217. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +8 -9
  218. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  219. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +8 -9
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js +8 -9
  222. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeatureInstaller.test.js +8 -9
  224. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  225. package/build/__tests__/implementation/FeaturesUtil.test.js +4 -5
  226. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  227. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +7 -8
  228. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  229. package/build/__tests__/implementation/GlobalEmitter.test.js +4 -5
  230. package/build/__tests__/implementation/GlobalEmitter.test.js.map +1 -1
  231. package/build/__tests__/implementation/Introspection.test.js +4 -5
  232. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  233. package/build/__tests__/implementation/JestJsonParser.test.js +8 -9
  234. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  235. package/build/__tests__/implementation/LintService.test.js +4 -5
  236. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  237. package/build/__tests__/implementation/ListenerStore.test.js +4 -5
  238. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +7 -8
  240. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  241. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +8 -9
  242. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  243. package/build/__tests__/implementation/OnboardingStore.test.js +8 -9
  244. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  245. package/build/__tests__/implementation/OrganizationStore.test.js +4 -5
  246. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  247. package/build/__tests__/implementation/ParentTestFinder.test.js +4 -5
  248. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  249. package/build/__tests__/implementation/PkgService.test.js +8 -9
  250. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  251. package/build/__tests__/implementation/SchemaStore.test.js +4 -5
  252. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  253. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +8 -9
  254. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  255. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +8 -9
  256. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  257. package/build/__tests__/implementation/ServiceFactory.test.js +8 -9
  258. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  259. package/build/__tests__/implementation/SettingUpANodeModule.test.js +4 -5
  260. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  261. package/build/__tests__/implementation/SkillStore.test.js +8 -9
  262. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  263. package/build/__tests__/implementation/StoreFeature.test.js +4 -5
  264. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  265. package/build/__tests__/implementation/TestReporter.test.js +8 -9
  266. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  267. package/build/__tests__/implementation/TestRunner.test.js +8 -9
  268. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  269. package/build/__tests__/implementation/ValueTypeMapping.test.js +5 -6
  270. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  271. package/build/__tests__/implementation/Widgets.test.js +8 -9
  272. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  273. package/build/__tests__/support/EventFaker.d.ts +2 -0
  274. package/build/__tests__/support/EventFaker.js +54 -0
  275. package/build/__tests__/support/EventFaker.js.map +1 -1
  276. package/build/components/FormComponent.js +5 -6
  277. package/build/components/FormComponent.js.map +1 -1
  278. package/build/errors/SpruceError.js +5 -6
  279. package/build/errors/SpruceError.js.map +1 -1
  280. package/build/features/ActionFactory.d.ts +1 -2
  281. package/build/features/ActionFactory.js.map +1 -1
  282. package/build/features/cache/CacheFeature.js +5 -6
  283. package/build/features/cache/CacheFeature.js.map +1 -1
  284. package/build/features/cache/actions/DisableAction.js +5 -6
  285. package/build/features/cache/actions/DisableAction.js.map +1 -1
  286. package/build/features/cache/actions/EnableAction.js +5 -6
  287. package/build/features/cache/actions/EnableAction.js.map +1 -1
  288. package/build/features/conversation/ConversationFeature.js +5 -6
  289. package/build/features/conversation/ConversationFeature.js.map +1 -1
  290. package/build/features/conversation/actions/CreateAction.js +5 -6
  291. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  292. package/build/features/conversation/actions/TestAction.js +5 -6
  293. package/build/features/conversation/actions/TestAction.js.map +1 -1
  294. package/build/features/conversation/stores/ConversationStore.js +5 -6
  295. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  296. package/build/features/conversation/writers/ConversationWriter.js +4 -5
  297. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  298. package/build/features/dependencies/DependencyFeature.js +5 -6
  299. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  300. package/build/features/dependencies/actions/AddAction.js +5 -6
  301. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  302. package/build/features/dependencies/actions/ManageAction.js +5 -6
  303. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  304. package/build/features/deploy/DeployFeature.js +5 -6
  305. package/build/features/deploy/DeployFeature.js.map +1 -1
  306. package/build/features/deploy/actions/HerokuAction.js +5 -6
  307. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  308. package/build/features/deploy/writers/DeployWriter.js +4 -5
  309. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  310. package/build/features/error/ErrorFeature.js +5 -6
  311. package/build/features/error/ErrorFeature.js.map +1 -1
  312. package/build/features/error/actions/CreateAction.js +5 -6
  313. package/build/features/error/actions/CreateAction.js.map +1 -1
  314. package/build/features/error/actions/SyncAction.js +5 -6
  315. package/build/features/error/actions/SyncAction.js.map +1 -1
  316. package/build/features/error/writers/ErrorWriter.js +4 -5
  317. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  318. package/build/features/event/EventFeature.js +5 -6
  319. package/build/features/event/EventFeature.js.map +1 -1
  320. package/build/features/event/actions/CreateAction.js +5 -6
  321. package/build/features/event/actions/CreateAction.js.map +1 -1
  322. package/build/features/event/actions/ListenAction.js +5 -6
  323. package/build/features/event/actions/ListenAction.js.map +1 -1
  324. package/build/features/event/actions/SetRemoteAction.js +5 -6
  325. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  326. package/build/features/event/actions/SyncAction.js +5 -6
  327. package/build/features/event/actions/SyncAction.js.map +1 -1
  328. package/build/features/event/actions/SyncListenersAction.js +5 -6
  329. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  330. package/build/features/event/stores/EventStore.js +5 -6
  331. package/build/features/event/stores/EventStore.js.map +1 -1
  332. package/build/features/event/stores/ListenerStore.js +5 -6
  333. package/build/features/event/stores/ListenerStore.js.map +1 -1
  334. package/build/features/event/writers/EventWriter.js +4 -5
  335. package/build/features/event/writers/EventWriter.js.map +1 -1
  336. package/build/features/eventContract/EventContractFeature.js +5 -6
  337. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  338. package/build/features/eventContract/actions/PullAction.js +5 -6
  339. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  340. package/build/features/log/LogFeature.js +5 -6
  341. package/build/features/log/LogFeature.js.map +1 -1
  342. package/build/features/log/actions/CreateTransportAction.js +5 -6
  343. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  344. package/build/features/log/writers/LogWriter.js +4 -5
  345. package/build/features/log/writers/LogWriter.js.map +1 -1
  346. package/build/features/node/NodeFeature.js +5 -6
  347. package/build/features/node/NodeFeature.js.map +1 -1
  348. package/build/features/node/actions/CreateAction.js +5 -6
  349. package/build/features/node/actions/CreateAction.js.map +1 -1
  350. package/build/features/node/actions/UpdateDependenciesAction.js +5 -6
  351. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  352. package/build/features/node/actions/UpgradeAction.js +13 -11
  353. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  354. package/build/features/node/writers/NodeWriter.js +4 -5
  355. package/build/features/node/writers/NodeWriter.js.map +1 -1
  356. package/build/features/onboard/OnboardFeature.js +5 -6
  357. package/build/features/onboard/OnboardFeature.js.map +1 -1
  358. package/build/features/onboard/actions/OnboardAction.js +5 -6
  359. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  360. package/build/features/onboard/stores/OnboardingStore.js +5 -6
  361. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  362. package/build/features/organization/OrganizationFeature.js +5 -6
  363. package/build/features/organization/OrganizationFeature.js.map +1 -1
  364. package/build/features/organization/actions/CreateAction.js +5 -6
  365. package/build/features/organization/actions/CreateAction.js.map +1 -1
  366. package/build/features/organization/actions/InstallAction.js +5 -6
  367. package/build/features/organization/actions/InstallAction.js.map +1 -1
  368. package/build/features/organization/stores/OrganizationStore.js +5 -6
  369. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  370. package/build/features/permission/PermissionFeature.js +5 -6
  371. package/build/features/permission/PermissionFeature.js.map +1 -1
  372. package/build/features/permission/actions/CreateAction.js +5 -6
  373. package/build/features/permission/actions/CreateAction.js.map +1 -1
  374. package/build/features/permission/actions/SyncAction.js +5 -6
  375. package/build/features/permission/actions/SyncAction.js.map +1 -1
  376. package/build/features/permission/stores/PermissionStore.js +5 -6
  377. package/build/features/permission/stores/PermissionStore.js.map +1 -1
  378. package/build/features/permission/writers/PermissionWriter.js +4 -5
  379. package/build/features/permission/writers/PermissionWriter.js.map +1 -1
  380. package/build/features/person/PersonFeature.js +5 -6
  381. package/build/features/person/PersonFeature.js.map +1 -1
  382. package/build/features/person/actions/LoginAction.js +5 -6
  383. package/build/features/person/actions/LoginAction.js.map +1 -1
  384. package/build/features/person/actions/LogoutAction.js +5 -6
  385. package/build/features/person/actions/LogoutAction.js.map +1 -1
  386. package/build/features/person/actions/WhoamiAction.js +5 -6
  387. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  388. package/build/features/polish/PolishFeature.js +5 -6
  389. package/build/features/polish/PolishFeature.js.map +1 -1
  390. package/build/features/polish/actions/SetupAction.js +5 -6
  391. package/build/features/polish/actions/SetupAction.js.map +1 -1
  392. package/build/features/polish/writers/PolishWriter.js +4 -5
  393. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  394. package/build/features/sandbox/SandboxFeature.js +5 -6
  395. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  396. package/build/features/sandbox/actions/SetupAction.js +5 -6
  397. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  398. package/build/features/sandbox/writers/SandboxWriter.js +4 -5
  399. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  400. package/build/features/schema/SchemaFeature.js +5 -6
  401. package/build/features/schema/SchemaFeature.js.map +1 -1
  402. package/build/features/schema/actions/CreateAction.js +5 -6
  403. package/build/features/schema/actions/CreateAction.js.map +1 -1
  404. package/build/features/schema/actions/SyncAction.js +5 -6
  405. package/build/features/schema/actions/SyncAction.js.map +1 -1
  406. package/build/features/schema/actions/SyncFieldsAction.js +5 -6
  407. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  408. package/build/features/schema/services/SchemaService.js +4 -5
  409. package/build/features/schema/services/SchemaService.js.map +1 -1
  410. package/build/features/schema/stores/SchemaStore.js +5 -6
  411. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  412. package/build/features/schema/writers/SchemaWriter.js +5 -6
  413. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  414. package/build/features/skill/SkillFeature.js +5 -6
  415. package/build/features/skill/SkillFeature.js.map +1 -1
  416. package/build/features/skill/actions/BootAction.js +5 -6
  417. package/build/features/skill/actions/BootAction.js.map +1 -1
  418. package/build/features/skill/actions/CreateAction.js +5 -6
  419. package/build/features/skill/actions/CreateAction.js.map +1 -1
  420. package/build/features/skill/actions/DashboardAction.js +5 -6
  421. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  422. package/build/features/skill/actions/LoginAction.js +5 -6
  423. package/build/features/skill/actions/LoginAction.js.map +1 -1
  424. package/build/features/skill/actions/RebuildAction.js +5 -6
  425. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  426. package/build/features/skill/actions/RegisterAction.js +5 -6
  427. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  428. package/build/features/skill/stores/SkillStore.js +5 -6
  429. package/build/features/skill/stores/SkillStore.js.map +1 -1
  430. package/build/features/skill/writers/SkillWriter.js +4 -5
  431. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  432. package/build/features/store/StoreFeature.js +5 -6
  433. package/build/features/store/StoreFeature.js.map +1 -1
  434. package/build/features/store/actions/CreateAction.js +5 -6
  435. package/build/features/store/actions/CreateAction.js.map +1 -1
  436. package/build/features/store/actions/SyncAction.js +5 -6
  437. package/build/features/store/actions/SyncAction.js.map +1 -1
  438. package/build/features/store/stores/StoreStore.js +5 -6
  439. package/build/features/store/stores/StoreStore.js.map +1 -1
  440. package/build/features/store/writers/StoreWriter.js +4 -5
  441. package/build/features/store/writers/StoreWriter.js.map +1 -1
  442. package/build/features/test/TestFeature.js +5 -6
  443. package/build/features/test/TestFeature.js.map +1 -1
  444. package/build/features/test/TestReporter.js +2 -2
  445. package/build/features/test/TestReporter.js.map +1 -1
  446. package/build/features/test/TestRunner.js +5 -6
  447. package/build/features/test/TestRunner.js.map +1 -1
  448. package/build/features/test/actions/CreateAction.js +5 -6
  449. package/build/features/test/actions/CreateAction.js.map +1 -1
  450. package/build/features/test/actions/SetupAction.js +5 -6
  451. package/build/features/test/actions/SetupAction.js.map +1 -1
  452. package/build/features/test/actions/TestAction.js +5 -6
  453. package/build/features/test/actions/TestAction.js.map +1 -1
  454. package/build/features/test/writers/TestWriter.js +4 -5
  455. package/build/features/test/writers/TestWriter.js.map +1 -1
  456. package/build/features/view/ViewFeature.js +5 -6
  457. package/build/features/view/ViewFeature.js.map +1 -1
  458. package/build/features/view/actions/CreateAction.js +5 -6
  459. package/build/features/view/actions/CreateAction.js.map +1 -1
  460. package/build/features/view/actions/CreateThemeAction.js +5 -6
  461. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  462. package/build/features/view/actions/SyncAction.js +5 -6
  463. package/build/features/view/actions/SyncAction.js.map +1 -1
  464. package/build/features/view/actions/WatchAction.js +5 -6
  465. package/build/features/view/actions/WatchAction.js.map +1 -1
  466. package/build/features/view/stores/ViewStore.js +5 -6
  467. package/build/features/view/stores/ViewStore.js.map +1 -1
  468. package/build/features/view/writers/ViewWriter.js +4 -5
  469. package/build/features/view/writers/ViewWriter.js.map +1 -1
  470. package/build/features/vscode/VsCodeFeature.js +5 -6
  471. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  472. package/build/features/vscode/actions/SetupAction.js +5 -6
  473. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  474. package/build/features/vscode/services/VsCodeService.js +4 -5
  475. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  476. package/build/features/vscode/writers/VsCodeWriter.js +4 -5
  477. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  478. package/build/features/watch/WatchFeature.js +5 -6
  479. package/build/features/watch/WatchFeature.js.map +1 -1
  480. package/build/services/PkgService.js +5 -6
  481. package/build/services/PkgService.js.map +1 -1
  482. package/build/services/ServiceFactory.d.ts +7 -4
  483. package/build/services/ServiceFactory.js +15 -0
  484. package/build/services/ServiceFactory.js.map +1 -1
  485. package/build/stores/AbstractLocalStore.js +4 -5
  486. package/build/stores/AbstractLocalStore.js.map +1 -1
  487. package/build/stores/AbstractStore.js.map +1 -1
  488. package/build/tests/AbstractCliTest.d.ts +2 -0
  489. package/build/tests/AbstractCliTest.js +10 -7
  490. package/build/tests/AbstractCliTest.js.map +1 -1
  491. package/build/tests/AbstractErrorTest.js +4 -5
  492. package/build/tests/AbstractErrorTest.js.map +1 -1
  493. package/build/tests/AbstractEventTest.js +4 -5
  494. package/build/tests/AbstractEventTest.js.map +1 -1
  495. package/build/tests/AbstractSchemaTest.js +4 -5
  496. package/build/tests/AbstractSchemaTest.js.map +1 -1
  497. package/build/tests/AbstractSkillTest.js +5 -6
  498. package/build/tests/AbstractSkillTest.js.map +1 -1
  499. package/build/tests/AbstractTestTest.js +4 -5
  500. package/build/tests/AbstractTestTest.js.map +1 -1
  501. package/build/widgets/terminalKit/TKButtonWidget.js +5 -6
  502. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  503. package/build/widgets/terminalKit/TkBaseWidget.js +6 -7
  504. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  505. package/build/widgets/terminalKit/TkInputWidget.js +5 -6
  506. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  507. package/build/widgets/terminalKit/TkLayoutCellWidget.js +6 -7
  508. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  509. package/build/widgets/terminalKit/TkLayoutWidget.js +5 -6
  510. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  511. package/build/widgets/terminalKit/TkMenuBarWidget.js +5 -6
  512. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  513. package/build/widgets/terminalKit/TkPopupWidget.js +6 -7
  514. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  515. package/build/widgets/terminalKit/TkProgressBarWidget.js +5 -6
  516. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  517. package/build/widgets/terminalKit/TkTextWidget.js +5 -6
  518. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  519. package/build/widgets/terminalKit/TkWindowWidget.js +5 -6
  520. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  521. package/package.json +34 -34
  522. package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +3 -0
  523. package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +72 -6
  524. package/src/__tests__/support/EventFaker.ts +22 -0
  525. package/src/components/FormComponent.ts +3 -2
  526. package/src/features/ActionFactory.ts +2 -3
  527. package/src/features/node/actions/UpgradeAction.ts +2 -0
  528. package/src/features/test/TestReporter.ts +2 -2
  529. package/src/features/watch/WatchFeature.ts +3 -6
  530. package/src/services/ServiceFactory.ts +37 -22
  531. package/src/stores/AbstractStore.ts +4 -3
  532. package/src/tests/AbstractCliTest.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaStore.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_fieldClassMap","_interopRequireDefault","_SchemaStore","_AbstractSchemaTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_class","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","LOCAL_NAMESPACE","SchemaStoreTest","exports","skip","_AbstractSchemaTest","_inherits2","_super","_classCallCheck2","_createClass2","key","_canInstantiateSchemaStore","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","assert","isTruthy","Store","stop","canInstantiateSchemaStore","_hasFetchSchemaTemplateItemsMethod","_callee2","_callee2$","_context2","isFunction","fetchSchemas","fetchFields","hasFetchSchemaTemplateItemsMethod","_fetchesCoreSchemas","_callee3","results","schemasByNamespace","errors","coreSchemas","_callee3$","_context3","localNamespace","sent","isEqual","CORE_NAMESPACE","isAbove","validateSchemas","doesInclude","id","fetchesCoreSchemas","_fetchesLocalSchemas","_callee4","localSchemas","_callee4$","_context4","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","fetchesLocalSchemas","_canHandleABadSchema","_callee5","_callee5$","_context5","message","canHandleABadSchema","_canFetchCoreFields","_callee6","fieldTypes","_i","_fieldTypes","type","_callee6$","_context6","copySchemasAndFieldsThenFetchFields","fieldClassMap","namesUtil","toPascal","canFetchCoreFields","_canFetchLocalFields","_callee7","_callee7$","_context7","localAddonsDir","fields","canFetchLocalFields","_canHandleBadFields","_callee8","_callee8$","_context8","canHandleBadFields","_wontLetYouSpecifyANamespaceNorVersion","_callee9","_callee9$","_context9","errorAssert","assertError","sort","a","b","originalError","options","schemaId","wontLetYouSpecifyANamespaceNorVersion","_emitsDidFetchEvent","_callee10","cli","wasFired","_callee10$","_context10","installSchemaFeature","on","isTrue","emitsDidFetchEvent","_fetchEventPayloadIncludesAllOtherSchemas","_callee11","emitPayload","_callee11$","_context11","payload","schemas","normalizeSchemaToIdWithVersion","fetchEventPayloadIncludesAllOtherSchemas","_canListenToFetchEventToDropInAdditionalSchemas","_callee12","_callee12$","_context12","buildSchema","namespace","MyCoolNamespace","canListenToFetchEventToDropInAdditionalSchemas","_multipleSchemasWithSameIdAndVersionReturnOnce","_callee13","_callee13$","_context13","copySchemas","version","description","isRequired","TestSkill","multipleSchemasWithSameIdAndVersionReturnOnce","_iterator","_step","schema","validateSchema","_copySchemasAndFetchSchemas","_callee14","testBuilderDir","_args14","_callee14$","_context14","undefined","syncSchemas","abrupt","_x","_copySchemas","_callee15","schemasDir","_args15","_callee15$","_context15","diskUtil","copyDir","resolveTestPath","_copySchemasAndFieldsThenFetchFields","_callee16","registrationsDir","addonsDir","_args16","_callee16$","_context16","_x2","AbstractSchemaTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaStore.test.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tvalidateSchema,\n} from '@sprucelabs/schema'\nimport {\n\tCORE_NAMESPACE,\n\tdiskUtil,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport fieldClassMap from '#spruce/schemas/fields/fieldClassMap'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TestSkill'\n\nexport default class SchemaStoreTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateSchemaStore() {\n\t\tassert.isTruthy(this.Store('schema'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchSchemaTemplateItemsMethod() {\n\t\tassert.isFunction(this.Store('schema').fetchSchemas)\n\t\tassert.isFunction(this.Store('schema').fetchFields)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreSchemas() {\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[CORE_NAMESPACE])\n\n\t\tconst coreSchemas = schemasByNamespace[CORE_NAMESPACE]\n\t\tassert.isAbove(coreSchemas.length, 0)\n\n\t\tthis.validateSchemas(coreSchemas)\n\n\t\tassert.doesInclude(coreSchemas, { id: 'person' })\n\t\tassert.doesInclude(coreSchemas, { id: 'skill' })\n\t}\n\n\t@test()\n\tprotected static async fetchesLocalSchemas() {\n\t\tconst results = await this.copySchemasAndFetchSchemas({\n\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[LOCAL_NAMESPACE])\n\t\tassert.isLength(Object.keys(schemasByNamespace), 2)\n\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test.skip(\n\t\t\"Skipped because schemas are bulk imported and it's all or nothing.\"\n\t)\n\tprotected static async canHandleABadSchema() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{\n\t\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t\t},\n\t\t\t'test_builders_one_bad'\n\t\t)\n\n\t\tassert.isEqual(results.errors.length, 1)\n\n\t\tassert.doesInclude(results.errors[0].message, 'badSchema')\n\n\t\tconst { schemasByNamespace } = results\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test()\n\tprotected static async canFetchCoreFields() {\n\t\tconst results = await SchemaStoreTest.copySchemasAndFieldsThenFetchFields()\n\n\t\tconst fieldTypes = Object.keys(fieldClassMap)\n\n\t\tfor (const type of fieldTypes) {\n\t\t\tassert.doesInclude(results, {\n\t\t\t\t'fields[].registration.type': namesUtil.toPascal(type),\n\t\t\t})\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canFetchLocalFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields({\n\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tassert.isLength(results.fields, Object.keys(fieldClassMap).length + 1)\n\t\tassert.doesInclude(results, { 'fields[].registration.type': 'Test' })\n\t\tassert.doesInclude(results, {\n\t\t\t'fields[].registration.description': 'A test for us all',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canHandleBadFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields(\n\t\t\t{\n\t\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t\t},\n\t\t\t'field_registrations_one_bad'\n\t\t)\n\n\t\tassert.isLength(results.errors, 1)\n\t\tassert.doesInclude(results.errors[0].message, 'badField')\n\t}\n\n\t@test()\n\tprotected static async wontLetYouSpecifyANamespaceNorVersion() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{},\n\t\t\t'test_builders_with_namespace_and_version'\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 2)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\terrorAssert.assertError(results.errors[1], 'SCHEMA_FAILED_TO_IMPORT')\n\n\t\tresults.errors = results.errors.sort((a, b) =>\n\t\t\t//@ts-ignore\n\t\t\ta.originalError.options.schemaId > b.originalError.options.schemaId\n\t\t\t\t? 1\n\t\t\t\t: -1\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[0].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithNamespace',\n\t\t\t\terrors: ['namespace_should_not_be_set'],\n\t\t\t}\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[1].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithVersion',\n\t\t\t\terrors: ['version_should_not_be_set'],\n\t\t\t}\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emitsDidFetchEvent() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet wasFired = false\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\twasFired = true\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isTrue(wasFired)\n\t}\n\n\t@test()\n\tprotected static async fetchEventPayloadIncludesAllOtherSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet emitPayload: any\n\t\tawait cli.on('schema.did-fetch-schemas', (payload) => {\n\t\t\temitPayload = payload\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tfor (const name in coreSchemas) {\n\t\t\tassert.doesInclude(\n\t\t\t\temitPayload.schemas,\n\t\t\t\t//@ts-ignore\n\t\t\t\tnormalizeSchemaToIdWithVersion(coreSchemas[name])\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canListenToFetchEventToDropInAdditionalSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tnamespace: 'MyCoolNamespace',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tconst { schemasByNamespace } = results\n\n\t\tassert.isTruthy(schemasByNamespace.MyCoolNamespace)\n\t}\n\n\t@test()\n\tprotected static async multipleSchemasWithSameIdAndVersionReturnOnce() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait this.copySchemas()\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'schemaOne',\n\t\t\t\t\t\tname: 'First schema',\n\t\t\t\t\t\tnamespace: 'TestSkill',\n\t\t\t\t\t\tversion: 'v2020_06_23',\n\t\t\t\t\t\tdescription: 'It is going to be great!',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.schemasByNamespace.TestSkill, 3)\n\t}\n\n\tprivate static validateSchemas(schemas: Schema[]) {\n\t\tfor (const schema of schemas) {\n\t\t\tvalidateSchema(schema)\n\t\t}\n\t}\n\n\tprivate static async copySchemasAndFetchSchemas(\n\t\toptions?: Record<string, any>,\n\t\ttestBuilderDir = 'test_builders'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.copySchemas(testBuilderDir)\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t\t...(options || {}),\n\t\t})\n\t\treturn results\n\t}\n\n\tprivate static async copySchemas(testBuilderDir = 'test_builders') {\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(testBuilderDir), schemasDir)\n\t}\n\n\tprivate static async copySchemasAndFieldsThenFetchFields(\n\t\toptions?: Record<string, any>,\n\t\tregistrationsDir = 'field_registrations'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst addonsDir = this.resolvePath('src', 'addons')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(registrationsDir), addonsDir)\n\n\t\tconst results = await this.Store('schema').fetchFields(options)\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaStore.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_fieldClassMap","_interopRequireDefault","_SchemaStore","_AbstractSchemaTest2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_class","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","LOCAL_NAMESPACE","SchemaStoreTest","exports","skip","_AbstractSchemaTest","_inherits2","_classCallCheck2","_createClass2","key","_canInstantiateSchemaStore","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","assert","isTruthy","Store","stop","canInstantiateSchemaStore","_hasFetchSchemaTemplateItemsMethod","_callee2","_callee2$","_context2","isFunction","fetchSchemas","fetchFields","hasFetchSchemaTemplateItemsMethod","_fetchesCoreSchemas","_callee3","results","schemasByNamespace","errors","coreSchemas","_callee3$","_context3","localNamespace","sent","isEqual","CORE_NAMESPACE","isAbove","validateSchemas","doesInclude","id","fetchesCoreSchemas","_fetchesLocalSchemas","_callee4","localSchemas","_callee4$","_context4","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","fetchesLocalSchemas","_canHandleABadSchema","_callee5","_callee5$","_context5","message","canHandleABadSchema","_canFetchCoreFields","_callee6","fieldTypes","_i","_fieldTypes","type","_callee6$","_context6","copySchemasAndFieldsThenFetchFields","fieldClassMap","namesUtil","toPascal","canFetchCoreFields","_canFetchLocalFields","_callee7","_callee7$","_context7","localAddonsDir","fields","canFetchLocalFields","_canHandleBadFields","_callee8","_callee8$","_context8","canHandleBadFields","_wontLetYouSpecifyANamespaceNorVersion","_callee9","_callee9$","_context9","errorAssert","assertError","sort","a","b","originalError","options","schemaId","wontLetYouSpecifyANamespaceNorVersion","_emitsDidFetchEvent","_callee10","cli","wasFired","_callee10$","_context10","installSchemaFeature","on","isTrue","emitsDidFetchEvent","_fetchEventPayloadIncludesAllOtherSchemas","_callee11","emitPayload","_callee11$","_context11","payload","schemas","normalizeSchemaToIdWithVersion","fetchEventPayloadIncludesAllOtherSchemas","_canListenToFetchEventToDropInAdditionalSchemas","_callee12","_callee12$","_context12","buildSchema","namespace","MyCoolNamespace","canListenToFetchEventToDropInAdditionalSchemas","_multipleSchemasWithSameIdAndVersionReturnOnce","_callee13","_callee13$","_context13","copySchemas","version","description","isRequired","TestSkill","multipleSchemasWithSameIdAndVersionReturnOnce","_iterator","_step","schema","validateSchema","_copySchemasAndFetchSchemas","_callee14","testBuilderDir","_args14","_callee14$","_context14","undefined","syncSchemas","abrupt","_x","_copySchemas","_callee15","schemasDir","_args15","_callee15$","_context15","diskUtil","copyDir","resolveTestPath","_copySchemasAndFieldsThenFetchFields","_callee16","registrationsDir","addonsDir","_args16","_callee16$","_context16","_x2","AbstractSchemaTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaStore.test.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tvalidateSchema,\n} from '@sprucelabs/schema'\nimport {\n\tCORE_NAMESPACE,\n\tdiskUtil,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport fieldClassMap from '#spruce/schemas/fields/fieldClassMap'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TestSkill'\n\nexport default class SchemaStoreTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateSchemaStore() {\n\t\tassert.isTruthy(this.Store('schema'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchSchemaTemplateItemsMethod() {\n\t\tassert.isFunction(this.Store('schema').fetchSchemas)\n\t\tassert.isFunction(this.Store('schema').fetchFields)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreSchemas() {\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[CORE_NAMESPACE])\n\n\t\tconst coreSchemas = schemasByNamespace[CORE_NAMESPACE]\n\t\tassert.isAbove(coreSchemas.length, 0)\n\n\t\tthis.validateSchemas(coreSchemas)\n\n\t\tassert.doesInclude(coreSchemas, { id: 'person' })\n\t\tassert.doesInclude(coreSchemas, { id: 'skill' })\n\t}\n\n\t@test()\n\tprotected static async fetchesLocalSchemas() {\n\t\tconst results = await this.copySchemasAndFetchSchemas({\n\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[LOCAL_NAMESPACE])\n\t\tassert.isLength(Object.keys(schemasByNamespace), 2)\n\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test.skip(\n\t\t\"Skipped because schemas are bulk imported and it's all or nothing.\"\n\t)\n\tprotected static async canHandleABadSchema() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{\n\t\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t\t},\n\t\t\t'test_builders_one_bad'\n\t\t)\n\n\t\tassert.isEqual(results.errors.length, 1)\n\n\t\tassert.doesInclude(results.errors[0].message, 'badSchema')\n\n\t\tconst { schemasByNamespace } = results\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test()\n\tprotected static async canFetchCoreFields() {\n\t\tconst results = await SchemaStoreTest.copySchemasAndFieldsThenFetchFields()\n\n\t\tconst fieldTypes = Object.keys(fieldClassMap)\n\n\t\tfor (const type of fieldTypes) {\n\t\t\tassert.doesInclude(results, {\n\t\t\t\t'fields[].registration.type': namesUtil.toPascal(type),\n\t\t\t})\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canFetchLocalFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields({\n\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tassert.isLength(results.fields, Object.keys(fieldClassMap).length + 1)\n\t\tassert.doesInclude(results, { 'fields[].registration.type': 'Test' })\n\t\tassert.doesInclude(results, {\n\t\t\t'fields[].registration.description': 'A test for us all',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canHandleBadFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields(\n\t\t\t{\n\t\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t\t},\n\t\t\t'field_registrations_one_bad'\n\t\t)\n\n\t\tassert.isLength(results.errors, 1)\n\t\tassert.doesInclude(results.errors[0].message, 'badField')\n\t}\n\n\t@test()\n\tprotected static async wontLetYouSpecifyANamespaceNorVersion() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{},\n\t\t\t'test_builders_with_namespace_and_version'\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 2)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\terrorAssert.assertError(results.errors[1], 'SCHEMA_FAILED_TO_IMPORT')\n\n\t\tresults.errors = results.errors.sort((a, b) =>\n\t\t\t//@ts-ignore\n\t\t\ta.originalError.options.schemaId > b.originalError.options.schemaId\n\t\t\t\t? 1\n\t\t\t\t: -1\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[0].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithNamespace',\n\t\t\t\terrors: ['namespace_should_not_be_set'],\n\t\t\t}\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[1].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithVersion',\n\t\t\t\terrors: ['version_should_not_be_set'],\n\t\t\t}\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emitsDidFetchEvent() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet wasFired = false\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\twasFired = true\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isTrue(wasFired)\n\t}\n\n\t@test()\n\tprotected static async fetchEventPayloadIncludesAllOtherSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet emitPayload: any\n\t\tawait cli.on('schema.did-fetch-schemas', (payload) => {\n\t\t\temitPayload = payload\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tfor (const name in coreSchemas) {\n\t\t\tassert.doesInclude(\n\t\t\t\temitPayload.schemas,\n\t\t\t\t//@ts-ignore\n\t\t\t\tnormalizeSchemaToIdWithVersion(coreSchemas[name])\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canListenToFetchEventToDropInAdditionalSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tnamespace: 'MyCoolNamespace',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tconst { schemasByNamespace } = results\n\n\t\tassert.isTruthy(schemasByNamespace.MyCoolNamespace)\n\t}\n\n\t@test()\n\tprotected static async multipleSchemasWithSameIdAndVersionReturnOnce() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait this.copySchemas()\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'schemaOne',\n\t\t\t\t\t\tname: 'First schema',\n\t\t\t\t\t\tnamespace: 'TestSkill',\n\t\t\t\t\t\tversion: 'v2020_06_23',\n\t\t\t\t\t\tdescription: 'It is going to be great!',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.schemasByNamespace.TestSkill, 3)\n\t}\n\n\tprivate static validateSchemas(schemas: Schema[]) {\n\t\tfor (const schema of schemas) {\n\t\t\tvalidateSchema(schema)\n\t\t}\n\t}\n\n\tprivate static async copySchemasAndFetchSchemas(\n\t\toptions?: Record<string, any>,\n\t\ttestBuilderDir = 'test_builders'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.copySchemas(testBuilderDir)\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t\t...(options || {}),\n\t\t})\n\t\treturn results\n\t}\n\n\tprivate static async copySchemas(testBuilderDir = 'test_builders') {\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(testBuilderDir), schemasDir)\n\t}\n\n\tprivate static async copySchemasAndFieldsThenFetchFields(\n\t\toptions?: Record<string, any>,\n\t\tregistrationsDir = 'field_registrations'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst addonsDir = this.resolvePath('src', 'addons')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(registrationsDir), addonsDir)\n\n\t\tconst results = await this.Store('schema').fetchFields(options)\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
@@ -9,10 +9,10 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
18
  var _schema = require("@sprucelabs/schema");
@@ -20,9 +20,9 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
20
20
  var _testUtils = require("@sprucelabs/test-utils");
21
21
  var _SchemaTemplateItemBuilder = _interopRequireDefault(require("../../templateItemBuilders/SchemaTemplateItemBuilder"));
22
22
  var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
23
- var _nestedMercuryContrac, _nestedMercuryContrac2, _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _class, _class2;
24
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
25
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
23
+ var _nestedMercuryContrac, _nestedMercuryContrac2, _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _class, _SchemaTemplateItemBuilderTest;
24
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
26
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
27
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
28
  var cowbellV1 = {
@@ -1123,12 +1123,11 @@ var localSchemaTemplateItem = {
1123
1123
  destinationDir: '#spruce/schemas',
1124
1124
  schema: localSchema
1125
1125
  };
1126
- var SchemaTemplateItemBuilderTest = exports["default"] = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)('turns 2 definitions into 2 template items', [cowbellV1, personV1], [personV1TemplateItem, cowbellV1TemplateItem]), _dec5 = (0, _testUtils.test)('turns one nested definition into 2 items', [personV2], [vehicleV1TemplateItem, personV2TemplateItem]), _dec6 = (0, _testUtils.test)('handles recursion without looping forever', [personV3], [cowbellV1NestedTemplateItem, personV3TemplateItem, cowbellV2NestedTemplateItem]), _dec7 = (0, _testUtils.test)('handles duplication', [cowbellV1, cowbellV1, cowbellV1], [cowbellV1TemplateItem]), _dec8 = (0, _testUtils.test)('handles resolving by id and version', [personV4, personV3, cowbellV1, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec9 = (0, _testUtils.test)('handles resolving by id and version in different order', [cowbellV1, personV4, personV3, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec10 = (0, _testUtils.test)('handles nested schema in dynamic key signature', [nestedMercuryContract], [eventSignatureTemplateItem, mercuryTemplateItem]), _dec11 = (0, _testUtils.test)('handles nested schemas in dynamic key signature', [nestedMercuryContractArray], [eventSignatureTemplateItem2, eventSignatureTemplateItem, mercuryTemplateItemArray]), _dec12 = (0, _testUtils.test)('handles many layers of nested schemas', [schemaWithManyNestedSchemas], [lastLayerTemplateItem, secondLayerTemplateItem, firstLayerTemplateItem, manyNestedTemplateItem]), _dec13 = (0, _testUtils.test)('can import event contracts', mercurySchemas, mercuryTemplateItems), _dec14 = (0, _testUtils.test)('import from not set if matching local namespace', [localSchema], [localSchemaTemplateItem], 'Mercury'), _dec15 = (0, _testUtils.test)(), _dec16 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
1126
+ var SchemaTemplateItemBuilderTest = exports["default"] = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)('turns 2 definitions into 2 template items', [cowbellV1, personV1], [personV1TemplateItem, cowbellV1TemplateItem]), _dec5 = (0, _testUtils.test)('turns one nested definition into 2 items', [personV2], [vehicleV1TemplateItem, personV2TemplateItem]), _dec6 = (0, _testUtils.test)('handles recursion without looping forever', [personV3], [cowbellV1NestedTemplateItem, personV3TemplateItem, cowbellV2NestedTemplateItem]), _dec7 = (0, _testUtils.test)('handles duplication', [cowbellV1, cowbellV1, cowbellV1], [cowbellV1TemplateItem]), _dec8 = (0, _testUtils.test)('handles resolving by id and version', [personV4, personV3, cowbellV1, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec9 = (0, _testUtils.test)('handles resolving by id and version in different order', [cowbellV1, personV4, personV3, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec10 = (0, _testUtils.test)('handles nested schema in dynamic key signature', [nestedMercuryContract], [eventSignatureTemplateItem, mercuryTemplateItem]), _dec11 = (0, _testUtils.test)('handles nested schemas in dynamic key signature', [nestedMercuryContractArray], [eventSignatureTemplateItem2, eventSignatureTemplateItem, mercuryTemplateItemArray]), _dec12 = (0, _testUtils.test)('handles many layers of nested schemas', [schemaWithManyNestedSchemas], [lastLayerTemplateItem, secondLayerTemplateItem, firstLayerTemplateItem, manyNestedTemplateItem]), _dec13 = (0, _testUtils.test)('can import event contracts', mercurySchemas, mercuryTemplateItems), _dec14 = (0, _testUtils.test)('import from not set if matching local namespace', [localSchema], [localSchemaTemplateItem], 'Mercury'), _dec15 = (0, _testUtils.test)(), _dec16 = (0, _testUtils.test)(), (_class = (_SchemaTemplateItemBuilderTest = /*#__PURE__*/function (_AbstractCliTest) {
1127
1127
  (0, _inherits2["default"])(SchemaTemplateItemBuilderTest, _AbstractCliTest);
1128
- var _super = _createSuper(SchemaTemplateItemBuilderTest);
1129
1128
  function SchemaTemplateItemBuilderTest() {
1130
1129
  (0, _classCallCheck2["default"])(this, SchemaTemplateItemBuilderTest);
1131
- return _super.apply(this, arguments);
1130
+ return _callSuper(this, SchemaTemplateItemBuilderTest, arguments);
1132
1131
  }
1133
1132
  (0, _createClass2["default"])(SchemaTemplateItemBuilderTest, null, [{
1134
1133
  key: "beforeEach",
@@ -1367,5 +1366,5 @@ var SchemaTemplateItemBuilderTest = exports["default"] = (_dec = (0, _testUtils.
1367
1366
  }
1368
1367
  }]);
1369
1368
  return SchemaTemplateItemBuilderTest;
1370
- }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_class2, "itemBuilder", void 0), (0, _defineProperty2["default"])(_class2, "LOCAL_NAMESPACE", 'LocalNamespace'), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiate", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiate"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasGenerateFunction", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasGenerateFunction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "turnsSingleDefinitionIntoTemplateItem", [_dec3], Object.getOwnPropertyDescriptor(_class, "turnsSingleDefinitionIntoTemplateItem"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generationTests", [_dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14], Object.getOwnPropertyDescriptor(_class, "generationTests"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "setsImports", [_dec15], Object.getOwnPropertyDescriptor(_class, "setsImports"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "bringsImportsFromRemoteFromRelatedSchemas", [_dec16], Object.getOwnPropertyDescriptor(_class, "bringsImportsFromRemoteFromRelatedSchemas"), _class)), _class));
1369
+ }(_AbstractCliTest2["default"]), (0, _defineProperty2["default"])(_SchemaTemplateItemBuilderTest, "itemBuilder", void 0), (0, _defineProperty2["default"])(_SchemaTemplateItemBuilderTest, "LOCAL_NAMESPACE", 'LocalNamespace'), _SchemaTemplateItemBuilderTest), ((0, _applyDecoratedDescriptor2["default"])(_class, "canInstantiate", [_dec], Object.getOwnPropertyDescriptor(_class, "canInstantiate"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "hasGenerateFunction", [_dec2], Object.getOwnPropertyDescriptor(_class, "hasGenerateFunction"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "turnsSingleDefinitionIntoTemplateItem", [_dec3], Object.getOwnPropertyDescriptor(_class, "turnsSingleDefinitionIntoTemplateItem"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "generationTests", [_dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14], Object.getOwnPropertyDescriptor(_class, "generationTests"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "setsImports", [_dec15], Object.getOwnPropertyDescriptor(_class, "setsImports"), _class), (0, _applyDecoratedDescriptor2["default"])(_class, "bringsImportsFromRemoteFromRelatedSchemas", [_dec16], Object.getOwnPropertyDescriptor(_class, "bringsImportsFromRemoteFromRelatedSchemas"), _class)), _class));
1371
1370
  //# sourceMappingURL=SchemaTemplateItemBuilder.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_SchemaTemplateItemBuilder","_interopRequireDefault","_AbstractCliTest2","_nestedMercuryContrac","_nestedMercuryContrac2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_class","_class2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","exports","test","_AbstractCliTest","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","stop","beforeEach","canInstantiate","assert","isTruthy","hasGenerateFunction","isFunction","buildTemplateItems","turnsSingleDefinitionIntoTemplateItem","results","actual","isEqualDeep","generationTests","expected","localNamespace","undefined","isLength","idx","match","concat","setsImports","firstName","bringsImportsFromRemoteFromRelatedSchemas","remote","local","AbstractCliTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["_schema","require","_spruceSkillUtils","_testUtils","_SchemaTemplateItemBuilder","_interopRequireDefault","_AbstractCliTest2","_nestedMercuryContrac","_nestedMercuryContrac2","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_class","_SchemaTemplateItemBuilderTest","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","exports","test","_AbstractCliTest","_inherits2","_classCallCheck2","_createClass2","key","value","_beforeEach","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","_get2","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","stop","beforeEach","canInstantiate","assert","isTruthy","hasGenerateFunction","isFunction","buildTemplateItems","turnsSingleDefinitionIntoTemplateItem","results","actual","isEqualDeep","generationTests","expected","localNamespace","undefined","isLength","idx","match","concat","setsImports","firstName","bringsImportsFromRemoteFromRelatedSchemas","remote","local","AbstractCliTest","_applyDecoratedDescriptor2"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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"}