@sprucelabs/spruce-cli 15.2.24 → 15.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/build/.spruce/errors/errors.types.js.map +1 -1
  3. package/build/.spruce/errors/options.types.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  7. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  9. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  11. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  13. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  15. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  17. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  19. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  21. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  23. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  25. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  27. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  29. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  31. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  33. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  35. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  37. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  39. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  41. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  43. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  45. package/build/.spruce/events/events.contract.js.map +1 -1
  46. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  47. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  48. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  49. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  50. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  51. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  52. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  60. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  61. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  62. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  63. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  64. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  65. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  66. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  67. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  68. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  69. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  70. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  71. package/build/.spruce/schemas/spruce/v2020_07_22/fullMessageChoices.schema.js.map +1 -1
  72. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  73. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  74. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  75. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  76. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  77. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  78. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  79. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  80. package/build/.spruce/schemas/spruce/v2020_07_22/profileImage.schema.js.map +1 -1
  81. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  82. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  83. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  84. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  85. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  86. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  87. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  88. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  89. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  90. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  91. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  92. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  93. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  94. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  95. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  96. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  97. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  98. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  99. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  100. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  101. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  102. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  103. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  104. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  105. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  106. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  107. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  108. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  109. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  110. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  111. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  112. package/build/.spruce/skill.types.js.map +1 -1
  113. package/build/GlobalEmitter.js.map +1 -1
  114. package/build/InFlightEntertainment.js.map +1 -1
  115. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  116. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  117. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  118. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  119. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  120. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  121. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  122. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  123. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  124. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  125. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  126. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  127. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  128. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  129. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  130. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  131. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  132. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  133. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  134. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  135. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  136. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  137. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  138. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  139. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  140. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  141. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  142. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  143. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  144. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  145. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  146. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  147. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  148. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  149. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  150. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  151. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  152. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  153. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  154. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  155. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  156. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  157. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  158. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  159. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  160. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  161. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  162. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  163. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  164. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  165. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  166. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  167. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  168. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  169. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  170. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  171. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  172. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  173. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  174. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  175. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  176. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  177. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  178. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  179. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  180. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  181. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.d.ts +1 -0
  182. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +20 -14
  183. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  184. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  185. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  186. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  187. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  188. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  189. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  190. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  191. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  192. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  193. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  194. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  195. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  196. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  197. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  198. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  199. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  200. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  201. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  202. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  203. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  204. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  205. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  206. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  207. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  208. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  209. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  210. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  211. package/build/__tests__/implementation/DataStoreStore.test.d.ts +1 -0
  212. package/build/__tests__/implementation/DataStoreStore.test.js +30 -3
  213. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  214. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  215. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  216. package/build/__tests__/implementation/EventStore.test.d.ts +1 -0
  217. package/build/__tests__/implementation/EventStore.test.js +61 -33
  218. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  219. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  220. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  221. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  222. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  223. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  224. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  225. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  226. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  227. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  228. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  229. package/build/__tests__/implementation/ListenerStore.test.d.ts +4 -0
  230. package/build/__tests__/implementation/ListenerStore.test.js +56 -0
  231. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -0
  232. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  233. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  234. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  235. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  236. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  237. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  238. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  239. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  240. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  241. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  242. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  243. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  244. package/build/__tests__/implementation/StoreFeature.test.js +1 -1
  245. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  246. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  247. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  248. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  249. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  250. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  251. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  252. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  253. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  254. package/build/addons/filePrompt.addon.js.map +1 -1
  255. package/build/cli.js.map +1 -1
  256. package/build/components/AbstractComponent.js.map +1 -1
  257. package/build/components/FormComponent.js.map +1 -1
  258. package/build/components/QuizComponent.js.map +1 -1
  259. package/build/constants.js.map +1 -1
  260. package/build/errors/SpruceError.js.map +1 -1
  261. package/build/errors/actionCancelled.builder.js.map +1 -1
  262. package/build/errors/bootError.builder.js.map +1 -1
  263. package/build/errors/buildFailed.builder.js.map +1 -1
  264. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  265. package/build/errors/commandAborted.builder.js.map +1 -1
  266. package/build/errors/commandBlocked.builder.js.map +1 -1
  267. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  268. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  269. package/build/errors/dependencyExists.builder.js.map +1 -1
  270. package/build/errors/deployFailed.builder.js.map +1 -1
  271. package/build/errors/directoryEmpty.builder.js.map +1 -1
  272. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  273. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  274. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  275. package/build/errors/failedToImport.builder.js.map +1 -1
  276. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  277. package/build/errors/fileExists.builder.js.map +1 -1
  278. package/build/errors/generic.builder.js.map +1 -1
  279. package/build/errors/invalidCommand.builder.js.map +1 -1
  280. package/build/errors/invalidEventContract.builder.js.map +1 -1
  281. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  282. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  283. package/build/errors/lintFailed.builder.js.map +1 -1
  284. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  285. package/build/errors/missingDependencies.builder.js.map +1 -1
  286. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  287. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  288. package/build/errors/notImplemented.builder.js.map +1 -1
  289. package/build/errors/notLoggedIn.builder.js.map +1 -1
  290. package/build/errors/schemaExists.builder.js.map +1 -1
  291. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  292. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  293. package/build/errors/skillNotFound.builder.js.map +1 -1
  294. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  295. package/build/errors/skillViewExists.builder.js.map +1 -1
  296. package/build/errors/storeExists.builder.js.map +1 -1
  297. package/build/errors/testFailed.builder.js.map +1 -1
  298. package/build/errors/themeExists.builder.js.map +1 -1
  299. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  300. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  301. package/build/features/AbstractAction.js.map +1 -1
  302. package/build/features/AbstractFeature.js.map +1 -1
  303. package/build/features/ActionExecuter.js.map +1 -1
  304. package/build/features/ActionFactory.js.map +1 -1
  305. package/build/features/ActionQuestionAsker.js.map +1 -1
  306. package/build/features/FeatureCommandAttacher.js.map +1 -1
  307. package/build/features/FeatureInstaller.js.map +1 -1
  308. package/build/features/FeatureInstallerFactory.js.map +1 -1
  309. package/build/features/OverrideActionDecorator.js.map +1 -1
  310. package/build/features/cache/CacheFeature.js.map +1 -1
  311. package/build/features/cache/actions/DisableAction.js.map +1 -1
  312. package/build/features/cache/actions/EnableAction.js.map +1 -1
  313. package/build/features/cache/constants.js.map +1 -1
  314. package/build/features/conversation/ConversationFeature.js.map +1 -1
  315. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  316. package/build/features/conversation/actions/TestAction.js.map +1 -1
  317. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  318. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  319. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  320. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  321. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  322. package/build/features/deploy/DeployFeature.js.map +1 -1
  323. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  324. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  325. package/build/features/error/ErrorFeature.js.map +1 -1
  326. package/build/features/error/ParentTestFinder.js.map +1 -1
  327. package/build/features/error/actions/CreateAction.js.map +1 -1
  328. package/build/features/error/actions/SyncAction.js.map +1 -1
  329. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  330. package/build/features/event/EventFeature.js.map +1 -1
  331. package/build/features/event/actions/CreateAction.js.map +1 -1
  332. package/build/features/event/actions/ListenAction.js.map +1 -1
  333. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  334. package/build/features/event/actions/SyncAction.js.map +1 -1
  335. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  336. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  337. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  338. package/build/features/event/services/EventSettingsService.js.map +1 -1
  339. package/build/features/event/services/RemoteService.js.map +1 -1
  340. package/build/features/event/stores/EventStore.d.ts +1 -0
  341. package/build/features/event/stores/EventStore.js +6 -1
  342. package/build/features/event/stores/EventStore.js.map +1 -1
  343. package/build/features/event/stores/ListenerStore.d.ts +1 -0
  344. package/build/features/event/stores/ListenerStore.js +6 -1
  345. package/build/features/event/stores/ListenerStore.js.map +1 -1
  346. package/build/features/event/writers/EventWriter.js +1 -1
  347. package/build/features/event/writers/EventWriter.js.map +1 -1
  348. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  349. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  350. package/build/features/feature.utilities.js.map +1 -1
  351. package/build/features/features.types.js.map +1 -1
  352. package/build/features/log/LogFeature.js.map +1 -1
  353. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  354. package/build/features/log/writers/LogWriter.js.map +1 -1
  355. package/build/features/node/NodeFeature.js.map +1 -1
  356. package/build/features/node/actions/CreateAction.js.map +1 -1
  357. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  358. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  359. package/build/features/node/writers/NodeWriter.js.map +1 -1
  360. package/build/features/onboard/OnboardFeature.js.map +1 -1
  361. package/build/features/onboard/ScriptLoader.js.map +1 -1
  362. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  363. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  364. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  365. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  366. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  367. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  368. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  369. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  370. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  371. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  372. package/build/features/organization/OrganizationFeature.js.map +1 -1
  373. package/build/features/organization/actions/CreateAction.js.map +1 -1
  374. package/build/features/organization/actions/InstallAction.js.map +1 -1
  375. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  376. package/build/features/person/PersonFeature.js.map +1 -1
  377. package/build/features/person/actions/LoginAction.js.map +1 -1
  378. package/build/features/person/actions/LogoutAction.js.map +1 -1
  379. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  380. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  381. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  382. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  383. package/build/features/schema/SchemaFeature.js.map +1 -1
  384. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  385. package/build/features/schema/actions/CreateAction.js.map +1 -1
  386. package/build/features/schema/actions/SyncAction.js.map +1 -1
  387. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  388. package/build/features/schema/services/SchemaService.js.map +1 -1
  389. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  390. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  391. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  392. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  393. package/build/features/schema/writers/SchemaWriter.js +1 -1
  394. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  395. package/build/features/skill/SkillFeature.js.map +1 -1
  396. package/build/features/skill/actions/BootAction.js.map +1 -1
  397. package/build/features/skill/actions/CreateAction.js.map +1 -1
  398. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  399. package/build/features/skill/actions/LoginAction.js.map +1 -1
  400. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  401. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  402. package/build/features/skill/stores/SkillStore.js.map +1 -1
  403. package/build/features/skill/updaters/Updater.js.map +1 -1
  404. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  405. package/build/features/store/StoreFeature.js +1 -1
  406. package/build/features/store/StoreFeature.js.map +1 -1
  407. package/build/features/store/actions/CreateAction.js.map +1 -1
  408. package/build/features/store/actions/SyncAction.js.map +1 -1
  409. package/build/features/store/stores/StoreStore.d.ts +1 -0
  410. package/build/features/store/stores/StoreStore.js +6 -1
  411. package/build/features/store/stores/StoreStore.js.map +1 -1
  412. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  413. package/build/features/store/writers/StoreWriter.js.map +1 -1
  414. package/build/features/test/TestFeature.js.map +1 -1
  415. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  416. package/build/features/test/TestReporter.js.map +1 -1
  417. package/build/features/test/TestRunner.js.map +1 -1
  418. package/build/features/test/actions/CreateAction.js +1 -1
  419. package/build/features/test/actions/CreateAction.js.map +1 -1
  420. package/build/features/test/actions/SetupAction.js.map +1 -1
  421. package/build/features/test/actions/TestAction.js.map +1 -1
  422. package/build/features/test/test.types.js.map +1 -1
  423. package/build/features/test/writers/TestWriter.js.map +1 -1
  424. package/build/features/universalDevDependencies.js.map +1 -1
  425. package/build/features/universalFileDescriptions.js.map +1 -1
  426. package/build/features/universalScripts.js.map +1 -1
  427. package/build/features/validateAndNormalize.utility.d.ts +2 -2
  428. package/build/features/validateAndNormalize.utility.js +2 -2
  429. package/build/features/validateAndNormalize.utility.js.map +1 -1
  430. package/build/features/view/ViewFeature.js.map +1 -1
  431. package/build/features/view/actions/CreateAction.js.map +1 -1
  432. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  433. package/build/features/view/actions/SyncAction.js.map +1 -1
  434. package/build/features/view/actions/WatchAction.js.map +1 -1
  435. package/build/features/view/stores/ViewStore.js.map +1 -1
  436. package/build/features/view/writers/ViewWriter.js +1 -3
  437. package/build/features/view/writers/ViewWriter.js.map +1 -1
  438. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  439. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  440. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  441. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  442. package/build/features/watch/WatchFeature.js.map +1 -1
  443. package/build/index.js.map +1 -1
  444. package/build/interfaces/SpyInterface.js.map +1 -1
  445. package/build/interfaces/TerminalInterface.js.map +1 -1
  446. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  447. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  448. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  449. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  450. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  451. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  452. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  453. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  454. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  455. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  456. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  457. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  458. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  459. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  460. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  461. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  462. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  463. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  464. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  465. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  466. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  467. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  468. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  469. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  470. package/build/services/BuildService.js.map +1 -1
  471. package/build/services/CommandService.js.map +1 -1
  472. package/build/services/DependencyService.js.map +1 -1
  473. package/build/services/GameService.js.map +1 -1
  474. package/build/services/ImportService.js.map +1 -1
  475. package/build/services/LintService.js.map +1 -1
  476. package/build/services/PkgService.js.map +1 -1
  477. package/build/services/ServiceFactory.js.map +1 -1
  478. package/build/services/TypeCheckerService.js.map +1 -1
  479. package/build/stores/AbstractLocalStore.js.map +1 -1
  480. package/build/stores/AbstractStore.js.map +1 -1
  481. package/build/stores/StoreFactory.js.map +1 -1
  482. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  483. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  484. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  485. package/build/tests/AbstractCliTest.js.map +1 -1
  486. package/build/tests/AbstractErrorTest.js.map +1 -1
  487. package/build/tests/AbstractEventTest.js.map +1 -1
  488. package/build/tests/AbstractSchemaTest.js.map +1 -1
  489. package/build/tests/AbstractSkillTest.js.map +1 -1
  490. package/build/tests/AbstractTestTest.js.map +1 -1
  491. package/build/tests/CommandFaker.d.ts +2 -1
  492. package/build/tests/CommandFaker.js +13 -7
  493. package/build/tests/CommandFaker.js.map +1 -1
  494. package/build/tests/JestJsonParser.js.map +1 -1
  495. package/build/tests/MockProgramFactory.js.map +1 -1
  496. package/build/tests/buildTestCache.js.map +1 -1
  497. package/build/tests/cleanTestCache.js.map +1 -1
  498. package/build/tests/cleanTestData.js.map +1 -1
  499. package/build/tests/constants.js.map +1 -1
  500. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  501. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  502. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  503. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  504. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  505. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  506. package/build/tests/utilities/test.utility.js.map +1 -1
  507. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  508. package/build/types/apiClient.types.js.map +1 -1
  509. package/build/types/cli.types.js.map +1 -1
  510. package/build/types/graphicsInterface.types.js.map +1 -1
  511. package/build/updaters/ScriptUpdater.js.map +1 -1
  512. package/build/utilities/action.utility.js.map +1 -1
  513. package/build/utilities/apiClient.utility.js.map +1 -1
  514. package/build/utilities/argParser.utility.js.map +1 -1
  515. package/build/utilities/commander.utility.js.map +1 -1
  516. package/build/utilities/duration.utility.js.map +1 -1
  517. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  518. package/build/utilities/form.utility.js.map +1 -1
  519. package/build/utilities/introspection.utility.js.map +1 -1
  520. package/build/utilities/isCi.js.map +1 -1
  521. package/build/utilities/tsConfig.utility.js.map +1 -1
  522. package/build/utilities/ui.utility.js.map +1 -1
  523. package/build/widgets/Theme.js.map +1 -1
  524. package/build/widgets/WidgetFactory.js.map +1 -1
  525. package/build/widgets/keySelectChoices.js.map +1 -1
  526. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  527. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  528. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  529. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  530. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  531. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  532. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  533. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  534. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  535. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  536. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  537. package/build/widgets/types/button.types.js.map +1 -1
  538. package/build/widgets/types/factory.types.js.map +1 -1
  539. package/build/widgets/types/input.types.js.map +1 -1
  540. package/build/widgets/types/layout.types.js.map +1 -1
  541. package/build/widgets/types/menuBar.types.js.map +1 -1
  542. package/build/widgets/types/popup.types.js.map +1 -1
  543. package/build/widgets/types/progressBar.types.js.map +1 -1
  544. package/build/widgets/types/table.types.js.map +1 -1
  545. package/build/widgets/types/text.types.js.map +1 -1
  546. package/build/widgets/types/widgets.types.js.map +1 -1
  547. package/build/widgets/types/window.types.js.map +1 -1
  548. package/build/widgets/widget.utilities.js.map +1 -1
  549. package/build/writers/AbstractWriter.js.map +1 -1
  550. package/build/writers/WriterFactory.js.map +1 -1
  551. package/package.json +36 -36
  552. package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +21 -7
  553. package/src/__tests__/implementation/DataStoreStore.test.ts +8 -0
  554. package/src/__tests__/implementation/EventStore.test.ts +14 -0
  555. package/src/__tests__/implementation/ListenerStore.test.ts +14 -0
  556. package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
  557. package/src/features/AbstractAction.ts +2 -2
  558. package/src/features/event/builders/EventContractBuilder.ts +2 -2
  559. package/src/features/event/stores/EventStore.ts +11 -8
  560. package/src/features/event/stores/ListenerStore.ts +5 -3
  561. package/src/features/event/writers/EventWriter.ts +1 -1
  562. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  563. package/src/features/store/StoreFeature.ts +1 -1
  564. package/src/features/store/stores/StoreStore.ts +5 -1
  565. package/src/features/test/actions/CreateAction.ts +1 -1
  566. package/src/features/validateAndNormalize.utility.ts +2 -2
  567. package/src/features/view/writers/ViewWriter.ts +3 -2
  568. package/src/tests/CommandFaker.ts +9 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/SchemaStore.test.ts"],"names":["LOCAL_NAMESPACE","SchemaStoreTest","test","skip","assert","isTruthy","Store","isFunction","fetchSchemas","fetchFields","localNamespace","results","schemasByNamespace","errors","isEqual","length","CORE_NAMESPACE","coreSchemas","isAbove","validateSchemas","doesInclude","id","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","Object","keys","localSchemas","message","copySchemasAndFieldsThenFetchFields","fieldTypes","fieldClassMap","type","namesUtil","toPascal","localAddonsDir","fields","errorAssert","assertError","sort","a","b","originalError","options","schemaId","installSchemaFeature","cli","wasFired","on","isTrue","payload","emitPayload","name","schemas","namespace","MyCoolNamespace","copySchemas","version","description","isRequired","TestSkill","schema","testBuilderDir","syncSchemas","schemasDir","diskUtil","copyDir","resolveTestPath","registrationsDir","addonsDir","AbstractSchemaTest"],"mappings":"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","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'\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"],"file":"SchemaStore.test.js"}
