@sprucelabs/spruce-cli 17.1.40 → 17.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/build/__tests__/behavioral/AddingADependency.test.js +10 -12
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +3 -5
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +3 -3
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +7 -7
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +13 -13
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js +10 -10
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +32 -34
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +15 -17
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +11 -13
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +4 -4
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +11 -13
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +4 -4
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +14 -16
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +9 -9
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +3 -3
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +4 -6
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +4 -4
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +7 -7
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +11 -11
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +6 -6
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +5 -5
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +10 -12
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +9 -9
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +10 -10
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +29 -31
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +10 -10
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +13 -13
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js +6 -6
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +17 -17
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js +13 -13
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +15 -15
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +15 -15
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +8 -8
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +32 -32
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +4 -6
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +25 -25
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +29 -31
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +26 -28
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +22 -22
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +38 -38
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +7 -7
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +6 -6
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +4 -4
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +3 -5
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +6 -6
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +6 -6
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +6 -6
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +3 -3
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +14 -16
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +7 -7
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +8 -8
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +23 -25
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +7 -7
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +6 -6
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +18 -18
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +7 -7
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +62 -64
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +6 -8
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +4 -6
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.d.ts +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +4 -4
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +12 -12
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +5 -5
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +12 -14
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +29 -29
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +26 -28
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +8 -10
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +10 -10
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +8 -10
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +17 -17
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +3 -5
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +8 -8
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +7 -7
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +6 -6
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +15 -15
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +24 -24
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +22 -22
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +10 -10
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +9 -9
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +4 -4
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +9 -9
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +28 -30
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +9 -11
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +8 -8
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +5 -5
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +12 -12
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +10 -10
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +5 -5
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +30 -30
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +3 -5
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +2 -4
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.d.ts +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +7 -7
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +4 -4
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.d.ts +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +20 -22
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +3 -3
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js +12 -12
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.d.ts +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +13 -13
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +16 -18
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +6 -6
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.d.ts +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +7 -7
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +27 -29
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +12 -12
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +23 -23
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +7 -7
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +8 -8
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.d.ts +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +4 -4
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +11 -11
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js +3 -3
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js +4 -4
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.d.ts +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +31 -31
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +3 -3
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js +3 -3
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +9 -9
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +17 -17
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +14 -14
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +10 -10
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +6 -6
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +8 -8
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +30 -32
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +10 -10
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +13 -13
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +3 -3
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +4 -6
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +25 -27
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +4 -4
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +5 -5
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +23 -25
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +4 -4
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +10 -10
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.d.ts +1 -1
- package/build/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
- package/build/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
- package/build/features/test/TestLogItemGenerator.js +2 -2
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/interfaces/SpyInterface.js +5 -5
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/tests/AbstractCliTest.d.ts +1 -1
- package/build/tests/AbstractCliTest.js +11 -11
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +4 -4
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/utilities/test.utility.js +6 -6
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js +6 -6
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/package.json +5 -5
- package/src/__tests__/behavioral/AddingADependency.test.ts +1 -1
- package/src/__tests__/behavioral/BlockingCommands.test.ts +1 -1
- package/src/__tests__/behavioral/BootingTheCli.test.ts +1 -1
- package/src/__tests__/behavioral/BootingWithBadFiles.test.ts +1 -1
- package/src/__tests__/behavioral/CreatingAConversationTopic.test.ts +1 -1
- package/src/__tests__/behavioral/CreatingSchemasWithGenerics.test.ts +1 -1
- package/src/__tests__/behavioral/DeployingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/DeployingToSandbox.test.ts +1 -1
- package/src/__tests__/behavioral/EnablingAndDisablingCache.test.ts +1 -1
- package/src/__tests__/behavioral/GettingCliVersion.test.ts +1 -1
- package/src/__tests__/behavioral/InstallingASkillAtAnOrg.test.ts +1 -1
- package/src/__tests__/behavioral/ListeningToCoreEvents.test.ts +1 -1
- package/src/__tests__/behavioral/LoggingInAsASkill.test.ts +1 -1
- package/src/__tests__/behavioral/ManagingDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/OverridingCommandsInPackageJson.test.ts +1 -1
- package/src/__tests__/behavioral/RebuildingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringConversationsOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringGlobalEvents.test.ts +1 -1
- package/src/__tests__/behavioral/RegisteringSkillViewOnBoot.test.ts +1 -1
- package/src/__tests__/behavioral/RememberingUpgradeSelections.test.ts +1 -1
- package/src/__tests__/behavioral/SettingLogTransportsInASkill.test.ts +1 -1
- package/src/__tests__/behavioral/SettingRemote.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpASkillForTesting.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +1 -1
- package/src/__tests__/behavioral/SettingUpVscode.test.ts +1 -1
- package/src/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/TestReporterSettingsRemembered.test.ts +1 -1
- package/src/__tests__/behavioral/TestingAConversation.test.ts +1 -1
- package/src/__tests__/behavioral/TestingDataStores.test.ts +1 -1
- package/src/__tests__/behavioral/WatchingSkillViews.test.ts +1 -1
- package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +1 -1
- package/src/__tests__/behavioral/errors/KeepingErrorClassInSync.test.ts +1 -1
- package/src/__tests__/behavioral/errors/KeepingErrorsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/errors/SettingUpErrors.test.ts +1 -1
- package/src/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAListener.test.ts +1 -1
- package/src/__tests__/behavioral/events/CreatingAnEvent.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingEventsInSync2.test.ts +1 -1
- package/src/__tests__/behavioral/events/KeepingListenersInSync.test.ts +1 -1
- package/src/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.ts +1 -1
- package/src/__tests__/behavioral/events/SettingUpEvents.test.ts +1 -1
- package/src/__tests__/behavioral/events/SkillEmitsBootEvents.test.ts +1 -1
- package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/onboard/StartingOnboarding.test.ts +1 -1
- package/src/__tests__/behavioral/organization/CreatingAnOrg.test.ts +1 -1
- package/src/__tests__/behavioral/permissions/CreatingPermissions.test.ts +1 -1
- package/src/__tests__/behavioral/person/LoggingInAsPerson.test.ts +1 -1
- package/src/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.ts +1 -1
- package/src/__tests__/behavioral/polish/SettingUpPolish.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/ImportingSchemaImports.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/KeepingSchemasInSync.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/SettingUpSchemas.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.ts +1 -1
- package/src/__tests__/behavioral/schemas/UsingSchemasInCli.test.ts +1 -1
- package/src/__tests__/behavioral/skill/BootingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/CreatingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/RegisteringASkill.test.ts +1 -1
- package/src/__tests__/behavioral/skill/SettingUpASkill.test.ts +1 -1
- package/src/__tests__/behavioral/stores/CreatingADataStore.test.ts +1 -1
- package/src/__tests__/behavioral/stores/KeepingDataStoresInSync.test.ts +1 -1
- package/src/__tests__/behavioral/tests/CreatingATest.test.ts +1 -1
- package/src/__tests__/behavioral/tests/RunningTests.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.ts +1 -1
- package/src/__tests__/behavioral/tests/SettingUpTests.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpdatingDependencies2.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingANodeModule.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill2.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill3.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill4.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingASkill5.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingWithListeners.test.ts +1 -1
- package/src/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingASkillView.test.ts +1 -1
- package/src/__tests__/behavioral/views/CreatingATheme.test.ts +1 -1
- package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +1 -1
- package/src/__tests__/behavioral/views/SettingUpViews.test.ts +1 -1
- package/src/__tests__/behavioral/views/TestingViewControllers.test.ts +1 -1
- package/src/__tests__/behavioral/watchers/WatchingForChanges.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter2.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter3.test.ts +1 -1
- package/src/__tests__/implementation/ActionExecuter4.test.ts +1 -1
- package/src/__tests__/implementation/ArgParser.test.ts +1 -1
- package/src/__tests__/implementation/BuildService.test.ts +1 -1
- package/src/__tests__/implementation/BulkImporting.test.ts +1 -1
- package/src/__tests__/implementation/CachingImports.test.ts +1 -1
- package/src/__tests__/implementation/CommandOptionBuilder.test.ts +1 -1
- package/src/__tests__/implementation/CommanderCommandResultMapper.test.ts +1 -1
- package/src/__tests__/implementation/DataStoreStore.test.ts +1 -1
- package/src/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.ts +1 -1
- package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
- package/src/__tests__/implementation/EventStore.test.ts +1 -1
- package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/FeatureCommandAttacher.test.ts +1 -1
- package/src/__tests__/implementation/FeatureFixture.test.ts +1 -1
- package/src/__tests__/implementation/FeatureInstaller.test.ts +1 -1
- package/src/__tests__/implementation/FeaturesUtil.test.ts +1 -1
- package/src/__tests__/implementation/FieldTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/GlobalEmitter.ts +1 -1
- package/src/__tests__/implementation/Introspection.test.ts +1 -1
- package/src/__tests__/implementation/JestJsonParser.test.ts +1 -1
- package/src/__tests__/implementation/LintService.test.ts +1 -1
- package/src/__tests__/implementation/ListenerStore.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingScriptLoader.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingScriptPlayer.test.ts +1 -1
- package/src/__tests__/implementation/OnboardingStore.test.ts +1 -1
- package/src/__tests__/implementation/OrganizationStore.test.ts +1 -1
- package/src/__tests__/implementation/ParentTestFinder.test.ts +1 -1
- package/src/__tests__/implementation/PkgService.test.ts +1 -1
- package/src/__tests__/implementation/SchemaStore.test.ts +1 -1
- package/src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts +1 -1
- package/src/__tests__/implementation/SchemaValueTypeWriter.test.ts +1 -1
- package/src/__tests__/implementation/ServiceFactory.test.ts +1 -1
- package/src/__tests__/implementation/SettingUpANodeModule.test.ts +1 -1
- package/src/__tests__/implementation/SkillStore.test.ts +1 -1
- package/src/__tests__/implementation/StoreFeature.test.ts +1 -1
- package/src/__tests__/implementation/TestReporter.test.ts +1 -1
- package/src/__tests__/implementation/TestRunner.test.ts +1 -1
- package/src/__tests__/implementation/ValueTypeMapping.test.ts +1 -1
- package/src/__tests__/implementation/Widgets.test.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/AbstractTest2.ts +1 -1
- package/src/__tests__/testDirsAndFiles/abstract_tests/deeper/AbstractBananaTest.ts +1 -1
- package/src/features/onboard/templates/ManagingTodos.test.ts.hbs +1 -1
- package/src/features/test/TestLogItemGenerator.ts +1 -1
- package/src/interfaces/SpyInterface.ts +1 -1
- package/src/tests/AbstractCliTest.ts +1 -1
- package/src/tests/AbstractSchemaTest.ts +1 -1
- package/src/tests/utilities/test.utility.ts +1 -1
- package/src/tests/utilities/uiAssert.utility.ts +1 -1
|
@@ -1 +1 @@
|
|
|
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","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","test","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
|
+
{"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","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","test","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-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,SAAiB,GAAG;EACzBC,EAAE,EAAE,SADqB;EAEzBC,OAAO,EAAE,YAFgB;EAGzBC,IAAI,EAAE,cAHmB;EAIzBC,MAAM,EAAE;IACPC,MAAM,EAAE;MACPC,IAAI,EAAE;IADC;EADD;AAJiB,CAA1B;AAWA,IAAMC,qBAAyC,GAAG;EACjDC,SAAS,EAAEC,gCADsC;EAEjDR,EAAE,EAAED,SAAS,CAACC,EAFmC;EAGjDS,UAAU,EAAE,iCAHqC;EAIjDC,SAAS,EAAE,SAJsC;EAKjDC,UAAU,EAAE,SALqC;EAMjDC,YAAY,EAAE,cANmC;EAOjDC,MAAM,kCAAOd,SAAP;IAAkBQ,SAAS,EAAEC;EAA7B,EAP2C;EAQjDM,QAAQ,EAAE,KARuC;EASjDC,cAAc,EAAE;AATiC,CAAlD;AAYA,IAAMC,2BAA+C,GAAG;EACvDT,SAAS,EAAEC,gCAD4C;EAEvDR,EAAE,EAAED,SAAS,CAACC,EAFyC;EAGvDS,UAAU,EAAE,iCAH2C;EAIvDC,SAAS,EAAE,SAJ4C;EAKvDC,UAAU,EAAE,SAL2C;EAMvDC,YAAY,EAAE,cANyC;EAOvDC,MAAM,kCAAOd,SAAP;IAAkBQ,SAAS,EAAEC;EAA7B,EAPiD;EAQvDM,QAAQ,EAAE,IAR6C;EASvDC,cAAc,EAAE;AATuC,CAAxD;AAYA,IAAME,SAAiB,GAAG;EACzBjB,EAAE,EAAE,SADqB;EAEzBC,OAAO,EAAE,YAFgB;EAGzBC,IAAI,EAAE,mBAHmB;EAIzBC,MAAM,EAAE;IACPC,MAAM,EAAE;MACPC,IAAI,EAAE;IADC,CADD;IAIPa,KAAK,EAAE;MACNb,IAAI,EAAE,QADA;MAENc,OAAO,EAAE;QACRC,QAAQ,EAAE;UAAEpB,EAAE,EAAE,QAAN;UAAgBC,OAAO,EAAE;QAAzB;MADF;IAFH;EAJA;AAJiB,CAA1B;AAiBA,IAAMoB,qBAAyC,GAAG;EACjDd,SAAS,EAAEC,gCADsC;EAEjDR,EAAE,EAAEiB,SAAS,CAACjB,EAFmC;EAGjDU,SAAS,EAAE,SAHsC;EAIjDC,UAAU,EAAE,SAJqC;EAKjDC,YAAY,EAAE,mBALmC;EAMjDE,QAAQ,EAAE,KANuC;EAOjDC,cAAc,EAAE,iBAPiC;EAQjDN,UAAU,EAAE,iCARqC;EASjDI,MAAM,EAAE;IACPb,EAAE,EAAE,SADG;IAEPC,OAAO,EAAE,YAFF;IAGPC,IAAI,EAAE,mBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKPL,MAAM,EAAE;MACPC,MAAM,EAAE;QACPC,IAAI,EAAE;MADC,CADD;MAIPa,KAAK,EAAE;QACNb,IAAI,EAAE,QADA;QAENc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YAAEtB,EAAE,EAAE,QAAN;YAAgBC,OAAO,EAAE,YAAzB;YAAuCM,SAAS,EAAEC;UAAlD,CADU;QADH;MAFH;IAJA;EALD;AATyC,CAAlD;AA8BA,IAAMe,2BAA+C,GAAG;EACvDhB,SAAS,EAAEC,gCAD4C;EAEvDR,EAAE,EAAEiB,SAAS,CAACjB,EAFyC;EAGvDU,SAAS,EAAE,SAH4C;EAIvDC,UAAU,EAAE,SAJ2C;EAKvDC,YAAY,EAAE,mBALyC;EAMvDE,QAAQ,EAAE,IAN6C;EAOvDC,cAAc,EAAE,iBAPuC;EAQvDN,UAAU,EAAE,iCAR2C;EASvDI,MAAM,EAAE;IACPb,EAAE,EAAE,SADG;IAEPC,OAAO,EAAE,YAFF;IAGPC,IAAI,EAAE,mBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKPL,MAAM,EAAE;MACPC,MAAM,EAAE;QACPC,IAAI,EAAE;MADC,CADD;MAIPa,KAAK,EAAE;QACNb,IAAI,EAAE,QADA;QAENc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YAAEtB,EAAE,EAAE,QAAN;YAAgBC,OAAO,EAAE,YAAzB;YAAuCM,SAAS,EAAEC;UAAlD,CADU;QADH;MAFH;IAJA;EALD;AAT+C,CAAxD;AA8BA,IAAMgB,QAAgB,GAAG;EACxBxB,EAAE,EAAE,QADoB;EAExBC,OAAO,EAAE,YAFe;EAGxBC,IAAI,EAAE,aAHkB;EAIxBC,MAAM,EAAE;IACPD,IAAI,EAAE;MACLG,IAAI,EAAE;IADD;EADC;AAJgB,CAAzB;AAWA,IAAMoB,oBAAwC,GAAG;EAChDlB,SAAS,EAAEC,gCADqC;EAEhDC,UAAU,EAAE,iCAFoC;EAGhDT,EAAE,EAAEwB,QAAQ,CAACxB,EAHmC;EAIhDU,SAAS,EAAE,QAJqC;EAKhDC,UAAU,EAAE,QALoC;EAMhDC,YAAY,EAAE,aANkC;EAOhDC,MAAM,kCAAOW,QAAP;IAAiBjB,SAAS,EAAEC;EAA5B,EAP0C;EAQhDM,QAAQ,EAAE,KARsC;EAShDC,cAAc,EAAE;AATgC,CAAjD;AAYA,IAAMW,QAAgB,GAAG;EACxB1B,EAAE,EAAE,QADoB;EAExBC,OAAO,EAAE,YAFe;EAGxBC,IAAI,EAAE,kBAHkB;EAIxBC,MAAM,EAAE;IACPD,IAAI,EAAE;MACLG,IAAI,EAAE;IADD,CADC;IAIPsB,eAAe,EAAE;MAChBtB,IAAI,EAAE,QADU;MAEhBc,OAAO,EAAE;QACRN,MAAM,EAAE;UACPb,EAAE,EAAE,SADG;UAEPE,IAAI,EAAE,YAFC;UAGPD,OAAO,EAAE,YAHF;UAIPE,MAAM,EAAE;YACPyB,IAAI,EAAE;cACLvB,IAAI,EAAE;YADD;UADC;QAJD;MADA;IAFO;EAJV;AAJgB,CAAzB;AA0BA,IAAMwB,oBAAwC,GAAG;EAChDtB,SAAS,EAAEC,gCADqC;EAEhDR,EAAE,EAAEwB,QAAQ,CAACxB,EAFmC;EAGhDS,UAAU,EAAE,iCAHoC;EAIhDC,SAAS,EAAE,QAJqC;EAKhDC,UAAU,EAAE,QALoC;EAMhDC,YAAY,EAAE,kBANkC;EAOhDE,QAAQ,EAAE,KAPsC;EAQhDC,cAAc,EAAE,iBARgC;EAShDF,MAAM,EAAE;IACPb,EAAE,EAAE,QADG;IAEPC,OAAO,EAAE,YAFF;IAGPC,IAAI,EAAE,kBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKPL,MAAM,EAAE;MACPD,IAAI,EAAE;QACLG,IAAI,EAAE;MADD,CADC;MAIPsB,eAAe,EAAE;QAChBtB,IAAI,EAAE,QADU;QAEhBc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YAAEtB,EAAE,EAAE,SAAN;YAAiBC,OAAO,EAAE,YAA1B;YAAwCM,SAAS,EAAEC;UAAnD,CADU;QADH;MAFO;IAJV;EALD;AATwC,CAAjD;AA8BA,IAAMsB,QAAgB,GAAG;EACxB9B,EAAE,EAAE,QADoB;EAExBC,OAAO,EAAE,YAFe;EAGxBC,IAAI,EAAE,qBAHkB;EAIxBC,MAAM,EAAE;IACP4B,YAAY,EAAE;MACb1B,IAAI,EAAE,QADO;MAEbc,OAAO,EAAE;QACRa,OAAO,EAAE,CAACjC,SAAD,EAAYkB,SAAZ;MADD;IAFI;EADP;AAJgB,CAAzB;AAcA,IAAMgB,oBAAwC,GAAG;EAChD1B,SAAS,EAAEC,gCADqC;EAEhDC,UAAU,EAAE,iCAFoC;EAGhDT,EAAE,EAAE8B,QAAQ,CAAC9B,EAHmC;EAIhDU,SAAS,EAAE,QAJqC;EAKhDC,UAAU,EAAE,QALoC;EAMhDC,YAAY,EAAE,qBANkC;EAOhDE,QAAQ,EAAE,KAPsC;EAQhDC,cAAc,EAAE,iBARgC;EAShDF,MAAM,EAAE;IACPb,EAAE,EAAE,QADG;IAEPC,OAAO,EAAE,YAFF;IAGPC,IAAI,EAAE,qBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKPL,MAAM,EAAE;MACP4B,YAAY,EAAE;QACb1B,IAAI,EAAE,QADO;QAEbc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YAAEtB,EAAE,EAAE,SAAN;YAAiBC,OAAO,EAAE,YAA1B;YAAwCM,SAAS,EAAEC;UAAnD,CADU,EAEV;YAAER,EAAE,EAAE,SAAN;YAAiBC,OAAO,EAAE,YAA1B;YAAwCM,SAAS,EAAEC;UAAnD,CAFU;QADH;MAFI;IADP;EALD;AATwC,CAAjD;AA4BA,IAAM0B,qBAAyC,GAAG;EACjD3B,SAAS,EAAEC,gCADsC;EAEjDC,UAAU,EAAE,iCAFqC;EAGjDT,EAAE,EAAE,SAH6C;EAIjDU,SAAS,EAAE,SAJsC;EAKjDC,UAAU,EAAE,SALqC;EAMjDC,YAAY,EAAE,YANmC;EAOjDE,QAAQ,EAAE,IAPuC;EAQjDC,cAAc,EAAE,iBARiC;EASjDF,MAAM,EAAE;IACPb,EAAE,EAAE,SADG;IAEPE,IAAI,EAAE,YAFC;IAGPK,SAAS,EAAEC,gCAHJ;IAIPP,OAAO,EAAE,YAJF;IAKPE,MAAM,EAAE;MACPyB,IAAI,EAAE;QACLvB,IAAI,EAAE;MADD;IADC;EALD;AATyC,CAAlD;AAsBA,IAAM8B,QAAgB,GAAG;EACxBnC,EAAE,EAAE,QADoB;EAExBC,OAAO,EAAE,YAFe;EAGxBC,IAAI,EAAE,sBAHkB;EAIxBkC,gBAAgB,EAAE,CAAC,qCAAD,CAJM;EAKxBC,iBAAiB,EAAE,CAClB,0DADkB,CALK;EAQxBlC,MAAM,EAAE;IACPmC,QAAQ,EAAE;MACTjC,IAAI,EAAE,QADG;MAETc,OAAO,EAAE;QACRG,SAAS,EAAE,CACV;UAAEtB,EAAE,EAAE,SAAN;UAAiBC,OAAO,EAAE;QAA1B,CADU,EAEV;UAAED,EAAE,EAAE,SAAN;UAAiBC,OAAO,EAAE;QAA1B,CAFU;MADH;IAFA;EADH;AARgB,CAAzB;AAqBA,IAAMsC,oBAAwC,GAAG;EAChDhC,SAAS,EAAEC,gCADqC;EAEhDC,UAAU,EAAE,iCAFoC;EAGhDT,EAAE,EAAEmC,QAAQ,CAACnC,EAHmC;EAIhDU,SAAS,EAAE,QAJqC;EAKhDC,UAAU,EAAE,QALoC;EAMhDC,YAAY,EAAE,sBANkC;EAOhDC,MAAM,EAAE;IACPb,EAAE,EAAE,QADG;IAEPC,OAAO,EAAE,YAFF;IAGPC,IAAI,EAAE,sBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKP4B,gBAAgB,EAAE,CAAC,qCAAD,CALX;IAMPC,iBAAiB,EAAE,CAClB,0DADkB,CANZ;IASPlC,MAAM,EAAE;MACPmC,QAAQ,EAAE;QACTjC,IAAI,EAAE,QADG;QAETc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YAAEtB,EAAE,EAAE,SAAN;YAAiBC,OAAO,EAAE,YAA1B;YAAwCM,SAAS,EAAEC;UAAnD,CADU,EAEV;YAAER,EAAE,EAAE,SAAN;YAAiBC,OAAO,EAAE,YAA1B;YAAwCM,SAAS,EAAEC;UAAnD,CAFU;QADH;MAFA;IADH;EATD,CAPwC;EA4BhDM,QAAQ,EAAE,KA5BsC;EA6BhD0B,OAAO,EAAE,CAAC,0DAAD,CA7BuC;EA8BhDzB,cAAc,EAAE;AA9BgC,CAAjD;AAiCA,IAAM0B,qBAA6B,GAAG;EACrCzC,EAAE,EAAE,iBADiC;EAErCE,IAAI,EAAE,kBAF+B;EAGrCwC,WAAW,EAAE,EAHwB;EAIrCzC,OAAO,EAAE,YAJ4B;EAKrC0C,qBAAqB,EAAE;IACtBtC,IAAI,EAAE,QADgB;IAEtBuC,OAAO,EAAE,yBAFa;IAGtBzB,OAAO,EAAE;MACRN,MAAM,EAAE;QACPb,EAAE,EAAE,gBADG;QAEPE,IAAI,EAAE,iBAFC;QAGPwC,WAAW,EAAE,EAHN;QAIPvC,MAAM,EAAE;UACP0C,eAAe,EAAE;YAChBxC,IAAI,EAAE,KADU;YAEhBc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFO,CADV;UAKPC,WAAW,EAAE;YACZ1C,IAAI,EAAE,KADM;YAEZc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFG,CALN;UASPE,oBAAoB,EAAE;YACrB3C,IAAI,EAAE;UADe,CATf;UAYP4C,kBAAkB,EAAE;YACnB5C,IAAI,EAAE;UADa;QAZb;MAJD;IADA;EAHa;AALc,CAAtC;AAkCA,IAAM6C,0BAAkC,GAAG;EAC1ClD,EAAE,EAAE,iBADsC;EAE1CE,IAAI,EAAE,kBAFoC;EAG1CwC,WAAW,EAAE,EAH6B;EAI1CzC,OAAO,EAAE,YAJiC;EAM1C0C,qBAAqB,EAAE;IACtBtC,IAAI,EAAE,QADgB;IAEtBuC,OAAO,EAAE,yBAFa;IAGtBzB,OAAO,EAAE;MACRa,OAAO,EAAE,CACR;QACChC,EAAE,EAAE,gBADL;QAECE,IAAI,EAAE,iBAFP;QAGCwC,WAAW,EAAE,EAHd;QAICvC,MAAM,EAAE;UACP0C,eAAe,EAAE;YAChBxC,IAAI,EAAE,KADU;YAEhBc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFO,CADV;UAKPC,WAAW,EAAE;YACZ1C,IAAI,EAAE,KADM;YAEZc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFG,CALN;UASPE,oBAAoB,EAAE;YACrB3C,IAAI,EAAE;UADe,CATf;UAYP4C,kBAAkB,EAAE;YACnB5C,IAAI,EAAE;UADa;QAZb;MAJT,CADQ,EAsBR;QACCL,EAAE,EAAE,iBADL;QAECE,IAAI,EAAE,kBAFP;QAGCwC,WAAW,EAAE,EAHd;QAICvC,MAAM,EAAE;UACP0C,eAAe,EAAE;YAChBxC,IAAI,EAAE,KADU;YAEhBc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFO,CADV;UAKPC,WAAW,EAAE;YACZ1C,IAAI,EAAE,KADM;YAEZc,OAAO,EAAE;cAAE2B,SAAS,EAAE;YAAb;UAFG,CALN;UASPE,oBAAoB,EAAE;YACrB3C,IAAI,EAAE;UADe,CATf;UAYP4C,kBAAkB,EAAE;YACnB5C,IAAI,EAAE;UADa;QAZb;MAJT,CAtBQ;IADD;EAHa;AANmB,CAA3C;AA0DA,IAAM8C,mBAAuC,GAAG;EAC/C5C,SAAS,EAAEC,gCADoC;EAE/CC,UAAU,EAAE,iCAFmC;EAG/CT,EAAE,EAAEyC,qBAAqB,CAACzC,EAHqB;EAI/CU,SAAS,EAAE,iBAJoC;EAK/CC,UAAU,EAAE,iBALmC;EAM/CC,YAAY,2BAAE6B,qBAAqB,CAACvC,IAAxB,yEAAgCuC,qBAAqB,CAACzC,EANnB;EAO/Cc,QAAQ,EAAE,KAPqC;EAQ/CC,cAAc,EAAE,iBAR+B;EAS/CF,MAAM,EAAE;IACPb,EAAE,EAAE,iBADG;IAEPE,IAAI,EAAE,kBAFC;IAGPwC,WAAW,EAAE,EAHN;IAIPnC,SAAS,EAAEC,gCAJJ;IAKPP,OAAO,EAAE,YALF;IAMP0C,qBAAqB,EAAE;MACtBtC,IAAI,EAAE,QADgB;MAEtBuC,OAAO,EAAE,yBAFa;MAGtBzB,OAAO,EAAE;QACRG,SAAS,EAAE,CACV;UACCtB,EAAE,EAAE,gBADL;UAECC,OAAO,EAAE,YAFV;UAGCM,SAAS,EAAEC;QAHZ,CADU;MADH;IAHa;EANhB;AATuC,CAAhD;AA+BA,IAAM4C,0BAA8C,GAAG;EACtD7C,SAAS,EAAEC,gCAD2C;EAEtDR,EAAE,EAAE,gBAFkD;EAGtDS,UAAU,EAAE,iCAH0C;EAItDC,SAAS,EAAE,gBAJ2C;EAKtDC,UAAU,EAAE,gBAL0C;EAMtDC,YAAY,EAAE,iBANwC;EAOtDE,QAAQ,EAAE,IAP4C;EAQtDC,cAAc,EAAE,iBARsC;EAStDF,MAAM,EAAE;IACPb,EAAE,EAAE,gBADG;IAEPE,IAAI,EAAE,iBAFC;IAGPwC,WAAW,EAAE,EAHN;IAIPzC,OAAO,EAAE,YAJF;IAKPM,SAAS,EAAEC,gCALJ;IAMPL,MAAM,EAAE;MACP0C,eAAe,EAAE;QAChBxC,IAAI,EAAE,KADU;QAEhBc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFO,CADV;MAKPC,WAAW,EAAE;QACZ1C,IAAI,EAAE,KADM;QAEZc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFG,CALN;MASPE,oBAAoB,EAAE;QACrB3C,IAAI,EAAE;MADe,CATf;MAYP4C,kBAAkB,EAAE;QACnB5C,IAAI,EAAE;MADa;IAZb;EAND;AAT8C,CAAvD;AAiCA,IAAMgD,wBAA4C,GAAG;EACpD9C,SAAS,EAAEC,gCADyC;EAEpDR,EAAE,EAAEkD,0BAA0B,CAAClD,EAFqB;EAGpDS,UAAU,EAAE,iCAHwC;EAIpDC,SAAS,EAAE,iBAJyC;EAKpDC,UAAU,EAAE,iBALwC;EAMpDC,YAAY,4BACXsC,0BAA0B,CAAChD,IADhB,2EACwBgD,0BAA0B,CAAClD,EAPX;EAQpDc,QAAQ,EAAE,KAR0C;EASpDC,cAAc,EAAE,iBAToC;EAUpDF,MAAM,EAAE;IACPb,EAAE,EAAE,iBADG;IAEPE,IAAI,EAAE,kBAFC;IAGPwC,WAAW,EAAE,EAHN;IAIPzC,OAAO,EAAE,YAJF;IAKPM,SAAS,EAAEC,gCALJ;IAMPmC,qBAAqB,EAAE;MACtBtC,IAAI,EAAE,QADgB;MAEtBuC,OAAO,EAAE,yBAFa;MAGtBzB,OAAO,EAAE;QACRG,SAAS,EAAE,CACV;UACCtB,EAAE,EAAE,gBADL;UAECC,OAAO,EAAE,YAFV;UAGCM,SAAS,EAAEC;QAHZ,CADU,EAMV;UACCR,EAAE,EAAE,iBADL;UAECC,OAAO,EAAE,YAFV;UAGCM,SAAS,EAAEC;QAHZ,CANU;MADH;IAHa;EANhB;AAV4C,CAArD;AAqCA,IAAM8C,2BAA+C,GAAG;EACvD/C,SAAS,EAAEC,gCAD4C;EAEvDR,EAAE,EAAE,iBAFmD;EAGvDU,SAAS,EAAE,iBAH4C;EAIvDD,UAAU,EAAE,iCAJ2C;EAKvDE,UAAU,EAAE,iBAL2C;EAMvDC,YAAY,EAAE,kBANyC;EAOvDE,QAAQ,EAAE,IAP6C;EAQvDC,cAAc,EAAE,iBARuC;EASvDF,MAAM,EAAE;IACPb,EAAE,EAAE,iBADG;IAEPE,IAAI,EAAE,kBAFC;IAGPwC,WAAW,EAAE,EAHN;IAIPzC,OAAO,EAAE,YAJF;IAKPM,SAAS,EAAEC,gCALJ;IAMPL,MAAM,EAAE;MACP0C,eAAe,EAAE;QAChBxC,IAAI,EAAE,KADU;QAEhBc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFO,CADV;MAKPC,WAAW,EAAE;QACZ1C,IAAI,EAAE,KADM;QAEZc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFG,CALN;MASPE,oBAAoB,EAAE;QACrB3C,IAAI,EAAE;MADe,CATf;MAYP4C,kBAAkB,EAAE;QACnB5C,IAAI,EAAE;MADa;IAZb;EAND;AAT+C,CAAxD;AAkCA,IAAMkD,2BAAmC,GAAG;EAC3CvD,EAAE,EAAE,YADuC;EAE3CC,OAAO,EAAE,YAFkC;EAG3CE,MAAM,EAAE;IACPqD,UAAU,EAAE;MACXnD,IAAI,EAAE,QADK;MAEXc,OAAO,EAAE;QACRN,MAAM,EAAE;UACPb,EAAE,EAAE,YADG;UAEPG,MAAM,EAAE;YACPsD,WAAW,EAAE;cACZpD,IAAI,EAAE,QADM;cAEZc,OAAO,EAAE;gBACRN,MAAM,EAAE;kBACPb,EAAE,EAAE,aADG;kBAEPO,SAAS,EAAE,kBAFJ;kBAGPJ,MAAM,EAAE;oBACPuD,SAAS,EAAE;sBACVrD,IAAI,EAAE,QADI;sBAEVc,OAAO,EAAE;wBACRN,MAAM,EAAE;0BACPb,EAAE,EAAE,WADG;0BAEPG,MAAM,EAAE;4BACPwD,IAAI,EAAE;8BACLtD,IAAI,EAAE;4BADD;0BADC;wBAFD;sBADA;oBAFC;kBADJ;gBAHD;cADA;YAFG;UADN;QAFD;MADA;IAFE;EADL;AAHmC,CAA5C;AAyCA,IAAMuD,sBAA0C,GAAG;EAClD5D,EAAE,EAAE,YAD8C;EAElDO,SAAS,EAAEC,gCAFuC;EAGlDC,UAAU,EAAE,iCAHsC;EAIlDI,MAAM,EAAE;IACPb,EAAE,EAAE,YADG;IAEPC,OAAO,EAAE,YAFF;IAGPM,SAAS,EAAEC,gCAHJ;IAIPL,MAAM,EAAE;MACPqD,UAAU,EAAE;QACXnD,IAAI,EAAE,QADK;QAEXc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,YADL;YAECC,OAAO,EAAE,YAFV;YAGCM,SAAS,EAAEC;UAHZ,CADU;QADH;MAFE;IADL;EAJD,CAJ0C;EAuBlDI,YAAY,EAAE,YAvBoC;EAwBlDF,SAAS,EAAE,YAxBuC;EAyBlDC,UAAU,EAAE,YAzBsC;EA0BlDG,QAAQ,EAAE,KA1BwC;EA2BlDC,cAAc,EAAE;AA3BkC,CAAnD;AA8BA,IAAM8C,sBAA0C,GAAG;EAClD7D,EAAE,EAAE,YAD8C;EAElDO,SAAS,EAAEC,gCAFuC;EAGlDC,UAAU,EAAE,iCAHsC;EAIlDI,MAAM,EAAE;IACPb,EAAE,EAAE,YADG;IAEPC,OAAO,EAAE,YAFF;IAGPM,SAAS,EAAEC,gCAHJ;IAIPL,MAAM,EAAE;MACPsD,WAAW,EAAE;QACZpD,IAAI,EAAE,QADM;QAEZc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,aADL;YAECO,SAAS,EAAE,kBAFZ;YAGCN,OAAO,EAAE;UAHV,CADU;QADH;MAFG;IADN;EAJD,CAJ0C;EAuBlDW,YAAY,EAAE,YAvBoC;EAwBlDF,SAAS,EAAE,YAxBuC;EAyBlDC,UAAU,EAAE,YAzBsC;EA0BlDG,QAAQ,EAAE,IA1BwC;EA2BlDC,cAAc,EAAE;AA3BkC,CAAnD;AA8BA,IAAM+C,uBAA2C,GAAG;EACnD9D,EAAE,EAAE,aAD+C;EAEnDO,SAAS,EAAE,kBAFwC;EAGnDM,MAAM,EAAE;IACPb,EAAE,EAAE,aADG;IAEPC,OAAO,EAAE,YAFF;IAGPM,SAAS,EAAE,kBAHJ;IAIPJ,MAAM,EAAE;MACPuD,SAAS,EAAE;QACVrD,IAAI,EAAE,QADI;QAEVc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,WADL;YAECC,OAAO,EAAE,YAFV;YAGCM,SAAS,EAAE;UAHZ,CADU;QADH;MAFC;IADJ;EAJD,CAH2C;EAsBnDK,YAAY,EAAE,aAtBqC;EAuBnDF,SAAS,EAAE,aAvBwC;EAwBnDC,UAAU,EAAE,aAxBuC;EAyBnDG,QAAQ,EAAE,IAzByC;EA0BnDC,cAAc,EAAE;AA1BmC,CAApD;AA6BA,IAAMgD,qBAAyC,GAAG;EACjD/D,EAAE,EAAE,WAD6C;EAEjDO,SAAS,EAAE,kBAFsC;EAGjDM,MAAM,EAAE;IACPb,EAAE,EAAE,WADG;IAEPO,SAAS,EAAE,kBAFJ;IAGPN,OAAO,EAAE,YAHF;IAIPE,MAAM,EAAE;MAAEwD,IAAI,EAAE;QAAEtD,IAAI,EAAE;MAAR;IAAR;EAJD,CAHyC;EASjDO,YAAY,EAAE,WATmC;EAUjDF,SAAS,EAAE,WAVsC;EAWjDC,UAAU,EAAE,WAXqC;EAYjDG,QAAQ,EAAE,IAZuC;EAajDC,cAAc,EAAE;AAbiC,CAAlD;AAgBA,IAAMiD,cAAc,GAAG,CACtB;EACChE,EAAE,EAAE,iBADL;EAECE,IAAI,EAAE,kBAFP;EAGCwC,WAAW,EAAE,EAHd;EAICvC,MAAM,EAAE;IACP8D,eAAe,EAAE;MAChB5D,IAAI,EAAE,QADU;MAEhB6D,UAAU,EAAE,IAFI;MAGhBC,OAAO,EAAE,IAHO;MAIhBhD,OAAO,EAAE;QACRN,MAAM,EAAE;UACPb,EAAE,EAAE,gBADG;UAEPE,IAAI,EAAE,iBAFC;UAGPwC,WAAW,EAAE,EAHN;UAIPvC,MAAM,EAAE;YACPiE,uBAAuB,EAAE;cACxB/D,IAAI,EAAE,MADkB;cAExB6D,UAAU,EAAE;YAFY,CADlB;YAKPrB,eAAe,EAAE;cAChBxC,IAAI,EAAE,KADU;cAEhBc,OAAO,EAAE;gBAAE2B,SAAS,EAAE;cAAb;YAFO,CALV;YASPC,WAAW,EAAE;cACZ1C,IAAI,EAAE,KADM;cAEZc,OAAO,EAAE;gBAAE2B,SAAS,EAAE;cAAb;YAFG,CATN;YAaPuB,iBAAiB,EAAE;cAClBhE,IAAI,EAAE,QADY;cAElB8D,OAAO,EAAE,IAFS;cAGlBhD,OAAO,EAAE;gBACRC,QAAQ,EAAE;kBAAEpB,EAAE,EAAE,YAAN;kBAAoBC,OAAO,EAAE;gBAA7B;cADF;YAHS,CAbZ;YAoBPqE,eAAe,EAAE;cAChBjE,IAAI,EAAE,QADU;cAEhB8D,OAAO,EAAE,IAFO;cAGhBhD,OAAO,EAAE;gBACRC,QAAQ,EAAE;kBAAEpB,EAAE,EAAE,YAAN;kBAAoBC,OAAO,EAAE;gBAA7B;cADF;YAHO;UApBV;QAJD;MADA;IAJO;EADV,CAJT;EA8CCA,OAAO,EAAE;AA9CV,CADsB,EAiDtB;EACCD,EAAE,EAAE,oBADL;EAECE,IAAI,EAAE,qBAFP;EAGCwC,WAAW,EAAE,EAHd;EAICvC,MAAM,EAAE;IACPoE,qBAAqB,EAAE;MAAElE,IAAI,EAAE,SAAR;MAAmBmE,YAAY,EAAE;IAAjC,CADhB;IAEPC,WAAW,EAAE;MACZpE,IAAI,EAAE,QADM;MAEZ6D,UAAU,EAAE,IAFA;MAGZC,OAAO,EAAE,IAHG;MAIZhD,OAAO,EAAE;QACRN,MAAM,EAAE;UACPb,EAAE,EAAE,YADG;UAEPE,IAAI,EAAE,YAFC;UAGPC,MAAM,EAAE;YACPD,IAAI,EAAE;cACLG,IAAI,EAAE,MADD;cAELqE,KAAK,EAAE,iBAFF;cAGLR,UAAU,EAAE,IAHP;cAILS,IAAI,EAAE;YAJD,CADC;YAOPC,kBAAkB,EAAE;cACnBvE,IAAI,EAAE,SADa;cAEnBqE,KAAK,EAAE,sBAFY;cAGnBF,YAAY,EAAE;YAHK,CAPb;YAYPK,QAAQ,EAAE;cACTxE,IAAI,EAAE,QADG;cAETc,OAAO,EAAE;gBACRN,MAAM,EAAE;kBACPb,EAAE,EAAE,gBADG;kBAEPG,MAAM,EAAE;oBACPe,KAAK,EAAE;sBAAEb,IAAI,EAAE;oBAAR,CADA;oBAEPyE,YAAY,EAAE;sBAAEzE,IAAI,EAAE;oBAAR,CAFP;oBAGP0E,OAAO,EAAE;sBAAE1E,IAAI,EAAE;oBAAR,CAHF;oBAIP2E,QAAQ,EAAE;sBAAE3E,IAAI,EAAE;oBAAR,CAJH;oBAKP4E,KAAK,EAAE;sBAAE5E,IAAI,EAAE;oBAAR;kBALA;gBAFD;cADA;YAFA,CAZH;YA2BP6E,GAAG,EAAE;cACJ7E,IAAI,EAAE,QADF;cAEJc,OAAO,EAAE;gBACRN,MAAM,EAAE;kBACPb,EAAE,EAAE,aADG;kBAEPG,MAAM,EAAE;oBACP,WAAS;sBAAEE,IAAI,EAAE;oBAAR,CADF;oBAEP8E,SAAS,EAAE;sBACVT,KAAK,EAAE,YADG;sBAEVC,IAAI,EAAE,6CAFI;sBAGVtE,IAAI,EAAE;oBAHI,CAFJ;oBAOP+E,UAAU,EAAE;sBACXV,KAAK,EAAE,aADI;sBAEXC,IAAI,EAAE,8CAFK;sBAGXtE,IAAI,EAAE;oBAHK,CAPL;oBAYPgF,MAAM,EAAE;sBACPX,KAAK,EAAE,YADA;sBAEPC,IAAI,EAAE,mDAFC;sBAGPtE,IAAI,EAAE;oBAHC,CAZD;oBAiBPiF,OAAO,EAAE;sBACRZ,KAAK,EAAE,aADC;sBAERC,IAAI,EAAE,oCAFE;sBAGRtE,IAAI,EAAE;oBAHE;kBAjBF;gBAFD;cADA;YAFL;UA3BE;QAHD;MADA;IAJG;EAFN,CAJT;EA6ECJ,OAAO,EAAE;AA7EV,CAjDsB,CAAvB;AAkIA,IAAMsF,oBAAoB,GAAG,CAC5B;EACCvF,EAAE,EAAE,aADL;EAECS,UAAU,EAAE,iCAFb;EAGCF,SAAS,EAAEC,gCAHZ;EAICK,MAAM,EAAE;IACPZ,OAAO,EAAE,aADF;IAEPD,EAAE,EAAE,aAFG;IAGPO,SAAS,EAAEC,gCAHJ;IAIPL,MAAM,EAAE;MACP,WAAS;QAAEE,IAAI,EAAE;MAAR,CADF;MAEP8E,SAAS,EAAE;QACVT,KAAK,EAAE,YADG;QAEVC,IAAI,EAAE,6CAFI;QAGVtE,IAAI,EAAE;MAHI,CAFJ;MAOP+E,UAAU,EAAE;QACXV,KAAK,EAAE,aADI;QAEXC,IAAI,EAAE,8CAFK;QAGXtE,IAAI,EAAE;MAHK,CAPL;MAYPgF,MAAM,EAAE;QACPX,KAAK,EAAE,YADA;QAEPC,IAAI,EAAE,mDAFC;QAGPtE,IAAI,EAAE;MAHC,CAZD;MAiBPiF,OAAO,EAAE;QACRZ,KAAK,EAAE,aADC;QAERC,IAAI,EAAE,oCAFE;QAGRtE,IAAI,EAAE;MAHE;IAjBF;EAJD,CAJT;EAgCCO,YAAY,EAAE,aAhCf;EAiCCF,SAAS,EAAE,aAjCZ;EAkCCC,UAAU,EAAE,aAlCb;EAmCCG,QAAQ,EAAE,IAnCX;EAoCCC,cAAc,EAAE;AApCjB,CAD4B,EAuC5B;EACCf,EAAE,EAAE,gBADL;EAECS,UAAU,EAAE,iCAFb;EAGCF,SAAS,EAAEC,gCAHZ;EAICK,MAAM,EAAE;IACPZ,OAAO,EAAE,aADF;IAEPD,EAAE,EAAE,gBAFG;IAGPO,SAAS,EAAEC,gCAHJ;IAIPL,MAAM,EAAE;MACPe,KAAK,EAAE;QAAEb,IAAI,EAAE;MAAR,CADA;MAEPyE,YAAY,EAAE;QAAEzE,IAAI,EAAE;MAAR,CAFP;MAGP0E,OAAO,EAAE;QAAE1E,IAAI,EAAE;MAAR,CAHF;MAIP2E,QAAQ,EAAE;QAAE3E,IAAI,EAAE;MAAR,CAJH;MAKP4E,KAAK,EAAE;QAAE5E,IAAI,EAAE;MAAR;IALA;EAJD,CAJT;EAgBCO,YAAY,EAAE,gBAhBf;EAiBCF,SAAS,EAAE,gBAjBZ;EAkBCC,UAAU,EAAE,gBAlBb;EAmBCG,QAAQ,EAAE,IAnBX;EAoBCC,cAAc,EAAE;AApBjB,CAvC4B,EA6D5B;EACCf,EAAE,EAAE,YADL;EAECO,SAAS,EAAEC,gCAFZ;EAGCC,UAAU,EAAE,iCAHb;EAICI,MAAM,EAAE;IACPZ,OAAO,EAAE,aADF;IAEPD,EAAE,EAAE,YAFG;IAGPO,SAAS,EAAEC,gCAHJ;IAIPL,MAAM,EAAE;MACPD,IAAI,EAAE;QACLG,IAAI,EAAE,MADD;QAELqE,KAAK,EAAE,iBAFF;QAGLR,UAAU,EAAE,IAHP;QAILS,IAAI,EAAE;MAJD,CADC;MAOPC,kBAAkB,EAAE;QACnBvE,IAAI,EAAE,SADa;QAEnBqE,KAAK,EAAE,sBAFY;QAGnBF,YAAY,EAAE;MAHK,CAPb;MAYPK,QAAQ,EAAE;QACTxE,IAAI,EAAE,QADG;QAETc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,gBADL;YAECC,OAAO,EAAE,aAFV;YAGCM,SAAS,EAAEC;UAHZ,CADU;QADH;MAFA,CAZH;MAwBP0E,GAAG,EAAE;QACJ7E,IAAI,EAAE,QADF;QAEJc,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,aADL;YAECC,OAAO,EAAE,aAFV;YAGCM,SAAS,EAAEC;UAHZ,CADU;QADH;MAFL;IAxBE,CAJD;IAyCPN,IAAI,EAAE;EAzCC,CAJT;EA+CCU,YAAY,EAAE,YA/Cf;EAgDCF,SAAS,EAAE,YAhDZ;EAiDCC,UAAU,EAAE,YAjDb;EAkDCG,QAAQ,EAAE,IAlDX;EAmDCC,cAAc,EAAE;AAnDjB,CA7D4B,EAkH5B;EACCf,EAAE,EAAE,oBADL;EAECO,SAAS,EAAEC,gCAFZ;EAGCC,UAAU,EAAE,iCAHb;EAICI,MAAM,EAAE;IACPb,EAAE,EAAE,oBADG;IAEPE,IAAI,EAAE,qBAFC;IAGPK,SAAS,EAAEC,gCAHJ;IAIPkC,WAAW,EAAE,EAJN;IAKPvC,MAAM,EAAE;MACPoE,qBAAqB,EAAE;QAAElE,IAAI,EAAE,SAAR;QAAmBmE,YAAY,EAAE;MAAjC,CADhB;MAEPC,WAAW,EAAE;QACZpE,IAAI,EAAE,QADM;QAEZ6D,UAAU,EAAE,IAFA;QAGZC,OAAO,EAAE,IAHG;QAIZhD,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,YADL;YAECC,OAAO,EAAE,aAFV;YAGCM,SAAS,EAAEC;UAHZ,CADU;QADH;MAJG;IAFN,CALD;IAsBPP,OAAO,EAAE;EAtBF,CAJT;EA4BCW,YAAY,EAAE,qBA5Bf;EA6BCF,SAAS,EAAE,oBA7BZ;EA8BCC,UAAU,EAAE,oBA9Bb;EA+BCG,QAAQ,EAAE,KA/BX;EAgCCC,cAAc,EAAE;AAhCjB,CAlH4B,EAoJ5B;EACCf,EAAE,EAAE,gBADL;EAECO,SAAS,EAAEC,gCAFZ;EAGCC,UAAU,EAAE,iCAHb;EAICI,MAAM,EAAE;IACPZ,OAAO,EAAE,aADF;IAEPD,EAAE,EAAE,gBAFG;IAGPE,IAAI,EAAE,iBAHC;IAIPK,SAAS,EAAEC,gCAJJ;IAKPkC,WAAW,EAAE,EALN;IAMPvC,MAAM,EAAE;MACPiE,uBAAuB,EAAE;QAAE/D,IAAI,EAAE,MAAR;QAAgB6D,UAAU,EAAE;MAA5B,CADlB;MAEPrB,eAAe,EAAE;QAChBxC,IAAI,EAAE,KADU;QAEhBc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFO,CAFV;MAMPC,WAAW,EAAE;QACZ1C,IAAI,EAAE,KADM;QAEZc,OAAO,EAAE;UAAE2B,SAAS,EAAE;QAAb;MAFG,CANN;MAUPuB,iBAAiB,EAAE;QAClBhE,IAAI,EAAE,QADY;QAElB8D,OAAO,EAAE,IAFS;QAGlBhD,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCrB,OAAO,EAAE,aADV;YAECD,EAAE,EAAE,YAFL;YAGCO,SAAS,EAAEC;UAHZ,CADU;QADH;MAHS,CAVZ;MAuBP8D,eAAe,EAAE;QAChBjE,IAAI,EAAE,QADU;QAEhB8D,OAAO,EAAE,IAFO;QAGhBhD,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCrB,OAAO,EAAE,aADV;YAECD,EAAE,EAAE,YAFL;YAGCO,SAAS,EAAEC;UAHZ,CADU;QADH;MAHO;IAvBV;EAND,CAJT;EAgDCI,YAAY,EAAE,iBAhDf;EAiDCF,SAAS,EAAE,gBAjDZ;EAkDCC,UAAU,EAAE,gBAlDb;EAmDCG,QAAQ,EAAE,IAnDX;EAoDCC,cAAc,EAAE;AApDjB,CApJ4B,EA0M5B;EACCf,EAAE,EAAE,iBADL;EAECO,SAAS,EAAEC,gCAFZ;EAGCC,UAAU,EAAE,iCAHb;EAICI,MAAM,EAAE;IACPb,EAAE,EAAE,iBADG;IAEPE,IAAI,EAAE,kBAFC;IAGPK,SAAS,EAAEC,gCAHJ;IAIPkC,WAAW,EAAE,EAJN;IAKPvC,MAAM,EAAE;MACP8D,eAAe,EAAE;QAChB5D,IAAI,EAAE,QADU;QAEhB6D,UAAU,EAAE,IAFI;QAGhBC,OAAO,EAAE,IAHO;QAIhBhD,OAAO,EAAE;UACRG,SAAS,EAAE,CACV;YACCtB,EAAE,EAAE,gBADL;YAECC,OAAO,EAAE,aAFV;YAGCM,SAAS,EAAEC;UAHZ,CADU;QADH;MAJO;IADV,CALD;IAqBPP,OAAO,EAAE;EArBF,CAJT;EA2BCW,YAAY,EAAE,kBA3Bf;EA4BCF,SAAS,EAAE,iBA5BZ;EA6BCC,UAAU,EAAE,iBA7Bb;EA8BCG,QAAQ,EAAE,KA9BX;EA+BCC,cAAc,EAAE;AA/BjB,CA1M4B,CAA7B;AA6OA,IAAMyE,WAAW,GAAG,IAAAC,mBAAA,EAAY;EAC/BzF,EAAE,EAAE,sBAD2B;EAE/BO,SAAS,EAAE,SAFoB;EAG/BJ,MAAM,EAAE;IACPuF,SAAS,EAAE;MACVrF,IAAI,EAAE;IADI;EADJ;AAHuB,CAAZ,CAApB;AAUA,IAAMsF,uBAA2C,GAAG;EACnDpF,SAAS,EAAE,SADwC;EAEnDP,EAAE,EAAE,sBAF+C;EAGnDU,SAAS,EAAE,sBAHwC;EAInDC,UAAU,EAAE,sBAJuC;EAKnDC,YAAY,EAAE,sBALqC;EAMnDE,QAAQ,EAAE,KANyC;EAOnDC,cAAc,EAAE,iBAPmC;EAQnDF,MAAM,EAAE2E;AAR2C,CAApD;IAWqBI,6B,WAUnB,IAAAC,eAAA,G,UAKA,IAAAA,eAAA,G,UAKA,IAAAA,eAAA,G,UAWA,IAAAA,eAAA,EACA,2CADA,EAEA,CAAC9F,SAAD,EAAYyB,QAAZ,CAFA,EAGA,CAACC,oBAAD,EAAuBnB,qBAAvB,CAHA,C,UAKA,IAAAuF,eAAA,EACA,0CADA,EAEA,CAACnE,QAAD,CAFA,EAGA,CAACQ,qBAAD,EAAwBL,oBAAxB,CAHA,C,UAKA,IAAAgE,eAAA,EACA,2CADA,EAEA,CAAC/D,QAAD,CAFA,EAGA,CACCd,2BADD,EAECiB,oBAFD,EAGCV,2BAHD,CAHA,C,UASA,IAAAsE,eAAA,EACA,qBADA,EAEA,CAAC9F,SAAD,EAAYA,SAAZ,EAAuBA,SAAvB,CAFA,EAGA,CAACO,qBAAD,CAHA,C,UAKA,IAAAuF,eAAA,EACA,qCADA,EAEA,CAAC1D,QAAD,EAAWL,QAAX,EAAqB/B,SAArB,EAAgCkB,SAAhC,CAFA,EAGA,CACCI,qBADD,EAECf,qBAFD,EAGC2B,oBAHD,EAICM,oBAJD,CAHA,C,UAUA,IAAAsD,eAAA,EACA,wDADA,EAEA,CAAC9F,SAAD,EAAYoC,QAAZ,EAAsBL,QAAtB,EAAgCb,SAAhC,CAFA,EAGA,CACCI,qBADD,EAECf,qBAFD,EAGC2B,oBAHD,EAICM,oBAJD,CAHA,C,WAUA,IAAAsD,eAAA,EACA,gDADA,EAEA,CAACpD,qBAAD,CAFA,EAGA,CAACW,0BAAD,EAA6BD,mBAA7B,CAHA,C,WAKA,IAAA0C,eAAA,EACA,iDADA,EAEA,CAAC3C,0BAAD,CAFA,EAGA,CACCI,2BADD,EAECF,0BAFD,EAGCC,wBAHD,CAHA,C,WASA,IAAAwC,eAAA,EACA,uCADA,EAEA,CAACtC,2BAAD,CAFA,EAGA,CACCQ,qBADD,EAECD,uBAFD,EAGCD,sBAHD,EAICD,sBAJD,CAHA,C,WAUA,IAAAiC,eAAA,EAAK,4BAAL,EAAmC7B,cAAnC,EAAmDuB,oBAAnD,C,WACA,IAAAM,eAAA,EACA,iDADA,EAEA,CAACL,WAAD,CAFA,EAGA,CAACG,uBAAD,CAHA,EAIA,SAJA,C,WA0BA,IAAAE,eAAA,G,WA4CA,IAAAA,eAAA,G;;;;;;;;;;;;;sGArKD;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA;;cAAA;gBAEC,KAAKC,WAAL,GAAmB,IAAIC,qCAAJ,CAA8B,KAAKC,eAAnC,CAAnB;;cAFD;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAKA,0BACkC;MACjCC,iBAAA,CAAOC,QAAP,CAAgB,KAAKJ,WAArB;IACA;;;WAED,+BACuC;MACtCG,iBAAA,CAAOE,UAAP,CAAkB,KAAKL,WAAL,CAAiBM,kBAAnC;IACA;;;WAED,iDACyD;MACxD,IAAMC,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCACZ5F,gCADY,EACK,CAACgB,QAAD,CADL,GAEf,iBAFe,CAAhB;MAIA,IAAM8E,MAAM,GAAGD,OAAO,CAAC,CAAD,CAAtB;;MAEAJ,iBAAA,CAAOM,WAAP,CAAmBD,MAAnB,EAA2B7E,oBAA3B;IACA;;;WAED,yBA4ECO,OA5ED,EA6ECwE,QA7ED,EA+EE;MAAA,IADDC,cACC,uEADgB,KAAKT,eACrB;MACD,KAAKF,WAAL,GAAmB,IAAIC,qCAAJ,CAA8BU,cAA9B,CAAnB;MAEA,IAAMJ,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCACd5F,gCADc,EACGwB,OADH,EAAhB;;MAIAiE,iBAAA,CAAOS,QAAP,CAAgBL,OAAhB,EAAyBG,QAAQ,CAACG,MAAlC;;MAEAH,QAAQ,CAACI,OAAT,CAAiB,UAACJ,QAAD,EAAWK,GAAX,EAAmB;QACnC,IAAMC,KAAK,GAAGT,OAAO,CAACQ,GAAD,CAArB;;QACAZ,iBAAA,CAAOC,QAAP,CAAgBY,KAAhB,6CAA2DN,QAAQ,CAACxG,EAApE;;QACAiG,iBAAA,CAAOM,WAAP,CAAmBO,KAAnB,EAA0BN,QAA1B;MACA,CAJD;IAKA;;;WAED,uBAC+B;MAC9B,IAAMH,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,sCAEb,KAAKJ,eAFQ,EAEU,CACvB,IAAAP,mBAAA,EAAY;QACXzF,EAAE,EAAE,OADO;QAEXoC,gBAAgB,EAAE,CAAC,2BAAD,CAFP;QAGXC,iBAAiB,EAAE,CAAC,6BAAD,CAHR;QAIXlC,MAAM,EAAE;UACP4G,SAAS,EAAE;YAAE1G,IAAI,EAAE;UAAR;QADJ;MAJG,CAAZ,CADuB,CAFV,GAaf,iBAbe,CAAhB;;MAgBA4F,iBAAA,CAAOM,WAAP,CAAmBF,OAAnB,EAA4B,CAC3B;QACCrG,EAAE,EAAE,OADL;QAECO,SAAS,EAAE,gBAFZ;QAGCM,MAAM,EAAE;UACP;UACAb,EAAE,EAAE,OAFG;UAGPO,SAAS,EAAE,gBAHJ;UAIP6B,gBAAgB,EAAE,+BAJX;UAKPC,iBAAiB,EAAE,iCALZ;UAMPlC,MAAM,EAAE;YACP4G,SAAS,EAAE;cACV1G,IAAI,EAAE;YADI;UADJ;QAND,CAHT;QAeCO,YAAY,EAAE,OAff;QAgBCF,SAAS,EAAE,OAhBZ;QAiBCC,UAAU,EAAE,OAjBb;QAkBCG,QAAQ,EAAE,KAlBX;QAmBCC,cAAc,EAAE,iBAnBjB;QAoBCyB,OAAO,EAAE;MApBV,CAD2B,CAA5B;IAwBA;;;WAED,qDAC6D;MAAA;;MAC5D,IAAM6D,OAAO,GAAG,KAAKP,WAAL,CAAiBM,kBAAjB,wFAEb,KAAKJ,eAFQ,EAEU,CACvB,IAAAP,mBAAA,EAAY;QACXzF,EAAE,EAAE,OADO;QAEXoC,gBAAgB,EAAE,CAAC,2BAAD,CAFP;QAGXC,iBAAiB,EAAE,CAAC,6BAAD,CAHR;QAIXlC,MAAM,EAAE;UACP4G,SAAS,EAAE;YAAE1G,IAAI,EAAE;UAAR,CADJ;UAEP2G,MAAM,EAAE;YACP3G,IAAI,EAAE,QADC;YAEPc,OAAO,EAAE;cACRN,MAAM,EAAE;gBAAEb,EAAE,EAAE,QAAN;gBAAgBO,SAAS,EAAE;cAA3B;YADA;UAFF,CAFD;UAQP0G,KAAK,EAAE;YACN5G,IAAI,EAAE,QADA;YAENc,OAAO,EAAE;cACRN,MAAM,EAAE;gBAAEb,EAAE,EAAE,OAAN;gBAAeO,SAAS,EAAE,KAAKyF;cAA/B;YADA;UAFH;QARA;MAJG,CAAZ,CADuB,EAqBvB,IAAAP,mBAAA,EAAY;QACXzF,EAAE,EAAE,QADO;QAEXoC,gBAAgB,EAAE,CAAC,6BAAD,CAFP;QAGXC,iBAAiB,EAAE,CAAC,+BAAD,CAHR;QAIXlC,MAAM,EAAE;UACP4G,SAAS,EAAE;YAAE1G,IAAI,EAAE;UAAR,CADJ;UAEP2G,MAAM,EAAE;YACP3G,IAAI,EAAE,QADC;YAEPc,OAAO,EAAE;cACRN,MAAM,EAAE;gBAAEb,EAAE,EAAE,QAAN;gBAAgBO,SAAS,EAAE;cAA3B;YADA;UAFF;QAFD;MAJG,CAAZ,CArBuB,CAFV,gFAsCI,CACjB,IAAAkF,mBAAA,EAAY;QACXzF,EAAE,EAAE,QADO;QAEXoC,gBAAgB,EAAE,CAAC,6BAAD,CAFP;QAGXC,iBAAiB,EAAE,CAAC,+BAAD,CAHR;QAIXlC,MAAM,EAAE;UACP4G,SAAS,EAAE;YAAE1G,IAAI,EAAE;UAAR;QADJ;MAJG,CAAZ,CADiB,CAtCJ,4BAiDf,iBAjDe,CAAhB;;MAoDA4F,iBAAA,CAAOM,WAAP,CAAmBF,OAAnB,EAA4B,CAC3B;QACCrG,EAAE,EAAE,QADL;QAECO,SAAS,EAAE,kBAFZ;QAGCM,MAAM,EAAE;UACPb,EAAE,EAAE,QADG;UAEPO,SAAS,EAAE,kBAFJ;UAGP6B,gBAAgB,EAAE,CAAC,6BAAD,CAHX;UAIPC,iBAAiB,EAAE,CAAC,+BAAD,CAJZ;UAKPlC,MAAM,EAAE;YAAE4G,SAAS,EAAE;cAAE1G,IAAI,EAAE;YAAR;UAAb;QALD,CAHT;QAUCO,YAAY,EAAE,QAVf;QAWCF,SAAS,EAAE,QAXZ;QAYCC,UAAU,EAAE,QAZb;QAaCG,QAAQ,EAAE,KAbX;QAcCC,cAAc,EAAE,iBAdjB;QAeCyB,OAAO,EAAE,CAAC,+BAAD;MAfV,CAD2B,EAkB3B;QACCxC,EAAE,EAAE,QADL;QAECO,SAAS,EAAE,gBAFZ;QAGCM,MAAM,EAAE;UACPN,SAAS,EAAE,gBADJ;UAEPP,EAAE,EAAE,QAFG;UAGPoC,gBAAgB,EAAE,CAAC,6BAAD,CAHX;UAIPC,iBAAiB,EAAE,CAAC,+BAAD,CAJZ;UAKPlC,MAAM,EAAE;YACP4G,SAAS,EAAE;cAAE1G,IAAI,EAAE;YAAR,CADJ;YAEP2G,MAAM,EAAE;cACP3G,IAAI,EAAE,QADC;cAEPc,OAAO,EAAE;gBACRG,SAAS,EAAE,CAAC;kBAAEtB,EAAE,EAAE,QAAN;kBAAgBO,SAAS,EAAE;gBAA3B,CAAD;cADH;YAFF;UAFD;QALD,CAHT;QAkBCK,YAAY,EAAE,QAlBf;QAmBCF,SAAS,EAAE,QAnBZ;QAoBCC,UAAU,EAAE,QApBb;QAqBCG,QAAQ,EAAE,KArBX;QAsBCC,cAAc,EAAE,iBAtBjB;QAuBCyB,OAAO,EAAE,CACR,6BADQ,EAER,+BAFQ;MAvBV,CAlB2B,EA8C3B;QACCxC,EAAE,EAAE,OADL;QAECO,SAAS,EAAE,gBAFZ;QAGCM,MAAM,EAAE;UACPb,EAAE,EAAE,OADG;UAEPO,SAAS,EAAE,gBAFJ;UAGP6B,gBAAgB,EAAE,CAAC,2BAAD,CAHX;UAIPC,iBAAiB,EAAE,CAAC,6BAAD,CAJZ;UAKPlC,MAAM,EAAE;YACP4G,SAAS,EAAE;cAAE1G,IAAI,EAAE;YAAR,CADJ;YAEP2G,MAAM,EAAE;cACP3G,IAAI,EAAE,QADC;cAEPc,OAAO,EAAE;gBACRG,SAAS,EAAE,CAAC;kBAAEtB,EAAE,EAAE,QAAN;kBAAgBO,SAAS,EAAE;gBAA3B,CAAD;cADH;YAFF,CAFD;YAQP0G,KAAK,EAAE;cACN5G,IAAI,EAAE,QADA;cAENc,OAAO,EAAE;gBACRG,SAAS,EAAE,CAAC;kBAAEtB,EAAE,EAAE,OAAN;kBAAeO,SAAS,EAAE;gBAA1B,CAAD;cADH;YAFH;UARA;QALD,CAHT;QAwBCK,YAAY,EAAE,OAxBf;QAyBCF,SAAS,EAAE,OAzBZ;QA0BCC,UAAU,EAAE,OA1Bb;QA2BCG,QAAQ,EAAE,KA3BX;QA4BCC,cAAc,EAAE,iBA5BjB;QA6BCyB,OAAO,EAAE,CAAC,2BAAD,EAA8B,+BAA9B;MA7BV,CA9C2B,CAA5B;IA8EA;;;EA9SyD0E,4B,kIAGhB,gB"}
|
|
@@ -33,7 +33,7 @@ var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
|
|
|
33
33
|
|
|
34
34
|
var _spruceTemplates = require("@sprucelabs/spruce-templates");
|
|
35
35
|
|
|
36
|
-
var
|
|
36
|
+
var _testUtils = require("@sprucelabs/test-utils");
|
|
37
37
|
|
|
38
38
|
var _SchemaWriter = _interopRequireDefault(require("../../features/schema/writers/SchemaWriter"));
|
|
39
39
|
|
|
@@ -50,15 +50,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
50
50
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
51
|
|
|
52
52
|
var LOCAL_NAMESPACE = 'TacoBell';
|
|
53
|
-
var SchemaValueTypeGenerationTest = (_dec = (0,
|
|
53
|
+
var SchemaValueTypeGenerationTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)('generates person.firstName value type (string)', "".concat(_spruceSkillUtils.CORE_NAMESPACE, ".person.").concat(_spruceSkillUtils.CORE_SCHEMA_VERSION.constValue, ".firstName.valueTypes"), {
|
|
54
54
|
type: 'string',
|
|
55
55
|
value: 'string',
|
|
56
56
|
schemaType: 'string'
|
|
57
|
-
}), _dec5 = (0,
|
|
57
|
+
}), _dec5 = (0, _testUtils.test)('generates skill.creators value type (schema)', "".concat(_spruceSkillUtils.CORE_NAMESPACE, ".skill.").concat(_spruceSkillUtils.CORE_SCHEMA_VERSION.constValue, ".creators.valueTypes"), {
|
|
58
58
|
type: "SpruceSchemas.Spruce.v2020_07_22.SkillCreator[]",
|
|
59
59
|
value: 'skillCreatorSchema_v2020_07_22',
|
|
60
60
|
schemaType: "SpruceSchemas.Spruce.v2020_07_22.SkillCreatorSchema"
|
|
61
|
-
}), _dec6 = (0,
|
|
61
|
+
}), _dec6 = (0, _testUtils.test)('generates dynamic field with nested schemas', "".concat(LOCAL_NAMESPACE, ".mercuryContract.").concat(_spruceSkillUtils.CORE_SCHEMA_VERSION.constValue, ".__dynamicFieldSignature.valueTypes"), {
|
|
62
62
|
type: "{ schemaId: 'eventSignature', version: 'v2020_07_22', values: SpruceSchemas.".concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignature } | { schemaId: 'eventSignature2', version: 'v2020_07_22', values: SpruceSchemas.").concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignature2 }"),
|
|
63
63
|
value: '[eventSignatureSchema_v2020_07_22, eventSignature2Schema_v2020_07_22]',
|
|
64
64
|
schemaType: "(SpruceSchemas.".concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignatureSchema | SpruceSchemas.").concat(LOCAL_NAMESPACE, ".v2020_07_22.EventSignature2Schema)[]")
|
|
@@ -134,7 +134,7 @@ var SchemaValueTypeGenerationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
|
|
|
134
134
|
while (1) {
|
|
135
135
|
switch (_context2.prev = _context2.next) {
|
|
136
136
|
case 0:
|
|
137
|
-
|
|
137
|
+
_testUtils.assert.isFunction(this.generator.writeValueTypes);
|
|
138
138
|
|
|
139
139
|
case 1:
|
|
140
140
|
case "end":
|
|
@@ -168,7 +168,7 @@ var SchemaValueTypeGenerationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
|
|
|
168
168
|
case 2:
|
|
169
169
|
results = _context3.sent;
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
_testUtils.assert.isTruthy(results);
|
|
172
172
|
|
|
173
173
|
case 4:
|
|
174
174
|
case "end":
|
|
@@ -199,11 +199,11 @@ var SchemaValueTypeGenerationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
|
|
|
199
199
|
case 2:
|
|
200
200
|
results = _context4.sent;
|
|
201
201
|
|
|
202
|
-
|
|
202
|
+
_testUtils.assert.isAbove(results.length, 0);
|
|
203
203
|
|
|
204
204
|
first = results[0].path;
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
_testUtils.assert.isTrue(_spruceSkillUtils.diskUtil.doesFileExist(first));
|
|
207
207
|
|
|
208
208
|
_context4.next = 8;
|
|
209
209
|
return this.Service('typeChecker').check(first);
|
|
@@ -242,11 +242,11 @@ var SchemaValueTypeGenerationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
|
|
|
242
242
|
case 5:
|
|
243
243
|
valueTypes = _context5.sent;
|
|
244
244
|
|
|
245
|
-
|
|
245
|
+
_testUtils.assert.isObject(valueTypes);
|
|
246
246
|
|
|
247
|
-
|
|
247
|
+
_testUtils.assert.isAbove(Object.keys(valueTypes).length, 0, 'Value types came back as empty object');
|
|
248
248
|
|
|
249
|
-
|
|
249
|
+
_testUtils.assert.doesInclude(valueTypes, (0, _defineProperty2["default"])({}, path, expected));
|
|
250
250
|
|
|
251
251
|
case 9:
|
|
252
252
|
case "end":
|
|
@@ -330,9 +330,9 @@ var SchemaValueTypeGenerationTest = (_dec = (0, _test.test)(), _dec2 = (0, _test
|
|
|
330
330
|
fields = _yield$Promise$all2$2.fields;
|
|
331
331
|
fieldErrors = _yield$Promise$all2$2.errors;
|
|
332
332
|
|
|
333
|
-
|
|
333
|
+
_testUtils.assert.isLength(schemaErrors, 0);
|
|
334
334
|
|
|
335
|
-
|
|
335
|
+
_testUtils.assert.isLength(fieldErrors, 0);
|
|
336
336
|
|
|
337
337
|
schemaBuilder = new _SchemaTemplateItemBuilder["default"]('LocalNamespace');
|
|
338
338
|
schemaTemplateItems = schemaBuilder.buildTemplateItems(schemasByNamespace, '#spruce/schemas');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaValueTypeWriter.test.js","names":["LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","test","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":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaValueTypeWriter.test.js","names":["LOCAL_NAMESPACE","SchemaValueTypeGenerationTest","test","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-utils'\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":"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"}
|
|
@@ -27,7 +27,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
27
27
|
|
|
28
28
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _testUtils = require("@sprucelabs/test-utils");
|
|
31
31
|
|
|
32
32
|
var _ServiceFactory = _interopRequireDefault(require("../../services/ServiceFactory"));
|
|
33
33
|
|
|
@@ -39,7 +39,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
39
39
|
|
|
40
40
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
41
|
|
|
42
|
-
var ServiceFactoryTest = (_dec = (0,
|
|
42
|
+
var ServiceFactoryTest = (_dec = (0, _testUtils.test)('can build pin service', 'pkg', 'readPackage'), _dec2 = (0, _testUtils.test)('can build pin service', 'vsCode', 'installExtensions'), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
|
|
43
43
|
(0, _inherits2["default"])(ServiceFactoryTest, _AbstractCliTest);
|
|
44
44
|
|
|
45
45
|
var _super = _createSuper(ServiceFactoryTest);
|
|
@@ -80,7 +80,7 @@ var ServiceFactoryTest = (_dec = (0, _test.test)('can build pin service', 'pkg',
|
|
|
80
80
|
value: function canBuild(type, functionName) {
|
|
81
81
|
var service = this.factory.Service(this.cwd, type);
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
_testUtils.assert.hasAllFunctions(service, [functionName]);
|
|
84
84
|
}
|
|
85
85
|
}]);
|
|
86
86
|
return ServiceFactoryTest;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFactory.test.js","names":["ServiceFactoryTest","test","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,IAAAC,
|
|
1
|
+
{"version":3,"file":"ServiceFactory.test.js","names":["ServiceFactoryTest","test","factory","ServiceFactory","type","functionName","service","Service","cwd","assert","hasAllFunctions","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/ServiceFactory.test.ts"],"sourcesContent":["import { test, assert } from '@sprucelabs/test-utils'\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,IAAAC,eAAA,EAAK,uBAAL,EAA8B,KAA9B,EAAqC,aAArC,C,UACA,IAAAA,eAAA,EAAK,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,iBAAA,CAAOC,eAAP,CAAuBJ,OAAvB,EAAgC,CAACD,YAAD,CAAhC;IACA;;;EAb8CM,4B"}
|
|
@@ -23,8 +23,6 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
23
23
|
|
|
24
24
|
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
|
|
25
25
|
|
|
26
|
-
var _test = require("@sprucelabs/test");
|
|
27
|
-
|
|
28
26
|
var _testUtils = require("@sprucelabs/test-utils");
|
|
29
27
|
|
|
30
28
|
var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
|
|
@@ -35,7 +33,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
35
33
|
|
|
36
34
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
35
|
|
|
38
|
-
var SettingUpANodeModuleTest = (_dec = (0,
|
|
36
|
+
var SettingUpANodeModuleTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), (_class = /*#__PURE__*/function (_AbstractCliTest) {
|
|
39
37
|
(0, _inherits2["default"])(SettingUpANodeModuleTest, _AbstractCliTest);
|
|
40
38
|
|
|
41
39
|
var _super = _createSuper(SettingUpANodeModuleTest);
|
|
@@ -60,7 +58,7 @@ var SettingUpANodeModuleTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test
|
|
|
60
58
|
case 2:
|
|
61
59
|
cli = _context.sent;
|
|
62
60
|
_context.next = 5;
|
|
63
|
-
return
|
|
61
|
+
return _testUtils.assert.doesThrowAsync(function () {
|
|
64
62
|
return cli.installFeatures({
|
|
65
63
|
features: [{
|
|
66
64
|
code: 'node',
|
|
@@ -105,7 +103,7 @@ var SettingUpANodeModuleTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test
|
|
|
105
103
|
case 3:
|
|
106
104
|
isInstalled = _context2.sent;
|
|
107
105
|
|
|
108
|
-
|
|
106
|
+
_testUtils.assert.isFalse(isInstalled);
|
|
109
107
|
|
|
110
108
|
case 5:
|
|
111
109
|
case "end":
|
|
@@ -150,7 +148,7 @@ var SettingUpANodeModuleTest = (_dec = (0, _test.test)(), _dec2 = (0, _test.test
|
|
|
150
148
|
pkgService = this.Service('pkg');
|
|
151
149
|
contents = pkgService.readPackage();
|
|
152
150
|
|
|
153
|
-
|
|
151
|
+
_testUtils.assert.doesInclude(contents, {
|
|
154
152
|
name: 'test-module',
|
|
155
153
|
description: 'so great!',
|
|
156
154
|
version: '0.0.1'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingUpANodeModule.test.js","names":["SettingUpANodeModuleTest","test","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;;
|
|
1
|
+
{"version":3,"file":"SettingUpANodeModule.test.js","names":["SettingUpANodeModuleTest","test","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-utils'\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;;AAEA;;;;;;;;IAEqBA,wB,WACnB,IAAAC,eAAA,G,UAkBA,IAAAA,eAAA,G,UAOA,IAAAA,eAAA,G;;;;;;;;;;;;;gHAzBD;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,KAAKC,GAAL,EAFnB;;cAAA;gBAEOC,GAFP;gBAAA;gBAAA,OAGmBC,iBAAA,CAAOC,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,sBAAA,CAAYC,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,iBAAA,CAAOY,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,iBAAA,CAAOmB,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"}
|