@sprucelabs/spruce-cli 17.1.53 → 17.1.55
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/.spruce/errors/spruceCli/actionCancelled.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/bootError.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js +0 -5
- package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js +0 -5
- package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js +0 -7
- package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js +0 -8
- package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/fileExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/generic.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js +0 -5
- package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js +0 -6
- package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js +0 -5
- package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js +0 -5
- package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js +0 -7
- package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/storeExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/testFailed.schema.js +0 -6
- package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/themeExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js +0 -4
- package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
- package/build/.spruce/events/events.contract.js +0 -10
- package/build/.spruce/events/events.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +0 -4
- package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +0 -5
- package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +0 -5
- package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js +0 -4
- package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js +0 -5
- package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
- package/build/.spruce/schemas/fields/fieldClassMap.js +0 -2
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
- package/build/.spruce/schemas/fields/fields.types.js +0 -1
- package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js +0 -10
- package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js +0 -10
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js +0 -8
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js +0 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js +0 -8
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js +0 -9
- package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js +0 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js +0 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js +0 -8
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js +0 -8
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js +0 -8
- package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js +0 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js +0 -4
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js +0 -10
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js +0 -6
- package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js +0 -1
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
- package/build/.spruce/schemas/schemas.types.js +0 -2
- package/build/.spruce/schemas/schemas.types.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js +0 -1
- package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js +0 -7
- package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js +0 -5
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js +0 -27
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js +0 -5
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js +0 -29
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js +0 -8
- package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js +0 -7
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js +0 -7
- package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js +0 -4
- package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js +0 -12
- package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js +0 -14
- package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +0 -6
- package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js +0 -4
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js +0 -5
- package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js +0 -7
- package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js +0 -4
- package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js +0 -5
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js +0 -4
- package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js +0 -6
- package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js +0 -22
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js +0 -8
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js +0 -6
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js +0 -21
- package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js +0 -9
- package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js +0 -4
- package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js +0 -7
- package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
- package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js +0 -1
- package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
- package/build/.spruce/skill.types.js +0 -3
- package/build/.spruce/skill.types.js.map +1 -1
- package/build/GlobalEmitter.js +0 -22
- package/build/GlobalEmitter.js.map +1 -1
- package/build/InFlightEntertainment.js +0 -13
- package/build/InFlightEntertainment.js.map +1 -1
- package/build/__tests__/behavioral/AddingADependency.test.js +0 -69
- package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
- package/build/__tests__/behavioral/BlockingCommands.test.js +0 -34
- package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingTheCli.test.js +0 -23
- package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js +0 -41
- package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +6 -48
- package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js +0 -34
- package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingASkill.test.js +0 -215
- package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/DeployingToSandbox.test.js +4 -141
- package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +0 -78
- package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
- package/build/__tests__/behavioral/GettingCliVersion.test.js +0 -33
- package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +0 -89
- package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +0 -31
- package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js +0 -84
- package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/ManagingDependencies.test.js +0 -55
- package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +0 -32
- package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
- package/build/__tests__/behavioral/RebuildingASkill.test.js +0 -36
- package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +0 -33
- package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +0 -47
- package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +0 -68
- package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +0 -58
- package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +0 -42
- package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +3 -64
- package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingRemote.test.js +0 -49
- package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +0 -49
- package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +6 -142
- package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
- package/build/__tests__/behavioral/SettingUpVscode.test.js +0 -40
- package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +0 -54
- package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js +0 -35
- package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingAConversation.test.js +0 -77
- package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
- package/build/__tests__/behavioral/TestingDataStores.test.js +0 -51
- package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
- package/build/__tests__/behavioral/WatchingSkillViews.test.js +1 -120
- package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +0 -58
- package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +0 -52
- package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +16 -97
- package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +0 -32
- package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +0 -95
- package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -160
- package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +0 -135
- package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +7 -154
- package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +1 -154
- package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +0 -39
- package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +0 -41
- package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js +0 -25
- package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +0 -43
- package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +0 -38
- package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +0 -55
- package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +0 -38
- package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +0 -31
- package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +0 -79
- package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +0 -37
- package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +0 -59
- package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +2 -107
- package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +0 -37
- package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +0 -43
- package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +5 -70
- package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +0 -32
- package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +14 -215
- package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +0 -40
- package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +0 -30
- package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +0 -26
- package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/BootingASkill.test.js +0 -54
- package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js +0 -35
- package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +0 -61
- package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +0 -89
- package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +22 -116
- package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +0 -64
- package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/CreatingATest.test.js +6 -115
- package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/RunningTests.test.js +0 -43
- package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +2 -138
- package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js +2 -31
- package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +0 -48
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +0 -65
- package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +0 -53
- package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +0 -117
- package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +5 -101
- package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -117
- package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +0 -67
- package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +0 -65
- package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +5 -37
- package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +0 -62
- package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -111
- package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
- package/build/__tests__/behavioral/views/CreatingATheme.test.js +0 -55
- package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +0 -47
- package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
- package/build/__tests__/behavioral/views/SettingUpViews.test.js +0 -30
- package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js +0 -59
- package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +0 -121
- package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter.test.js +0 -57
- package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter2.test.js +0 -112
- package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter3.test.js +0 -40
- package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
- package/build/__tests__/implementation/ActionExecuter4.test.js +2 -38
- package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
- package/build/__tests__/implementation/ArgParser.test.js +0 -28
- package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
- package/build/__tests__/implementation/BuildService.test.js +0 -31
- package/build/__tests__/implementation/BuildService.test.js.map +1 -1
- package/build/__tests__/implementation/BulkImporting.test.js +0 -86
- package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
- package/build/__tests__/implementation/CachingImports.test.js +0 -59
- package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
- package/build/__tests__/implementation/CommandOptionBuilder.test.js +0 -29
- package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +0 -60
- package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
- package/build/__tests__/implementation/DataStoreStore.test.js +0 -78
- package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +2 -34
- package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js +0 -43
- package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
- package/build/__tests__/implementation/EventStore.test.js +0 -155
- package/build/__tests__/implementation/EventStore.test.js.map +1 -1
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +80 -129
- package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js +0 -78
- package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureFixture.test.js +2 -42
- package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
- package/build/__tests__/implementation/FeatureInstaller.test.js +0 -41
- package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
- package/build/__tests__/implementation/FeaturesUtil.test.js +0 -25
- package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +0 -30
- package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/GlobalEmitter.js +0 -22
- package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
- package/build/__tests__/implementation/Introspection.test.js +0 -22
- package/build/__tests__/implementation/Introspection.test.js.map +1 -1
- package/build/__tests__/implementation/JestJsonParser.test.js +0 -61
- package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
- package/build/__tests__/implementation/LintService.test.js +0 -33
- package/build/__tests__/implementation/LintService.test.js.map +1 -1
- package/build/__tests__/implementation/ListenerStore.test.js +2 -19
- package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js +0 -43
- package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +0 -74
- package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
- package/build/__tests__/implementation/OnboardingStore.test.js +0 -39
- package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
- package/build/__tests__/implementation/OrganizationStore.test.js +0 -59
- package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
- package/build/__tests__/implementation/ParentTestFinder.test.js +0 -35
- package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
- package/build/__tests__/implementation/PkgService.test.js +0 -55
- package/build/__tests__/implementation/PkgService.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaStore.test.js +20 -154
- package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +0 -37
- package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +0 -72
- package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
- package/build/__tests__/implementation/ServiceFactory.test.js +0 -25
- package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
- package/build/__tests__/implementation/SettingUpANodeModule.test.js +0 -35
- package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
- package/build/__tests__/implementation/SkillStore.test.js +0 -93
- package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
- package/build/__tests__/implementation/StoreFeature.test.js +0 -31
- package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
- package/build/__tests__/implementation/TestReporter.test.js +0 -35
- package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
- package/build/__tests__/implementation/TestRunner.test.js +0 -102
- package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
- package/build/__tests__/implementation/ValueTypeMapping.test.js +0 -31
- package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
- package/build/__tests__/implementation/Widgets.test.js +0 -42
- package/build/__tests__/implementation/Widgets.test.js.map +1 -1
- package/build/__tests__/support/onTestFileResult.js +0 -2
- package/build/__tests__/support/onTestFileResult.js.map +1 -1
- package/build/__tests__/support/scripts/first.script.js +0 -7
- package/build/__tests__/support/scripts/first.script.js.map +1 -1
- package/build/__tests__/support/scripts/second.script.js.map +1 -1
- package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
- package/build/addons/filePrompt.addon.js +1 -3
- package/build/addons/filePrompt.addon.js.map +1 -1
- package/build/cli.js +14 -165
- package/build/cli.js.map +1 -1
- package/build/components/AbstractComponent.js +0 -10
- package/build/components/AbstractComponent.js.map +1 -1
- package/build/components/FormComponent.js +36 -113
- package/build/components/FormComponent.js.map +1 -1
- package/build/components/QuizComponent.js +45 -88
- package/build/components/QuizComponent.js.map +1 -1
- package/build/constants.js.map +1 -1
- package/build/errors/SpruceError.js +2 -86
- package/build/errors/SpruceError.js.map +1 -1
- package/build/errors/actionCancelled.builder.js +0 -3
- package/build/errors/actionCancelled.builder.js.map +1 -1
- package/build/errors/bootError.builder.js +0 -3
- package/build/errors/bootError.builder.js.map +1 -1
- package/build/errors/buildFailed.builder.js +0 -3
- package/build/errors/buildFailed.builder.js.map +1 -1
- package/build/errors/cacheNotEnabled.builder.js +0 -3
- package/build/errors/cacheNotEnabled.builder.js.map +1 -1
- package/build/errors/commandAborted.builder.js +0 -3
- package/build/errors/commandAborted.builder.js.map +1 -1
- package/build/errors/commandBlocked.builder.js +0 -3
- package/build/errors/commandBlocked.builder.js.map +1 -1
- package/build/errors/commandNotImplemented.builder.js +0 -3
- package/build/errors/commandNotImplemented.builder.js.map +1 -1
- package/build/errors/createAutoloaderFailed.builder.js +0 -3
- package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
- package/build/errors/dependencyExists.builder.js +0 -3
- package/build/errors/dependencyExists.builder.js.map +1 -1
- package/build/errors/deployFailed.builder.js +0 -3
- package/build/errors/deployFailed.builder.js.map +1 -1
- package/build/errors/directoryEmpty.builder.js +0 -3
- package/build/errors/directoryEmpty.builder.js.map +1 -1
- package/build/errors/directoryNotSkill.builder.js +0 -3
- package/build/errors/directoryNotSkill.builder.js.map +1 -1
- package/build/errors/dockerNotStarted.builder.js +0 -3
- package/build/errors/dockerNotStarted.builder.js.map +1 -1
- package/build/errors/executingCommandFailed.builder.js +0 -3
- package/build/errors/executingCommandFailed.builder.js.map +1 -1
- package/build/errors/failedToImport.builder.js +0 -2
- package/build/errors/failedToImport.builder.js.map +1 -1
- package/build/errors/featureNotInstalled.builder.js +0 -3
- package/build/errors/featureNotInstalled.builder.js.map +1 -1
- package/build/errors/fileExists.builder.js +0 -2
- package/build/errors/fileExists.builder.js.map +1 -1
- package/build/errors/generic.builder.js +0 -2
- package/build/errors/generic.builder.js.map +1 -1
- package/build/errors/invalidCommand.builder.js +0 -2
- package/build/errors/invalidCommand.builder.js.map +1 -1
- package/build/errors/invalidEventContract.builder.js +0 -3
- package/build/errors/invalidEventContract.builder.js.map +1 -1
- package/build/errors/invalidFeatureCode.builder.js +0 -3
- package/build/errors/invalidFeatureCode.builder.js.map +1 -1
- package/build/errors/invalidTestDirectory.builder.js +0 -3
- package/build/errors/invalidTestDirectory.builder.js.map +1 -1
- package/build/errors/lintFailed.builder.js +0 -2
- package/build/errors/lintFailed.builder.js.map +1 -1
- package/build/errors/mercuryResponseError.builder.js +0 -3
- package/build/errors/mercuryResponseError.builder.js.map +1 -1
- package/build/errors/missingDependencies.builder.js +0 -3
- package/build/errors/missingDependencies.builder.js.map +1 -1
- package/build/errors/noOrganizationsFound.builder.js +0 -3
- package/build/errors/noOrganizationsFound.builder.js.map +1 -1
- package/build/errors/noSkillsRegistered.builder.js +0 -3
- package/build/errors/noSkillsRegistered.builder.js.map +1 -1
- package/build/errors/notImplemented.builder.js +0 -2
- package/build/errors/notImplemented.builder.js.map +1 -1
- package/build/errors/notLoggedIn.builder.js +0 -3
- package/build/errors/notLoggedIn.builder.js.map +1 -1
- package/build/errors/schemaExists.builder.js +0 -3
- package/build/errors/schemaExists.builder.js.map +1 -1
- package/build/errors/schemaFailedToImport.builder.js +0 -3
- package/build/errors/schemaFailedToImport.builder.js.map +1 -1
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js +0 -3
- package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
- package/build/errors/skillNotFound.builder.js +0 -3
- package/build/errors/skillNotFound.builder.js.map +1 -1
- package/build/errors/skillNotRegistered.builder.js +0 -3
- package/build/errors/skillNotRegistered.builder.js.map +1 -1
- package/build/errors/skillViewExists.builder.js +0 -3
- package/build/errors/skillViewExists.builder.js.map +1 -1
- package/build/errors/storeExists.builder.js +0 -3
- package/build/errors/storeExists.builder.js.map +1 -1
- package/build/errors/testFailed.builder.js +0 -3
- package/build/errors/testFailed.builder.js.map +1 -1
- package/build/errors/themeExists.builder.js +0 -3
- package/build/errors/themeExists.builder.js.map +1 -1
- package/build/errors/transportAlreadyExists.builder.js +0 -3
- package/build/errors/transportAlreadyExists.builder.js.map +1 -1
- package/build/errors/vscodeNotInstalled.builder.js +0 -3
- package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
- package/build/features/AbstractAction.js +0 -36
- package/build/features/AbstractAction.js.map +1 -1
- package/build/features/AbstractFeature.js +0 -40
- package/build/features/AbstractFeature.js.map +1 -1
- package/build/features/ActionExecuter.js +0 -85
- package/build/features/ActionExecuter.js.map +1 -1
- package/build/features/ActionFactory.js +9 -30
- package/build/features/ActionFactory.js.map +1 -1
- package/build/features/ActionQuestionAsker.js +0 -111
- package/build/features/ActionQuestionAsker.js.map +1 -1
- package/build/features/FeatureCommandAttacher.js +16 -64
- package/build/features/FeatureCommandAttacher.js.map +1 -1
- package/build/features/FeatureInstaller.js +5 -157
- package/build/features/FeatureInstaller.js.map +1 -1
- package/build/features/FeatureInstallerFactory.js +5 -37
- package/build/features/FeatureInstallerFactory.js.map +1 -1
- package/build/features/OverrideActionDecorator.js +11 -52
- package/build/features/OverrideActionDecorator.js.map +1 -1
- package/build/features/cache/CacheFeature.js +0 -25
- package/build/features/cache/CacheFeature.js.map +1 -1
- package/build/features/cache/actions/DisableAction.js +0 -34
- package/build/features/cache/actions/DisableAction.js.map +1 -1
- package/build/features/cache/actions/EnableAction.js +0 -35
- package/build/features/cache/actions/EnableAction.js.map +1 -1
- package/build/features/cache/constants.js.map +1 -1
- package/build/features/conversation/ConversationFeature.js +0 -35
- package/build/features/conversation/ConversationFeature.js.map +1 -1
- package/build/features/conversation/actions/CreateAction.js +0 -27
- package/build/features/conversation/actions/CreateAction.js.map +1 -1
- package/build/features/conversation/actions/TestAction.js +2 -48
- package/build/features/conversation/actions/TestAction.js.map +1 -1
- package/build/features/conversation/stores/ConversationStore.js +0 -30
- package/build/features/conversation/stores/ConversationStore.js.map +1 -1
- package/build/features/conversation/writers/ConversationWriter.js +0 -24
- package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
- package/build/features/dependencies/DependencyFeature.js +0 -25
- package/build/features/dependencies/DependencyFeature.js.map +1 -1
- package/build/features/dependencies/actions/AddAction.js +0 -39
- package/build/features/dependencies/actions/AddAction.js.map +1 -1
- package/build/features/dependencies/actions/ManageAction.js +0 -34
- package/build/features/dependencies/actions/ManageAction.js.map +1 -1
- package/build/features/deploy/DeployFeature.js +0 -26
- package/build/features/deploy/DeployFeature.js.map +1 -1
- package/build/features/deploy/actions/HerokuAction.js +0 -139
- package/build/features/deploy/actions/HerokuAction.js.map +1 -1
- package/build/features/deploy/writers/DeployWriter.js +0 -16
- package/build/features/deploy/writers/DeployWriter.js.map +1 -1
- package/build/features/error/ErrorFeature.js +0 -53
- package/build/features/error/ErrorFeature.js.map +1 -1
- package/build/features/error/ParentTestFinder.js +0 -17
- package/build/features/error/ParentTestFinder.js.map +1 -1
- package/build/features/error/actions/CreateAction.js +0 -33
- package/build/features/error/actions/CreateAction.js.map +1 -1
- package/build/features/error/actions/SyncAction.js +0 -51
- package/build/features/error/actions/SyncAction.js.map +1 -1
- package/build/features/error/writers/ErrorWriter.js +0 -72
- package/build/features/error/writers/ErrorWriter.js.map +1 -1
- package/build/features/event/EventFeature.js +0 -80
- package/build/features/event/EventFeature.js.map +1 -1
- package/build/features/event/actions/CreateAction.js +0 -43
- package/build/features/event/actions/CreateAction.js.map +1 -1
- package/build/features/event/actions/ListenAction.js +1 -101
- package/build/features/event/actions/ListenAction.js.map +1 -1
- package/build/features/event/actions/SetRemoteAction.js +0 -27
- package/build/features/event/actions/SetRemoteAction.js.map +1 -1
- package/build/features/event/actions/SyncAction.js +0 -31
- package/build/features/event/actions/SyncAction.js.map +1 -1
- package/build/features/event/actions/SyncListenersAction.js +0 -30
- package/build/features/event/actions/SyncListenersAction.js.map +1 -1
- package/build/features/event/builders/EventContractBuilder.js +0 -52
- package/build/features/event/builders/EventContractBuilder.js.map +1 -1
- package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -19
- package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
- package/build/features/event/services/EventSettingsService.js +0 -7
- package/build/features/event/services/EventSettingsService.js.map +1 -1
- package/build/features/event/services/RemoteService.js +0 -2
- package/build/features/event/services/RemoteService.js.map +1 -1
- package/build/features/event/stores/EventStore.js +5 -114
- package/build/features/event/stores/EventStore.js.map +1 -1
- package/build/features/event/stores/ListenerStore.js +0 -36
- package/build/features/event/stores/ListenerStore.js.map +1 -1
- package/build/features/event/writers/EventWriter.js +2 -69
- package/build/features/event/writers/EventWriter.js.map +1 -1
- package/build/features/eventContract/EventContractFeature.js +0 -23
- package/build/features/eventContract/EventContractFeature.js.map +1 -1
- package/build/features/eventContract/actions/PullAction.js +0 -31
- package/build/features/eventContract/actions/PullAction.js.map +1 -1
- package/build/features/feature.utilities.js +0 -12
- package/build/features/feature.utilities.js.map +1 -1
- package/build/features/features.types.js +0 -4
- package/build/features/features.types.js.map +1 -1
- package/build/features/log/LogFeature.js +0 -20
- package/build/features/log/LogFeature.js.map +1 -1
- package/build/features/log/actions/CreateTransportAction.js +0 -29
- package/build/features/log/actions/CreateTransportAction.js.map +1 -1
- package/build/features/log/writers/LogWriter.js +0 -25
- package/build/features/log/writers/LogWriter.js.map +1 -1
- package/build/features/node/NodeFeature.js +2 -57
- package/build/features/node/NodeFeature.js.map +1 -1
- package/build/features/node/actions/CreateAction.js +0 -26
- package/build/features/node/actions/CreateAction.js.map +1 -1
- package/build/features/node/actions/UpdateDependenciesAction.js +4 -66
- package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
- package/build/features/node/actions/UpgradeAction.js +0 -51
- package/build/features/node/actions/UpgradeAction.js.map +1 -1
- package/build/features/node/writers/NodeWriter.js +0 -31
- package/build/features/node/writers/NodeWriter.js.map +1 -1
- package/build/features/onboard/OnboardFeature.js +1 -52
- package/build/features/onboard/OnboardFeature.js.map +1 -1
- package/build/features/onboard/ScriptLoader.js +0 -21
- package/build/features/onboard/ScriptLoader.js.map +1 -1
- package/build/features/onboard/ScriptPlayer.js +0 -47
- package/build/features/onboard/ScriptPlayer.js.map +1 -1
- package/build/features/onboard/actions/OnboardAction.js +0 -32
- package/build/features/onboard/actions/OnboardAction.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.first.script.js +1 -25
- package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.immersive.script.js +0 -12
- package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.returning.script.js +0 -13
- package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
- package/build/features/onboard/scripts/onboarding.short.script.js +0 -21
- package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js +0 -7
- package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
- package/build/features/onboard/scripts/todo/todo.test.script.js +0 -6
- package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
- package/build/features/onboard/scripts/wrongCommand.script.js +0 -12
- package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
- package/build/features/onboard/stores/OnboardingStore.js +0 -25
- package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
- package/build/features/organization/OrganizationFeature.js +0 -20
- package/build/features/organization/OrganizationFeature.js.map +1 -1
- package/build/features/organization/actions/CreateAction.js +0 -27
- package/build/features/organization/actions/CreateAction.js.map +1 -1
- package/build/features/organization/actions/InstallAction.js +0 -47
- package/build/features/organization/actions/InstallAction.js.map +1 -1
- package/build/features/organization/stores/OrganizationStore.js +0 -52
- package/build/features/organization/stores/OrganizationStore.js.map +1 -1
- package/build/features/permission/PermissionFeature.js +0 -20
- package/build/features/permission/PermissionFeature.js.map +1 -1
- package/build/features/permission/actions/CreateAction.js +0 -29
- package/build/features/permission/actions/CreateAction.js.map +1 -1
- package/build/features/person/PersonFeature.js +0 -20
- package/build/features/person/PersonFeature.js.map +1 -1
- package/build/features/person/actions/LoginAction.js +0 -41
- package/build/features/person/actions/LoginAction.js.map +1 -1
- package/build/features/person/actions/LogoutAction.js +0 -30
- package/build/features/person/actions/LogoutAction.js.map +1 -1
- package/build/features/person/actions/WhoamiAction.js +0 -32
- package/build/features/person/actions/WhoamiAction.js.map +1 -1
- package/build/features/polish/PolishFeature.js +0 -20
- package/build/features/polish/PolishFeature.js.map +1 -1
- package/build/features/polish/actions/SetupAction.js +0 -31
- package/build/features/polish/actions/SetupAction.js.map +1 -1
- package/build/features/polish/writers/PolishWriter.js +0 -22
- package/build/features/polish/writers/PolishWriter.js.map +1 -1
- package/build/features/sandbox/SandboxFeature.js +0 -28
- package/build/features/sandbox/SandboxFeature.js.map +1 -1
- package/build/features/sandbox/actions/SetupAction.js +0 -38
- package/build/features/sandbox/actions/SetupAction.js.map +1 -1
- package/build/features/sandbox/writers/SandboxWriter.js +0 -22
- package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
- package/build/features/schema/SchemaFeature.js +0 -51
- package/build/features/schema/SchemaFeature.js.map +1 -1
- package/build/features/schema/ValueTypeBuilder.js +0 -20
- package/build/features/schema/ValueTypeBuilder.js.map +1 -1
- package/build/features/schema/actions/CreateAction.js +0 -44
- package/build/features/schema/actions/CreateAction.js.map +1 -1
- package/build/features/schema/actions/SyncAction.js +0 -91
- package/build/features/schema/actions/SyncAction.js.map +1 -1
- package/build/features/schema/actions/SyncFieldsAction.js +0 -34
- package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
- package/build/features/schema/services/SchemaService.js +0 -25
- package/build/features/schema/services/SchemaService.js.map +1 -1
- package/build/features/schema/stores/SchemaStore.js +0 -102
- package/build/features/schema/stores/SchemaStore.js.map +1 -1
- package/build/features/schema/utilities/schema.utility.js +0 -4
- package/build/features/schema/utilities/schema.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaDisk.utility.js +5 -25
- package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
- package/build/features/schema/utilities/schemaGenerator.utility.js +3 -22
- package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
- package/build/features/schema/writers/SchemaWriter.js +0 -95
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/features/skill/SkillFeature.js +2 -65
- package/build/features/skill/SkillFeature.js.map +1 -1
- package/build/features/skill/actions/BootAction.js +0 -46
- package/build/features/skill/actions/BootAction.js.map +1 -1
- package/build/features/skill/actions/CreateAction.js +0 -29
- package/build/features/skill/actions/CreateAction.js.map +1 -1
- package/build/features/skill/actions/DashboardAction.js +0 -26
- package/build/features/skill/actions/DashboardAction.js.map +1 -1
- package/build/features/skill/actions/LoginAction.js +0 -55
- package/build/features/skill/actions/LoginAction.js.map +1 -1
- package/build/features/skill/actions/RebuildAction.js +0 -34
- package/build/features/skill/actions/RebuildAction.js.map +1 -1
- package/build/features/skill/actions/RegisterAction.js +0 -32
- package/build/features/skill/actions/RegisterAction.js.map +1 -1
- package/build/features/skill/stores/SkillStore.js +0 -87
- package/build/features/skill/stores/SkillStore.js.map +1 -1
- package/build/features/skill/updaters/Updater.js +0 -25
- package/build/features/skill/updaters/Updater.js.map +1 -1
- package/build/features/skill/writers/SkillWriter.js +0 -26
- package/build/features/skill/writers/SkillWriter.js.map +1 -1
- package/build/features/store/StoreFeature.js +0 -37
- package/build/features/store/StoreFeature.js.map +1 -1
- package/build/features/store/actions/CreateAction.js +0 -35
- package/build/features/store/actions/CreateAction.js.map +1 -1
- package/build/features/store/actions/SyncAction.js +0 -34
- package/build/features/store/actions/SyncAction.js.map +1 -1
- package/build/features/store/stores/StoreStore.js +0 -37
- package/build/features/store/stores/StoreStore.js.map +1 -1
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -18
- package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
- package/build/features/store/writers/StoreWriter.js +0 -43
- package/build/features/store/writers/StoreWriter.js.map +1 -1
- package/build/features/test/TestFeature.js +2 -72
- package/build/features/test/TestFeature.js.map +1 -1
- package/build/features/test/TestLogItemGenerator.js +0 -40
- package/build/features/test/TestLogItemGenerator.js.map +1 -1
- package/build/features/test/TestReporter.js +11 -123
- package/build/features/test/TestReporter.js.map +1 -1
- package/build/features/test/TestRunner.js +2 -58
- package/build/features/test/TestRunner.js.map +1 -1
- package/build/features/test/actions/CreateAction.js +2 -66
- package/build/features/test/actions/CreateAction.js.map +1 -1
- package/build/features/test/actions/SetupAction.js +0 -33
- package/build/features/test/actions/SetupAction.js.map +1 -1
- package/build/features/test/actions/TestAction.js +12 -131
- package/build/features/test/actions/TestAction.js.map +1 -1
- package/build/features/test/writers/TestWriter.js +0 -22
- package/build/features/test/writers/TestWriter.js.map +1 -1
- package/build/features/universalDevDependencies.js.map +1 -1
- package/build/features/universalFileDescriptions.js.map +1 -1
- package/build/features/universalScripts.js.map +1 -1
- package/build/features/validateAndNormalize.utility.js +0 -7
- package/build/features/validateAndNormalize.utility.js.map +1 -1
- package/build/features/view/ViewFeature.js +0 -32
- package/build/features/view/ViewFeature.js.map +1 -1
- package/build/features/view/actions/CreateAction.js +0 -48
- package/build/features/view/actions/CreateAction.js.map +1 -1
- package/build/features/view/actions/CreateThemeAction.js +0 -36
- package/build/features/view/actions/CreateThemeAction.js.map +1 -1
- package/build/features/view/actions/SyncAction.js +3 -48
- package/build/features/view/actions/SyncAction.js.map +1 -1
- package/build/features/view/actions/WatchAction.js +4 -64
- package/build/features/view/actions/WatchAction.js.map +1 -1
- package/build/features/view/stores/ViewStore.js +0 -32
- package/build/features/view/stores/ViewStore.js.map +1 -1
- package/build/features/view/writers/ViewWriter.js +3 -43
- package/build/features/view/writers/ViewWriter.js.map +1 -1
- package/build/features/vscode/VsCodeFeature.js +0 -26
- package/build/features/vscode/VsCodeFeature.js.map +1 -1
- package/build/features/vscode/actions/SetupAction.js +0 -83
- package/build/features/vscode/actions/SetupAction.js.map +1 -1
- package/build/features/vscode/services/VsCodeService.js +3 -43
- package/build/features/vscode/services/VsCodeService.js.map +1 -1
- package/build/features/vscode/writers/VsCodeWriter.js +1 -21
- package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
- package/build/features/watch/WatchFeature.js +1 -45
- package/build/features/watch/WatchFeature.js.map +1 -1
- package/build/index.js +0 -5
- package/build/index.js.map +1 -1
- package/build/interfaces/SpyInterface.js +4 -81
- package/build/interfaces/SpyInterface.js.map +1 -1
- package/build/interfaces/TerminalInterface.js +33 -156
- package/build/interfaces/TerminalInterface.js.map +1 -1
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js +0 -8
- package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js +0 -9
- package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js +0 -8
- package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js +0 -9
- package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/createTestOptions.builder.js +0 -5
- package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js +0 -8
- package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js +0 -3
- package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboardOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/onboarding.builder.js +0 -3
- package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/personWithToken.builder.js +0 -5
- package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js +0 -3
- package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/skillFeature.builder.js +0 -3
- package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js +0 -8
- package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js +0 -5
- package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js +0 -9
- package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/testOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js +0 -3
- package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +0 -4
- package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
- package/build/services/BuildService.js +0 -15
- package/build/services/BuildService.js.map +1 -1
- package/build/services/CommandService.js +0 -51
- package/build/services/CommandService.js.map +1 -1
- package/build/services/DependencyService.js +0 -11
- package/build/services/DependencyService.js.map +1 -1
- package/build/services/GameService.js +3 -32
- package/build/services/GameService.js.map +1 -1
- package/build/services/ImportService.js +4 -104
- package/build/services/ImportService.js.map +1 -1
- package/build/services/LintService.js +0 -33
- package/build/services/LintService.js.map +1 -1
- package/build/services/PkgService.js +0 -47
- package/build/services/PkgService.js.map +1 -1
- package/build/services/ServiceFactory.js +0 -35
- package/build/services/ServiceFactory.js.map +1 -1
- package/build/services/TypeCheckerService.js +0 -10
- package/build/services/TypeCheckerService.js.map +1 -1
- package/build/stores/AbstractLocalStore.js +0 -19
- package/build/stores/AbstractLocalStore.js.map +1 -1
- package/build/stores/AbstractStore.js +0 -14
- package/build/stores/AbstractStore.js.map +1 -1
- package/build/stores/StoreFactory.js +4 -24
- package/build/stores/StoreFactory.js.map +1 -1
- package/build/templateItemBuilders/EventTemplateItemBuilder.js +14 -64
- package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -16
- package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +11 -68
- package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
- package/build/tests/AbstractCliTest.js +0 -173
- package/build/tests/AbstractCliTest.js.map +1 -1
- package/build/tests/AbstractErrorTest.js +0 -20
- package/build/tests/AbstractErrorTest.js.map +1 -1
- package/build/tests/AbstractEventTest.js +13 -55
- package/build/tests/AbstractEventTest.js.map +1 -1
- package/build/tests/AbstractSchemaTest.js +12 -71
- package/build/tests/AbstractSchemaTest.js.map +1 -1
- package/build/tests/AbstractSkillTest.js +1 -34
- package/build/tests/AbstractSkillTest.js.map +1 -1
- package/build/tests/AbstractTestTest.js +3 -26
- package/build/tests/AbstractTestTest.js.map +1 -1
- package/build/tests/CommandFaker.js +0 -8
- package/build/tests/CommandFaker.js.map +1 -1
- package/build/tests/JestJsonParser.js +2 -47
- package/build/tests/JestJsonParser.js.map +1 -1
- package/build/tests/MockProgramFactory.js +0 -17
- package/build/tests/MockProgramFactory.js.map +1 -1
- package/build/tests/buildTestCache.js +0 -82
- package/build/tests/buildTestCache.js.map +1 -1
- package/build/tests/cleanTestCache.js +0 -11
- package/build/tests/cleanTestCache.js.map +1 -1
- package/build/tests/cleanTestData.js +0 -38
- package/build/tests/cleanTestData.js.map +1 -1
- package/build/tests/constants.js +0 -3
- package/build/tests/constants.js.map +1 -1
- package/build/tests/fixtures/FeatureFixture.js +7 -82
- package/build/tests/fixtures/FeatureFixture.js.map +1 -1
- package/build/tests/fixtures/MercuryFixture.js +0 -17
- package/build/tests/fixtures/MercuryFixture.js.map +1 -1
- package/build/tests/fixtures/OrganizationFixture.js +0 -39
- package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
- package/build/tests/fixtures/PersonFixture.js +0 -37
- package/build/tests/fixtures/PersonFixture.js.map +1 -1
- package/build/tests/fixtures/SkillFixture.js +0 -55
- package/build/tests/fixtures/SkillFixture.js.map +1 -1
- package/build/tests/fixtures/ViewFixture.js +0 -14
- package/build/tests/fixtures/ViewFixture.js.map +1 -1
- package/build/tests/utilities/test.utility.js +0 -25
- package/build/tests/utilities/test.utility.js.map +1 -1
- package/build/tests/utilities/uiAssert.utility.js +0 -15
- package/build/tests/utilities/uiAssert.utility.js.map +1 -1
- package/build/types/cli.types.js +0 -1
- package/build/types/cli.types.js.map +1 -1
- package/build/types/graphicsInterface.types.js +0 -1
- package/build/types/graphicsInterface.types.js.map +1 -1
- package/build/updaters/ScriptUpdater.js +0 -28
- package/build/updaters/ScriptUpdater.js.map +1 -1
- package/build/utilities/action.utility.js +0 -11
- package/build/utilities/action.utility.js.map +1 -1
- package/build/utilities/apiClient.utility.js +2 -11
- package/build/utilities/apiClient.utility.js.map +1 -1
- package/build/utilities/argParser.utility.js +1 -11
- package/build/utilities/argParser.utility.js.map +1 -1
- package/build/utilities/commander.utility.js +0 -12
- package/build/utilities/commander.utility.js.map +1 -1
- package/build/utilities/duration.utility.js +3 -8
- package/build/utilities/duration.utility.js.map +1 -1
- package/build/utilities/eventContractCleaner.utility.js +1 -22
- package/build/utilities/eventContractCleaner.utility.js.map +1 -1
- package/build/utilities/form.utility.js +1 -27
- package/build/utilities/form.utility.js.map +1 -1
- package/build/utilities/introspection.utility.js +11 -40
- package/build/utilities/introspection.utility.js.map +1 -1
- package/build/utilities/isCi.js +0 -3
- package/build/utilities/isCi.js.map +1 -1
- package/build/utilities/tsConfig.utility.js +4 -16
- package/build/utilities/tsConfig.utility.js.map +1 -1
- package/build/utilities/ui.utility.js +2 -4
- package/build/utilities/ui.utility.js.map +1 -1
- package/build/widgets/Theme.js +0 -3
- package/build/widgets/Theme.js.map +1 -1
- package/build/widgets/WidgetFactory.js +4 -14
- package/build/widgets/WidgetFactory.js.map +1 -1
- package/build/widgets/keySelectChoices.js.map +1 -1
- package/build/widgets/terminalKit/TKButtonWidget.js +2 -32
- package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkBaseWidget.js +1 -55
- package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkInputWidget.js +1 -44
- package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutCellWidget.js +0 -19
- package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkLayoutWidget.js +3 -47
- package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkMenuBarWidget.js +3 -48
- package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkPopupWidget.js +1 -27
- package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkProgressBarWidget.js +5 -30
- package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkTextWidget.js +6 -48
- package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
- package/build/widgets/terminalKit/TkWindowWidget.js +4 -35
- package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
- package/build/widgets/terminalKit/termKit.utility.js +2 -40
- package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
- package/build/widgets/types/button.types.js.map +1 -1
- package/build/widgets/types/factory.types.js +0 -16
- package/build/widgets/types/factory.types.js.map +1 -1
- package/build/widgets/types/input.types.js +0 -2
- package/build/widgets/types/input.types.js.map +1 -1
- package/build/widgets/types/menuBar.types.js +1 -2
- package/build/widgets/types/menuBar.types.js.map +1 -1
- package/build/widgets/types/popup.types.js.map +1 -1
- package/build/widgets/types/text.types.js +1 -2
- package/build/widgets/types/text.types.js.map +1 -1
- package/build/widgets/types/window.types.js +0 -2
- package/build/widgets/types/window.types.js.map +1 -1
- package/build/widgets/widget.utilities.js +6 -10
- package/build/widgets/widget.utilities.js.map +1 -1
- package/build/writers/AbstractWriter.js +13 -94
- package/build/writers/AbstractWriter.js.map +1 -1
- package/build/writers/WriterFactory.js +3 -27
- package/build/writers/WriterFactory.js.map +1 -1
- package/docs/images/doors.jpg +0 -0
- package/node_modules/@typescript-eslint/parser/package.json +5 -5
- package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
- package/node_modules/@typescript-eslint/types/package.json +2 -2
- package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
- package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
- package/package.json +22 -22
- package/src/features/onboard/OnboardFeature.ts +1 -1
- package/src/features/onboard/scripts/onboarding.first.script.ts +8 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormComponent.js","names":["FormBuilderActionType","FormComponent","options","schema","initialValues","ui","onWillAskQuestion","handlers","headline","showOverview","fields","getNamedFields","map","nf","name","done","valid","renderHeadline","GraphicsTextEffect","SpruceHeader","renderLine","renderOverview","action","type","EditField","Done","fieldName","askQuestion","answer","set","namedFields","namedField","validate","renderError","waitForEnter","values","getValues","shouldCreateEntityInstances","cleanValues","pick","field","find","Error","schemaId","definition","value","get","shouldValidate","isArray","SpruceError","code","friendlyMessage","defaultValue","prompt","error","renderDivider","Red","Bold","AbstractSpruceError","renderWarning","message","actionMap","choices","filter","indexOf","actionKey","label","push","isRequired","response","SchemaEntity"],"sources":["../../src/components/FormComponent.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport SchemaEntity, {\n\tSchema,\n\tSchemaAllValues,\n\tSchemaPartialValues,\n\tSchemaFieldNames,\n\tSelectChoice,\n\tIFieldDefinition,\n} from '@sprucelabs/schema'\nimport { pick } from 'lodash'\nimport { FieldDefinitions } from '#spruce/schemas/fields/fields.types'\nimport SpruceError from '../errors/SpruceError'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\n\nenum FormBuilderActionType {\n\tDone = 'done',\n\tCancel = 'cancel',\n\tEditField = 'edit_field',\n}\n\ninterface FormActionDone {\n\ttype: FormBuilderActionType.Done\n}\n\ninterface FormActionCancel {\n\ttype: FormBuilderActionType.Cancel\n}\n\ntype FormActionEditField<T extends Schema> = {\n\ttype: FormBuilderActionType.EditField\n\tfieldName: SchemaFieldNames<T>\n}\n\ntype FormAction<T extends Schema> =\n\t| FormActionDone\n\t| FormActionCancel\n\t| FormActionEditField<T>\n\nexport interface FormPresentationOptions<\n\tT extends Schema,\n\tF extends SchemaFieldNames<T> = SchemaFieldNames<T>\n> {\n\theadline?: string\n\tshowOverview?: boolean\n\tfields?: F[]\n}\n\nexport interface FormOptions<T extends Schema> {\n\tui: GraphicsInterface\n\tschema: T\n\tinitialValues?: SchemaPartialValues<T>\n\tonWillAskQuestion?: <K extends SchemaFieldNames<T>>(\n\t\tname: K,\n\t\tfieldDefinition: FieldDefinitions,\n\t\tvalues: SchemaPartialValues<T>\n\t) => FieldDefinitions\n}\n\ninterface Handlers<T extends Schema> {\n\tonWillAskQuestion?: FormOptions<T>['onWillAskQuestion']\n}\n\nexport default class FormComponent<S extends Schema> extends SchemaEntity<S> {\n\tpublic ui: GraphicsInterface\n\tpublic handlers: Handlers<S> = {}\n\n\tpublic constructor(options: FormOptions<S>) {\n\t\t// Setup schema\n\t\tsuper(options.schema, options.initialValues)\n\n\t\tconst { ui } = options\n\n\t\t// Save ui for writing, saving\n\t\tthis.ui = ui\n\n\t\t// Handlers\n\t\tconst { onWillAskQuestion } = options\n\t\tthis.handlers.onWillAskQuestion = onWillAskQuestion\n\t}\n\n\t/** Pass me a schema and i'll give you back an object that conforms to it based on user input */\n\tpublic async present<F extends SchemaFieldNames<S> = SchemaFieldNames<S>>(\n\t\toptions: FormPresentationOptions<S, F> = {}\n\t): Promise<Pick<SchemaAllValues<S>, F>> {\n\t\tconst { ui } = this\n\t\tconst {\n\t\t\theadline,\n\t\t\tshowOverview,\n\t\t\tfields = this.getNamedFields().map((nf) => nf.name),\n\t\t} = options\n\n\t\tlet done = false\n\t\tlet valid = false\n\n\t\tdo {\n\t\t\tif (headline) {\n\t\t\t\tui.renderHeadline(headline, [GraphicsTextEffect.SpruceHeader])\n\t\t\t\tui.renderLine('')\n\t\t\t}\n\n\t\t\tif (showOverview) {\n\t\t\t\t// Overview mode\n\t\t\t\tconst action = await this.renderOverview({ fields })\n\n\t\t\t\tswitch (action.type) {\n\t\t\t\t\tcase FormBuilderActionType.EditField: {\n\t\t\t\t\t\t// Editing a field\n\t\t\t\t\t\tconst fieldName = action.fieldName\n\t\t\t\t\t\tconst answer = await this.askQuestion(fieldName)\n\n\t\t\t\t\t\t// Set the new value\n\t\t\t\t\t\tthis.set(fieldName, answer)\n\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase FormBuilderActionType.Done: {\n\t\t\t\t\t\tdone = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Asking one question at a time\n\t\t\t\tconst namedFields = this.getNamedFields({ fields })\n\n\t\t\t\tfor (const namedField of namedFields) {\n\t\t\t\t\tconst { name } = namedField\n\t\t\t\t\tconst answer = await this.askQuestion(name)\n\n\t\t\t\t\tthis.set(name, answer)\n\t\t\t\t}\n\n\t\t\t\tdone = true\n\t\t\t}\n\n\t\t\tif (done) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.validate({ fields })\n\t\t\t\t\tvalid = true\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthis.renderError(err)\n\n\t\t\t\t\tawait this.ui.waitForEnter()\n\t\t\t\t}\n\t\t\t}\n\t\t} while (!done || !valid)\n\n\t\tconst values = this.getValues({\n\t\t\tfields,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tconst cleanValues = pick(values, fields) as Pick<SchemaAllValues<S>, F>\n\n\t\treturn cleanValues\n\t}\n\n\t/** Ask a question based on a field */\n\tpublic askQuestion<F extends SchemaFieldNames<S>>(fieldName: F) {\n\t\tconst field = this.getNamedFields().find(\n\t\t\t(nf) => nf.name === fieldName\n\t\t)?.field\n\n\t\tif (!field) {\n\t\t\tthrow new Error(`No field named ${fieldName} on form ${this.schemaId}`)\n\t\t}\n\n\t\tlet definition = { ...field.definition }\n\t\tconst value = this.get(fieldName, {\n\t\t\tshouldValidate: false,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tif (definition.isArray) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'NOT_IMPLEMENTED',\n\t\t\t\tfriendlyMessage: 'Form builder does not support isArray yet',\n\t\t\t})\n\t\t}\n\n\t\tif (value) {\n\t\t\tdefinition.defaultValue = value as IFieldDefinition['defaultValue']\n\t\t}\n\n\t\tif (this.handlers.onWillAskQuestion) {\n\t\t\tdefinition = this.handlers.onWillAskQuestion(\n\t\t\t\tfieldName,\n\t\t\t\t//@ts-ignore\n\t\t\t\tdefinition,\n\t\t\t\tthis.getValues({\n\t\t\t\t\tshouldValidate: false,\n\t\t\t\t\tshouldCreateEntityInstances: false,\n\t\t\t\t}) as unknown as SchemaPartialValues<S>\n\t\t\t)\n\t\t}\n\n\t\treturn this.ui.prompt(definition)\n\t}\n\n\tpublic renderError(error: Error) {\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderHeadline('Please fix the following...', [\n\t\t\tGraphicsTextEffect.Red,\n\t\t\tGraphicsTextEffect.Bold,\n\t\t])\n\n\t\tthis.ui.renderLine('')\n\n\t\tif (error instanceof AbstractSpruceError) {\n\t\t\tthis.ui.renderWarning(error.friendlyMessage())\n\t\t} else {\n\t\t\tthis.ui.renderWarning(`Unexpected error ${error.message}`)\n\t\t}\n\n\t\tthis.ui.renderLine('')\n\t}\n\n\tpublic async renderOverview<F extends SchemaFieldNames<S>>(\n\t\toptions: { fields?: F[] } = {}\n\t): Promise<FormAction<S>> {\n\t\tconst { ui } = this\n\t\tconst { fields = this.getNamedFields().map((nf) => nf.name) } = options\n\n\t\tconst actionMap: Record<string, FormAction<S>> = {}\n\n\t\tconst choices: SelectChoice[] = this.getNamedFields()\n\t\t\t.filter((namedField) => fields.indexOf(namedField.name) > -1)\n\t\t\t.map((namedField) => {\n\t\t\t\tconst { field, name } = namedField\n\n\t\t\t\tconst actionKey = `field:${name}`\n\t\t\t\tconst action: FormActionEditField<S> = {\n\t\t\t\t\ttype: FormBuilderActionType.EditField,\n\t\t\t\t\tfieldName: name,\n\t\t\t\t}\n\n\t\t\t\tactionMap[actionKey] = action\n\n\t\t\t\tconst value = this.get(name, { shouldValidate: false })\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: actionKey,\n\t\t\t\t\tlabel: `${field.label}: ${value ? value : '***missing***'}`,\n\t\t\t\t}\n\t\t\t})\n\n\t\tactionMap['done'] = {\n\t\t\ttype: FormBuilderActionType.Done,\n\t\t}\n\n\t\tchoices.push({\n\t\t\tvalue: 'done',\n\t\t\tlabel: 'Done',\n\t\t})\n\n\t\tconst response = await ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\tlabel: 'Select any field to edit',\n\t\t\toptions: {\n\t\t\t\tchoices,\n\t\t\t},\n\t\t})\n\n\t\tconst action = actionMap[response]\n\t\treturn action\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormComponent.js","names":["FormBuilderActionType","FormComponent","options","schema","initialValues","ui","onWillAskQuestion","handlers","headline","showOverview","fields","getNamedFields","map","nf","name","done","valid","renderHeadline","GraphicsTextEffect","SpruceHeader","renderLine","renderOverview","action","type","EditField","Done","fieldName","askQuestion","answer","set","namedFields","namedField","validate","renderError","waitForEnter","values","getValues","shouldCreateEntityInstances","cleanValues","pick","field","find","Error","schemaId","definition","value","get","shouldValidate","isArray","SpruceError","code","friendlyMessage","defaultValue","prompt","error","renderDivider","Red","Bold","AbstractSpruceError","renderWarning","message","actionMap","choices","filter","indexOf","actionKey","label","push","isRequired","response","SchemaEntity"],"sources":["../../src/components/FormComponent.ts"],"sourcesContent":["import AbstractSpruceError from '@sprucelabs/error'\nimport SchemaEntity, {\n\tSchema,\n\tSchemaAllValues,\n\tSchemaPartialValues,\n\tSchemaFieldNames,\n\tSelectChoice,\n\tIFieldDefinition,\n} from '@sprucelabs/schema'\nimport { pick } from 'lodash'\nimport { FieldDefinitions } from '#spruce/schemas/fields/fields.types'\nimport SpruceError from '../errors/SpruceError'\nimport { GraphicsInterface } from '../types/cli.types'\nimport { GraphicsTextEffect } from '../types/graphicsInterface.types'\n\nenum FormBuilderActionType {\n\tDone = 'done',\n\tCancel = 'cancel',\n\tEditField = 'edit_field',\n}\n\ninterface FormActionDone {\n\ttype: FormBuilderActionType.Done\n}\n\ninterface FormActionCancel {\n\ttype: FormBuilderActionType.Cancel\n}\n\ntype FormActionEditField<T extends Schema> = {\n\ttype: FormBuilderActionType.EditField\n\tfieldName: SchemaFieldNames<T>\n}\n\ntype FormAction<T extends Schema> =\n\t| FormActionDone\n\t| FormActionCancel\n\t| FormActionEditField<T>\n\nexport interface FormPresentationOptions<\n\tT extends Schema,\n\tF extends SchemaFieldNames<T> = SchemaFieldNames<T>\n> {\n\theadline?: string\n\tshowOverview?: boolean\n\tfields?: F[]\n}\n\nexport interface FormOptions<T extends Schema> {\n\tui: GraphicsInterface\n\tschema: T\n\tinitialValues?: SchemaPartialValues<T>\n\tonWillAskQuestion?: <K extends SchemaFieldNames<T>>(\n\t\tname: K,\n\t\tfieldDefinition: FieldDefinitions,\n\t\tvalues: SchemaPartialValues<T>\n\t) => FieldDefinitions\n}\n\ninterface Handlers<T extends Schema> {\n\tonWillAskQuestion?: FormOptions<T>['onWillAskQuestion']\n}\n\nexport default class FormComponent<S extends Schema> extends SchemaEntity<S> {\n\tpublic ui: GraphicsInterface\n\tpublic handlers: Handlers<S> = {}\n\n\tpublic constructor(options: FormOptions<S>) {\n\t\t// Setup schema\n\t\tsuper(options.schema, options.initialValues)\n\n\t\tconst { ui } = options\n\n\t\t// Save ui for writing, saving\n\t\tthis.ui = ui\n\n\t\t// Handlers\n\t\tconst { onWillAskQuestion } = options\n\t\tthis.handlers.onWillAskQuestion = onWillAskQuestion\n\t}\n\n\t/** Pass me a schema and i'll give you back an object that conforms to it based on user input */\n\tpublic async present<F extends SchemaFieldNames<S> = SchemaFieldNames<S>>(\n\t\toptions: FormPresentationOptions<S, F> = {}\n\t): Promise<Pick<SchemaAllValues<S>, F>> {\n\t\tconst { ui } = this\n\t\tconst {\n\t\t\theadline,\n\t\t\tshowOverview,\n\t\t\tfields = this.getNamedFields().map((nf) => nf.name),\n\t\t} = options\n\n\t\tlet done = false\n\t\tlet valid = false\n\n\t\tdo {\n\t\t\tif (headline) {\n\t\t\t\tui.renderHeadline(headline, [GraphicsTextEffect.SpruceHeader])\n\t\t\t\tui.renderLine('')\n\t\t\t}\n\n\t\t\tif (showOverview) {\n\t\t\t\t// Overview mode\n\t\t\t\tconst action = await this.renderOverview({ fields })\n\n\t\t\t\tswitch (action.type) {\n\t\t\t\t\tcase FormBuilderActionType.EditField: {\n\t\t\t\t\t\t// Editing a field\n\t\t\t\t\t\tconst fieldName = action.fieldName\n\t\t\t\t\t\tconst answer = await this.askQuestion(fieldName)\n\n\t\t\t\t\t\t// Set the new value\n\t\t\t\t\t\tthis.set(fieldName, answer)\n\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase FormBuilderActionType.Done: {\n\t\t\t\t\t\tdone = true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Asking one question at a time\n\t\t\t\tconst namedFields = this.getNamedFields({ fields })\n\n\t\t\t\tfor (const namedField of namedFields) {\n\t\t\t\t\tconst { name } = namedField\n\t\t\t\t\tconst answer = await this.askQuestion(name)\n\n\t\t\t\t\tthis.set(name, answer)\n\t\t\t\t}\n\n\t\t\t\tdone = true\n\t\t\t}\n\n\t\t\tif (done) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.validate({ fields })\n\t\t\t\t\tvalid = true\n\t\t\t\t} catch (err: any) {\n\t\t\t\t\tthis.renderError(err)\n\n\t\t\t\t\tawait this.ui.waitForEnter()\n\t\t\t\t}\n\t\t\t}\n\t\t} while (!done || !valid)\n\n\t\tconst values = this.getValues({\n\t\t\tfields,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tconst cleanValues = pick(values, fields) as Pick<SchemaAllValues<S>, F>\n\n\t\treturn cleanValues\n\t}\n\n\t/** Ask a question based on a field */\n\tpublic askQuestion<F extends SchemaFieldNames<S>>(fieldName: F) {\n\t\tconst field = this.getNamedFields().find(\n\t\t\t(nf) => nf.name === fieldName\n\t\t)?.field\n\n\t\tif (!field) {\n\t\t\tthrow new Error(`No field named ${fieldName} on form ${this.schemaId}`)\n\t\t}\n\n\t\tlet definition = { ...field.definition }\n\t\tconst value = this.get(fieldName, {\n\t\t\tshouldValidate: false,\n\t\t\tshouldCreateEntityInstances: false,\n\t\t})\n\t\tif (definition.isArray) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'NOT_IMPLEMENTED',\n\t\t\t\tfriendlyMessage: 'Form builder does not support isArray yet',\n\t\t\t})\n\t\t}\n\n\t\tif (value) {\n\t\t\tdefinition.defaultValue = value as IFieldDefinition['defaultValue']\n\t\t}\n\n\t\tif (this.handlers.onWillAskQuestion) {\n\t\t\tdefinition = this.handlers.onWillAskQuestion(\n\t\t\t\tfieldName,\n\t\t\t\t//@ts-ignore\n\t\t\t\tdefinition,\n\t\t\t\tthis.getValues({\n\t\t\t\t\tshouldValidate: false,\n\t\t\t\t\tshouldCreateEntityInstances: false,\n\t\t\t\t}) as unknown as SchemaPartialValues<S>\n\t\t\t)\n\t\t}\n\n\t\treturn this.ui.prompt(definition)\n\t}\n\n\tpublic renderError(error: Error) {\n\t\tthis.ui.renderDivider()\n\t\tthis.ui.renderHeadline('Please fix the following...', [\n\t\t\tGraphicsTextEffect.Red,\n\t\t\tGraphicsTextEffect.Bold,\n\t\t])\n\n\t\tthis.ui.renderLine('')\n\n\t\tif (error instanceof AbstractSpruceError) {\n\t\t\tthis.ui.renderWarning(error.friendlyMessage())\n\t\t} else {\n\t\t\tthis.ui.renderWarning(`Unexpected error ${error.message}`)\n\t\t}\n\n\t\tthis.ui.renderLine('')\n\t}\n\n\tpublic async renderOverview<F extends SchemaFieldNames<S>>(\n\t\toptions: { fields?: F[] } = {}\n\t): Promise<FormAction<S>> {\n\t\tconst { ui } = this\n\t\tconst { fields = this.getNamedFields().map((nf) => nf.name) } = options\n\n\t\tconst actionMap: Record<string, FormAction<S>> = {}\n\n\t\tconst choices: SelectChoice[] = this.getNamedFields()\n\t\t\t.filter((namedField) => fields.indexOf(namedField.name) > -1)\n\t\t\t.map((namedField) => {\n\t\t\t\tconst { field, name } = namedField\n\n\t\t\t\tconst actionKey = `field:${name}`\n\t\t\t\tconst action: FormActionEditField<S> = {\n\t\t\t\t\ttype: FormBuilderActionType.EditField,\n\t\t\t\t\tfieldName: name,\n\t\t\t\t}\n\n\t\t\t\tactionMap[actionKey] = action\n\n\t\t\t\tconst value = this.get(name, { shouldValidate: false })\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: actionKey,\n\t\t\t\t\tlabel: `${field.label}: ${value ? value : '***missing***'}`,\n\t\t\t\t}\n\t\t\t})\n\n\t\tactionMap['done'] = {\n\t\t\ttype: FormBuilderActionType.Done,\n\t\t}\n\n\t\tchoices.push({\n\t\t\tvalue: 'done',\n\t\t\tlabel: 'Done',\n\t\t})\n\n\t\tconst response = await ui.prompt({\n\t\t\ttype: 'select',\n\t\t\tisRequired: true,\n\t\t\tlabel: 'Select any field to edit',\n\t\t\toptions: {\n\t\t\t\tchoices,\n\t\t\t},\n\t\t})\n\n\t\tconst action = actionMap[response]\n\t\treturn action\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -1,47 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
14
|
var _schema = require("@sprucelabs/schema");
|
|
23
|
-
|
|
24
15
|
var _chalk = _interopRequireDefault(require("chalk"));
|
|
25
|
-
|
|
26
16
|
var _lodash = require("lodash");
|
|
27
|
-
|
|
28
17
|
var _FormComponent = _interopRequireDefault(require("./FormComponent"));
|
|
29
|
-
|
|
30
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
-
|
|
32
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
33
|
-
|
|
34
20
|
var AnswerValidity;
|
|
35
|
-
|
|
36
21
|
(function (AnswerValidity) {
|
|
37
22
|
AnswerValidity["Correct"] = "correct";
|
|
38
23
|
AnswerValidity["Incorrect"] = "incorrect";
|
|
39
24
|
})(AnswerValidity || (AnswerValidity = {}));
|
|
40
|
-
|
|
41
25
|
var QuizComponent = /*#__PURE__*/function () {
|
|
42
26
|
function QuizComponent(options) {
|
|
43
27
|
var _options$randomizeQue;
|
|
44
|
-
|
|
45
28
|
(0, _classCallCheck2["default"])(this, QuizComponent);
|
|
46
29
|
(0, _defineProperty2["default"])(this, "formBuilder", void 0);
|
|
47
30
|
(0, _defineProperty2["default"])(this, "term", void 0);
|
|
@@ -49,43 +32,43 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
49
32
|
(0, _defineProperty2["default"])(this, "originalQuestions", void 0);
|
|
50
33
|
(0, _defineProperty2["default"])(this, "lastResults", void 0);
|
|
51
34
|
// We're going to build a schema from the questions and pass that to the form builder
|
|
52
|
-
var definition = this.buildSchemaFromQuestions(options.questions);
|
|
35
|
+
var definition = this.buildSchemaFromQuestions(options.questions);
|
|
53
36
|
|
|
54
|
-
|
|
37
|
+
// Track questions for later reference
|
|
38
|
+
this.originalQuestions = options.questions;
|
|
55
39
|
|
|
40
|
+
// Construct new form builder
|
|
56
41
|
this.formBuilder = new _FormComponent["default"](_objectSpread(_objectSpread({}, options), {}, {
|
|
57
42
|
schema: definition
|
|
58
|
-
}));
|
|
43
|
+
}));
|
|
59
44
|
|
|
45
|
+
// Set state locally
|
|
60
46
|
this.term = options.ui;
|
|
61
47
|
this.randomizeQuestions = (_options$randomizeQue = options.randomizeQuestions) !== null && _options$randomizeQue !== void 0 ? _options$randomizeQue : true;
|
|
62
48
|
}
|
|
63
|
-
/** Present the quiz */
|
|
64
|
-
|
|
65
49
|
|
|
50
|
+
/** Present the quiz */
|
|
66
51
|
(0, _createClass2["default"])(QuizComponent, [{
|
|
67
52
|
key: "present",
|
|
68
53
|
value: function () {
|
|
69
54
|
var _present = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
70
55
|
var _this = this;
|
|
71
|
-
|
|
72
56
|
var options,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
57
|
+
_options$questions,
|
|
58
|
+
questions,
|
|
59
|
+
_options$randomizeQue2,
|
|
60
|
+
randomizeQuestions,
|
|
61
|
+
startTime,
|
|
62
|
+
fields,
|
|
63
|
+
results,
|
|
64
|
+
answers,
|
|
65
|
+
answerValidities,
|
|
66
|
+
totalQuestions,
|
|
67
|
+
totalCorrect,
|
|
68
|
+
questionNames,
|
|
69
|
+
totalWrong,
|
|
70
|
+
endTime,
|
|
71
|
+
_args = arguments;
|
|
89
72
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
90
73
|
while (1) {
|
|
91
74
|
switch (_context.prev = _context.next) {
|
|
@@ -95,14 +78,11 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
95
78
|
return nf.name;
|
|
96
79
|
}) : _options$questions, _options$randomizeQue2 = options.randomizeQuestions, randomizeQuestions = _options$randomizeQue2 === void 0 ? this.randomizeQuestions : _options$randomizeQue2;
|
|
97
80
|
startTime = new Date().getTime(); // Pull out answers
|
|
98
|
-
|
|
99
81
|
fields = randomizeQuestions ? (0, _lodash.shuffle)(questions) : questions; // Ask for the answers
|
|
100
|
-
|
|
101
82
|
_context.next = 6;
|
|
102
83
|
return this.formBuilder.present(_objectSpread(_objectSpread({}, options), {}, {
|
|
103
84
|
fields: fields
|
|
104
85
|
}));
|
|
105
|
-
|
|
106
86
|
case 6:
|
|
107
87
|
results = _context.sent;
|
|
108
88
|
// Generate stats
|
|
@@ -114,37 +94,32 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
114
94
|
questionNames.forEach(function (questionName) {
|
|
115
95
|
var fieldName = questionName;
|
|
116
96
|
var answer = results[fieldName] || '';
|
|
117
|
-
|
|
118
97
|
var _answer$split = answer.split('-'),
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
98
|
+
_answer$split2 = (0, _slicedToArray2["default"])(_answer$split, 2),
|
|
99
|
+
validity = _answer$split2[0],
|
|
100
|
+
idx = _answer$split2[1];
|
|
123
101
|
|
|
102
|
+
// Get the field to tell type
|
|
124
103
|
var _ref = _this.formBuilder.getNamedFields().find(function (namedField) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
104
|
+
return namedField.name === fieldName;
|
|
105
|
+
}) || {},
|
|
106
|
+
field = _ref.field;
|
|
129
107
|
if (!field) {
|
|
130
108
|
throw new Error('Field issue in QuizComponent');
|
|
131
109
|
}
|
|
132
|
-
|
|
133
110
|
var fieldDefinition = field.definition;
|
|
134
|
-
|
|
135
111
|
switch (fieldDefinition.type) {
|
|
136
112
|
case 'select':
|
|
137
113
|
// Pull the original multiple choice, we can cast it as multiple choice
|
|
138
114
|
// question with confidence
|
|
139
115
|
answers[questionName] = _this.originalQuestions[questionName].answers[parseInt(idx)];
|
|
140
116
|
break;
|
|
141
|
-
|
|
142
117
|
default:
|
|
143
118
|
// @ts-ignore TODO proper questions to schema should fix this because we only support a few fields
|
|
144
119
|
answers[questionName] = results[fieldName];
|
|
145
|
-
}
|
|
146
|
-
|
|
120
|
+
}
|
|
147
121
|
|
|
122
|
+
// Track validity
|
|
148
123
|
if (validity === AnswerValidity.Correct) {
|
|
149
124
|
totalCorrect = totalCorrect + 1;
|
|
150
125
|
answerValidities[questionName] = AnswerValidity.Correct;
|
|
@@ -153,7 +128,6 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
153
128
|
}
|
|
154
129
|
}, 0);
|
|
155
130
|
totalWrong = totalQuestions - totalCorrect; // Track time
|
|
156
|
-
|
|
157
131
|
endTime = new Date().getTime();
|
|
158
132
|
this.lastResults = {
|
|
159
133
|
percentCorrect: totalCorrect / totalQuestions,
|
|
@@ -169,7 +143,6 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
169
143
|
}
|
|
170
144
|
};
|
|
171
145
|
return _context.abrupt("return", this.lastResults);
|
|
172
|
-
|
|
173
146
|
case 17:
|
|
174
147
|
case "end":
|
|
175
148
|
return _context.stop();
|
|
@@ -177,11 +150,9 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
177
150
|
}
|
|
178
151
|
}, _callee, this);
|
|
179
152
|
}));
|
|
180
|
-
|
|
181
153
|
function present() {
|
|
182
154
|
return _present.apply(this, arguments);
|
|
183
155
|
}
|
|
184
|
-
|
|
185
156
|
return present;
|
|
186
157
|
}()
|
|
187
158
|
}, {
|
|
@@ -189,15 +160,13 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
189
160
|
value: function () {
|
|
190
161
|
var _scorecard = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
191
162
|
var _this2 = this;
|
|
192
|
-
|
|
193
163
|
var options,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
164
|
+
headline,
|
|
165
|
+
_options$results,
|
|
166
|
+
results,
|
|
167
|
+
term,
|
|
168
|
+
testResults,
|
|
169
|
+
_args2 = arguments;
|
|
201
170
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
202
171
|
while (1) {
|
|
203
172
|
switch (_context2.prev = _context2.next) {
|
|
@@ -205,44 +174,39 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
205
174
|
options = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
|
|
206
175
|
headline = options.headline, _options$results = options.results, results = _options$results === void 0 ? this.lastResults : _options$results;
|
|
207
176
|
term = this.term;
|
|
208
|
-
|
|
209
177
|
if (results) {
|
|
210
178
|
_context2.next = 5;
|
|
211
179
|
break;
|
|
212
180
|
}
|
|
213
|
-
|
|
214
181
|
throw new _schema.SchemaError({
|
|
215
182
|
code: 'INVALID_PARAMETERS',
|
|
216
183
|
parameters: []
|
|
217
184
|
});
|
|
218
|
-
|
|
219
185
|
case 5:
|
|
220
186
|
term.clear();
|
|
221
187
|
term.renderHero(headline !== null && headline !== void 0 ? headline : 'Quiz results!');
|
|
222
188
|
testResults = {};
|
|
223
189
|
this.formBuilder.getNamedFields().forEach(function (namedField) {
|
|
224
190
|
var name = namedField.name,
|
|
225
|
-
|
|
226
|
-
var questionFieldName = name;
|
|
191
|
+
field = namedField.field;
|
|
192
|
+
var questionFieldName = name;
|
|
227
193
|
|
|
194
|
+
// Get results
|
|
228
195
|
var isCorrect = results.answerValidities[questionFieldName] === AnswerValidity.Correct;
|
|
229
|
-
var guessedAnswer = "".concat(results.answers[questionFieldName]);
|
|
196
|
+
var guessedAnswer = "".concat(results.answers[questionFieldName]);
|
|
230
197
|
|
|
198
|
+
// Build the real answer
|
|
231
199
|
var correctAnswer = '';
|
|
232
200
|
var originalQuestion = _this2.originalQuestions[questionFieldName];
|
|
233
|
-
|
|
234
201
|
switch (originalQuestion.type) {
|
|
235
202
|
case 'select':
|
|
236
203
|
correctAnswer = originalQuestion.answers[0];
|
|
237
204
|
break;
|
|
238
|
-
|
|
239
205
|
default:
|
|
240
206
|
// All options just pass through the answer tied to the question during instantiation
|
|
241
207
|
correctAnswer = originalQuestion.answer;
|
|
242
208
|
}
|
|
243
|
-
|
|
244
209
|
var objectKey = field.label || '**missing';
|
|
245
|
-
|
|
246
210
|
if (isCorrect) {
|
|
247
211
|
testResults[objectKey] = "".concat(_chalk["default"].bgGreenBright.black('Correct!'), " ").concat(guessedAnswer, " ");
|
|
248
212
|
} else {
|
|
@@ -255,7 +219,6 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
255
219
|
term.renderHeadline("Your score: ".concat((results.percentCorrect * 100).toFixed(1), "%"));
|
|
256
220
|
_context2.next = 15;
|
|
257
221
|
return term.waitForEnter();
|
|
258
|
-
|
|
259
222
|
case 15:
|
|
260
223
|
case "end":
|
|
261
224
|
return _context2.stop();
|
|
@@ -263,15 +226,11 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
263
226
|
}
|
|
264
227
|
}, _callee2, this);
|
|
265
228
|
}));
|
|
266
|
-
|
|
267
229
|
function scorecard() {
|
|
268
230
|
return _scorecard.apply(this, arguments);
|
|
269
231
|
}
|
|
270
|
-
|
|
271
232
|
return scorecard;
|
|
272
|
-
}()
|
|
273
|
-
/** Takes questions and builds a schema */
|
|
274
|
-
|
|
233
|
+
}() /** Takes questions and builds a schema */
|
|
275
234
|
}, {
|
|
276
235
|
key: "buildSchemaFromQuestions",
|
|
277
236
|
value: function buildSchemaFromQuestions(questions) {
|
|
@@ -279,7 +238,6 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
279
238
|
var fields = {};
|
|
280
239
|
Object.keys(questions).forEach(function (fieldName) {
|
|
281
240
|
var question = questions[fieldName];
|
|
282
|
-
|
|
283
241
|
switch (question.type) {
|
|
284
242
|
case 'select':
|
|
285
243
|
fields[fieldName] = {
|
|
@@ -295,15 +253,15 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
295
253
|
}
|
|
296
254
|
};
|
|
297
255
|
break;
|
|
298
|
-
|
|
299
256
|
default:
|
|
300
257
|
fields[fieldName] = {
|
|
301
258
|
type: question.type,
|
|
302
259
|
label: question.question
|
|
303
260
|
};
|
|
304
261
|
}
|
|
305
|
-
});
|
|
262
|
+
});
|
|
306
263
|
|
|
264
|
+
//@ts-ignore TODO better mapping of questions to schema definition
|
|
307
265
|
var definition = {
|
|
308
266
|
id: 'quizGenerated',
|
|
309
267
|
name: 'Generated quiz',
|
|
@@ -314,6 +272,5 @@ var QuizComponent = /*#__PURE__*/function () {
|
|
|
314
272
|
}]);
|
|
315
273
|
return QuizComponent;
|
|
316
274
|
}();
|
|
317
|
-
|
|
318
275
|
exports["default"] = QuizComponent;
|
|
319
276
|
//# sourceMappingURL=QuizComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuizComponent.js","names":["AnswerValidity","QuizComponent","options","definition","buildSchemaFromQuestions","questions","originalQuestions","formBuilder","FormComponent","schema","term","ui","randomizeQuestions","getNamedFields","map","nf","name","startTime","Date","getTime","fields","shuffle","present","results","answers","answerValidities","totalQuestions","length","totalCorrect","questionNames","Object","keys","forEach","questionName","fieldName","answer","split","validity","idx","find","namedField","field","Error","fieldDefinition","type","parseInt","Correct","Incorrect","totalWrong","endTime","lastResults","percentCorrect","time","startTimeMs","endTimeMs","totalTimeSec","toFixed","headline","SchemaError","code","parameters","clear","renderHero","testResults","questionFieldName","isCorrect","guessedAnswer","correctAnswer","originalQuestion","objectKey","label","chalk","bgGreenBright","black","bgRedBright","strikethrough","renderObject","renderLine","renderHeadline","waitForEnter","question","choices","value","id"],"sources":["../../src/components/QuizComponent.ts"],"sourcesContent":["import {\n\tSchema,\n\tSchemaFieldsByName,\n\tSchemaFieldNames,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport chalk from 'chalk'\nimport { shuffle } from 'lodash'\nimport { GraphicsInterface } from '../types/cli.types'\nimport FormComponent, {\n\tFormOptions,\n\tFormPresentationOptions,\n} from './FormComponent'\n\ninterface QuizMultipleChoiceQuestion {\n\ttype: 'select'\n\tquestion: string\n\tanswers: string[]\n}\n\ninterface QuizTextQuestion {\n\ttype: 'text'\n\tquestion: string\n\tanswer: string\n}\n\ninterface QuizQuestions {\n\t[key: string]: QuizMultipleChoiceQuestion | QuizTextQuestion\n}\n\nenum AnswerValidity {\n\tCorrect = 'correct',\n\tIncorrect = 'incorrect',\n}\n\ninterface QuizPresentationOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormPresentationOptions<T>, 'fields'> {\n\tquestions?: QuizAnswerFieldNames<Q>[]\n\trandomizeQuestions?: boolean\n}\n\ntype QuizAnswerFieldNames<Q extends QuizQuestions> = Extract<keyof Q, string>\n\ntype QuizAnswers<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: string\n}\n\ntype QuizAnswerValidities<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: AnswerValidity\n}\n\ntype QuizPresentationResults<Q extends QuizQuestions> = {\n\t/** The answers that were given */\n\tanswers: QuizAnswers<Q>\n\n\t/** The answers right or wrong */\n\tanswerValidities: QuizAnswerValidities<Q>\n\n\t/** The percent of correct answers given */\n\tpercentCorrect: number\n\n\t/** How long it took them to take the quiz in ms */\n\ttime: {\n\t\tstartTimeMs: number\n\t\tendTimeMs: number\n\t\ttotalTimeSec: number\n\t}\n\n\t/** How many were correct */\n\ttotalCorrect: number\n\n\t/** How many were wrong */\n\ttotalWrong: number\n\n\t/** How many questions we ended up taking */\n\ttotalQuestions: number\n}\n\ninterface QuizOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormOptions<T>, 'schema'> {\n\t/** Should we randomize the questions */\n\trandomizeQuestions?: boolean\n\t/** The questions we are asking */\n\tquestions: Q\n}\n\nexport default class QuizComponent<T extends Schema, Q extends QuizQuestions> {\n\tpublic formBuilder: FormComponent<T>\n\tpublic term: GraphicsInterface\n\tpublic randomizeQuestions = true\n\tpublic originalQuestions: QuizQuestions\n\tpublic lastResults?: QuizPresentationResults<Q>\n\n\tpublic constructor(options: QuizOptions<T, Q>) {\n\t\t// We're going to build a schema from the questions and pass that to the form builder\n\t\tconst definition = this.buildSchemaFromQuestions(options.questions)\n\n\t\t// Track questions for later reference\n\t\tthis.originalQuestions = options.questions\n\n\t\t// Construct new form builder\n\t\tthis.formBuilder = new FormComponent<T>({\n\t\t\t...options,\n\t\t\tschema: definition,\n\t\t})\n\n\t\t// Set state locally\n\t\tthis.term = options.ui\n\t\tthis.randomizeQuestions = options.randomizeQuestions ?? true\n\t}\n\n\t/** Present the quiz */\n\tpublic async present(\n\t\toptions: QuizPresentationOptions<T, Q> = {}\n\t): Promise<QuizPresentationResults<Q>> {\n\t\tconst {\n\t\t\tquestions = this.formBuilder\n\t\t\t\t.getNamedFields()\n\t\t\t\t.map((nf) => nf.name) as QuizAnswerFieldNames<Q>[],\n\t\t\trandomizeQuestions = this.randomizeQuestions,\n\t\t} = options\n\n\t\tconst startTime = new Date().getTime()\n\n\t\t// Pull out answers\n\t\tconst fields = randomizeQuestions ? shuffle(questions) : questions\n\n\t\t// Ask for the answers\n\t\tconst results = await this.formBuilder.present({\n\t\t\t...options,\n\t\t\tfields: fields as SchemaFieldNames<T>[],\n\t\t})\n\n\t\t// Generate stats\n\t\tconst answers: Partial<QuizAnswers<Q>> = {}\n\t\tconst answerValidities: Partial<QuizAnswerValidities<Q>> = {}\n\n\t\tconst totalQuestions = questions.length\n\t\tlet totalCorrect = 0\n\n\t\tconst questionNames = Object.keys(results) as QuizAnswerFieldNames<Q>[]\n\n\t\tquestionNames.forEach((questionName) => {\n\t\t\tconst fieldName = questionName as SchemaFieldNames<T>\n\t\t\tconst answer = (results[fieldName] as string) || ''\n\t\t\tconst [validity, idx] = answer.split('-')\n\n\t\t\t// Get the field to tell type\n\t\t\tconst { field } =\n\t\t\t\tthis.formBuilder\n\t\t\t\t\t.getNamedFields()\n\t\t\t\t\t.find((namedField) => namedField.name === fieldName) || {}\n\n\t\t\tif (!field) {\n\t\t\t\tthrow new Error('Field issue in QuizComponent')\n\t\t\t}\n\n\t\t\tconst fieldDefinition = field.definition\n\n\t\t\tswitch (fieldDefinition.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t// Pull the original multiple choice, we can cast it as multiple choice\n\t\t\t\t\t// question with confidence\n\t\t\t\t\tanswers[questionName] = (\n\t\t\t\t\t\tthis.originalQuestions[questionName] as QuizMultipleChoiceQuestion\n\t\t\t\t\t).answers[parseInt(idx)]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// @ts-ignore TODO proper questions to schema should fix this because we only support a few fields\n\t\t\t\t\tanswers[questionName] = results[fieldName]\n\t\t\t}\n\n\t\t\t// Track validity\n\t\t\tif (validity === AnswerValidity.Correct) {\n\t\t\t\ttotalCorrect = totalCorrect + 1\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Correct\n\t\t\t} else {\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Incorrect\n\t\t\t}\n\t\t}, 0)\n\n\t\tconst totalWrong = totalQuestions - totalCorrect\n\n\t\t// Track time\n\t\tconst endTime = new Date().getTime()\n\n\t\tthis.lastResults = {\n\t\t\tpercentCorrect: totalCorrect / totalQuestions,\n\t\t\ttotalCorrect,\n\t\t\ttotalWrong,\n\t\t\tanswerValidities: answerValidities as QuizAnswerValidities<Q>,\n\t\t\tanswers: answers as QuizAnswers<Q>,\n\t\t\ttotalQuestions,\n\t\t\ttime: {\n\t\t\t\tstartTimeMs: startTime,\n\t\t\t\tendTimeMs: endTime,\n\t\t\t\ttotalTimeSec: +((endTime - startTime) / 1000).toFixed(1),\n\t\t\t},\n\t\t}\n\n\t\treturn this.lastResults\n\t}\n\n\tpublic async scorecard(\n\t\toptions: {\n\t\t\tresults?: QuizPresentationResults<Q>\n\t\t\theadline?: string\n\t\t} = {}\n\t) {\n\t\tconst { headline, results = this.lastResults } = options\n\t\tconst { term } = this\n\n\t\tif (!results) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tparameters: [],\n\t\t\t})\n\t\t}\n\n\t\tterm.clear()\n\t\tterm.renderHero(headline ?? 'Quiz results!')\n\n\t\tconst testResults: Record<string, string> = {}\n\n\t\tthis.formBuilder.getNamedFields().forEach((namedField) => {\n\t\t\tconst { name, field } = namedField\n\t\t\tconst questionFieldName = name as QuizAnswerFieldNames<Q>\n\n\t\t\t// Get results\n\t\t\tconst isCorrect =\n\t\t\t\tresults.answerValidities[questionFieldName] === AnswerValidity.Correct\n\t\t\tconst guessedAnswer = `${results.answers[questionFieldName]}`\n\n\t\t\t// Build the real answer\n\t\t\tlet correctAnswer = ''\n\n\t\t\tconst originalQuestion = this.originalQuestions[questionFieldName]\n\n\t\t\tswitch (originalQuestion.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tcorrectAnswer = originalQuestion.answers[0]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// All options just pass through the answer tied to the question during instantiation\n\t\t\t\t\tcorrectAnswer = originalQuestion.answer\n\t\t\t}\n\n\t\t\tconst objectKey = field.label || '**missing'\n\n\t\t\tif (isCorrect) {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgGreenBright.black(\n\t\t\t\t\t'Correct!'\n\t\t\t\t)} ${guessedAnswer} `\n\t\t\t} else {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgRedBright.black(\n\t\t\t\t\t'Wrong!'\n\t\t\t\t)} ${chalk.strikethrough(guessedAnswer)} -> ${correctAnswer}`\n\t\t\t}\n\t\t})\n\n\t\tterm.renderObject(testResults)\n\n\t\tterm.renderLine(`# questions: ${results.totalQuestions}`)\n\t\tterm.renderLine(`# correct: ${results.totalCorrect}`)\n\n\t\tterm.renderHeadline(\n\t\t\t`Your score: ${(results.percentCorrect * 100).toFixed(1)}%`\n\t\t)\n\n\t\tawait term.waitForEnter()\n\t}\n\n\t/** Takes questions and builds a schema */\n\tprivate buildSchemaFromQuestions(questions: QuizQuestions): T {\n\t\t// TODO change SchemaFields to something based on schema generated from questions\n\t\tconst fields: SchemaFieldsByName = {}\n\n\t\tObject.keys(questions).forEach((fieldName) => {\n\t\t\tconst question = questions[fieldName]\n\n\t\t\tswitch (question.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices: shuffle(\n\t\t\t\t\t\t\t\tquestion.answers.map((question, idx) => ({\n\t\t\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t\t\tidx === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${AnswerValidity.Correct}-${idx}`\n\t\t\t\t\t\t\t\t\t\t\t: `${AnswerValidity.Incorrect}-${idx}`,\n\t\t\t\t\t\t\t\t\tlabel: question,\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\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t//@ts-ignore TODO better mapping of questions to schema definition\n\t\tconst definition: T = {\n\t\t\tid: 'quizGenerated',\n\t\t\tname: 'Generated quiz',\n\t\t\tfields,\n\t\t}\n\n\t\treturn definition\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QuizComponent.js","names":["AnswerValidity","QuizComponent","options","definition","buildSchemaFromQuestions","questions","originalQuestions","formBuilder","FormComponent","schema","term","ui","randomizeQuestions","getNamedFields","map","nf","name","startTime","Date","getTime","fields","shuffle","present","results","answers","answerValidities","totalQuestions","length","totalCorrect","questionNames","Object","keys","forEach","questionName","fieldName","answer","split","validity","idx","find","namedField","field","Error","fieldDefinition","type","parseInt","Correct","Incorrect","totalWrong","endTime","lastResults","percentCorrect","time","startTimeMs","endTimeMs","totalTimeSec","toFixed","headline","SchemaError","code","parameters","clear","renderHero","testResults","questionFieldName","isCorrect","guessedAnswer","correctAnswer","originalQuestion","objectKey","label","chalk","bgGreenBright","black","bgRedBright","strikethrough","renderObject","renderLine","renderHeadline","waitForEnter","question","choices","value","id"],"sources":["../../src/components/QuizComponent.ts"],"sourcesContent":["import {\n\tSchema,\n\tSchemaFieldsByName,\n\tSchemaFieldNames,\n\tSchemaError,\n} from '@sprucelabs/schema'\nimport chalk from 'chalk'\nimport { shuffle } from 'lodash'\nimport { GraphicsInterface } from '../types/cli.types'\nimport FormComponent, {\n\tFormOptions,\n\tFormPresentationOptions,\n} from './FormComponent'\n\ninterface QuizMultipleChoiceQuestion {\n\ttype: 'select'\n\tquestion: string\n\tanswers: string[]\n}\n\ninterface QuizTextQuestion {\n\ttype: 'text'\n\tquestion: string\n\tanswer: string\n}\n\ninterface QuizQuestions {\n\t[key: string]: QuizMultipleChoiceQuestion | QuizTextQuestion\n}\n\nenum AnswerValidity {\n\tCorrect = 'correct',\n\tIncorrect = 'incorrect',\n}\n\ninterface QuizPresentationOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormPresentationOptions<T>, 'fields'> {\n\tquestions?: QuizAnswerFieldNames<Q>[]\n\trandomizeQuestions?: boolean\n}\n\ntype QuizAnswerFieldNames<Q extends QuizQuestions> = Extract<keyof Q, string>\n\ntype QuizAnswers<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: string\n}\n\ntype QuizAnswerValidities<Q extends QuizQuestions> = {\n\t[K in QuizAnswerFieldNames<Q>]: AnswerValidity\n}\n\ntype QuizPresentationResults<Q extends QuizQuestions> = {\n\t/** The answers that were given */\n\tanswers: QuizAnswers<Q>\n\n\t/** The answers right or wrong */\n\tanswerValidities: QuizAnswerValidities<Q>\n\n\t/** The percent of correct answers given */\n\tpercentCorrect: number\n\n\t/** How long it took them to take the quiz in ms */\n\ttime: {\n\t\tstartTimeMs: number\n\t\tendTimeMs: number\n\t\ttotalTimeSec: number\n\t}\n\n\t/** How many were correct */\n\ttotalCorrect: number\n\n\t/** How many were wrong */\n\ttotalWrong: number\n\n\t/** How many questions we ended up taking */\n\ttotalQuestions: number\n}\n\ninterface QuizOptions<T extends Schema, Q extends QuizQuestions>\n\textends Omit<FormOptions<T>, 'schema'> {\n\t/** Should we randomize the questions */\n\trandomizeQuestions?: boolean\n\t/** The questions we are asking */\n\tquestions: Q\n}\n\nexport default class QuizComponent<T extends Schema, Q extends QuizQuestions> {\n\tpublic formBuilder: FormComponent<T>\n\tpublic term: GraphicsInterface\n\tpublic randomizeQuestions = true\n\tpublic originalQuestions: QuizQuestions\n\tpublic lastResults?: QuizPresentationResults<Q>\n\n\tpublic constructor(options: QuizOptions<T, Q>) {\n\t\t// We're going to build a schema from the questions and pass that to the form builder\n\t\tconst definition = this.buildSchemaFromQuestions(options.questions)\n\n\t\t// Track questions for later reference\n\t\tthis.originalQuestions = options.questions\n\n\t\t// Construct new form builder\n\t\tthis.formBuilder = new FormComponent<T>({\n\t\t\t...options,\n\t\t\tschema: definition,\n\t\t})\n\n\t\t// Set state locally\n\t\tthis.term = options.ui\n\t\tthis.randomizeQuestions = options.randomizeQuestions ?? true\n\t}\n\n\t/** Present the quiz */\n\tpublic async present(\n\t\toptions: QuizPresentationOptions<T, Q> = {}\n\t): Promise<QuizPresentationResults<Q>> {\n\t\tconst {\n\t\t\tquestions = this.formBuilder\n\t\t\t\t.getNamedFields()\n\t\t\t\t.map((nf) => nf.name) as QuizAnswerFieldNames<Q>[],\n\t\t\trandomizeQuestions = this.randomizeQuestions,\n\t\t} = options\n\n\t\tconst startTime = new Date().getTime()\n\n\t\t// Pull out answers\n\t\tconst fields = randomizeQuestions ? shuffle(questions) : questions\n\n\t\t// Ask for the answers\n\t\tconst results = await this.formBuilder.present({\n\t\t\t...options,\n\t\t\tfields: fields as SchemaFieldNames<T>[],\n\t\t})\n\n\t\t// Generate stats\n\t\tconst answers: Partial<QuizAnswers<Q>> = {}\n\t\tconst answerValidities: Partial<QuizAnswerValidities<Q>> = {}\n\n\t\tconst totalQuestions = questions.length\n\t\tlet totalCorrect = 0\n\n\t\tconst questionNames = Object.keys(results) as QuizAnswerFieldNames<Q>[]\n\n\t\tquestionNames.forEach((questionName) => {\n\t\t\tconst fieldName = questionName as SchemaFieldNames<T>\n\t\t\tconst answer = (results[fieldName] as string) || ''\n\t\t\tconst [validity, idx] = answer.split('-')\n\n\t\t\t// Get the field to tell type\n\t\t\tconst { field } =\n\t\t\t\tthis.formBuilder\n\t\t\t\t\t.getNamedFields()\n\t\t\t\t\t.find((namedField) => namedField.name === fieldName) || {}\n\n\t\t\tif (!field) {\n\t\t\t\tthrow new Error('Field issue in QuizComponent')\n\t\t\t}\n\n\t\t\tconst fieldDefinition = field.definition\n\n\t\t\tswitch (fieldDefinition.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t// Pull the original multiple choice, we can cast it as multiple choice\n\t\t\t\t\t// question with confidence\n\t\t\t\t\tanswers[questionName] = (\n\t\t\t\t\t\tthis.originalQuestions[questionName] as QuizMultipleChoiceQuestion\n\t\t\t\t\t).answers[parseInt(idx)]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// @ts-ignore TODO proper questions to schema should fix this because we only support a few fields\n\t\t\t\t\tanswers[questionName] = results[fieldName]\n\t\t\t}\n\n\t\t\t// Track validity\n\t\t\tif (validity === AnswerValidity.Correct) {\n\t\t\t\ttotalCorrect = totalCorrect + 1\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Correct\n\t\t\t} else {\n\t\t\t\tanswerValidities[questionName] = AnswerValidity.Incorrect\n\t\t\t}\n\t\t}, 0)\n\n\t\tconst totalWrong = totalQuestions - totalCorrect\n\n\t\t// Track time\n\t\tconst endTime = new Date().getTime()\n\n\t\tthis.lastResults = {\n\t\t\tpercentCorrect: totalCorrect / totalQuestions,\n\t\t\ttotalCorrect,\n\t\t\ttotalWrong,\n\t\t\tanswerValidities: answerValidities as QuizAnswerValidities<Q>,\n\t\t\tanswers: answers as QuizAnswers<Q>,\n\t\t\ttotalQuestions,\n\t\t\ttime: {\n\t\t\t\tstartTimeMs: startTime,\n\t\t\t\tendTimeMs: endTime,\n\t\t\t\ttotalTimeSec: +((endTime - startTime) / 1000).toFixed(1),\n\t\t\t},\n\t\t}\n\n\t\treturn this.lastResults\n\t}\n\n\tpublic async scorecard(\n\t\toptions: {\n\t\t\tresults?: QuizPresentationResults<Q>\n\t\t\theadline?: string\n\t\t} = {}\n\t) {\n\t\tconst { headline, results = this.lastResults } = options\n\t\tconst { term } = this\n\n\t\tif (!results) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'INVALID_PARAMETERS',\n\t\t\t\tparameters: [],\n\t\t\t})\n\t\t}\n\n\t\tterm.clear()\n\t\tterm.renderHero(headline ?? 'Quiz results!')\n\n\t\tconst testResults: Record<string, string> = {}\n\n\t\tthis.formBuilder.getNamedFields().forEach((namedField) => {\n\t\t\tconst { name, field } = namedField\n\t\t\tconst questionFieldName = name as QuizAnswerFieldNames<Q>\n\n\t\t\t// Get results\n\t\t\tconst isCorrect =\n\t\t\t\tresults.answerValidities[questionFieldName] === AnswerValidity.Correct\n\t\t\tconst guessedAnswer = `${results.answers[questionFieldName]}`\n\n\t\t\t// Build the real answer\n\t\t\tlet correctAnswer = ''\n\n\t\t\tconst originalQuestion = this.originalQuestions[questionFieldName]\n\n\t\t\tswitch (originalQuestion.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tcorrectAnswer = originalQuestion.answers[0]\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\t// All options just pass through the answer tied to the question during instantiation\n\t\t\t\t\tcorrectAnswer = originalQuestion.answer\n\t\t\t}\n\n\t\t\tconst objectKey = field.label || '**missing'\n\n\t\t\tif (isCorrect) {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgGreenBright.black(\n\t\t\t\t\t'Correct!'\n\t\t\t\t)} ${guessedAnswer} `\n\t\t\t} else {\n\t\t\t\ttestResults[objectKey] = `${chalk.bgRedBright.black(\n\t\t\t\t\t'Wrong!'\n\t\t\t\t)} ${chalk.strikethrough(guessedAnswer)} -> ${correctAnswer}`\n\t\t\t}\n\t\t})\n\n\t\tterm.renderObject(testResults)\n\n\t\tterm.renderLine(`# questions: ${results.totalQuestions}`)\n\t\tterm.renderLine(`# correct: ${results.totalCorrect}`)\n\n\t\tterm.renderHeadline(\n\t\t\t`Your score: ${(results.percentCorrect * 100).toFixed(1)}%`\n\t\t)\n\n\t\tawait term.waitForEnter()\n\t}\n\n\t/** Takes questions and builds a schema */\n\tprivate buildSchemaFromQuestions(questions: QuizQuestions): T {\n\t\t// TODO change SchemaFields to something based on schema generated from questions\n\t\tconst fields: SchemaFieldsByName = {}\n\n\t\tObject.keys(questions).forEach((fieldName) => {\n\t\t\tconst question = questions[fieldName]\n\n\t\t\tswitch (question.type) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\tchoices: shuffle(\n\t\t\t\t\t\t\t\tquestion.answers.map((question, idx) => ({\n\t\t\t\t\t\t\t\t\tvalue:\n\t\t\t\t\t\t\t\t\t\tidx === 0\n\t\t\t\t\t\t\t\t\t\t\t? `${AnswerValidity.Correct}-${idx}`\n\t\t\t\t\t\t\t\t\t\t\t: `${AnswerValidity.Incorrect}-${idx}`,\n\t\t\t\t\t\t\t\t\tlabel: question,\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\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\tfields[fieldName] = {\n\t\t\t\t\t\ttype: question.type,\n\t\t\t\t\t\tlabel: question.question,\n\t\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\t//@ts-ignore TODO better mapping of questions to schema definition\n\t\tconst definition: T = {\n\t\t\tid: 'quizGenerated',\n\t\t\tname: 'Generated quiz',\n\t\t\tfields,\n\t\t}\n\n\t\treturn definition\n\t}\n}\n"],"mappings":"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"}
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["DEFAULT_HOST","CLI_HERO","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP"],"sources":["../src/constants.ts"],"sourcesContent":["export const DEFAULT_HOST = 'https://mercury.spruce.ai'\nexport const CLI_HERO = 'Sprucebot'\n\nexport const FILE_ACTION_OVERWRITE = 'overwrite'\nexport const FILE_ACTION_SKIP = 'skip'\nexport const FILE_ACTION_ALWAYS_SKIP = 'alwaysSkip'\n"],"mappings":";;;;;;AAAO,IAAMA,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["DEFAULT_HOST","CLI_HERO","FILE_ACTION_OVERWRITE","FILE_ACTION_SKIP","FILE_ACTION_ALWAYS_SKIP"],"sources":["../src/constants.ts"],"sourcesContent":["export const DEFAULT_HOST = 'https://mercury.spruce.ai'\nexport const CLI_HERO = 'Sprucebot'\n\nexport const FILE_ACTION_OVERWRITE = 'overwrite'\nexport const FILE_ACTION_SKIP = 'skip'\nexport const FILE_ACTION_ALWAYS_SKIP = 'alwaysSkip'\n"],"mappings":";;;;;;AAAO,IAAMA,YAAY,GAAG,2BAA2B;AAAA;AAChD,IAAMC,QAAQ,GAAG,WAAW;AAAA;AAE5B,IAAMC,qBAAqB,GAAG,WAAW;AAAA;AACzC,IAAMC,gBAAgB,GAAG,MAAM;AAAA;AAC/B,IAAMC,uBAAuB,GAAG,YAAY;AAAA"}
|