1
+ {"version":3,"file":"SchemaStore.test.js","names":["LOCAL_NAMESPACE","SchemaStoreTest","test","skip","assert","isTruthy","Store","isFunction","fetchSchemas","fetchFields","localNamespace","results","schemasByNamespace","errors","isEqual","length","CORE_NAMESPACE","coreSchemas","isAbove","validateSchemas","doesInclude","id","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","Object","keys","localSchemas","message","copySchemasAndFieldsThenFetchFields","fieldTypes","fieldClassMap","type","namesUtil","toPascal","localAddonsDir","fields","errorAssert","assertError","sort","a","b","originalError","options","schemaId","installSchemaFeature","cli","wasFired","on","isTrue","payload","emitPayload","name","schemas","namespace","MyCoolNamespace","copySchemas","version","description","isRequired","TestSkill","schema","testBuilderDir","syncSchemas","schemasDir","diskUtil","copyDir","resolveTestPath","registrationsDir","addonsDir","AbstractSchemaTest"],"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'\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 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"names":["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","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","assert","isTruthy","isFunction","buildTemplateItems","results","actual","isEqualDeep","expected","localNamespace","isLength","length","forEach","idx","match","firstName","remote","local","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,SAAiB,GAAG;AACzBC,EAAAA,EAAE,EAAE,SADqB;AAEzBC,EAAAA,OAAO,EAAE,YAFgB;AAGzBC,EAAAA,IAAI,EAAE,cAHmB;AAIzBC,EAAAA,MAAM,EAAE;AACPC,IAAAA,MAAM,EAAE;AACPC,MAAAA,IAAI,EAAE;AADC;AADD;AAJiB,CAA1B;AAWA,IAAMC,qBAAyC,GAAG;AACjDC,EAAAA,SAAS,EAAEC,gCADsC;AAEjDR,EAAAA,EAAE,EAAED,SAAS,CAACC,EAFmC;AAGjDS,EAAAA,UAAU,EAAE,iCAHqC;AAIjDC,EAAAA,SAAS,EAAE,SAJsC;AAKjDC,EAAAA,UAAU,EAAE,SALqC;AAMjDC,EAAAA,YAAY,EAAE,cANmC;AAOjDC,EAAAA,MAAM,kCAAOd,SAAP;AAAkBQ,IAAAA,SAAS,EAAEC;AAA7B,IAP2C;AAQjDM,EAAAA,QAAQ,EAAE,KARuC;AASjDC,EAAAA,cAAc,EAAE;AATiC,CAAlD;AAYA,IAAMC,2BAA+C,GAAG;AACvDT,EAAAA,SAAS,EAAEC,gCAD4C;AAEvDR,EAAAA,EAAE,EAAED,SAAS,CAACC,EAFyC;AAGvDS,EAAAA,UAAU,EAAE,iCAH2C;AAIvDC,EAAAA,SAAS,EAAE,SAJ4C;AAKvDC,EAAAA,UAAU,EAAE,SAL2C;AAMvDC,EAAAA,YAAY,EAAE,cANyC;AAOvDC,EAAAA,MAAM,kCAAOd,SAAP;AAAkBQ,IAAAA,SAAS,EAAEC;AAA7B,IAPiD;AAQvDM,EAAAA,QAAQ,EAAE,IAR6C;AASvDC,EAAAA,cAAc,EAAE;AATuC,CAAxD;AAYA,IAAME,SAAiB,GAAG;AACzBjB,EAAAA,EAAE,EAAE,SADqB;AAEzBC,EAAAA,OAAO,EAAE,YAFgB;AAGzBC,EAAAA,IAAI,EAAE,mBAHmB;AAIzBC,EAAAA,MAAM,EAAE;AACPC,IAAAA,MAAM,EAAE;AACPC,MAAAA,IAAI,EAAE;AADC,KADD;AAIPa,IAAAA,KAAK,EAAE;AACNb,MAAAA,IAAI,EAAE,QADA;AAENc,MAAAA,OAAO,EAAE;AACRC,QAAAA,QAAQ,EAAE;AAAEpB,UAAAA,EAAE,EAAE,QAAN;AAAgBC,UAAAA,OAAO,EAAE;AAAzB;AADF;AAFH;AAJA;AAJiB,CAA1B;AAiBA,IAAMoB,qBAAyC,GAAG;AACjDd,EAAAA,SAAS,EAAEC,gCADsC;AAEjDR,EAAAA,EAAE,EAAEiB,SAAS,CAACjB,EAFmC;AAGjDU,EAAAA,SAAS,EAAE,SAHsC;AAIjDC,EAAAA,UAAU,EAAE,SAJqC;AAKjDC,EAAAA,YAAY,EAAE,mBALmC;AAMjDE,EAAAA,QAAQ,EAAE,KANuC;AAOjDC,EAAAA,cAAc,EAAE,iBAPiC;AAQjDN,EAAAA,UAAU,EAAE,iCARqC;AASjDI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,SADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPC,IAAAA,IAAI,EAAE,mBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKPL,IAAAA,MAAM,EAAE;AACPC,MAAAA,MAAM,EAAE;AACPC,QAAAA,IAAI,EAAE;AADC,OADD;AAIPa,MAAAA,KAAK,EAAE;AACNb,QAAAA,IAAI,EAAE,QADA;AAENc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AAAEtB,YAAAA,EAAE,EAAE,QAAN;AAAgBC,YAAAA,OAAO,EAAE,YAAzB;AAAuCM,YAAAA,SAAS,EAAEC;AAAlD,WADU;AADH;AAFH;AAJA;AALD;AATyC,CAAlD;AA8BA,IAAMe,2BAA+C,GAAG;AACvDhB,EAAAA,SAAS,EAAEC,gCAD4C;AAEvDR,EAAAA,EAAE,EAAEiB,SAAS,CAACjB,EAFyC;AAGvDU,EAAAA,SAAS,EAAE,SAH4C;AAIvDC,EAAAA,UAAU,EAAE,SAJ2C;AAKvDC,EAAAA,YAAY,EAAE,mBALyC;AAMvDE,EAAAA,QAAQ,EAAE,IAN6C;AAOvDC,EAAAA,cAAc,EAAE,iBAPuC;AAQvDN,EAAAA,UAAU,EAAE,iCAR2C;AASvDI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,SADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPC,IAAAA,IAAI,EAAE,mBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKPL,IAAAA,MAAM,EAAE;AACPC,MAAAA,MAAM,EAAE;AACPC,QAAAA,IAAI,EAAE;AADC,OADD;AAIPa,MAAAA,KAAK,EAAE;AACNb,QAAAA,IAAI,EAAE,QADA;AAENc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AAAEtB,YAAAA,EAAE,EAAE,QAAN;AAAgBC,YAAAA,OAAO,EAAE,YAAzB;AAAuCM,YAAAA,SAAS,EAAEC;AAAlD,WADU;AADH;AAFH;AAJA;AALD;AAT+C,CAAxD;AA8BA,IAAMgB,QAAgB,GAAG;AACxBxB,EAAAA,EAAE,EAAE,QADoB;AAExBC,EAAAA,OAAO,EAAE,YAFe;AAGxBC,EAAAA,IAAI,EAAE,aAHkB;AAIxBC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE;AACLG,MAAAA,IAAI,EAAE;AADD;AADC;AAJgB,CAAzB;AAWA,IAAMoB,oBAAwC,GAAG;AAChDlB,EAAAA,SAAS,EAAEC,gCADqC;AAEhDC,EAAAA,UAAU,EAAE,iCAFoC;AAGhDT,EAAAA,EAAE,EAAEwB,QAAQ,CAACxB,EAHmC;AAIhDU,EAAAA,SAAS,EAAE,QAJqC;AAKhDC,EAAAA,UAAU,EAAE,QALoC;AAMhDC,EAAAA,YAAY,EAAE,aANkC;AAOhDC,EAAAA,MAAM,kCAAOW,QAAP;AAAiBjB,IAAAA,SAAS,EAAEC;AAA5B,IAP0C;AAQhDM,EAAAA,QAAQ,EAAE,KARsC;AAShDC,EAAAA,cAAc,EAAE;AATgC,CAAjD;AAYA,IAAMW,QAAgB,GAAG;AACxB1B,EAAAA,EAAE,EAAE,QADoB;AAExBC,EAAAA,OAAO,EAAE,YAFe;AAGxBC,EAAAA,IAAI,EAAE,kBAHkB;AAIxBC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE;AACLG,MAAAA,IAAI,EAAE;AADD,KADC;AAIPsB,IAAAA,eAAe,EAAE;AAChBtB,MAAAA,IAAI,EAAE,QADU;AAEhBc,MAAAA,OAAO,EAAE;AACRN,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,SADG;AAEPE,UAAAA,IAAI,EAAE,YAFC;AAGPD,UAAAA,OAAO,EAAE,YAHF;AAIPE,UAAAA,MAAM,EAAE;AACPyB,YAAAA,IAAI,EAAE;AACLvB,cAAAA,IAAI,EAAE;AADD;AADC;AAJD;AADA;AAFO;AAJV;AAJgB,CAAzB;AA0BA,IAAMwB,oBAAwC,GAAG;AAChDtB,EAAAA,SAAS,EAAEC,gCADqC;AAEhDR,EAAAA,EAAE,EAAEwB,QAAQ,CAACxB,EAFmC;AAGhDS,EAAAA,UAAU,EAAE,iCAHoC;AAIhDC,EAAAA,SAAS,EAAE,QAJqC;AAKhDC,EAAAA,UAAU,EAAE,QALoC;AAMhDC,EAAAA,YAAY,EAAE,kBANkC;AAOhDE,EAAAA,QAAQ,EAAE,KAPsC;AAQhDC,EAAAA,cAAc,EAAE,iBARgC;AAShDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,QADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPC,IAAAA,IAAI,EAAE,kBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKPL,IAAAA,MAAM,EAAE;AACPD,MAAAA,IAAI,EAAE;AACLG,QAAAA,IAAI,EAAE;AADD,OADC;AAIPsB,MAAAA,eAAe,EAAE;AAChBtB,QAAAA,IAAI,EAAE,QADU;AAEhBc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AAAEtB,YAAAA,EAAE,EAAE,SAAN;AAAiBC,YAAAA,OAAO,EAAE,YAA1B;AAAwCM,YAAAA,SAAS,EAAEC;AAAnD,WADU;AADH;AAFO;AAJV;AALD;AATwC,CAAjD;AA8BA,IAAMsB,QAAgB,GAAG;AACxB9B,EAAAA,EAAE,EAAE,QADoB;AAExBC,EAAAA,OAAO,EAAE,YAFe;AAGxBC,EAAAA,IAAI,EAAE,qBAHkB;AAIxBC,EAAAA,MAAM,EAAE;AACP4B,IAAAA,YAAY,EAAE;AACb1B,MAAAA,IAAI,EAAE,QADO;AAEbc,MAAAA,OAAO,EAAE;AACRa,QAAAA,OAAO,EAAE,CAACjC,SAAD,EAAYkB,SAAZ;AADD;AAFI;AADP;AAJgB,CAAzB;AAcA,IAAMgB,oBAAwC,GAAG;AAChD1B,EAAAA,SAAS,EAAEC,gCADqC;AAEhDC,EAAAA,UAAU,EAAE,iCAFoC;AAGhDT,EAAAA,EAAE,EAAE8B,QAAQ,CAAC9B,EAHmC;AAIhDU,EAAAA,SAAS,EAAE,QAJqC;AAKhDC,EAAAA,UAAU,EAAE,QALoC;AAMhDC,EAAAA,YAAY,EAAE,qBANkC;AAOhDE,EAAAA,QAAQ,EAAE,KAPsC;AAQhDC,EAAAA,cAAc,EAAE,iBARgC;AAShDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,QADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPC,IAAAA,IAAI,EAAE,qBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKPL,IAAAA,MAAM,EAAE;AACP4B,MAAAA,YAAY,EAAE;AACb1B,QAAAA,IAAI,EAAE,QADO;AAEbc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AAAEtB,YAAAA,EAAE,EAAE,SAAN;AAAiBC,YAAAA,OAAO,EAAE,YAA1B;AAAwCM,YAAAA,SAAS,EAAEC;AAAnD,WADU,EAEV;AAAER,YAAAA,EAAE,EAAE,SAAN;AAAiBC,YAAAA,OAAO,EAAE,YAA1B;AAAwCM,YAAAA,SAAS,EAAEC;AAAnD,WAFU;AADH;AAFI;AADP;AALD;AATwC,CAAjD;AA4BA,IAAM0B,qBAAyC,GAAG;AACjD3B,EAAAA,SAAS,EAAEC,gCADsC;AAEjDC,EAAAA,UAAU,EAAE,iCAFqC;AAGjDT,EAAAA,EAAE,EAAE,SAH6C;AAIjDU,EAAAA,SAAS,EAAE,SAJsC;AAKjDC,EAAAA,UAAU,EAAE,SALqC;AAMjDC,EAAAA,YAAY,EAAE,YANmC;AAOjDE,EAAAA,QAAQ,EAAE,IAPuC;AAQjDC,EAAAA,cAAc,EAAE,iBARiC;AASjDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,SADG;AAEPE,IAAAA,IAAI,EAAE,YAFC;AAGPK,IAAAA,SAAS,EAAEC,gCAHJ;AAIPP,IAAAA,OAAO,EAAE,YAJF;AAKPE,IAAAA,MAAM,EAAE;AACPyB,MAAAA,IAAI,EAAE;AACLvB,QAAAA,IAAI,EAAE;AADD;AADC;AALD;AATyC,CAAlD;AAsBA,IAAM8B,QAAgB,GAAG;AACxBnC,EAAAA,EAAE,EAAE,QADoB;AAExBC,EAAAA,OAAO,EAAE,YAFe;AAGxBC,EAAAA,IAAI,EAAE,sBAHkB;AAIxBkC,EAAAA,gBAAgB,EAAE,CAAC,qCAAD,CAJM;AAKxBC,EAAAA,iBAAiB,EAAE,CAClB,0DADkB,CALK;AAQxBlC,EAAAA,MAAM,EAAE;AACPmC,IAAAA,QAAQ,EAAE;AACTjC,MAAAA,IAAI,EAAE,QADG;AAETc,MAAAA,OAAO,EAAE;AACRG,QAAAA,SAAS,EAAE,CACV;AAAEtB,UAAAA,EAAE,EAAE,SAAN;AAAiBC,UAAAA,OAAO,EAAE;AAA1B,SADU,EAEV;AAAED,UAAAA,EAAE,EAAE,SAAN;AAAiBC,UAAAA,OAAO,EAAE;AAA1B,SAFU;AADH;AAFA;AADH;AARgB,CAAzB;AAqBA,IAAMsC,oBAAwC,GAAG;AAChDhC,EAAAA,SAAS,EAAEC,gCADqC;AAEhDC,EAAAA,UAAU,EAAE,iCAFoC;AAGhDT,EAAAA,EAAE,EAAEmC,QAAQ,CAACnC,EAHmC;AAIhDU,EAAAA,SAAS,EAAE,QAJqC;AAKhDC,EAAAA,UAAU,EAAE,QALoC;AAMhDC,EAAAA,YAAY,EAAE,sBANkC;AAOhDC,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,QADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPC,IAAAA,IAAI,EAAE,sBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKP4B,IAAAA,gBAAgB,EAAE,CAAC,qCAAD,CALX;AAMPC,IAAAA,iBAAiB,EAAE,CAClB,0DADkB,CANZ;AASPlC,IAAAA,MAAM,EAAE;AACPmC,MAAAA,QAAQ,EAAE;AACTjC,QAAAA,IAAI,EAAE,QADG;AAETc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AAAEtB,YAAAA,EAAE,EAAE,SAAN;AAAiBC,YAAAA,OAAO,EAAE,YAA1B;AAAwCM,YAAAA,SAAS,EAAEC;AAAnD,WADU,EAEV;AAAER,YAAAA,EAAE,EAAE,SAAN;AAAiBC,YAAAA,OAAO,EAAE,YAA1B;AAAwCM,YAAAA,SAAS,EAAEC;AAAnD,WAFU;AADH;AAFA;AADH;AATD,GAPwC;AA4BhDM,EAAAA,QAAQ,EAAE,KA5BsC;AA6BhD0B,EAAAA,OAAO,EAAE,CAAC,0DAAD,CA7BuC;AA8BhDzB,EAAAA,cAAc,EAAE;AA9BgC,CAAjD;AAiCA,IAAM0B,qBAA6B,GAAG;AACrCzC,EAAAA,EAAE,EAAE,iBADiC;AAErCE,EAAAA,IAAI,EAAE,kBAF+B;AAGrCwC,EAAAA,WAAW,EAAE,EAHwB;AAIrCzC,EAAAA,OAAO,EAAE,YAJ4B;AAKrC0C,EAAAA,qBAAqB,EAAE;AACtBtC,IAAAA,IAAI,EAAE,QADgB;AAEtBuC,IAAAA,OAAO,EAAE,yBAFa;AAGtBzB,IAAAA,OAAO,EAAE;AACRN,MAAAA,MAAM,EAAE;AACPb,QAAAA,EAAE,EAAE,gBADG;AAEPE,QAAAA,IAAI,EAAE,iBAFC;AAGPwC,QAAAA,WAAW,EAAE,EAHN;AAIPvC,QAAAA,MAAM,EAAE;AACP0C,UAAAA,eAAe,EAAE;AAChBxC,YAAAA,IAAI,EAAE,KADU;AAEhBc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFO,WADV;AAKPC,UAAAA,WAAW,EAAE;AACZ1C,YAAAA,IAAI,EAAE,KADM;AAEZc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFG,WALN;AASPE,UAAAA,oBAAoB,EAAE;AACrB3C,YAAAA,IAAI,EAAE;AADe,WATf;AAYP4C,UAAAA,kBAAkB,EAAE;AACnB5C,YAAAA,IAAI,EAAE;AADa;AAZb;AAJD;AADA;AAHa;AALc,CAAtC;AAkCA,IAAM6C,0BAAkC,GAAG;AAC1ClD,EAAAA,EAAE,EAAE,iBADsC;AAE1CE,EAAAA,IAAI,EAAE,kBAFoC;AAG1CwC,EAAAA,WAAW,EAAE,EAH6B;AAI1CzC,EAAAA,OAAO,EAAE,YAJiC;AAM1C0C,EAAAA,qBAAqB,EAAE;AACtBtC,IAAAA,IAAI,EAAE,QADgB;AAEtBuC,IAAAA,OAAO,EAAE,yBAFa;AAGtBzB,IAAAA,OAAO,EAAE;AACRa,MAAAA,OAAO,EAAE,CACR;AACChC,QAAAA,EAAE,EAAE,gBADL;AAECE,QAAAA,IAAI,EAAE,iBAFP;AAGCwC,QAAAA,WAAW,EAAE,EAHd;AAICvC,QAAAA,MAAM,EAAE;AACP0C,UAAAA,eAAe,EAAE;AAChBxC,YAAAA,IAAI,EAAE,KADU;AAEhBc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFO,WADV;AAKPC,UAAAA,WAAW,EAAE;AACZ1C,YAAAA,IAAI,EAAE,KADM;AAEZc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFG,WALN;AASPE,UAAAA,oBAAoB,EAAE;AACrB3C,YAAAA,IAAI,EAAE;AADe,WATf;AAYP4C,UAAAA,kBAAkB,EAAE;AACnB5C,YAAAA,IAAI,EAAE;AADa;AAZb;AAJT,OADQ,EAsBR;AACCL,QAAAA,EAAE,EAAE,iBADL;AAECE,QAAAA,IAAI,EAAE,kBAFP;AAGCwC,QAAAA,WAAW,EAAE,EAHd;AAICvC,QAAAA,MAAM,EAAE;AACP0C,UAAAA,eAAe,EAAE;AAChBxC,YAAAA,IAAI,EAAE,KADU;AAEhBc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFO,WADV;AAKPC,UAAAA,WAAW,EAAE;AACZ1C,YAAAA,IAAI,EAAE,KADM;AAEZc,YAAAA,OAAO,EAAE;AAAE2B,cAAAA,SAAS,EAAE;AAAb;AAFG,WALN;AASPE,UAAAA,oBAAoB,EAAE;AACrB3C,YAAAA,IAAI,EAAE;AADe,WATf;AAYP4C,UAAAA,kBAAkB,EAAE;AACnB5C,YAAAA,IAAI,EAAE;AADa;AAZb;AAJT,OAtBQ;AADD;AAHa;AANmB,CAA3C;AA0DA,IAAM8C,mBAAuC,GAAG;AAC/C5C,EAAAA,SAAS,EAAEC,gCADoC;AAE/CC,EAAAA,UAAU,EAAE,iCAFmC;AAG/CT,EAAAA,EAAE,EAAEyC,qBAAqB,CAACzC,EAHqB;AAI/CU,EAAAA,SAAS,EAAE,iBAJoC;AAK/CC,EAAAA,UAAU,EAAE,iBALmC;AAM/CC,EAAAA,YAAY,2BAAE6B,qBAAqB,CAACvC,IAAxB,yEAAgCuC,qBAAqB,CAACzC,EANnB;AAO/Cc,EAAAA,QAAQ,EAAE,KAPqC;AAQ/CC,EAAAA,cAAc,EAAE,iBAR+B;AAS/CF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,iBADG;AAEPE,IAAAA,IAAI,EAAE,kBAFC;AAGPwC,IAAAA,WAAW,EAAE,EAHN;AAIPnC,IAAAA,SAAS,EAAEC,gCAJJ;AAKPP,IAAAA,OAAO,EAAE,YALF;AAMP0C,IAAAA,qBAAqB,EAAE;AACtBtC,MAAAA,IAAI,EAAE,QADgB;AAEtBuC,MAAAA,OAAO,EAAE,yBAFa;AAGtBzB,MAAAA,OAAO,EAAE;AACRG,QAAAA,SAAS,EAAE,CACV;AACCtB,UAAAA,EAAE,EAAE,gBADL;AAECC,UAAAA,OAAO,EAAE,YAFV;AAGCM,UAAAA,SAAS,EAAEC;AAHZ,SADU;AADH;AAHa;AANhB;AATuC,CAAhD;AA+BA,IAAM4C,0BAA8C,GAAG;AACtD7C,EAAAA,SAAS,EAAEC,gCAD2C;AAEtDR,EAAAA,EAAE,EAAE,gBAFkD;AAGtDS,EAAAA,UAAU,EAAE,iCAH0C;AAItDC,EAAAA,SAAS,EAAE,gBAJ2C;AAKtDC,EAAAA,UAAU,EAAE,gBAL0C;AAMtDC,EAAAA,YAAY,EAAE,iBANwC;AAOtDE,EAAAA,QAAQ,EAAE,IAP4C;AAQtDC,EAAAA,cAAc,EAAE,iBARsC;AAStDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,gBADG;AAEPE,IAAAA,IAAI,EAAE,iBAFC;AAGPwC,IAAAA,WAAW,EAAE,EAHN;AAIPzC,IAAAA,OAAO,EAAE,YAJF;AAKPM,IAAAA,SAAS,EAAEC,gCALJ;AAMPL,IAAAA,MAAM,EAAE;AACP0C,MAAAA,eAAe,EAAE;AAChBxC,QAAAA,IAAI,EAAE,KADU;AAEhBc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFO,OADV;AAKPC,MAAAA,WAAW,EAAE;AACZ1C,QAAAA,IAAI,EAAE,KADM;AAEZc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFG,OALN;AASPE,MAAAA,oBAAoB,EAAE;AACrB3C,QAAAA,IAAI,EAAE;AADe,OATf;AAYP4C,MAAAA,kBAAkB,EAAE;AACnB5C,QAAAA,IAAI,EAAE;AADa;AAZb;AAND;AAT8C,CAAvD;AAiCA,IAAMgD,wBAA4C,GAAG;AACpD9C,EAAAA,SAAS,EAAEC,gCADyC;AAEpDR,EAAAA,EAAE,EAAEkD,0BAA0B,CAAClD,EAFqB;AAGpDS,EAAAA,UAAU,EAAE,iCAHwC;AAIpDC,EAAAA,SAAS,EAAE,iBAJyC;AAKpDC,EAAAA,UAAU,EAAE,iBALwC;AAMpDC,EAAAA,YAAY,4BACXsC,0BAA0B,CAAChD,IADhB,2EACwBgD,0BAA0B,CAAClD,EAPX;AAQpDc,EAAAA,QAAQ,EAAE,KAR0C;AASpDC,EAAAA,cAAc,EAAE,iBAToC;AAUpDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,iBADG;AAEPE,IAAAA,IAAI,EAAE,kBAFC;AAGPwC,IAAAA,WAAW,EAAE,EAHN;AAIPzC,IAAAA,OAAO,EAAE,YAJF;AAKPM,IAAAA,SAAS,EAAEC,gCALJ;AAMPmC,IAAAA,qBAAqB,EAAE;AACtBtC,MAAAA,IAAI,EAAE,QADgB;AAEtBuC,MAAAA,OAAO,EAAE,yBAFa;AAGtBzB,MAAAA,OAAO,EAAE;AACRG,QAAAA,SAAS,EAAE,CACV;AACCtB,UAAAA,EAAE,EAAE,gBADL;AAECC,UAAAA,OAAO,EAAE,YAFV;AAGCM,UAAAA,SAAS,EAAEC;AAHZ,SADU,EAMV;AACCR,UAAAA,EAAE,EAAE,iBADL;AAECC,UAAAA,OAAO,EAAE,YAFV;AAGCM,UAAAA,SAAS,EAAEC;AAHZ,SANU;AADH;AAHa;AANhB;AAV4C,CAArD;AAqCA,IAAM8C,2BAA+C,GAAG;AACvD/C,EAAAA,SAAS,EAAEC,gCAD4C;AAEvDR,EAAAA,EAAE,EAAE,iBAFmD;AAGvDU,EAAAA,SAAS,EAAE,iBAH4C;AAIvDD,EAAAA,UAAU,EAAE,iCAJ2C;AAKvDE,EAAAA,UAAU,EAAE,iBAL2C;AAMvDC,EAAAA,YAAY,EAAE,kBANyC;AAOvDE,EAAAA,QAAQ,EAAE,IAP6C;AAQvDC,EAAAA,cAAc,EAAE,iBARuC;AASvDF,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,iBADG;AAEPE,IAAAA,IAAI,EAAE,kBAFC;AAGPwC,IAAAA,WAAW,EAAE,EAHN;AAIPzC,IAAAA,OAAO,EAAE,YAJF;AAKPM,IAAAA,SAAS,EAAEC,gCALJ;AAMPL,IAAAA,MAAM,EAAE;AACP0C,MAAAA,eAAe,EAAE;AAChBxC,QAAAA,IAAI,EAAE,KADU;AAEhBc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFO,OADV;AAKPC,MAAAA,WAAW,EAAE;AACZ1C,QAAAA,IAAI,EAAE,KADM;AAEZc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFG,OALN;AASPE,MAAAA,oBAAoB,EAAE;AACrB3C,QAAAA,IAAI,EAAE;AADe,OATf;AAYP4C,MAAAA,kBAAkB,EAAE;AACnB5C,QAAAA,IAAI,EAAE;AADa;AAZb;AAND;AAT+C,CAAxD;AAkCA,IAAMkD,2BAAmC,GAAG;AAC3CvD,EAAAA,EAAE,EAAE,YADuC;AAE3CC,EAAAA,OAAO,EAAE,YAFkC;AAG3CE,EAAAA,MAAM,EAAE;AACPqD,IAAAA,UAAU,EAAE;AACXnD,MAAAA,IAAI,EAAE,QADK;AAEXc,MAAAA,OAAO,EAAE;AACRN,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,YADG;AAEPG,UAAAA,MAAM,EAAE;AACPsD,YAAAA,WAAW,EAAE;AACZpD,cAAAA,IAAI,EAAE,QADM;AAEZc,cAAAA,OAAO,EAAE;AACRN,gBAAAA,MAAM,EAAE;AACPb,kBAAAA,EAAE,EAAE,aADG;AAEPO,kBAAAA,SAAS,EAAE,kBAFJ;AAGPJ,kBAAAA,MAAM,EAAE;AACPuD,oBAAAA,SAAS,EAAE;AACVrD,sBAAAA,IAAI,EAAE,QADI;AAEVc,sBAAAA,OAAO,EAAE;AACRN,wBAAAA,MAAM,EAAE;AACPb,0BAAAA,EAAE,EAAE,WADG;AAEPG,0BAAAA,MAAM,EAAE;AACPwD,4BAAAA,IAAI,EAAE;AACLtD,8BAAAA,IAAI,EAAE;AADD;AADC;AAFD;AADA;AAFC;AADJ;AAHD;AADA;AAFG;AADN;AAFD;AADA;AAFE;AADL;AAHmC,CAA5C;AAyCA,IAAMuD,sBAA0C,GAAG;AAClD5D,EAAAA,EAAE,EAAE,YAD8C;AAElDO,EAAAA,SAAS,EAAEC,gCAFuC;AAGlDC,EAAAA,UAAU,EAAE,iCAHsC;AAIlDI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,YADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPM,IAAAA,SAAS,EAAEC,gCAHJ;AAIPL,IAAAA,MAAM,EAAE;AACPqD,MAAAA,UAAU,EAAE;AACXnD,QAAAA,IAAI,EAAE,QADK;AAEXc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,YADL;AAECC,YAAAA,OAAO,EAAE,YAFV;AAGCM,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAFE;AADL;AAJD,GAJ0C;AAuBlDI,EAAAA,YAAY,EAAE,YAvBoC;AAwBlDF,EAAAA,SAAS,EAAE,YAxBuC;AAyBlDC,EAAAA,UAAU,EAAE,YAzBsC;AA0BlDG,EAAAA,QAAQ,EAAE,KA1BwC;AA2BlDC,EAAAA,cAAc,EAAE;AA3BkC,CAAnD;AA8BA,IAAM8C,sBAA0C,GAAG;AAClD7D,EAAAA,EAAE,EAAE,YAD8C;AAElDO,EAAAA,SAAS,EAAEC,gCAFuC;AAGlDC,EAAAA,UAAU,EAAE,iCAHsC;AAIlDI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,YADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPM,IAAAA,SAAS,EAAEC,gCAHJ;AAIPL,IAAAA,MAAM,EAAE;AACPsD,MAAAA,WAAW,EAAE;AACZpD,QAAAA,IAAI,EAAE,QADM;AAEZc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,aADL;AAECO,YAAAA,SAAS,EAAE,kBAFZ;AAGCN,YAAAA,OAAO,EAAE;AAHV,WADU;AADH;AAFG;AADN;AAJD,GAJ0C;AAuBlDW,EAAAA,YAAY,EAAE,YAvBoC;AAwBlDF,EAAAA,SAAS,EAAE,YAxBuC;AAyBlDC,EAAAA,UAAU,EAAE,YAzBsC;AA0BlDG,EAAAA,QAAQ,EAAE,IA1BwC;AA2BlDC,EAAAA,cAAc,EAAE;AA3BkC,CAAnD;AA8BA,IAAM+C,uBAA2C,GAAG;AACnD9D,EAAAA,EAAE,EAAE,aAD+C;AAEnDO,EAAAA,SAAS,EAAE,kBAFwC;AAGnDM,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,aADG;AAEPC,IAAAA,OAAO,EAAE,YAFF;AAGPM,IAAAA,SAAS,EAAE,kBAHJ;AAIPJ,IAAAA,MAAM,EAAE;AACPuD,MAAAA,SAAS,EAAE;AACVrD,QAAAA,IAAI,EAAE,QADI;AAEVc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,WADL;AAECC,YAAAA,OAAO,EAAE,YAFV;AAGCM,YAAAA,SAAS,EAAE;AAHZ,WADU;AADH;AAFC;AADJ;AAJD,GAH2C;AAsBnDK,EAAAA,YAAY,EAAE,aAtBqC;AAuBnDF,EAAAA,SAAS,EAAE,aAvBwC;AAwBnDC,EAAAA,UAAU,EAAE,aAxBuC;AAyBnDG,EAAAA,QAAQ,EAAE,IAzByC;AA0BnDC,EAAAA,cAAc,EAAE;AA1BmC,CAApD;AA6BA,IAAMgD,qBAAyC,GAAG;AACjD/D,EAAAA,EAAE,EAAE,WAD6C;AAEjDO,EAAAA,SAAS,EAAE,kBAFsC;AAGjDM,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,WADG;AAEPO,IAAAA,SAAS,EAAE,kBAFJ;AAGPN,IAAAA,OAAO,EAAE,YAHF;AAIPE,IAAAA,MAAM,EAAE;AAAEwD,MAAAA,IAAI,EAAE;AAAEtD,QAAAA,IAAI,EAAE;AAAR;AAAR;AAJD,GAHyC;AASjDO,EAAAA,YAAY,EAAE,WATmC;AAUjDF,EAAAA,SAAS,EAAE,WAVsC;AAWjDC,EAAAA,UAAU,EAAE,WAXqC;AAYjDG,EAAAA,QAAQ,EAAE,IAZuC;AAajDC,EAAAA,cAAc,EAAE;AAbiC,CAAlD;AAgBA,IAAMiD,cAAc,GAAG,CACtB;AACChE,EAAAA,EAAE,EAAE,iBADL;AAECE,EAAAA,IAAI,EAAE,kBAFP;AAGCwC,EAAAA,WAAW,EAAE,EAHd;AAICvC,EAAAA,MAAM,EAAE;AACP8D,IAAAA,eAAe,EAAE;AAChB5D,MAAAA,IAAI,EAAE,QADU;AAEhB6D,MAAAA,UAAU,EAAE,IAFI;AAGhBC,MAAAA,OAAO,EAAE,IAHO;AAIhBhD,MAAAA,OAAO,EAAE;AACRN,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,gBADG;AAEPE,UAAAA,IAAI,EAAE,iBAFC;AAGPwC,UAAAA,WAAW,EAAE,EAHN;AAIPvC,UAAAA,MAAM,EAAE;AACPiE,YAAAA,uBAAuB,EAAE;AACxB/D,cAAAA,IAAI,EAAE,MADkB;AAExB6D,cAAAA,UAAU,EAAE;AAFY,aADlB;AAKPrB,YAAAA,eAAe,EAAE;AAChBxC,cAAAA,IAAI,EAAE,KADU;AAEhBc,cAAAA,OAAO,EAAE;AAAE2B,gBAAAA,SAAS,EAAE;AAAb;AAFO,aALV;AASPC,YAAAA,WAAW,EAAE;AACZ1C,cAAAA,IAAI,EAAE,KADM;AAEZc,cAAAA,OAAO,EAAE;AAAE2B,gBAAAA,SAAS,EAAE;AAAb;AAFG,aATN;AAaPuB,YAAAA,iBAAiB,EAAE;AAClBhE,cAAAA,IAAI,EAAE,QADY;AAElB8D,cAAAA,OAAO,EAAE,IAFS;AAGlBhD,cAAAA,OAAO,EAAE;AACRC,gBAAAA,QAAQ,EAAE;AAAEpB,kBAAAA,EAAE,EAAE,YAAN;AAAoBC,kBAAAA,OAAO,EAAE;AAA7B;AADF;AAHS,aAbZ;AAoBPqE,YAAAA,eAAe,EAAE;AAChBjE,cAAAA,IAAI,EAAE,QADU;AAEhB8D,cAAAA,OAAO,EAAE,IAFO;AAGhBhD,cAAAA,OAAO,EAAE;AACRC,gBAAAA,QAAQ,EAAE;AAAEpB,kBAAAA,EAAE,EAAE,YAAN;AAAoBC,kBAAAA,OAAO,EAAE;AAA7B;AADF;AAHO;AApBV;AAJD;AADA;AAJO;AADV,GAJT;AA8CCA,EAAAA,OAAO,EAAE;AA9CV,CADsB,EAiDtB;AACCD,EAAAA,EAAE,EAAE,oBADL;AAECE,EAAAA,IAAI,EAAE,qBAFP;AAGCwC,EAAAA,WAAW,EAAE,EAHd;AAICvC,EAAAA,MAAM,EAAE;AACPoE,IAAAA,qBAAqB,EAAE;AAAElE,MAAAA,IAAI,EAAE,SAAR;AAAmBmE,MAAAA,YAAY,EAAE;AAAjC,KADhB;AAEPC,IAAAA,WAAW,EAAE;AACZpE,MAAAA,IAAI,EAAE,QADM;AAEZ6D,MAAAA,UAAU,EAAE,IAFA;AAGZC,MAAAA,OAAO,EAAE,IAHG;AAIZhD,MAAAA,OAAO,EAAE;AACRN,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,YADG;AAEPE,UAAAA,IAAI,EAAE,YAFC;AAGPC,UAAAA,MAAM,EAAE;AACPD,YAAAA,IAAI,EAAE;AACLG,cAAAA,IAAI,EAAE,MADD;AAELqE,cAAAA,KAAK,EAAE,iBAFF;AAGLR,cAAAA,UAAU,EAAE,IAHP;AAILS,cAAAA,IAAI,EAAE;AAJD,aADC;AAOPC,YAAAA,kBAAkB,EAAE;AACnBvE,cAAAA,IAAI,EAAE,SADa;AAEnBqE,cAAAA,KAAK,EAAE,sBAFY;AAGnBF,cAAAA,YAAY,EAAE;AAHK,aAPb;AAYPK,YAAAA,QAAQ,EAAE;AACTxE,cAAAA,IAAI,EAAE,QADG;AAETc,cAAAA,OAAO,EAAE;AACRN,gBAAAA,MAAM,EAAE;AACPb,kBAAAA,EAAE,EAAE,gBADG;AAEPG,kBAAAA,MAAM,EAAE;AACPe,oBAAAA,KAAK,EAAE;AAAEb,sBAAAA,IAAI,EAAE;AAAR,qBADA;AAEPyE,oBAAAA,YAAY,EAAE;AAAEzE,sBAAAA,IAAI,EAAE;AAAR,qBAFP;AAGP0E,oBAAAA,OAAO,EAAE;AAAE1E,sBAAAA,IAAI,EAAE;AAAR,qBAHF;AAIP2E,oBAAAA,QAAQ,EAAE;AAAE3E,sBAAAA,IAAI,EAAE;AAAR,qBAJH;AAKP4E,oBAAAA,KAAK,EAAE;AAAE5E,sBAAAA,IAAI,EAAE;AAAR;AALA;AAFD;AADA;AAFA,aAZH;AA2BP6E,YAAAA,GAAG,EAAE;AACJ7E,cAAAA,IAAI,EAAE,QADF;AAEJc,cAAAA,OAAO,EAAE;AACRN,gBAAAA,MAAM,EAAE;AACPb,kBAAAA,EAAE,EAAE,aADG;AAEPG,kBAAAA,MAAM,EAAE;AACP,+BAAS;AAAEE,sBAAAA,IAAI,EAAE;AAAR,qBADF;AAEP8E,oBAAAA,SAAS,EAAE;AACVT,sBAAAA,KAAK,EAAE,YADG;AAEVC,sBAAAA,IAAI,EAAE,6CAFI;AAGVtE,sBAAAA,IAAI,EAAE;AAHI,qBAFJ;AAOP+E,oBAAAA,UAAU,EAAE;AACXV,sBAAAA,KAAK,EAAE,aADI;AAEXC,sBAAAA,IAAI,EAAE,8CAFK;AAGXtE,sBAAAA,IAAI,EAAE;AAHK,qBAPL;AAYPgF,oBAAAA,MAAM,EAAE;AACPX,sBAAAA,KAAK,EAAE,YADA;AAEPC,sBAAAA,IAAI,EAAE,mDAFC;AAGPtE,sBAAAA,IAAI,EAAE;AAHC,qBAZD;AAiBPiF,oBAAAA,OAAO,EAAE;AACRZ,sBAAAA,KAAK,EAAE,aADC;AAERC,sBAAAA,IAAI,EAAE,oCAFE;AAGRtE,sBAAAA,IAAI,EAAE;AAHE;AAjBF;AAFD;AADA;AAFL;AA3BE;AAHD;AADA;AAJG;AAFN,GAJT;AA6ECJ,EAAAA,OAAO,EAAE;AA7EV,CAjDsB,CAAvB;AAkIA,IAAMsF,oBAAoB,GAAG,CAC5B;AACCvF,EAAAA,EAAE,EAAE,aADL;AAECS,EAAAA,UAAU,EAAE,iCAFb;AAGCF,EAAAA,SAAS,EAAEC,gCAHZ;AAICK,EAAAA,MAAM,EAAE;AACPZ,IAAAA,OAAO,EAAE,aADF;AAEPD,IAAAA,EAAE,EAAE,aAFG;AAGPO,IAAAA,SAAS,EAAEC,gCAHJ;AAIPL,IAAAA,MAAM,EAAE;AACP,iBAAS;AAAEE,QAAAA,IAAI,EAAE;AAAR,OADF;AAEP8E,MAAAA,SAAS,EAAE;AACVT,QAAAA,KAAK,EAAE,YADG;AAEVC,QAAAA,IAAI,EAAE,6CAFI;AAGVtE,QAAAA,IAAI,EAAE;AAHI,OAFJ;AAOP+E,MAAAA,UAAU,EAAE;AACXV,QAAAA,KAAK,EAAE,aADI;AAEXC,QAAAA,IAAI,EAAE,8CAFK;AAGXtE,QAAAA,IAAI,EAAE;AAHK,OAPL;AAYPgF,MAAAA,MAAM,EAAE;AACPX,QAAAA,KAAK,EAAE,YADA;AAEPC,QAAAA,IAAI,EAAE,mDAFC;AAGPtE,QAAAA,IAAI,EAAE;AAHC,OAZD;AAiBPiF,MAAAA,OAAO,EAAE;AACRZ,QAAAA,KAAK,EAAE,aADC;AAERC,QAAAA,IAAI,EAAE,oCAFE;AAGRtE,QAAAA,IAAI,EAAE;AAHE;AAjBF;AAJD,GAJT;AAgCCO,EAAAA,YAAY,EAAE,aAhCf;AAiCCF,EAAAA,SAAS,EAAE,aAjCZ;AAkCCC,EAAAA,UAAU,EAAE,aAlCb;AAmCCG,EAAAA,QAAQ,EAAE,IAnCX;AAoCCC,EAAAA,cAAc,EAAE;AApCjB,CAD4B,EAuC5B;AACCf,EAAAA,EAAE,EAAE,gBADL;AAECS,EAAAA,UAAU,EAAE,iCAFb;AAGCF,EAAAA,SAAS,EAAEC,gCAHZ;AAICK,EAAAA,MAAM,EAAE;AACPZ,IAAAA,OAAO,EAAE,aADF;AAEPD,IAAAA,EAAE,EAAE,gBAFG;AAGPO,IAAAA,SAAS,EAAEC,gCAHJ;AAIPL,IAAAA,MAAM,EAAE;AACPe,MAAAA,KAAK,EAAE;AAAEb,QAAAA,IAAI,EAAE;AAAR,OADA;AAEPyE,MAAAA,YAAY,EAAE;AAAEzE,QAAAA,IAAI,EAAE;AAAR,OAFP;AAGP0E,MAAAA,OAAO,EAAE;AAAE1E,QAAAA,IAAI,EAAE;AAAR,OAHF;AAIP2E,MAAAA,QAAQ,EAAE;AAAE3E,QAAAA,IAAI,EAAE;AAAR,OAJH;AAKP4E,MAAAA,KAAK,EAAE;AAAE5E,QAAAA,IAAI,EAAE;AAAR;AALA;AAJD,GAJT;AAgBCO,EAAAA,YAAY,EAAE,gBAhBf;AAiBCF,EAAAA,SAAS,EAAE,gBAjBZ;AAkBCC,EAAAA,UAAU,EAAE,gBAlBb;AAmBCG,EAAAA,QAAQ,EAAE,IAnBX;AAoBCC,EAAAA,cAAc,EAAE;AApBjB,CAvC4B,EA6D5B;AACCf,EAAAA,EAAE,EAAE,YADL;AAECO,EAAAA,SAAS,EAAEC,gCAFZ;AAGCC,EAAAA,UAAU,EAAE,iCAHb;AAICI,EAAAA,MAAM,EAAE;AACPZ,IAAAA,OAAO,EAAE,aADF;AAEPD,IAAAA,EAAE,EAAE,YAFG;AAGPO,IAAAA,SAAS,EAAEC,gCAHJ;AAIPL,IAAAA,MAAM,EAAE;AACPD,MAAAA,IAAI,EAAE;AACLG,QAAAA,IAAI,EAAE,MADD;AAELqE,QAAAA,KAAK,EAAE,iBAFF;AAGLR,QAAAA,UAAU,EAAE,IAHP;AAILS,QAAAA,IAAI,EAAE;AAJD,OADC;AAOPC,MAAAA,kBAAkB,EAAE;AACnBvE,QAAAA,IAAI,EAAE,SADa;AAEnBqE,QAAAA,KAAK,EAAE,sBAFY;AAGnBF,QAAAA,YAAY,EAAE;AAHK,OAPb;AAYPK,MAAAA,QAAQ,EAAE;AACTxE,QAAAA,IAAI,EAAE,QADG;AAETc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,gBADL;AAECC,YAAAA,OAAO,EAAE,aAFV;AAGCM,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAFA,OAZH;AAwBP0E,MAAAA,GAAG,EAAE;AACJ7E,QAAAA,IAAI,EAAE,QADF;AAEJc,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,aADL;AAECC,YAAAA,OAAO,EAAE,aAFV;AAGCM,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAFL;AAxBE,KAJD;AAyCPN,IAAAA,IAAI,EAAE;AAzCC,GAJT;AA+CCU,EAAAA,YAAY,EAAE,YA/Cf;AAgDCF,EAAAA,SAAS,EAAE,YAhDZ;AAiDCC,EAAAA,UAAU,EAAE,YAjDb;AAkDCG,EAAAA,QAAQ,EAAE,IAlDX;AAmDCC,EAAAA,cAAc,EAAE;AAnDjB,CA7D4B,EAkH5B;AACCf,EAAAA,EAAE,EAAE,oBADL;AAECO,EAAAA,SAAS,EAAEC,gCAFZ;AAGCC,EAAAA,UAAU,EAAE,iCAHb;AAICI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,oBADG;AAEPE,IAAAA,IAAI,EAAE,qBAFC;AAGPK,IAAAA,SAAS,EAAEC,gCAHJ;AAIPkC,IAAAA,WAAW,EAAE,EAJN;AAKPvC,IAAAA,MAAM,EAAE;AACPoE,MAAAA,qBAAqB,EAAE;AAAElE,QAAAA,IAAI,EAAE,SAAR;AAAmBmE,QAAAA,YAAY,EAAE;AAAjC,OADhB;AAEPC,MAAAA,WAAW,EAAE;AACZpE,QAAAA,IAAI,EAAE,QADM;AAEZ6D,QAAAA,UAAU,EAAE,IAFA;AAGZC,QAAAA,OAAO,EAAE,IAHG;AAIZhD,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,YADL;AAECC,YAAAA,OAAO,EAAE,aAFV;AAGCM,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAJG;AAFN,KALD;AAsBPP,IAAAA,OAAO,EAAE;AAtBF,GAJT;AA4BCW,EAAAA,YAAY,EAAE,qBA5Bf;AA6BCF,EAAAA,SAAS,EAAE,oBA7BZ;AA8BCC,EAAAA,UAAU,EAAE,oBA9Bb;AA+BCG,EAAAA,QAAQ,EAAE,KA/BX;AAgCCC,EAAAA,cAAc,EAAE;AAhCjB,CAlH4B,EAoJ5B;AACCf,EAAAA,EAAE,EAAE,gBADL;AAECO,EAAAA,SAAS,EAAEC,gCAFZ;AAGCC,EAAAA,UAAU,EAAE,iCAHb;AAICI,EAAAA,MAAM,EAAE;AACPZ,IAAAA,OAAO,EAAE,aADF;AAEPD,IAAAA,EAAE,EAAE,gBAFG;AAGPE,IAAAA,IAAI,EAAE,iBAHC;AAIPK,IAAAA,SAAS,EAAEC,gCAJJ;AAKPkC,IAAAA,WAAW,EAAE,EALN;AAMPvC,IAAAA,MAAM,EAAE;AACPiE,MAAAA,uBAAuB,EAAE;AAAE/D,QAAAA,IAAI,EAAE,MAAR;AAAgB6D,QAAAA,UAAU,EAAE;AAA5B,OADlB;AAEPrB,MAAAA,eAAe,EAAE;AAChBxC,QAAAA,IAAI,EAAE,KADU;AAEhBc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFO,OAFV;AAMPC,MAAAA,WAAW,EAAE;AACZ1C,QAAAA,IAAI,EAAE,KADM;AAEZc,QAAAA,OAAO,EAAE;AAAE2B,UAAAA,SAAS,EAAE;AAAb;AAFG,OANN;AAUPuB,MAAAA,iBAAiB,EAAE;AAClBhE,QAAAA,IAAI,EAAE,QADY;AAElB8D,QAAAA,OAAO,EAAE,IAFS;AAGlBhD,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCrB,YAAAA,OAAO,EAAE,aADV;AAECD,YAAAA,EAAE,EAAE,YAFL;AAGCO,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAHS,OAVZ;AAuBP8D,MAAAA,eAAe,EAAE;AAChBjE,QAAAA,IAAI,EAAE,QADU;AAEhB8D,QAAAA,OAAO,EAAE,IAFO;AAGhBhD,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCrB,YAAAA,OAAO,EAAE,aADV;AAECD,YAAAA,EAAE,EAAE,YAFL;AAGCO,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAHO;AAvBV;AAND,GAJT;AAgDCI,EAAAA,YAAY,EAAE,iBAhDf;AAiDCF,EAAAA,SAAS,EAAE,gBAjDZ;AAkDCC,EAAAA,UAAU,EAAE,gBAlDb;AAmDCG,EAAAA,QAAQ,EAAE,IAnDX;AAoDCC,EAAAA,cAAc,EAAE;AApDjB,CApJ4B,EA0M5B;AACCf,EAAAA,EAAE,EAAE,iBADL;AAECO,EAAAA,SAAS,EAAEC,gCAFZ;AAGCC,EAAAA,UAAU,EAAE,iCAHb;AAICI,EAAAA,MAAM,EAAE;AACPb,IAAAA,EAAE,EAAE,iBADG;AAEPE,IAAAA,IAAI,EAAE,kBAFC;AAGPK,IAAAA,SAAS,EAAEC,gCAHJ;AAIPkC,IAAAA,WAAW,EAAE,EAJN;AAKPvC,IAAAA,MAAM,EAAE;AACP8D,MAAAA,eAAe,EAAE;AAChB5D,QAAAA,IAAI,EAAE,QADU;AAEhB6D,QAAAA,UAAU,EAAE,IAFI;AAGhBC,QAAAA,OAAO,EAAE,IAHO;AAIhBhD,QAAAA,OAAO,EAAE;AACRG,UAAAA,SAAS,EAAE,CACV;AACCtB,YAAAA,EAAE,EAAE,gBADL;AAECC,YAAAA,OAAO,EAAE,aAFV;AAGCM,YAAAA,SAAS,EAAEC;AAHZ,WADU;AADH;AAJO;AADV,KALD;AAqBPP,IAAAA,OAAO,EAAE;AArBF,GAJT;AA2BCW,EAAAA,YAAY,EAAE,kBA3Bf;AA4BCF,EAAAA,SAAS,EAAE,iBA5BZ;AA6BCC,EAAAA,UAAU,EAAE,iBA7Bb;AA8BCG,EAAAA,QAAQ,EAAE,KA9BX;AA+BCC,EAAAA,cAAc,EAAE;AA/BjB,CA1M4B,CAA7B;AA6OA,IAAMyE,WAAW,GAAG,yBAAY;AAC/BxF,EAAAA,EAAE,EAAE,sBAD2B;AAE/BO,EAAAA,SAAS,EAAE,SAFoB;AAG/BJ,EAAAA,MAAM,EAAE;AACPsF,IAAAA,SAAS,EAAE;AACVpF,MAAAA,IAAI,EAAE;AADI;AADJ;AAHuB,CAAZ,CAApB;AAUA,IAAMqF,uBAA2C,GAAG;AACnDnF,EAAAA,SAAS,EAAE,SADwC;AAEnDP,EAAAA,EAAE,EAAE,sBAF+C;AAGnDU,EAAAA,SAAS,EAAE,sBAHwC;AAInDC,EAAAA,UAAU,EAAE,sBAJuC;AAKnDC,EAAAA,YAAY,EAAE,sBALqC;AAMnDE,EAAAA,QAAQ,EAAE,KANyC;AAOnDC,EAAAA,cAAc,EAAE,iBAPmC;AAQnDF,EAAAA,MAAM,EAAE2E;AAR2C,CAApD;IAWqBG,6B,WAUnB,iB,UAKA,iB,UAKA,iB,UAWA,gBACA,2CADA,EAEA,CAAC5F,SAAD,EAAYyB,QAAZ,CAFA,EAGA,CAACC,oBAAD,EAAuBnB,qBAAvB,CAHA,C,UAKA,gBACA,0CADA,EAEA,CAACoB,QAAD,CAFA,EAGA,CAACQ,qBAAD,EAAwBL,oBAAxB,CAHA,C,UAKA,gBACA,2CADA,EAEA,CAACC,QAAD,CAFA,EAGA,CACCd,2BADD,EAECiB,oBAFD,EAGCV,2BAHD,CAHA,C,UASA,gBACA,qBADA,EAEA,CAACxB,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,CAFA,EAGA,CAACO,qBAAD,CAHA,C,UAKA,gBACA,qCADA,EAEA,CAAC6B,QAAD,EAAWL,QAAX,EAAqB/B,SAArB,EAAgCkB,SAAhC,CAFA,EAGA,CACCI,qBADD,EAECf,qBAFD,EAGC2B,oBAHD,EAICM,oBAJD,CAHA,C,UAUA,gBACA,wDADA,EAEA,CAACxC,SAAD,EAAYoC,QAAZ,EAAsBL,QAAtB,EAAgCb,SAAhC,CAFA,EAGA,CACCI,qBADD,EAECf,qBAFD,EAGC2B,oBAHD,EAICM,oBAJD,CAHA,C,WAUA,gBACA,gDADA,EAEA,CAACE,qBAAD,CAFA,EAGA,CAACW,0BAAD,EAA6BD,mBAA7B,CAHA,C,WAKA,gBACA,iDADA,EAEA,CAACD,0BAAD,CAFA,EAGA,CACCI,2BADD,EAECF,0BAFD,EAGCC,wBAHD,CAHA,C,WASA,gBACA,uCADA,EAEA,CAACE,2BAAD,CAFA,EAGA,CACCQ,qBADD,EAECD,uBAFD,EAGCD,sBAHD,EAICD,sBAJD,CAHA,C,WAUA,gBAAK,4BAAL,EAAmCI,cAAnC,EAAmDuB,oBAAnD,C,WACA,gBACA,iDADA,EAEA,CAACC,WAAD,CAFA,EAGA,CAACE,uBAAD,CAHA,EAIA,SAJA,C,WA0BA,iB,WA4CA,iB;;;;;;;;;;;;;sGArKD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKE,WAAL,GAAmB,IAAIC,qCAAJ,CAA8B,KAAKC,eAAnC,CAAnB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAKA,0BACkC;AACjCC,mBAAOC,QAAP,CAAgB,KAAKJ,WAArB;AACA;;;WAED,+BACuC;AACtCG,mBAAOE,UAAP,CAAkB,KAAKL,WAAL,CAAiBM,kBAAnC;AACA;;;WAED,iDACyD;AACxD,UAAMC,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCACZ1F,gCADY,EACK,CAACgB,QAAD,CADL,GAEf,iBAFe,CAAhB;AAIA,UAAM4E,MAAM,GAAGD,OAAO,CAAC,CAAD,CAAtB;;AAEAJ,mBAAOM,WAAP,CAAmBD,MAAnB,EAA2B3E,oBAA3B;AACA;;;WAED,yBA4ECO,OA5ED,EA6ECsE,QA7ED,EA+EE;AAAA,UADDC,cACC,uEADgB,KAAKT,eACrB;AACD,WAAKF,WAAL,GAAmB,IAAIC,qCAAJ,CAA8BU,cAA9B,CAAnB;AAEA,UAAMJ,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCACd1F,gCADc,EACGwB,OADH,EAAhB;;AAIA+D,mBAAOS,QAAP,CAAgBL,OAAhB,EAAyBG,QAAQ,CAACG,MAAlC;;AAEAH,MAAAA,QAAQ,CAACI,OAAT,CAAiB,UAACJ,QAAD,EAAWK,GAAX,EAAmB;AACnC,YAAMC,KAAK,GAAGT,OAAO,CAACQ,GAAD,CAArB;;AACAZ,qBAAOC,QAAP,CAAgBY,KAAhB,6CAA2DN,QAAQ,CAACtG,EAApE;;AACA+F,qBAAOM,WAAP,CAAmBO,KAAnB,EAA0BN,QAA1B;AACA,OAJD;AAKA;;;WAED,uBAC+B;AAC9B,UAAMH,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCAEb,KAAKJ,eAFQ,EAEU,CACvB,yBAAY;AACX9F,QAAAA,EAAE,EAAE,OADO;AAEXoC,QAAAA,gBAAgB,EAAE,CAAC,2BAAD,CAFP;AAGXC,QAAAA,iBAAiB,EAAE,CAAC,6BAAD,CAHR;AAIXlC,QAAAA,MAAM,EAAE;AACP0G,UAAAA,SAAS,EAAE;AAAExG,YAAAA,IAAI,EAAE;AAAR;AADJ;AAJG,OAAZ,CADuB,CAFV,GAaf,iBAbe,CAAhB;;AAgBA0F,mBAAOM,WAAP,CAAmBF,OAAnB,EAA4B,CAC3B;AACCnG,QAAAA,EAAE,EAAE,OADL;AAECO,QAAAA,SAAS,EAAE,gBAFZ;AAGCM,QAAAA,MAAM,EAAE;AACP;AACAb,UAAAA,EAAE,EAAE,OAFG;AAGPO,UAAAA,SAAS,EAAE,gBAHJ;AAIP6B,UAAAA,gBAAgB,EAAE,+BAJX;AAKPC,UAAAA,iBAAiB,EAAE,iCALZ;AAMPlC,UAAAA,MAAM,EAAE;AACP0G,YAAAA,SAAS,EAAE;AACVxG,cAAAA,IAAI,EAAE;AADI;AADJ;AAND,SAHT;AAeCO,QAAAA,YAAY,EAAE,OAff;AAgBCF,QAAAA,SAAS,EAAE,OAhBZ;AAiBCC,QAAAA,UAAU,EAAE,OAjBb;AAkBCG,QAAAA,QAAQ,EAAE,KAlBX;AAmBCC,QAAAA,cAAc,EAAE,iBAnBjB;AAoBCyB,QAAAA,OAAO,EAAE;AApBV,OAD2B,CAA5B;AAwBA;;;WAED,qDAC6D;AAAA;;AAC5D,UAAM2D,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,wFAEb,KAAKJ,eAFQ,EAEU,CACvB,yBAAY;AACX9F,QAAAA,EAAE,EAAE,OADO;AAEXoC,QAAAA,gBAAgB,EAAE,CAAC,2BAAD,CAFP;AAGXC,QAAAA,iBAAiB,EAAE,CAAC,6BAAD,CAHR;AAIXlC,QAAAA,MAAM,EAAE;AACP0G,UAAAA,SAAS,EAAE;AAAExG,YAAAA,IAAI,EAAE;AAAR,WADJ;AAEPyG,UAAAA,MAAM,EAAE;AACPzG,YAAAA,IAAI,EAAE,QADC;AAEPc,YAAAA,OAAO,EAAE;AACRN,cAAAA,MAAM,EAAE;AAAEb,gBAAAA,EAAE,EAAE,QAAN;AAAgBO,gBAAAA,SAAS,EAAE;AAA3B;AADA;AAFF,WAFD;AAQPwG,UAAAA,KAAK,EAAE;AACN1G,YAAAA,IAAI,EAAE,QADA;AAENc,YAAAA,OAAO,EAAE;AACRN,cAAAA,MAAM,EAAE;AAAEb,gBAAAA,EAAE,EAAE,OAAN;AAAeO,gBAAAA,SAAS,EAAE,KAAKuF;AAA/B;AADA;AAFH;AARA;AAJG,OAAZ,CADuB,EAqBvB,yBAAY;AACX9F,QAAAA,EAAE,EAAE,QADO;AAEXoC,QAAAA,gBAAgB,EAAE,CAAC,6BAAD,CAFP;AAGXC,QAAAA,iBAAiB,EAAE,CAAC,+BAAD,CAHR;AAIXlC,QAAAA,MAAM,EAAE;AACP0G,UAAAA,SAAS,EAAE;AAAExG,YAAAA,IAAI,EAAE;AAAR,WADJ;AAEPyG,UAAAA,MAAM,EAAE;AACPzG,YAAAA,IAAI,EAAE,QADC;AAEPc,YAAAA,OAAO,EAAE;AACRN,cAAAA,MAAM,EAAE;AAAEb,gBAAAA,EAAE,EAAE,QAAN;AAAgBO,gBAAAA,SAAS,EAAE;AAA3B;AADA;AAFF;AAFD;AAJG,OAAZ,CArBuB,CAFV,gFAsCI,CACjB,yBAAY;AACXP,QAAAA,EAAE,EAAE,QADO;AAEXoC,QAAAA,gBAAgB,EAAE,CAAC,6BAAD,CAFP;AAGXC,QAAAA,iBAAiB,EAAE,CAAC,+BAAD,CAHR;AAIXlC,QAAAA,MAAM,EAAE;AACP0G,UAAAA,SAAS,EAAE;AAAExG,YAAAA,IAAI,EAAE;AAAR;AADJ;AAJG,OAAZ,CADiB,CAtCJ,4BAiDf,iBAjDe,CAAhB;;AAoDA0F,mBAAOM,WAAP,CAAmBF,OAAnB,EAA4B,CAC3B;AACCnG,QAAAA,EAAE,EAAE,QADL;AAECO,QAAAA,SAAS,EAAE,kBAFZ;AAGCM,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,QADG;AAEPO,UAAAA,SAAS,EAAE,kBAFJ;AAGP6B,UAAAA,gBAAgB,EAAE,CAAC,6BAAD,CAHX;AAIPC,UAAAA,iBAAiB,EAAE,CAAC,+BAAD,CAJZ;AAKPlC,UAAAA,MAAM,EAAE;AAAE0G,YAAAA,SAAS,EAAE;AAAExG,cAAAA,IAAI,EAAE;AAAR;AAAb;AALD,SAHT;AAUCO,QAAAA,YAAY,EAAE,QAVf;AAWCF,QAAAA,SAAS,EAAE,QAXZ;AAYCC,QAAAA,UAAU,EAAE,QAZb;AAaCG,QAAAA,QAAQ,EAAE,KAbX;AAcCC,QAAAA,cAAc,EAAE,iBAdjB;AAeCyB,QAAAA,OAAO,EAAE,CAAC,+BAAD;AAfV,OAD2B,EAkB3B;AACCxC,QAAAA,EAAE,EAAE,QADL;AAECO,QAAAA,SAAS,EAAE,gBAFZ;AAGCM,QAAAA,MAAM,EAAE;AACPN,UAAAA,SAAS,EAAE,gBADJ;AAEPP,UAAAA,EAAE,EAAE,QAFG;AAGPoC,UAAAA,gBAAgB,EAAE,CAAC,6BAAD,CAHX;AAIPC,UAAAA,iBAAiB,EAAE,CAAC,+BAAD,CAJZ;AAKPlC,UAAAA,MAAM,EAAE;AACP0G,YAAAA,SAAS,EAAE;AAAExG,cAAAA,IAAI,EAAE;AAAR,aADJ;AAEPyG,YAAAA,MAAM,EAAE;AACPzG,cAAAA,IAAI,EAAE,QADC;AAEPc,cAAAA,OAAO,EAAE;AACRG,gBAAAA,SAAS,EAAE,CAAC;AAAEtB,kBAAAA,EAAE,EAAE,QAAN;AAAgBO,kBAAAA,SAAS,EAAE;AAA3B,iBAAD;AADH;AAFF;AAFD;AALD,SAHT;AAkBCK,QAAAA,YAAY,EAAE,QAlBf;AAmBCF,QAAAA,SAAS,EAAE,QAnBZ;AAoBCC,QAAAA,UAAU,EAAE,QApBb;AAqBCG,QAAAA,QAAQ,EAAE,KArBX;AAsBCC,QAAAA,cAAc,EAAE,iBAtBjB;AAuBCyB,QAAAA,OAAO,EAAE,CACR,6BADQ,EAER,+BAFQ;AAvBV,OAlB2B,EA8C3B;AACCxC,QAAAA,EAAE,EAAE,OADL;AAECO,QAAAA,SAAS,EAAE,gBAFZ;AAGCM,QAAAA,MAAM,EAAE;AACPb,UAAAA,EAAE,EAAE,OADG;AAEPO,UAAAA,SAAS,EAAE,gBAFJ;AAGP6B,UAAAA,gBAAgB,EAAE,CAAC,2BAAD,CAHX;AAIPC,UAAAA,iBAAiB,EAAE,CAAC,6BAAD,CAJZ;AAKPlC,UAAAA,MAAM,EAAE;AACP0G,YAAAA,SAAS,EAAE;AAAExG,cAAAA,IAAI,EAAE;AAAR,aADJ;AAEPyG,YAAAA,MAAM,EAAE;AACPzG,cAAAA,IAAI,EAAE,QADC;AAEPc,cAAAA,OAAO,EAAE;AACRG,gBAAAA,SAAS,EAAE,CAAC;AAAEtB,kBAAAA,EAAE,EAAE,QAAN;AAAgBO,kBAAAA,SAAS,EAAE;AAA3B,iBAAD;AADH;AAFF,aAFD;AAQPwG,YAAAA,KAAK,EAAE;AACN1G,cAAAA,IAAI,EAAE,QADA;AAENc,cAAAA,OAAO,EAAE;AACRG,gBAAAA,SAAS,EAAE,CAAC;AAAEtB,kBAAAA,EAAE,EAAE,OAAN;AAAeO,kBAAAA,SAAS,EAAE;AAA1B,iBAAD;AADH;AAFH;AARA;AALD,SAHT;AAwBCK,QAAAA,YAAY,EAAE,OAxBf;AAyBCF,QAAAA,SAAS,EAAE,OAzBZ;AA0BCC,QAAAA,UAAU,EAAE,OA1Bb;AA2BCG,QAAAA,QAAQ,EAAE,KA3BX;AA4BCC,QAAAA,cAAc,EAAE,iBA5BjB;AA6BCyB,QAAAA,OAAO,EAAE,CAAC,2BAAD,EAA8B,+BAA9B;AA7BV,OA9C2B,CAA5B;AA8EA;;;EA9SyDwE,4B,kIAGhB,gB","sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test'\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"],"file":"SchemaTemplateItemBuilder.test.js"}
1
+ {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["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","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","assert","isTruthy","isFunction","buildTemplateItems","results","actual","isEqualDeep","expected","localNamespace","isLength","length","forEach","idx","match","firstName","remote","local","AbstractCliTest"],"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'\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 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/SchemaValueTypeWriter.test.ts"],"names":["LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","type","value","schemaType","generator","SchemaWriter","templates","term","ui","fileDescriptions","linter","Service","settings","installSchemaFeature","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","assert","isFunction","writeValueTypes","resolveHashSprucePath","schemaTemplateItems","fieldTemplateItems","results","isTruthy","generateValueTypes","isAbove","length","first","path","isTrue","doesFileExist","check","expected","importDefault","valueTypes","isObject","Object","keys","doesInclude","fetchAllTemplateItems","writeFieldTypes","schemaStore","StoreFactory","Store","Promise","all","fetchSchemas","localNamespace","fetchFields","schemasByNamespace","schemaErrors","errors","fields","fieldErrors","isLength","schemaBuilder","SchemaTemplateItemBuilder","buildTemplateItems","fieldBuilder","FieldTemplateItemBuilder","generateTemplateItems","AbstractSchemaTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,eAAe,GAAG,UAAxB;IAEqBC,6B,WAyBnB,iB,UAKA,iB,UAaA,iB,UAYA,gBACA,gDADA,YAEGC,gCAFH,qBAE4BC,sCAAoBC,UAFhD,4BAGA;AACCC,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,KAAK,EAAE,QAFR;AAGCC,EAAAA,UAAU,EAAE;AAHb,CAHA,C,UASA,gBACA,8CADA,YAEGL,gCAFH,oBAE2BC,sCAAoBC,UAF/C,2BAGA;AACCC,EAAAA,IAAI,mDADL;AAECC,EAAAA,KAAK,EAAE,gCAFR;AAGCC,EAAAA,UAAU;AAHX,CAHA,C,UASA,gBACA,6CADA,YAEGP,eAFH,8BAEsCG,sCAAoBC,UAF1D,0CAGA;AACCC,EAAAA,IAAI,wFAAiFL,eAAjF,0HAAgNA,eAAhN,mCADL;AAECM,EAAAA,KAAK,EACJ,uEAHF;AAICC,EAAAA,UAAU,2BAAoBP,eAApB,+DAAwFA,eAAxF;AAJX,CAHA,C;;;;;;;;;;;;;sGAvED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEC,qBAAKQ,SAAL,GAAiB,IAAIC,wBAAJ,CAAiB;AACjCC,kBAAAA,SAAS,EAATA,0BADiC;AAEjCC,kBAAAA,IAAI,EAAE,KAAKC,EAFsB;AAGjCC,kBAAAA,gBAAgB,EAAE,EAHe;AAIjCC,kBAAAA,MAAM,EAAE,KAAKC,OAAL,CAAa,MAAb,CAJyB;AAKjCC,kBAAAA,QAAQ,EAAE,KAAKD,OAAL,CAAa,UAAb;AALuB,iBAAjB,CAAjB;AAFD;AAAA,uBAUO,KAAKE,oBAAL,CAA0B,SAA1B,CAVP;;AAAA;AAYOC,gBAAAA,UAZP,GAYoB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAZpB;AAAA;AAAA,uBAaOC,2BAASC,OAAT,CAAiB,KAAKC,eAAL,CAAqB,iBAArB,CAAjB,EAA0DJ,UAA1D,CAbP;;AAAA;AAAA;AAAA,uBAcOE,2BAASC,OAAT,CAAiB,KAAKC,eAAL,CAAqB,eAArB,CAAjB,EAAwDJ,UAAxD,CAdP;;AAAA;AAAA;AAAA,uBAeOE,2BAASC,OAAT,CACL,KAAKC,eAAL,CAAqB,qBAArB,CADK,EAELJ,UAFK,CAfP;;AAAA;AAAA;AAAA,uBAoBO,KAAKK,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CApBP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAuBA;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,UAAP,CAAkB,KAAKlB,SAAL,CAAemB,eAAjC;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;yHAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKnB,SAAL,CAAemB,eAAf,CACrB,KAAKC,qBAAL,CAA2B,KAA3B,CADqB,EAErB;AACCC,kBAAAA,mBAAmB,EAAE,EADtB;AAECC,kBAAAA,kBAAkB,EAAE;AAFrB,iBAFqB,CAFvB;;AAAA;AAEOC,gBAAAA,OAFP;;AAUCN,6BAAOO,QAAP,CAAgBD,OAAhB;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mHAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEuB,KAAKE,kBAAL,EAFvB;;AAAA;AAEOF,gBAAAA,OAFP;;AAICN,6BAAOS,OAAP,CAAeH,OAAO,CAACI,MAAvB,EAA+B,CAA/B;;AAEMC,gBAAAA,KANP,GAMeL,OAAO,CAAC,CAAD,CAAP,CAAWM,IAN1B;;AAOCZ,6BAAOa,MAAP,CAAclB,2BAASmB,aAAT,CAAuBH,KAAvB,CAAd;;AAPD;AAAA,uBASO,KAAKrB,OAAL,CAAa,aAAb,EAA4ByB,KAA5B,CAAkCJ,KAAlC,CATP;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;wGAYA,kBA6BCC,IA7BD,EA8BCI,QA9BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAgCuB,KAAKR,kBAAL,EAhCvB;;AAAA;AAgCOF,gBAAAA,OAhCP;AAAA;AAAA,uBAkC0B,KAAKhB,OAAL,CAAa,QAAb,EAAuB2B,aAAvB,CACxBX,OAAO,CAAC,CAAD,CAAP,CAAWM,IADa,CAlC1B;;AAAA;AAkCOM,gBAAAA,UAlCP;;AAsCClB,6BAAOmB,QAAP,CAAgBD,UAAhB;;AACAlB,6BAAOS,OAAP,CACCW,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBR,MADzB,EAEC,CAFD,EAGC,uCAHD;;AAMAV,6BAAOsB,WAAP,CAAmBJ,UAAnB,uCACEN,IADF,EACSI,QADT;;AA7CD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;8GAkDA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEQ,KAAKO,qBAAL,EAFR;;AAAA;AAAA;AACSlB,gBAAAA,kBADT,yBACSA,kBADT;AAC6BD,gBAAAA,mBAD7B,yBAC6BA,mBAD7B;AAAA;AAAA,uBAIO,KAAKrB,SAAL,CAAeyC,eAAf,CACL,KAAKrB,qBAAL,CAA2B,SAA3B,CADK,EAEL;AACCE,kBAAAA,kBAAkB,EAAlBA;AADD,iBAFK,CAJP;;AAAA;AAAA,kDAWQ,KAAKtB,SAAL,CAAemB,eAAf,CAA+B,KAAKC,qBAAL,CAA2B,KAA3B,CAA/B,EAAkE;AACxEC,kBAAAA,mBAAmB,EAAnBA,mBADwE;AAExEC,kBAAAA,kBAAkB,EAAlBA;AAFwE,iBAAlE,CAXR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAiBA;AAAA;;AAAA;AAAA;AAAA;AAAA;AACOoB,gBAAAA,WADP,GACqB,KAAKC,YAAL,GAAoBC,KAApB,CAA0B,QAA1B,CADrB;AAAA;AAAA,uBAMWC,OAAO,CAACC,GAAR,CAAY,CACrBJ,WAAW,CAACK,YAAZ,CAAyB;AAAEC,kBAAAA,cAAc,EAAExD;AAAlB,iBAAzB,CADqB,EAErBkD,WAAW,CAACO,WAAZ,EAFqB,CAAZ,CANX;;AAAA;AAAA;AAAA;AAAA;AAIIC,gBAAAA,kBAJJ,wBAIIA,kBAJJ;AAIgCC,gBAAAA,YAJhC,wBAIwBC,MAJxB;AAAA;AAKIC,gBAAAA,MALJ,yBAKIA,MALJ;AAKoBC,gBAAAA,WALpB,yBAKYF,MALZ;;AAWCnC,6BAAOsC,QAAP,CAAgBJ,YAAhB,EAA8B,CAA9B;;AACAlC,6BAAOsC,QAAP,CAAgBD,WAAhB,EAA6B,CAA7B;;AAEME,gBAAAA,aAdP,GAcuB,IAAIC,qCAAJ,CAA8B,gBAA9B,CAdvB;AAeOpC,gBAAAA,mBAfP,GAe6BmC,aAAa,CAACE,kBAAd,CAC3BR,kBAD2B,EAE3B,iBAF2B,CAf7B;AAoBOS,gBAAAA,YApBP,GAoBsB,IAAIC,oCAAJ,EApBtB;AAqBOtC,gBAAAA,kBArBP,GAqB4BqC,YAAY,CAACE,qBAAb,CAAmCR,MAAnC,CArB5B;AAAA,kDAuBQ;AACNhC,kBAAAA,mBAAmB,EAAnBA,mBADM;AAENC,kBAAAA,kBAAkB,EAAlBA;AAFM,iBAvBR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1H0DwC,+B","sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_NAMESPACE,\n\tCORE_SCHEMA_VERSION,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates, ValueTypes } from '@sprucelabs/spruce-templates'\nimport { assert, test } from '@sprucelabs/test'\nimport SchemaWriter from '../../features/schema/writers/SchemaWriter'\nimport FieldTemplateItemBuilder from '../../templateItemBuilders/FieldTemplateItemBuilder'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TacoBell'\n\nexport default class SchemaValueTypeGenerationTest extends AbstractSchemaTest {\n\tprivate static generator: SchemaWriter\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.generator = new SchemaWriter({\n\t\t\ttemplates,\n\t\t\tterm: this.ui,\n\t\t\tfileDescriptions: [],\n\t\t\tlinter: this.Service('lint'),\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath('related_schemas'), schemasDir)\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('dynamic_key_schemas'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\t}\n\n\t@test()\n\tprotected static async hasGenerateMethod() {\n\t\tassert.isFunction(this.generator.writeValueTypes)\n\t}\n\n\t@test()\n\tprotected static async runsWithoutBreakingWithNoArgs() {\n\t\tconst results = await this.generator.writeValueTypes(\n\t\t\tthis.resolveHashSprucePath('tmp'),\n\t\t\t{\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t\tfieldTemplateItems: [],\n\t\t\t}\n\t\t)\n\n\t\tassert.isTruthy(results)\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypesFile() {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tassert.isAbove(results.length, 0)\n\n\t\tconst first = results[0].path\n\t\tassert.isTrue(diskUtil.doesFileExist(first))\n\n\t\tawait this.Service('typeChecker').check(first)\n\t}\n\n\t@test(\n\t\t'generates person.firstName value type (string)',\n\t\t`${CORE_NAMESPACE}.person.${CORE_SCHEMA_VERSION.constValue}.firstName.valueTypes`,\n\t\t{\n\t\t\ttype: 'string',\n\t\t\tvalue: 'string',\n\t\t\tschemaType: 'string',\n\t\t}\n\t)\n\t@test(\n\t\t'generates skill.creators value type (schema)',\n\t\t`${CORE_NAMESPACE}.skill.${CORE_SCHEMA_VERSION.constValue}.creators.valueTypes`,\n\t\t{\n\t\t\ttype: `SpruceSchemas.Spruce.v2020_07_22.SkillCreator[]`,\n\t\t\tvalue: 'skillCreatorSchema_v2020_07_22',\n\t\t\tschemaType: `SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema`,\n\t\t}\n\t)\n\t@test(\n\t\t'generates dynamic field with nested schemas',\n\t\t`${LOCAL_NAMESPACE}.mercuryContract.${CORE_SCHEMA_VERSION.constValue}.__dynamicFieldSignature.valueTypes`,\n\t\t{\n\t\t\ttype: `{ schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2 }`,\n\t\t\tvalue:\n\t\t\t\t'[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',\n\t\t\tschemaType: `(SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignatureSchema | SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2Schema)[]`,\n\t\t}\n\t)\n\tprotected static async importsTypes(\n\t\tpath: string,\n\t\texpected: Record<string, any>\n\t) {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tconst valueTypes = await this.Service('import').importDefault<ValueTypes>(\n\t\t\tresults[0].path\n\t\t)\n\n\t\tassert.isObject(valueTypes)\n\t\tassert.isAbove(\n\t\t\tObject.keys(valueTypes).length,\n\t\t\t0,\n\t\t\t'Value types came back as empty object'\n\t\t)\n\n\t\tassert.doesInclude(valueTypes, {\n\t\t\t[path]: expected,\n\t\t})\n\t}\n\n\tprivate static async generateValueTypes() {\n\t\tconst { fieldTemplateItems, schemaTemplateItems } =\n\t\t\tawait this.fetchAllTemplateItems()\n\n\t\tawait this.generator.writeFieldTypes(\n\t\t\tthis.resolveHashSprucePath('schemas'),\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn this.generator.writeValueTypes(this.resolveHashSprucePath('tmp'), {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t})\n\t}\n\n\tprivate static async fetchAllTemplateItems() {\n\t\tconst schemaStore = this.StoreFactory().Store('schema')\n\n\t\tconst [\n\t\t\t{ schemasByNamespace, errors: schemaErrors },\n\t\t\t{ fields, errors: fieldErrors },\n\t\t] = await Promise.all([\n\t\t\tschemaStore.fetchSchemas({ localNamespace: LOCAL_NAMESPACE }),\n\t\t\tschemaStore.fetchFields(),\n\t\t])\n\n\t\tassert.isLength(schemaErrors, 0)\n\t\tassert.isLength(fieldErrors, 0)\n\n\t\tconst schemaBuilder = new SchemaTemplateItemBuilder('LocalNamespace')\n\t\tconst schemaTemplateItems = schemaBuilder.buildTemplateItems(\n\t\t\tschemasByNamespace,\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tconst fieldBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems = fieldBuilder.generateTemplateItems(fields)\n\n\t\treturn {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t}\n\t}\n}\n"],"file":"SchemaValueTypeWriter.test.js"}
1
+ {"version":3,"file":"SchemaValueTypeWriter.test.js","names":["LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","CORE_NAMESPACE","CORE_SCHEMA_VERSION","constValue","type","value","schemaType","generator","SchemaWriter","templates","term","ui","fileDescriptions","linter","Service","settings","installSchemaFeature","schemasDir","resolvePath","diskUtil","copyDir","resolveTestPath","Action","execute","assert","isFunction","writeValueTypes","resolveHashSprucePath","schemaTemplateItems","fieldTemplateItems","results","isTruthy","generateValueTypes","isAbove","length","first","path","isTrue","doesFileExist","check","expected","importDefault","valueTypes","isObject","Object","keys","doesInclude","fetchAllTemplateItems","writeFieldTypes","schemaStore","StoreFactory","Store","Promise","all","fetchSchemas","localNamespace","fetchFields","schemasByNamespace","schemaErrors","errors","fields","fieldErrors","isLength","schemaBuilder","SchemaTemplateItemBuilder","buildTemplateItems","fieldBuilder","FieldTemplateItemBuilder","generateTemplateItems","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/SchemaValueTypeWriter.test.ts"],"sourcesContent":["import { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport {\n\tCORE_NAMESPACE,\n\tCORE_SCHEMA_VERSION,\n} from '@sprucelabs/spruce-skill-utils'\nimport { templates, ValueTypes } from '@sprucelabs/spruce-templates'\nimport { assert, test } from '@sprucelabs/test'\nimport SchemaWriter from '../../features/schema/writers/SchemaWriter'\nimport FieldTemplateItemBuilder from '../../templateItemBuilders/FieldTemplateItemBuilder'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TacoBell'\n\nexport default class SchemaValueTypeGenerationTest extends AbstractSchemaTest {\n\tprivate static generator: SchemaWriter\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.generator = new SchemaWriter({\n\t\t\ttemplates,\n\t\t\tterm: this.ui,\n\t\t\tfileDescriptions: [],\n\t\t\tlinter: this.Service('lint'),\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\n\t\tawait this.installSchemaFeature('schemas')\n\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath('related_schemas'), schemasDir)\n\t\tawait diskUtil.copyDir(this.resolveTestPath('test_builders'), schemasDir)\n\t\tawait diskUtil.copyDir(\n\t\t\tthis.resolveTestPath('dynamic_key_schemas'),\n\t\t\tschemasDir\n\t\t)\n\n\t\tawait this.Action('schema', 'sync').execute({})\n\t}\n\n\t@test()\n\tprotected static async hasGenerateMethod() {\n\t\tassert.isFunction(this.generator.writeValueTypes)\n\t}\n\n\t@test()\n\tprotected static async runsWithoutBreakingWithNoArgs() {\n\t\tconst results = await this.generator.writeValueTypes(\n\t\t\tthis.resolveHashSprucePath('tmp'),\n\t\t\t{\n\t\t\t\tschemaTemplateItems: [],\n\t\t\t\tfieldTemplateItems: [],\n\t\t\t}\n\t\t)\n\n\t\tassert.isTruthy(results)\n\t}\n\n\t@test()\n\tprotected static async generatesValidTypesFile() {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tassert.isAbove(results.length, 0)\n\n\t\tconst first = results[0].path\n\t\tassert.isTrue(diskUtil.doesFileExist(first))\n\n\t\tawait this.Service('typeChecker').check(first)\n\t}\n\n\t@test(\n\t\t'generates person.firstName value type (string)',\n\t\t`${CORE_NAMESPACE}.person.${CORE_SCHEMA_VERSION.constValue}.firstName.valueTypes`,\n\t\t{\n\t\t\ttype: 'string',\n\t\t\tvalue: 'string',\n\t\t\tschemaType: 'string',\n\t\t}\n\t)\n\t@test(\n\t\t'generates skill.creators value type (schema)',\n\t\t`${CORE_NAMESPACE}.skill.${CORE_SCHEMA_VERSION.constValue}.creators.valueTypes`,\n\t\t{\n\t\t\ttype: `SpruceSchemas.Spruce.v2020_07_22.SkillCreator[]`,\n\t\t\tvalue: 'skillCreatorSchema_v2020_07_22',\n\t\t\tschemaType: `SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema`,\n\t\t}\n\t)\n\t@test(\n\t\t'generates dynamic field with nested schemas',\n\t\t`${LOCAL_NAMESPACE}.mercuryContract.${CORE_SCHEMA_VERSION.constValue}.__dynamicFieldSignature.valueTypes`,\n\t\t{\n\t\t\ttype: `{ schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2 }`,\n\t\t\tvalue:\n\t\t\t\t'[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',\n\t\t\tschemaType: `(SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignatureSchema | SpruceSchemas.${LOCAL_NAMESPACE}.v2020_07_22.EventSignature2Schema)[]`,\n\t\t}\n\t)\n\tprotected static async importsTypes(\n\t\tpath: string,\n\t\texpected: Record<string, any>\n\t) {\n\t\tconst results = await this.generateValueTypes()\n\n\t\tconst valueTypes = await this.Service('import').importDefault<ValueTypes>(\n\t\t\tresults[0].path\n\t\t)\n\n\t\tassert.isObject(valueTypes)\n\t\tassert.isAbove(\n\t\t\tObject.keys(valueTypes).length,\n\t\t\t0,\n\t\t\t'Value types came back as empty object'\n\t\t)\n\n\t\tassert.doesInclude(valueTypes, {\n\t\t\t[path]: expected,\n\t\t})\n\t}\n\n\tprivate static async generateValueTypes() {\n\t\tconst { fieldTemplateItems, schemaTemplateItems } =\n\t\t\tawait this.fetchAllTemplateItems()\n\n\t\tawait this.generator.writeFieldTypes(\n\t\t\tthis.resolveHashSprucePath('schemas'),\n\t\t\t{\n\t\t\t\tfieldTemplateItems,\n\t\t\t}\n\t\t)\n\n\t\treturn this.generator.writeValueTypes(this.resolveHashSprucePath('tmp'), {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t})\n\t}\n\n\tprivate static async fetchAllTemplateItems() {\n\t\tconst schemaStore = this.StoreFactory().Store('schema')\n\n\t\tconst [\n\t\t\t{ schemasByNamespace, errors: schemaErrors },\n\t\t\t{ fields, errors: fieldErrors },\n\t\t] = await Promise.all([\n\t\t\tschemaStore.fetchSchemas({ localNamespace: LOCAL_NAMESPACE }),\n\t\t\tschemaStore.fetchFields(),\n\t\t])\n\n\t\tassert.isLength(schemaErrors, 0)\n\t\tassert.isLength(fieldErrors, 0)\n\n\t\tconst schemaBuilder = new SchemaTemplateItemBuilder('LocalNamespace')\n\t\tconst schemaTemplateItems = schemaBuilder.buildTemplateItems(\n\t\t\tschemasByNamespace,\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tconst fieldBuilder = new FieldTemplateItemBuilder()\n\t\tconst fieldTemplateItems = fieldBuilder.generateTemplateItems(fields)\n\n\t\treturn {\n\t\t\tschemaTemplateItems,\n\t\t\tfieldTemplateItems,\n\t\t}\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,eAAe,GAAG,UAAxB;IAEqBC,6B,WAyBnB,iB,UAKA,iB,UAaA,iB,UAYA,gBACA,gDADA,YAEGC,gCAFH,qBAE4BC,sCAAoBC,UAFhD,4BAGA;EACCC,IAAI,EAAE,QADP;EAECC,KAAK,EAAE,QAFR;EAGCC,UAAU,EAAE;AAHb,CAHA,C,UASA,gBACA,8CADA,YAEGL,gCAFH,oBAE2BC,sCAAoBC,UAF/C,2BAGA;EACCC,IAAI,mDADL;EAECC,KAAK,EAAE,gCAFR;EAGCC,UAAU;AAHX,CAHA,C,UASA,gBACA,6CADA,YAEGP,eAFH,8BAEsCG,sCAAoBC,UAF1D,0CAGA;EACCC,IAAI,wFAAiFL,eAAjF,0HAAgNA,eAAhN,mCADL;EAECM,KAAK,EACJ,uEAHF;EAICC,UAAU,2BAAoBP,eAApB,+DAAwFA,eAAxF;AAJX,CAHA,C;;;;;;;;;;;;;sGAvED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKQ,SAAL,GAAiB,IAAIC,wBAAJ,CAAiB;kBACjCC,SAAS,EAATA,0BADiC;kBAEjCC,IAAI,EAAE,KAAKC,EAFsB;kBAGjCC,gBAAgB,EAAE,EAHe;kBAIjCC,MAAM,EAAE,KAAKC,OAAL,CAAa,MAAb,CAJyB;kBAKjCC,QAAQ,EAAE,KAAKD,OAAL,CAAa,UAAb;gBALuB,CAAjB,CAAjB;gBAFD;gBAAA,OAUO,KAAKE,oBAAL,CAA0B,SAA1B,CAVP;;cAAA;gBAYOC,UAZP,GAYoB,KAAKC,WAAL,CAAiB,KAAjB,EAAwB,SAAxB,CAZpB;gBAAA;gBAAA,OAaOC,2BAASC,OAAT,CAAiB,KAAKC,eAAL,CAAqB,iBAArB,CAAjB,EAA0DJ,UAA1D,CAbP;;cAAA;gBAAA;gBAAA,OAcOE,2BAASC,OAAT,CAAiB,KAAKC,eAAL,CAAqB,eAArB,CAAjB,EAAwDJ,UAAxD,CAdP;;cAAA;gBAAA;gBAAA,OAeOE,2BAASC,OAAT,CACL,KAAKC,eAAL,CAAqB,qBAArB,CADK,EAELJ,UAFK,CAfP;;cAAA;gBAAA;gBAAA,OAoBO,KAAKK,MAAL,CAAY,QAAZ,EAAsB,MAAtB,EAA8BC,OAA9B,CAAsC,EAAtC,CApBP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;6GAuBA;QAAA;UAAA;YAAA;cAAA;gBAECC,aAAOC,UAAP,CAAkB,KAAKlB,SAAL,CAAemB,eAAjC;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;yHAKA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKnB,SAAL,CAAemB,eAAf,CACrB,KAAKC,qBAAL,CAA2B,KAA3B,CADqB,EAErB;kBACCC,mBAAmB,EAAE,EADtB;kBAECC,kBAAkB,EAAE;gBAFrB,CAFqB,CAFvB;;cAAA;gBAEOC,OAFP;;gBAUCN,aAAOO,QAAP,CAAgBD,OAAhB;;cAVD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;mHAaA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,KAAKE,kBAAL,EAFvB;;cAAA;gBAEOF,OAFP;;gBAICN,aAAOS,OAAP,CAAeH,OAAO,CAACI,MAAvB,EAA+B,CAA/B;;gBAEMC,KANP,GAMeL,OAAO,CAAC,CAAD,CAAP,CAAWM,IAN1B;;gBAOCZ,aAAOa,MAAP,CAAclB,2BAASmB,aAAT,CAAuBH,KAAvB,CAAd;;gBAPD;gBAAA,OASO,KAAKrB,OAAL,CAAa,aAAb,EAA4ByB,KAA5B,CAAkCJ,KAAlC,CATP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;wGAYA,kBA6BCC,IA7BD,EA8BCI,QA9BD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAgCuB,KAAKR,kBAAL,EAhCvB;;cAAA;gBAgCOF,OAhCP;gBAAA;gBAAA,OAkC0B,KAAKhB,OAAL,CAAa,QAAb,EAAuB2B,aAAvB,CACxBX,OAAO,CAAC,CAAD,CAAP,CAAWM,IADa,CAlC1B;;cAAA;gBAkCOM,UAlCP;;gBAsCClB,aAAOmB,QAAP,CAAgBD,UAAhB;;gBACAlB,aAAOS,OAAP,CACCW,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBR,MADzB,EAEC,CAFD,EAGC,uCAHD;;gBAMAV,aAAOsB,WAAP,CAAmBJ,UAAnB,uCACEN,IADF,EACSI,QADT;;cA7CD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;8GAkDA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEQ,KAAKO,qBAAL,EAFR;;cAAA;gBAAA;gBACSlB,kBADT,yBACSA,kBADT;gBAC6BD,mBAD7B,yBAC6BA,mBAD7B;gBAAA;gBAAA,OAIO,KAAKrB,SAAL,CAAeyC,eAAf,CACL,KAAKrB,qBAAL,CAA2B,SAA3B,CADK,EAEL;kBACCE,kBAAkB,EAAlBA;gBADD,CAFK,CAJP;;cAAA;gBAAA,kCAWQ,KAAKtB,SAAL,CAAemB,eAAf,CAA+B,KAAKC,qBAAL,CAA2B,KAA3B,CAA/B,EAAkE;kBACxEC,mBAAmB,EAAnBA,mBADwE;kBAExEC,kBAAkB,EAAlBA;gBAFwE,CAAlE,CAXR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAiBA;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACOoB,WADP,GACqB,KAAKC,YAAL,GAAoBC,KAApB,CAA0B,QAA1B,CADrB;gBAAA;gBAAA,OAMWC,OAAO,CAACC,GAAR,CAAY,CACrBJ,WAAW,CAACK,YAAZ,CAAyB;kBAAEC,cAAc,EAAExD;gBAAlB,CAAzB,CADqB,EAErBkD,WAAW,CAACO,WAAZ,EAFqB,CAAZ,CANX;;cAAA;gBAAA;gBAAA;gBAAA;gBAIIC,kBAJJ,wBAIIA,kBAJJ;gBAIgCC,YAJhC,wBAIwBC,MAJxB;gBAAA;gBAKIC,MALJ,yBAKIA,MALJ;gBAKoBC,WALpB,yBAKYF,MALZ;;gBAWCnC,aAAOsC,QAAP,CAAgBJ,YAAhB,EAA8B,CAA9B;;gBACAlC,aAAOsC,QAAP,CAAgBD,WAAhB,EAA6B,CAA7B;;gBAEME,aAdP,GAcuB,IAAIC,qCAAJ,CAA8B,gBAA9B,CAdvB;gBAeOpC,mBAfP,GAe6BmC,aAAa,CAACE,kBAAd,CAC3BR,kBAD2B,EAE3B,iBAF2B,CAf7B;gBAoBOS,YApBP,GAoBsB,IAAIC,oCAAJ,EApBtB;gBAqBOtC,kBArBP,GAqB4BqC,YAAY,CAACE,qBAAb,CAAmCR,MAAnC,CArB5B;gBAAA,kCAuBQ;kBACNhC,mBAAmB,EAAnBA,mBADM;kBAENC,kBAAkB,EAAlBA;gBAFM,CAvBR;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA1H0DwC,+B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/ServiceFactory.test.ts"],"names":["ServiceFactoryTest","factory","ServiceFactory","type","functionName","service","Service","cwd","assert","hasAllFunctions","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAQnB,gBAAK,uBAAL,EAA8B,KAA9B,EAAqC,aAArC,C,UACA,gBAAK,uBAAL,EAA8B,QAA9B,EAAwC,mBAAxC,C;;;;;;;;;;;;;sGAND;AAAA;AAAA;AAAA;AAAA;AACC,qBAAKC,OAAL,GAAe,IAAIC,0BAAJ,EAAf;AADD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAKA,kBAE0BC,IAF1B,EAEyCC,YAFzC,EAE+D;AAC9D,UAAMC,OAAO,GAAG,KAAKJ,OAAL,CAAaK,OAAb,CAAqB,KAAKC,GAA1B,EAA+BJ,IAA/B,CAAhB;;AACAK,mBAAOC,eAAP,CAAuBJ,OAAvB,EAAgC,CAACD,YAAD,CAAhC;AACA;;;EAb8CM,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport ServiceFactory, { Service } from '../../services/ServiceFactory'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ServiceFactoryTest extends AbstractCliTest {\n\tprivate static factory: ServiceFactory\n\n\tprotected static async beforeEach() {\n\t\tthis.factory = new ServiceFactory()\n\t\tawait super.beforeEach()\n\t}\n\n\t@test('can build pin service', 'pkg', 'readPackage')\n\t@test('can build pin service', 'vsCode', 'installExtensions')\n\tprotected static canBuild(type: Service, functionName: string) {\n\t\tconst service = this.factory.Service(this.cwd, type)\n\t\tassert.hasAllFunctions(service, [functionName])\n\t}\n}\n"],"file":"ServiceFactory.test.js"}
1
+ {"version":3,"file":"ServiceFactory.test.js","names":["ServiceFactoryTest","factory","ServiceFactory","type","functionName","service","Service","cwd","assert","hasAllFunctions","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/ServiceFactory.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport ServiceFactory, { Service } from '../../services/ServiceFactory'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class ServiceFactoryTest extends AbstractCliTest {\n\tprivate static factory: ServiceFactory\n\n\tprotected static async beforeEach() {\n\t\tthis.factory = new ServiceFactory()\n\t\tawait super.beforeEach()\n\t}\n\n\t@test('can build pin service', 'pkg', 'readPackage')\n\t@test('can build pin service', 'vsCode', 'installExtensions')\n\tprotected static canBuild(type: Service, functionName: string) {\n\t\tconst service = this.factory.Service(this.cwd, type)\n\t\tassert.hasAllFunctions(service, [functionName])\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,kB,WAQnB,gBAAK,uBAAL,EAA8B,KAA9B,EAAqC,aAArC,C,UACA,gBAAK,uBAAL,EAA8B,QAA9B,EAAwC,mBAAxC,C;;;;;;;;;;;;;sGAND;QAAA;UAAA;YAAA;cAAA;gBACC,KAAKC,OAAL,GAAe,IAAIC,0BAAJ,EAAf;gBADD;gBAAA;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAKA,kBAE0BC,IAF1B,EAEyCC,YAFzC,EAE+D;MAC9D,IAAMC,OAAO,GAAG,KAAKJ,OAAL,CAAaK,OAAb,CAAqB,KAAKC,GAA1B,EAA+BJ,IAA/B,CAAhB;;MACAK,aAAOC,eAAP,CAAuBJ,OAAvB,EAAgC,CAACD,YAAD,CAAhC;IACA;;;EAb8CM,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/SettingUpANodeModule.test.ts"],"names":["SettingUpANodeModuleTest","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","err","errorAssert","assertError","installer","getFeatureInstaller","isInstalled","isFalse","name","description","pkgService","Service","contents","readPackage","doesInclude","version","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,wB,WACnB,iB,UAkBA,iB,UAOA,iB;;;;;;;;;;;;;gHAzBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKC,GAAL,EAFnB;;AAAA;AAEOC,gBAAAA,GAFP;AAAA;AAAA,uBAGmBC,aAAOC,cAAP,CAAsB;AAAA,yBACvCF,GAAG,CAACG,eAAJ,CAAoB;AACnBC,oBAAAA,QAAQ,EAAE,CACT;AACCC,sBAAAA,IAAI,EAAE,MADP;AAEC;AACAC,sBAAAA,OAAO,EAAE;AAHV,qBADS;AADS,mBAApB,CADuC;AAAA,iBAAtB,CAHnB;;AAAA;AAGOC,gBAAAA,GAHP;;AAeCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,mBAA7B;;AAfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;iHAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEOG,gBAAAA,SAFP,GAEmB,KAAKC,mBAAL,EAFnB;AAAA;AAAA,uBAG2BD,SAAS,CAACE,WAAV,CAAsB,MAAtB,CAH3B;;AAAA;AAGOA,gBAAAA,WAHP;;AAICX,6BAAOY,OAAP,CAAeD,WAAf;;AAJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;sIAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmB,KAAKb,GAAL,EAFnB;;AAAA;AAEOC,gBAAAA,GAFP;AAAA;AAAA,uBAIOA,GAAG,CAACG,eAAJ,CAAoB;AACzBC,kBAAAA,QAAQ,EAAE,CACT;AACCC,oBAAAA,IAAI,EAAE,MADP;AAECC,oBAAAA,OAAO,EAAE;AACRQ,sBAAAA,IAAI,EAAE,aADE;AAERC,sBAAAA,WAAW,EAAE;AAFL;AAFV,mBADS;AADe,iBAApB,CAJP;;AAAA;AAgBOC,gBAAAA,UAhBP,GAgBoB,KAAKC,OAAL,CAAa,KAAb,CAhBpB;AAiBOC,gBAAAA,QAjBP,GAiBkBF,UAAU,CAACG,WAAX,EAjBlB;;AAmBClB,6BAAOmB,WAAP,CAAmBF,QAAnB,EAA6B;AAC5BJ,kBAAAA,IAAI,EAAE,aADsB;AAE5BC,kBAAAA,WAAW,EAAE,WAFe;AAG5BM,kBAAAA,OAAO,EAAE;AAHmB,iBAA7B;;AAnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA1BqDC,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SettingUpANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async settingUpANodeModule() {\n\t\tconst cli = await this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'node',\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async canTellIfNotInstalled() {\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('node')\n\t\tassert.isFalse(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async installsNodeModuleWithCleanedUpPackageJson() {\n\t\tconst cli = await this.Cli()\n\n\t\tawait cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'node',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Test module',\n\t\t\t\t\t\tdescription: 'so great!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tconst pkgService = this.Service('pkg')\n\t\tconst contents = pkgService.readPackage()\n\n\t\tassert.doesInclude(contents, {\n\t\t\tname: 'test-module',\n\t\t\tdescription: 'so great!',\n\t\t\tversion: '0.0.1',\n\t\t})\n\t}\n}\n"],"file":"SettingUpANodeModule.test.js"}
1
+ {"version":3,"file":"SettingUpANodeModule.test.js","names":["SettingUpANodeModuleTest","Cli","cli","assert","doesThrowAsync","installFeatures","features","code","options","err","errorAssert","assertError","installer","getFeatureInstaller","isInstalled","isFalse","name","description","pkgService","Service","contents","readPackage","doesInclude","version","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/SettingUpANodeModule.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SettingUpANodeModuleTest extends AbstractCliTest {\n\t@test()\n\tprotected static async settingUpANodeModule() {\n\t\tconst cli = await this.Cli()\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tcli.installFeatures({\n\t\t\t\tfeatures: [\n\t\t\t\t\t{\n\t\t\t\t\t\tcode: 'node',\n\t\t\t\t\t\t//@ts-ignore\n\t\t\t\t\t\toptions: {},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t)\n\n\t\terrorAssert.assertError(err, 'VALIDATION_FAILED')\n\t}\n\n\t@test()\n\tprotected static async canTellIfNotInstalled() {\n\t\tconst installer = this.getFeatureInstaller()\n\t\tconst isInstalled = await installer.isInstalled('node')\n\t\tassert.isFalse(isInstalled)\n\t}\n\n\t@test()\n\tprotected static async installsNodeModuleWithCleanedUpPackageJson() {\n\t\tconst cli = await this.Cli()\n\n\t\tawait cli.installFeatures({\n\t\t\tfeatures: [\n\t\t\t\t{\n\t\t\t\t\tcode: 'node',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tname: 'Test module',\n\t\t\t\t\t\tdescription: 'so great!',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t})\n\n\t\tconst pkgService = this.Service('pkg')\n\t\tconst contents = pkgService.readPackage()\n\n\t\tassert.doesInclude(contents, {\n\t\t\tname: 'test-module',\n\t\t\tdescription: 'so great!',\n\t\t\tversion: '0.0.1',\n\t\t})\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,wB,WACnB,iB,UAkBA,iB,UAOA,iB;;;;;;;;;;;;;gHAzBD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKC,GAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAAA;gBAAA,OAGmBC,aAAOC,cAAP,CAAsB;kBAAA,OACvCF,GAAG,CAACG,eAAJ,CAAoB;oBACnBC,QAAQ,EAAE,CACT;sBACCC,IAAI,EAAE,MADP;sBAEC;sBACAC,OAAO,EAAE;oBAHV,CADS;kBADS,CAApB,CADuC;gBAAA,CAAtB,CAHnB;;cAAA;gBAGOC,GAHP;;gBAeCC,uBAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,mBAA7B;;cAfD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;iHAkBA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAEOG,SAFP,GAEmB,KAAKC,mBAAL,EAFnB;gBAAA;gBAAA,OAG2BD,SAAS,CAACE,WAAV,CAAsB,MAAtB,CAH3B;;cAAA;gBAGOA,WAHP;;gBAICX,aAAOY,OAAP,CAAeD,WAAf;;cAJD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;;sIAOA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKb,GAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAAA;gBAAA,OAIOA,GAAG,CAACG,eAAJ,CAAoB;kBACzBC,QAAQ,EAAE,CACT;oBACCC,IAAI,EAAE,MADP;oBAECC,OAAO,EAAE;sBACRQ,IAAI,EAAE,aADE;sBAERC,WAAW,EAAE;oBAFL;kBAFV,CADS;gBADe,CAApB,CAJP;;cAAA;gBAgBOC,UAhBP,GAgBoB,KAAKC,OAAL,CAAa,KAAb,CAhBpB;gBAiBOC,QAjBP,GAiBkBF,UAAU,CAACG,WAAX,EAjBlB;;gBAmBClB,aAAOmB,WAAP,CAAmBF,QAAnB,EAA6B;kBAC5BJ,IAAI,EAAE,aADsB;kBAE5BC,WAAW,EAAE,WAFe;kBAG5BM,OAAO,EAAE;gBAHmB,CAA7B;;cAnBD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;EA1BqDC,4B"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/__tests__/implementation/SkillStore.test.ts"],"names":["SkillStoreTest","assert","isTruthy","Store","isFunction","register","doesThrowAsync","name","slug","err","errorAssert","assertError","loadCurrentSkill","isCurrentSkillRegistered","FeatureFixture","installCachedFeatures","loadCurrentSkillsNamespace","namespace","isEqual","store","setCurrentSkillsNamespace","Date","getTime","people","loginAsDemoPerson","skillStore","isRegistered","isFalse","skill","isString","apiKey","id","connectToApi","client","authenticate","skillId","results","isTrue","currentSkill","env","Service","get","pkg","AbstractCliTest"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;IAEqBA,c,WACnB,iB,UAKA,iB,UAKA,iB,UAWA,iB,UAQA,iB,UAQA,iB,UAQA,iB,UAaA,iB;;;;;;;;;;;;;oHA1DD;AAAA;AAAA;AAAA;AAAA;AAECC,6BAAOC,QAAP,CAAgB,KAAKC,KAAL,CAAW,OAAX,CAAhB;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;6GAKA;AAAA;AAAA;AAAA;AAAA;AAECF,6BAAOG,UAAP,CAAkB,KAAKD,KAAL,CAAW,OAAX,EAAoBE,QAAtC;;AAFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;oHAKA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBJ,aAAOK,cAAP,CAAsB;AAAA,yBACvC,KAAI,CAACH,KAAL,CAAW,OAAX,EAAoBE,QAApB,CAA6B;AAC5BE,oBAAAA,IAAI,EAAE,eADsB;AAE5BC,oBAAAA,IAAI,EAAE;AAFsB,mBAA7B,CADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOC,gBAAAA,GAFP;;AAQCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,qBAA7B;;AARD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;4HAWA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBR,aAAOK,cAAP,CAAsB;AAAA,yBACvC,MAAI,CAACH,KAAL,CAAW,OAAX,EAAoBS,gBAApB,EADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOH,gBAAAA,GAFP;;AAKCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,qBAA7B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;kIAQA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEmBR,aAAOK,cAAP,CAAsB;AAAA,yBACvC,MAAI,CAACH,KAAL,CAAW,OAAX,EAAoBU,wBAApB,EADuC;AAAA,iBAAtB,CAFnB;;AAAA;AAEOJ,gBAAAA,GAFP;;AAKCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,qBAA7B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKK,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAAA;AAAA,uBAIyB,KAAKZ,KAAL,CAAW,OAAX,EAAoBa,0BAApB,EAJzB;;AAAA;AAIOC,gBAAAA,SAJP;;AAKChB,6BAAOiB,OAAP,CAAeD,SAAf,EAA0B,WAA1B;;AALD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;2GAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKH,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAIOI,gBAAAA,KAJP,GAIe,KAAKhB,KAAL,CAAW,OAAX,CAJf;AAAA;AAAA,uBAKuBgB,KAAK,CAACH,0BAAN,EALvB;;AAAA;AAKKC,gBAAAA,SALL;AAAA;AAAA,uBAOO,KAAKd,KAAL,CAAW,OAAX,EAAoBiB,yBAApB,CAA8C,eAA9C,CAPP;;AAAA;AAAA;AAAA,uBASmBD,KAAK,CAACH,0BAAN,EATnB;;AAAA;AASCC,gBAAAA,SATD;;AAUChB,6BAAOiB,OAAP,CAAeD,SAAf,EAA0B,cAA1B;;AAVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;uGAaA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAEO,KAAKH,cAAL,GAAsBC,qBAAtB,CAA4C,QAA5C,CAFP;;AAAA;AAIOP,gBAAAA,IAJP,2BAI+B,IAAIa,IAAJ,GAAWC,OAAX,EAJ/B;AAAA;AAAA,uBAKO,KAAKC,MAAL,CAAYC,iBAAZ,EALP;;AAAA;AAOOC,gBAAAA,UAPP,GAOoB,KAAKtB,KAAL,CAAW,OAAX,CAPpB;AAAA;AAAA,uBAS0BsB,UAAU,CAACZ,wBAAX,EAT1B;;AAAA;AASKa,gBAAAA,YATL;;AAUCzB,6BAAO0B,OAAP,CAAeD,YAAf;;AAVD;AAAA,uBAYqBD,UAAU,CAACpB,QAAX,CAAoB;AACvCE,kBAAAA,IAAI,EAAE,eADiC;AAEvCC,kBAAAA,IAAI,EAAJA;AAFuC,iBAApB,CAZrB;;AAAA;AAYOoB,gBAAAA,KAZP;;AAiBC3B,6BAAOC,QAAP,CAAgB0B,KAAhB;;AACA3B,6BAAOiB,OAAP,CAAeU,KAAK,CAACrB,IAArB,EAA2B,eAA3B;;AACAN,6BAAOiB,OAAP,CAAeU,KAAK,CAACpB,IAArB,EAA2BA,IAA3B;;AACAP,6BAAO4B,QAAP,CAAgBD,KAAK,CAACE,MAAtB;;AACA7B,6BAAO4B,QAAP,CAAgBD,KAAK,CAACG,EAAtB;;AArBD;AAAA,uBAuBsB,KAAKC,YAAL,EAvBtB;;AAAA;AAuBOC,gBAAAA,MAvBP;AAAA;AAAA,uBAwBuBA,MAAM,CAACC,YAAP,CAAoB;AACzCC,kBAAAA,OAAO,EAAEP,KAAK,CAACG,EAD0B;AAEzCD,kBAAAA,MAAM,EAAEF,KAAK,CAACE;AAF2B,iBAApB,CAxBvB;;AAAA;AAwBOM,gBAAAA,OAxBP;;AA6BCnC,6BAAOiB,OAAP,mBAAekB,OAAO,CAACR,KAAvB,mDAAe,eAAeG,EAA9B,EAAkCH,KAAK,CAACG,EAAxC;;AA7BD;AAAA,uBA+BsBN,UAAU,CAACZ,wBAAX,EA/BtB;;AAAA;AA+BCa,gBAAAA,YA/BD;;AAgCCzB,6BAAOoC,MAAP,CAAcX,YAAd;;AAhCD;AAAA,uBAkC4BD,UAAU,CAACb,gBAAX,EAlC5B;;AAAA;AAkCO0B,gBAAAA,YAlCP;;AAoCCrC,6BAAOiB,OAAP,CAAeoB,YAAY,CAACP,EAA5B,EAAgCH,KAAK,CAACG,EAAtC;;AACA9B,6BAAOoC,MAAP,CAAcC,YAAY,CAACZ,YAA3B;;AACAzB,6BAAOiB,OAAP,CAAeoB,YAAY,CAAC/B,IAA5B,EAAkC,eAAlC;;AACAN,6BAAOiB,OAAP,CAAeoB,YAAY,CAAC9B,IAA5B,EAAkCA,IAAlC;;AACAP,6BAAOiB,OAAP,CAAeoB,YAAY,CAACR,MAA5B,EAAoCF,KAAK,CAACE,MAA1C;;AAEMS,gBAAAA,GA1CP,GA0Ca,KAAKC,OAAL,CAAa,KAAb,CA1Cb;;AA4CCvC,6BAAOiB,OAAP,CAAeqB,GAAG,CAACE,GAAJ,CAAQ,UAAR,CAAf,EAAoCb,KAAK,CAACG,EAA1C;;AACA9B,6BAAOiB,OAAP,CAAeqB,GAAG,CAACE,GAAJ,CAAQ,eAAR,CAAf,EAAyCb,KAAK,CAACE,MAA/C;;AA7CD;AAAA,uBA+CmB7B,aAAOK,cAAP,CAAsB;AAAA,yBACvCmB,UAAU,CAACL,yBAAX,CAAqC,MAArC,CADuC;AAAA,iBAAtB,CA/CnB;;AAAA;AA+COX,gBAAAA,GA/CP;;AAmDCC,uCAAYC,WAAZ,CAAwBF,GAAxB,EAA6B,SAA7B;;AAEMiC,gBAAAA,GArDP,GAqDa,KAAKF,OAAL,CAAa,KAAb,CArDb;AAsDOvB,gBAAAA,SAtDP,GAsDmByB,GAAG,CAACD,GAAJ,CAAQ,iBAAR,CAtDnB;;AAuDCxC,6BAAOiB,OAAP,CAAeD,SAAf,EAA0BT,IAA1B;;AAvDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EA3D2CmC,4B","sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SkillStoreTest extends AbstractCliTest {\n\t@test()\n\tprotected static async canInstantiateSkillStore() {\n\t\tassert.isTruthy(this.Store('skill'))\n\t}\n\n\t@test()\n\tprotected static async hasRegisterMethod() {\n\t\tassert.isFunction(this.Store('skill').register)\n\t}\n\n\t@test()\n\tprotected static async cantRegisterIfNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').register({\n\t\t\t\tname: 'awesome skill',\n\t\t\t\tslug: 'awesome-skill',\n\t\t\t})\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async cantLoadcurrentSkillIfNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').loadCurrentSkill()\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async cantCheckIfSkillIsRegisteredNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').isCurrentSkillRegistered()\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async canGetNamespace() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tassert.isEqual(namespace, 'TestSkill')\n\t}\n\n\t@test()\n\tprotected static async canSetNamespace() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst store = this.Store('skill')\n\t\tlet namespace = await store.loadCurrentSkillsNamespace()\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('new-namespace')\n\n\t\tnamespace = await store.loadCurrentSkillsNamespace()\n\t\tassert.isEqual(namespace, 'NewNamespace')\n\t}\n\n\t@test()\n\tprotected static async canRegister() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst slug = `awesome-skill-${new Date().getTime()}`\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst skillStore = this.Store('skill')\n\n\t\tlet isRegistered = await skillStore.isCurrentSkillRegistered()\n\t\tassert.isFalse(isRegistered)\n\n\t\tconst skill = await skillStore.register({\n\t\t\tname: 'awesome skill',\n\t\t\tslug,\n\t\t})\n\n\t\tassert.isTruthy(skill)\n\t\tassert.isEqual(skill.name, 'awesome skill')\n\t\tassert.isEqual(skill.slug, slug)\n\t\tassert.isString(skill.apiKey)\n\t\tassert.isString(skill.id)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.authenticate({\n\t\t\tskillId: skill.id,\n\t\t\tapiKey: skill.apiKey,\n\t\t})\n\n\t\tassert.isEqual(results.skill?.id, skill.id)\n\n\t\tisRegistered = await skillStore.isCurrentSkillRegistered()\n\t\tassert.isTrue(isRegistered)\n\n\t\tconst currentSkill = await skillStore.loadCurrentSkill()\n\n\t\tassert.isEqual(currentSkill.id, skill.id)\n\t\tassert.isTrue(currentSkill.isRegistered)\n\t\tassert.isEqual(currentSkill.name, 'awesome skill')\n\t\tassert.isEqual(currentSkill.slug, slug)\n\t\tassert.isEqual(currentSkill.apiKey, skill.apiKey)\n\n\t\tconst env = this.Service('env')\n\n\t\tassert.isEqual(env.get('SKILL_ID'), skill.id)\n\t\tassert.isEqual(env.get('SKILL_API_KEY'), skill.apiKey)\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tskillStore.setCurrentSkillsNamespace('test')\n\t\t)\n\n\t\terrorAssert.assertError(err, 'GENERIC')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst namespace = pkg.get('skill.namespace')\n\t\tassert.isEqual(namespace, slug)\n\t}\n}\n"],"file":"SkillStore.test.js"}
1
+ {"version":3,"file":"SkillStore.test.js","names":["SkillStoreTest","assert","isTruthy","Store","isFunction","register","doesThrowAsync","name","slug","err","errorAssert","assertError","loadCurrentSkill","isCurrentSkillRegistered","FeatureFixture","installCachedFeatures","loadCurrentSkillsNamespace","namespace","isEqual","store","setCurrentSkillsNamespace","Date","getTime","people","loginAsDemoPerson","skillStore","isRegistered","isFalse","skill","isString","apiKey","id","connectToApi","client","authenticate","skillId","results","isTrue","currentSkill","env","Service","get","pkg","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/SkillStore.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nexport default class SkillStoreTest extends AbstractCliTest {\n\t@test()\n\tprotected static async canInstantiateSkillStore() {\n\t\tassert.isTruthy(this.Store('skill'))\n\t}\n\n\t@test()\n\tprotected static async hasRegisterMethod() {\n\t\tassert.isFunction(this.Store('skill').register)\n\t}\n\n\t@test()\n\tprotected static async cantRegisterIfNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').register({\n\t\t\t\tname: 'awesome skill',\n\t\t\t\tslug: 'awesome-skill',\n\t\t\t})\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async cantLoadcurrentSkillIfNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').loadCurrentSkill()\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async cantCheckIfSkillIsRegisteredNotInSkill() {\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tthis.Store('skill').isCurrentSkillRegistered()\n\t\t)\n\t\terrorAssert.assertError(err, 'DIRECTORY_NOT_SKILL')\n\t}\n\n\t@test()\n\tprotected static async canGetNamespace() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst namespace = await this.Store('skill').loadCurrentSkillsNamespace()\n\t\tassert.isEqual(namespace, 'TestSkill')\n\t}\n\n\t@test()\n\tprotected static async canSetNamespace() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst store = this.Store('skill')\n\t\tlet namespace = await store.loadCurrentSkillsNamespace()\n\n\t\tawait this.Store('skill').setCurrentSkillsNamespace('new-namespace')\n\n\t\tnamespace = await store.loadCurrentSkillsNamespace()\n\t\tassert.isEqual(namespace, 'NewNamespace')\n\t}\n\n\t@test()\n\tprotected static async canRegister() {\n\t\tawait this.FeatureFixture().installCachedFeatures('skills')\n\n\t\tconst slug = `awesome-skill-${new Date().getTime()}`\n\t\tawait this.people.loginAsDemoPerson()\n\n\t\tconst skillStore = this.Store('skill')\n\n\t\tlet isRegistered = await skillStore.isCurrentSkillRegistered()\n\t\tassert.isFalse(isRegistered)\n\n\t\tconst skill = await skillStore.register({\n\t\t\tname: 'awesome skill',\n\t\t\tslug,\n\t\t})\n\n\t\tassert.isTruthy(skill)\n\t\tassert.isEqual(skill.name, 'awesome skill')\n\t\tassert.isEqual(skill.slug, slug)\n\t\tassert.isString(skill.apiKey)\n\t\tassert.isString(skill.id)\n\n\t\tconst client = await this.connectToApi()\n\t\tconst results = await client.authenticate({\n\t\t\tskillId: skill.id,\n\t\t\tapiKey: skill.apiKey,\n\t\t})\n\n\t\tassert.isEqual(results.skill?.id, skill.id)\n\n\t\tisRegistered = await skillStore.isCurrentSkillRegistered()\n\t\tassert.isTrue(isRegistered)\n\n\t\tconst currentSkill = await skillStore.loadCurrentSkill()\n\n\t\tassert.isEqual(currentSkill.id, skill.id)\n\t\tassert.isTrue(currentSkill.isRegistered)\n\t\tassert.isEqual(currentSkill.name, 'awesome skill')\n\t\tassert.isEqual(currentSkill.slug, slug)\n\t\tassert.isEqual(currentSkill.apiKey, skill.apiKey)\n\n\t\tconst env = this.Service('env')\n\n\t\tassert.isEqual(env.get('SKILL_ID'), skill.id)\n\t\tassert.isEqual(env.get('SKILL_API_KEY'), skill.apiKey)\n\n\t\tconst err = await assert.doesThrowAsync(() =>\n\t\t\tskillStore.setCurrentSkillsNamespace('test')\n\t\t)\n\n\t\terrorAssert.assertError(err, 'GENERIC')\n\n\t\tconst pkg = this.Service('pkg')\n\t\tconst namespace = pkg.get('skill.namespace')\n\t\tassert.isEqual(namespace, slug)\n\t}\n}\n"],"mappings":"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"}
@@ -99,7 +99,7 @@ var StoreFeatureTest = (_dec = (0, _test.test)(), (_class = /*#__PURE__*/functio
99
99
  });
100
100
 
101
101
  case 9:
102
- _test.assert.isEqual(hitCount, 1);
102
+ _test.assert.isEqual(hitCount, 0);
103
103
 
104
104
  _context2.next = 12;
105
105
  return emitter.emit('feature.did-execute', {