@sprucelabs/spruce-cli 19.1.16 → 19.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/events/CreatingAListener.test.js +3 -3
  3. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  4. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +2 -2
  5. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  6. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +2 -2
  7. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  8. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js +3 -3
  9. package/build/__tests__/behavioral/permissions/SyncingPermissions.test.js.map +1 -1
  10. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +5 -5
  11. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  12. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js +2 -2
  13. package/build/__tests__/behavioral/schemas/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  14. package/build/__tests__/behavioral/tests/CreatingATest.test.js +2 -2
  15. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  16. package/build/__tests__/behavioral/views/RegisteringSkillViewOnBoot.test.d.ts +1 -1
  17. package/build/__tests__/implementation/EventStore.test.js +3 -3
  18. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  19. package/build/__tests__/implementation/JestJsonParser.test.js +2 -2
  20. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  21. package/build/cli/Cli.d.ts +2 -2
  22. package/build/features/ActionQuestionAsker.d.ts +1 -1
  23. package/build/features/cache/actions/DisableAction.js +3 -3
  24. package/build/features/cache/actions/DisableAction.js.map +1 -1
  25. package/build/features/cache/actions/EnableAction.js +2 -2
  26. package/build/features/cache/actions/EnableAction.js.map +1 -1
  27. package/build/features/conversation/actions/TestAction.js +2 -2
  28. package/build/features/conversation/actions/TestAction.js.map +1 -1
  29. package/build/features/conversation/stores/ConversationStore.d.ts +1 -1
  30. package/build/features/error/ParentTestFinder.js +2 -2
  31. package/build/features/error/ParentTestFinder.js.map +1 -1
  32. package/build/features/event/stores/EventStore.d.ts +1 -1
  33. package/build/features/node/NodeFeature.d.ts +7 -2
  34. package/build/features/organization/stores/OrganizationStore.d.ts +2 -2
  35. package/build/features/schema/stores/SchemaStore.js +3 -3
  36. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  37. package/build/features/skill/actions/RegisterAction.d.ts +7 -7
  38. package/build/features/skill/actions/RegisterAction.js +22 -22
  39. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  40. package/build/features/skill/stores/SkillStore.d.ts +2 -2
  41. package/build/features/test/TestRunner.js +1 -1
  42. package/build/features/test/TestRunner.js.map +1 -1
  43. package/build/features/test/actions/SetupAction.js +2 -2
  44. package/build/features/test/actions/SetupAction.js.map +1 -1
  45. package/build/features/universalDevDependencies.d.ts +7 -2
  46. package/build/features/universalDevDependencies.js +1 -0
  47. package/build/features/universalDevDependencies.js.map +1 -1
  48. package/build/features/view/stores/ViewStore.d.ts +1 -1
  49. package/build/index.js +1 -1
  50. package/build/index.js.map +1 -1
  51. package/build/interfaces/TerminalInterface.js +2 -2
  52. package/build/interfaces/TerminalInterface.js.map +1 -1
  53. package/build/services/CommandService.js +2 -2
  54. package/build/services/CommandService.js.map +1 -1
  55. package/build/tests/AbstractCliTest.js +2 -1
  56. package/build/tests/AbstractCliTest.js.map +1 -1
  57. package/build/tests/AbstractEventTest.d.ts +2 -2
  58. package/build/tests/fixtures/OrganizationFixture.d.ts +1 -1
  59. package/build/tests/fixtures/PersonFixture.js +2 -2
  60. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  61. package/build/utilities/eventContractCleaner.utility.js +3 -3
  62. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  63. package/build/utilities/introspection.utility.js +4 -4
  64. package/build/utilities/introspection.utility.js.map +1 -1
  65. package/build/utilities/tsConfig.utility.js +2 -2
  66. package/build/utilities/tsConfig.utility.js.map +1 -1
  67. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  68. package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js +1 -2
  69. package/node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.js.map +1 -1
  70. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js +2 -4
  71. package/node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.js.map +1 -1
  72. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js +1 -2
  73. package/node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.js.map +1 -1
  74. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  75. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js +2 -2
  76. package/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js.map +1 -1
  77. package/node_modules/@typescript-eslint/types/package.json +2 -2
  78. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/estree-to-ts-node-types.d.ts +1 -1
  79. package/node_modules/@typescript-eslint/typescript-estree/_ts3.4/dist/ts-estree/ts-nodes.d.ts +1 -1
  80. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map +1 -1
  81. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js +19 -0
  82. package/node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map +1 -1
  83. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js +3 -3
  84. package/node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js.map +1 -1
  85. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts +1 -1
  86. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts.map +1 -1
  87. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts +1 -1
  88. package/node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts.map +1 -1
  89. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  90. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  91. package/package.json +36 -36
  92. package/src/features/skill/actions/RegisterAction.ts +27 -27
  93. package/src/features/test/TestRunner.ts +1 -1
  94. package/src/features/universalDevDependencies.ts +1 -1
  95. package/src/tests/AbstractCliTest.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCliTest.js","names":["_path","_interopRequireDefault","require","_globby","_mercuryClient","_schema","_spruceSkillUtils","_spruceTemplates","_testUtils","_interopRequireWildcard","_fsExtra","uuid","_ActionExecuter2","_ActionFactory","_EventStore","_FeatureInstallerFactory","_OnboardingStore","_SkillStore","_GlobalEmitter","_SpyInterface","_CommandService","_ImportService","_LintService","_ServiceFactory2","_StoreFactory2","_WriterFactory2","_CommandFaker","_FeatureFixture2","_MercuryFixture","_OrganizationFixture","_PersonFixture","_SkillFixture","_ViewFixture","_test","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","AbstractCliTest","_AbstractSpruceTest","_inherits2","_super","_classCallCheck2","_createClass2","_beforeAll","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","_get2","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","stop","beforeAll","_beforeEach","_callee2","_callee2$","_context2","_writers","ActionFactory","clearActionOverrides","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","_emitter","undefined","_featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearFakedResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","beforeEach","_afterEach","_callee3","_this$organizationFix","_this$mercuryFixture","_this$_ui","_callee3$","_context3","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupAfterEach","FeatureFixture","deleteOldSkillDirs","afterEach","_afterAll","_callee4","_callee4$","_context4","shouldCleanupAfterAll","afterAll","_cleanTestDirsAndFiles","_callee5","pattern","matches","_iterator","_step","match","_callee5$","_context5","resolveTestPath","globby","sent","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","emitter","_len","pathAfterTestDirsAndFiles","_key","pathUtil","join","cliRoot","concat","_Cli","_callee6","options","_callee6$","_context6","abrupt","Cli","_x6","_linkLocalPackages","_callee7","fixture","_callee7$","_context7","linkLocalPackages","_Service","Service","_x","_x2","type","sf","ServiceFactory","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","featureInstaller","MercuryFixture","PersonFixture","getViewFixture","viewWriter","writers","Writer","fileDescriptions","ViewFixture","Action","WriterFactory","templates","settings","_skipInstallSkillPrompts","_callee8","execute","promise","results","_callee8$","_context8","waitForInput","sendInput","skipInstallSkillPrompts","_x7","getOrganizationFixture","OrganizationFixture","people","StoreFactory","getSkillFixture","SkillFixture","resolveHashSprucePath","_len2","filePath","_key2","installer","FeatureInstaller","_options$emitter","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","Store","code","_waitForInput","_callee9","_callee9$","_context9","_assertIsFeatureInstalled","_callee10","isInstalled","_callee10$","_context10","assert","isTrue","assertIsFeatureInstalled","_x8","_assertValidActionResponseFiles","_callee11","_results$files","_iterator2","_step2","file","_callee11$","_context11","files","assertFilePassesTypeChecks","path","t0","finish","assertValidActionResponseFiles","_x9","_assertFilePassesTypeChecks","_callee12","checker","_callee12$","_context12","check","_x10","_connectToApi","_callee13","_callee13$","_context13","connectToApi","_x11","_openInVsCode","_callee14","_ref","_options$file","_options$timeout","_callee14$","_context14","all","dir","wait","timeout","openInVsCode","_x12","_openInFinder","_callee15","_ref2","_options$file2","_options$timeout2","_callee15$","_context15","openInFinder","_x13","log","_Action","_x3","_x4","_x5","featureCode","actionCode","executer","shouldThrowOnListenerError","_this","actionFactory","writerFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","selectOptionBasedOnLabel","label","last","getLastInvocation","doesInclude","choices","find","AbstractSpruceTest","exports","__dirname"],"sources":["../../src/tests/AbstractCliTest.ts"],"sourcesContent":["import pathUtil from 'path'\nimport globby from '@sprucelabs/globby'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test-utils'\nimport fs from 'fs-extra'\nimport * as uuid from 'uuid'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tCreateStoreOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { CliBootOptions, OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static _emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static _featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\tprivate static _writers?: WriterFactory\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tdelete this._writers\n\n\t\tActionFactory.clearActionOverrides()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tthis._emitter = undefined\n\t\tthis._featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearFakedResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\n\t\tif (testUtil.shouldCleanupAfterEach()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupAfterAll()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis._emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static get emitter() {\n\t\tif (!this._emitter) {\n\t\t\tthis._emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this._emitter\n\t}\n\n\tprotected static set emitter(emitter: GlobalEmitter) {\n\t\tthis._emitter = emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst viewWriter = this.writers.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprotected static get writers() {\n\t\tif (!this._writers) {\n\t\t\tthis._writers = this.WriterFactory()\n\t\t}\n\n\t\treturn this._writers\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static get featureInstaller() {\n\t\tif (!this._featureInstaller) {\n\t\t\tconst installer = this.FeatureInstaller()\n\t\t\tthis._featureInstaller = installer\n\t\t}\n\n\t\treturn this._featureInstaller\n\t}\n\n\tprotected static set featureInstaller(installer: FeatureInstaller) {\n\t\tthis._featureInstaller = installer\n\t}\n\n\tprotected static FeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst storeFactory = this.StoreFactory(options)\n\t\tconst emitter = options?.emitter ?? this.emitter\n\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tconst installer = FeatureInstallerFactory.WithAllFeatures({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tactionExecuter,\n\t\t\t...options,\n\t\t})\n\t\treturn installer\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: CreateStoreOptions<C>\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...(options as any),\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(code)\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tawait this.assertFilePassesTypeChecks(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async assertFilePassesTypeChecks(file: string) {\n\t\tconst checker = this.Service('typeChecker')\n\t\tawait checker.check(file)\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory: this.writers,\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.featureInstaller\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AbstractCliTest.js","names":["_path","_interopRequireDefault","require","_globby","_mercuryClient","_schema","_spruceSkillUtils","_spruceTemplates","_testUtils","_interopRequireWildcard","_fsExtra","uuid","_ActionExecuter2","_ActionFactory","_EventStore","_FeatureInstallerFactory","_OnboardingStore","_SkillStore","_GlobalEmitter","_SpyInterface","_CommandService","_ImportService","_LintService","_ServiceFactory2","_StoreFactory2","_WriterFactory2","_CommandFaker","_FeatureFixture2","_MercuryFixture","_OrganizationFixture","_PersonFixture","_SkillFixture","_ViewFixture","_test","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","AbstractCliTest","_AbstractSpruceTest","_inherits2","_super","_classCallCheck2","_createClass2","_beforeAll","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","_get2","cleanTestDirsAndFiles","LintService","disableLinting","ImportService","setCacheDir","diskUtil","createRandomTempDir","enableCaching","process","env","ENABLE_INSTALL_ENTERTAINMENT","originalEnv","stop","beforeAll","_beforeEach","_callee2","_callee2$","_context2","_writers","ActionFactory","clearActionOverrides","testUtil","startLogTimer","SchemaRegistry","getInstance","forgetAllSchemas","cwd","freshTmpDir","homeDir","AuthService","_emitter","undefined","_featureInstaller","OnboardingStore","overrideCwd","ui","reset","invocations","setCursorPosition","x","y","clearFixtures","clearCache","SkillStore","clearCurrentSkill","EventStore","CommandService","clearFakedResponses","MercuryClientFactory","setIsTestMode","commandFaker","CommandFaker","beforeEach","_afterEach","_callee3","_this$organizationFix","_this$mercuryFixture","_this$_ui","_callee3$","_context3","organizationFixture","clearAllOrgs","mercuryFixture","disconnectAll","_ui","isWaitingForInput","Error","doesDirExist","shouldClearCache","deleteDir","shouldCleanupAfterEach","FeatureFixture","deleteOldSkillDirs","afterEach","_afterAll","_callee4","_callee4$","_context4","shouldCleanupAfterAll","afterAll","_cleanTestDirsAndFiles","_callee5","pattern","matches","_iterator","_step","match","_callee5$","_context5","resolveTestPath","globby","sent","deleteFile","personFixture","skillFixture","viewFixture","tmpDirectory","resolveTestDir","v4","fs","ensureDirSync","SpyInterface","CliGlobalEmitter","Emitter","emitter","_len","pathAfterTestDirsAndFiles","_key","pathUtil","join","cliRoot","concat","_Cli","_callee6","options","_callee6$","_context6","abrupt","Cli","_x6","_linkLocalPackages","_callee7","fixture","_callee7$","_context7","linkLocalPackages","_Service","Service","_x","_x2","type","sf","ServiceFactory","serviceFactory","apiClientFactory","getMercuryFixture","getApiClientFactory","featureInstaller","MercuryFixture","PersonFixture","getViewFixture","viewWriter","writers","Writer","fileDescriptions","ViewFixture","Action","WriterFactory","templates","settings","_skipInstallSkillPrompts","_callee8","execute","promise","results","_callee8$","_context8","waitForInput","sendInput","skipInstallSkillPrompts","_x7","getOrganizationFixture","OrganizationFixture","people","StoreFactory","getSkillFixture","SkillFixture","resolveHashSprucePath","_len2","filePath","_key2","installer","FeatureInstaller","_options$emitter","storeFactory","actionExecuter","ActionExecuter","FeatureInstallerFactory","WithAllFeatures","Store","code","_waitForInput","_callee9","_callee9$","_context9","_assertIsFeatureInstalled","_callee10","isInstalled","_callee10$","_context10","assert","isTrue","assertIsFeatureInstalled","_x8","_assertValidActionResponseFiles","_callee11","_results$files","_iterator2","_step2","file","_callee11$","_context11","files","assertFilePassesTypeChecks","path","t0","finish","assertValidActionResponseFiles","_x9","_assertFilePassesTypeChecks","_callee12","checker","_callee12$","_context12","check","_x10","_connectToApi","_callee13","_callee13$","_context13","connectToApi","_x11","_openInVsCode","_callee14","_ref","_options$file","_options$timeout","_callee14$","_context14","all","dir","wait","timeout","openInVsCode","_x12","_openInFinder","_callee15","_ref2","_options$file2","_options$timeout2","_callee15$","_context15","openInFinder","_x13","log","_Action","_x3","_x4","_x5","featureCode","actionCode","executer","shouldThrowOnListenerError","_this","actionFactory","writerFactory","optionOverrides","shouldInstallMissingDependencies","featureInstallerFactory","shouldAutoHandleDependencies","selectOptionBasedOnLabel","label","last","getLastInvocation","doesInclude","choices","find","AbstractSpruceTest","exports","__dirname"],"sources":["../../src/tests/AbstractCliTest.ts"],"sourcesContent":["import pathUtil from 'path'\nimport globby from '@sprucelabs/globby'\nimport { MercuryClientFactory } from '@sprucelabs/mercury-client'\nimport { SchemaRegistry } from '@sprucelabs/schema'\nimport { AuthService, diskUtil } from '@sprucelabs/spruce-skill-utils'\nimport { templates } from '@sprucelabs/spruce-templates'\nimport AbstractSpruceTest, { assert } from '@sprucelabs/test-utils'\nimport fs from 'fs-extra'\nimport * as uuid from 'uuid'\nimport AbstractAction from '../features/AbstractAction'\nimport { FeatureOptions } from '../features/AbstractFeature'\nimport ActionExecuter, {\n\tActionExecuterOptions,\n} from '../features/ActionExecuter'\nimport ActionFactory from '../features/ActionFactory'\nimport EventStore from '../features/event/stores/EventStore'\nimport FeatureInstaller from '../features/FeatureInstaller'\nimport FeatureInstallerFactory from '../features/FeatureInstallerFactory'\nimport { FeatureActionResponse, FeatureCode } from '../features/features.types'\nimport OnboardingStore from '../features/onboard/stores/OnboardingStore'\nimport SkillStore from '../features/skill/stores/SkillStore'\nimport CliGlobalEmitter, { GlobalEmitter } from '../GlobalEmitter'\nimport SpyInterface from '../interfaces/SpyInterface'\nimport CommandService from '../services/CommandService'\nimport ImportService from '../services/ImportService'\nimport LintService from '../services/LintService'\nimport ServiceFactory, { Service, ServiceMap } from '../services/ServiceFactory'\nimport StoreFactory, {\n\tStoreCode,\n\tCreateStoreOptions,\n\tStoreFactoryOptions,\n\tStoreMap,\n} from '../stores/StoreFactory'\nimport { ApiClientFactoryOptions } from '../types/apiClient.types'\nimport { CliBootOptions, OptionOverrides } from '../types/cli.types'\nimport WriterFactory from '../writers/WriterFactory'\nimport CommandFaker from './CommandFaker'\nimport FeatureFixture, {\n\tFeatureFixtureOptions,\n} from './fixtures/FeatureFixture'\nimport MercuryFixture from './fixtures/MercuryFixture'\nimport OrganizationFixture from './fixtures/OrganizationFixture'\nimport PersonFixture from './fixtures/PersonFixture'\nimport SkillFixture from './fixtures/SkillFixture'\nimport ViewFixture from './fixtures/ViewFixture'\nimport testUtil from './utilities/test.utility'\n\nexport default abstract class AbstractCliTest extends AbstractSpruceTest {\n\tprotected static cliRoot = pathUtil.join(__dirname, '..')\n\tprotected static homeDir: string\n\tprotected static commandFaker: CommandFaker\n\n\tprivate static _ui: SpyInterface\n\tprivate static _emitter?: GlobalEmitter\n\tprivate static mercuryFixture?: MercuryFixture\n\tprivate static personFixture?: PersonFixture\n\tprivate static organizationFixture?: OrganizationFixture\n\tprivate static skillFixture?: SkillFixture\n\tprivate static _featureInstaller?: FeatureInstaller\n\tprivate static viewFixture?: ViewFixture\n\tprivate static originalEnv: { [x: string]: string | undefined }\n\tprivate static _writers?: WriterFactory\n\n\tprotected static async beforeAll() {\n\t\tawait super.beforeAll()\n\t\tawait this.cleanTestDirsAndFiles()\n\n\t\tLintService.disableLinting()\n\n\t\tImportService.setCacheDir(diskUtil.createRandomTempDir())\n\t\tImportService.enableCaching()\n\n\t\tprocess.env.ENABLE_INSTALL_ENTERTAINMENT = 'false'\n\n\t\tthis.originalEnv = { ...process.env }\n\t}\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\n\t\tdelete this._writers\n\n\t\tActionFactory.clearActionOverrides()\n\n\t\t//@ts-ignore\n\t\tprocess.env = { ...this.originalEnv }\n\n\t\ttestUtil.startLogTimer()\n\n\t\tSchemaRegistry.getInstance().forgetAllSchemas()\n\n\t\tthis.cwd = this.freshTmpDir()\n\t\tthis.homeDir = this.freshTmpDir()\n\n\t\tAuthService.homeDir = this.homeDir\n\n\t\tthis._emitter = undefined\n\t\tthis._featureInstaller = undefined\n\n\t\tOnboardingStore.overrideCwd(diskUtil.createRandomTempDir())\n\n\t\tthis.ui.reset()\n\t\tthis.ui.invocations = []\n\t\tthis.ui.setCursorPosition({ x: 0, y: 0 })\n\n\t\tthis.clearFixtures()\n\n\t\tImportService.clearCache()\n\t\tSkillStore.clearCurrentSkill()\n\t\tEventStore.clearCache()\n\t\tCommandService.clearFakedResponses()\n\t\tMercuryClientFactory.reset()\n\t\tMercuryClientFactory.setIsTestMode(false)\n\n\t\tthis.commandFaker = new CommandFaker()\n\t}\n\n\tprotected static async afterEach() {\n\t\tawait super.afterEach()\n\n\t\tawait this.organizationFixture?.clearAllOrgs()\n\t\tawait this.mercuryFixture?.disconnectAll()\n\n\t\tthis.clearFixtures()\n\n\t\tif (this._ui?.isWaitingForInput()) {\n\t\t\tthrow new Error(\n\t\t\t\t`Terminal interface is waiting for input. Make sure you are invoking this.term.sendInput() as many times as needed.`\n\t\t\t)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.cwd) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.cwd)\n\t\t}\n\n\t\tif (diskUtil.doesDirExist(this.homeDir) && testUtil.shouldClearCache()) {\n\t\t\tdiskUtil.deleteDir(this.homeDir)\n\t\t}\n\n\t\tif (testUtil.shouldCleanupAfterEach()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprotected static async afterAll() {\n\t\tawait super.afterAll()\n\t\tif (testUtil.shouldCleanupAfterAll()) {\n\t\t\tFeatureFixture.deleteOldSkillDirs()\n\t\t}\n\t}\n\n\tprivate static async cleanTestDirsAndFiles() {\n\t\tconst pattern = this.resolveTestPath('**/*.d.ts')\n\t\tconst matches = await globby(pattern)\n\n\t\tfor (const match of matches) {\n\t\t\tdiskUtil.deleteFile(match)\n\t\t}\n\t}\n\n\tprivate static clearFixtures() {\n\t\tthis._emitter = undefined\n\t\tthis.mercuryFixture = undefined\n\t\tthis.organizationFixture = undefined\n\t\tthis.personFixture = undefined\n\t\tthis.skillFixture = undefined\n\t\tthis.viewFixture = undefined\n\t}\n\n\tprotected static freshTmpDir() {\n\t\tconst tmpDirectory = testUtil.resolveTestDir(uuid.v4())\n\t\tfs.ensureDirSync(tmpDirectory)\n\t\treturn tmpDirectory\n\t}\n\n\tprotected static get ui() {\n\t\tif (!this._ui) {\n\t\t\tthis._ui = new SpyInterface()\n\t\t}\n\n\t\treturn this._ui\n\t}\n\n\tprotected static get emitter() {\n\t\tif (!this._emitter) {\n\t\t\tthis._emitter = CliGlobalEmitter.Emitter()\n\t\t}\n\t\treturn this._emitter\n\t}\n\n\tprotected static set emitter(emitter: GlobalEmitter) {\n\t\tthis._emitter = emitter\n\t}\n\n\tprotected static resolveTestPath(...pathAfterTestDirsAndFiles: string[]) {\n\t\treturn pathUtil.join(\n\t\t\tthis.cliRoot,\n\t\t\t'__tests__',\n\t\t\t'testDirsAndFiles',\n\t\t\t...pathAfterTestDirsAndFiles\n\t\t)\n\t}\n\n\tprotected static async Cli(options?: CliBootOptions) {\n\t\treturn this.FeatureFixture(options).Cli({\n\t\t\tcwd: this.cwd,\n\t\t\thomeDir: this.homeDir,\n\t\t\t...(options ?? {}),\n\t\t})\n\t}\n\n\tprotected static async linkLocalPackages() {\n\t\tconst fixture = this.FeatureFixture()\n\t\tawait fixture.linkLocalPackages()\n\t}\n\n\tprotected static Service<S extends Service>(\n\t\ttype: S,\n\t\tcwd?: string\n\t): ServiceMap[S] {\n\t\tconst sf = this.ServiceFactory()\n\t\treturn sf.Service(cwd ?? this.cwd, type)\n\t}\n\n\tprotected static ServiceFactory() {\n\t\treturn new ServiceFactory()\n\t}\n\n\tprotected static FeatureFixture(options?: Partial<FeatureFixtureOptions>) {\n\t\treturn new FeatureFixture({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory: this.ServiceFactory(),\n\t\t\tui: this.ui,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tfeatureInstaller: this.featureInstaller,\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static getMercuryFixture() {\n\t\tif (!this.mercuryFixture) {\n\t\t\tthis.mercuryFixture = new MercuryFixture(this.cwd, this.ServiceFactory())\n\t\t}\n\n\t\treturn this.mercuryFixture\n\t}\n\n\tprotected static get people() {\n\t\tif (!this.personFixture) {\n\t\t\tthis.personFixture = new PersonFixture(\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.personFixture\n\t}\n\n\tprotected static getViewFixture() {\n\t\tif (!this.viewFixture) {\n\t\t\tconst viewWriter = this.writers.Writer('view', { fileDescriptions: [] })\n\t\t\tthis.viewFixture = new ViewFixture(\n\t\t\t\tthis.cwd,\n\t\t\t\tviewWriter,\n\t\t\t\tthis.Action('view', 'sync')\n\t\t\t)\n\t\t}\n\n\t\treturn this.viewFixture\n\t}\n\n\tprotected static get writers() {\n\t\tif (!this._writers) {\n\t\t\tthis._writers = this.WriterFactory()\n\t\t}\n\n\t\treturn this._writers\n\t}\n\n\tprivate static WriterFactory() {\n\t\treturn new WriterFactory({\n\t\t\ttemplates,\n\t\t\tui: this.ui,\n\t\t\tsettings: this.Service('settings'),\n\t\t})\n\t}\n\n\tprotected static async skipInstallSkillPrompts<\n\t\tE extends () => Promise<FeatureActionResponse>\n\t>(\n\t\texecute?: E\n\t): Promise<E extends undefined ? undefined : FeatureActionResponse> {\n\t\tconst promise = execute?.()\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('n')\n\n\t\tawait this.waitForInput()\n\t\tawait this.ui.sendInput('')\n\n\t\tconst results = await promise\n\n\t\treturn results as any\n\t}\n\n\tprotected static getOrganizationFixture() {\n\t\tif (!this.organizationFixture) {\n\t\t\tthis.organizationFixture = new OrganizationFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.organizationFixture\n\t}\n\n\tprotected static getSkillFixture() {\n\t\tif (!this.skillFixture) {\n\t\t\tthis.skillFixture = new SkillFixture(\n\t\t\t\tthis.people,\n\t\t\t\tthis.StoreFactory(),\n\t\t\t\tthis.getMercuryFixture().getApiClientFactory()\n\t\t\t)\n\t\t}\n\n\t\treturn this.skillFixture\n\t}\n\n\tprotected static resolveHashSprucePath(...filePath: string[]) {\n\t\treturn diskUtil.resolveHashSprucePath(this.cwd, ...filePath)\n\t}\n\n\tprotected static get featureInstaller() {\n\t\tif (!this._featureInstaller) {\n\t\t\tconst installer = this.FeatureInstaller()\n\t\t\tthis._featureInstaller = installer\n\t\t}\n\n\t\treturn this._featureInstaller\n\t}\n\n\tprotected static set featureInstaller(installer: FeatureInstaller) {\n\t\tthis._featureInstaller = installer\n\t}\n\n\tprotected static FeatureInstaller(options?: Partial<FeatureOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\t\tconst storeFactory = this.StoreFactory(options)\n\t\tconst emitter = options?.emitter ?? this.emitter\n\t\tconst apiClientFactory = this.getMercuryFixture().getApiClientFactory()\n\n\t\tconst actionExecuter = this.ActionExecuter()\n\n\t\tconst installer = FeatureInstallerFactory.WithAllFeatures({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory,\n\t\t\tui: this.ui,\n\t\t\temitter,\n\t\t\tapiClientFactory,\n\t\t\tactionExecuter,\n\t\t\t...options,\n\t\t})\n\t\treturn installer\n\t}\n\n\tprotected static StoreFactory(options?: Partial<StoreFactoryOptions>) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\treturn new StoreFactory({\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\thomeDir: this.homeDir,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\temitter: this.emitter,\n\t\t\t...options,\n\t\t})\n\t}\n\n\tprotected static Store<C extends StoreCode>(\n\t\tcode: C,\n\t\toptions?: CreateStoreOptions<C>\n\t): StoreMap[C] {\n\t\treturn this.StoreFactory().Store(code, {\n\t\t\tcwd: this.cwd,\n\t\t\t...(options as any),\n\t\t})\n\t}\n\n\tprotected static async waitForInput() {\n\t\treturn this.ui.waitForInput()\n\t}\n\n\tprotected static async assertIsFeatureInstalled(code: FeatureCode) {\n\t\tconst isInstalled = await this.featureInstaller.isInstalled(code)\n\t\tassert.isTrue(isInstalled)\n\t}\n\n\tprotected static async assertValidActionResponseFiles(\n\t\tresults: FeatureActionResponse\n\t) {\n\t\tfor (const file of results.files ?? []) {\n\t\t\tawait this.assertFilePassesTypeChecks(file.path)\n\t\t}\n\n\t\t// await Promise.all(\n\t\t// \t(results.files ?? []).map((file) => {\n\t\t// \t\tconst checker = this.Service('typeChecker')\n\t\t// \t\treturn checker.check(file.path)\n\t\t// \t})\n\t\t// )\n\t}\n\n\tprotected static async assertFilePassesTypeChecks(file: string) {\n\t\tconst checker = this.Service('typeChecker')\n\t\tawait checker.check(file)\n\t}\n\n\tprotected static async connectToApi(options?: ApiClientFactoryOptions) {\n\t\treturn this.getMercuryFixture().connectToApi(options)\n\t}\n\n\tprotected static async openInVsCode(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Action('vscode', 'setup').execute({ all: true })\n\n\t\tawait this.Service('command').execute(\n\t\t\t`code ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static async openInFinder(options?: {\n\t\tfile?: string\n\t\tdir?: string\n\t\ttimeout?: number\n\t}) {\n\t\tawait this.Service('command').execute(\n\t\t\t`open ${options?.file ?? options?.dir ?? this.cwd}`\n\t\t)\n\t\tawait this.wait(options?.timeout ?? 99999999)\n\t}\n\n\tprotected static log(...args: any[]) {\n\t\ttestUtil.log(...args)\n\t}\n\n\tprotected static Action<\n\t\tAction extends AbstractAction = AbstractAction,\n\t\tF extends FeatureCode = FeatureCode\n\t>(featureCode: F, actionCode: string, options?: ExecuterOptions): Action {\n\t\tconst executer = this.ActionExecuter({\n\t\t\tshouldThrowOnListenerError: true,\n\t\t\t...options,\n\t\t}).Action(featureCode, actionCode)\n\n\t\treturn executer as any\n\t}\n\n\tprotected static ActionExecuter(options?: ExecuterOptions) {\n\t\tconst serviceFactory = this.ServiceFactory()\n\n\t\tconst actionFactory = new ActionFactory({\n\t\t\twriterFactory: this.writers,\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tapiClientFactory: this.getMercuryFixture().getApiClientFactory(),\n\t\t\tcwd: this.cwd,\n\t\t\tserviceFactory,\n\t\t\tstoreFactory: this.StoreFactory(),\n\t\t\ttemplates,\n\t\t\toptionOverrides: {\n\t\t\t\t'sync.schemas': {\n\t\t\t\t\tshouldInstallMissingDependencies: true,\n\t\t\t\t},\n\t\t\t\t...options?.optionOverrides,\n\t\t\t},\n\t\t})\n\n\t\tconst executer = new ActionExecuter({\n\t\t\tui: this.ui,\n\t\t\temitter: this.emitter,\n\t\t\tactionFactory,\n\t\t\tfeatureInstallerFactory: () => {\n\t\t\t\treturn this.featureInstaller\n\t\t\t},\n\t\t\tshouldAutoHandleDependencies: false,\n\t\t\t...options,\n\t\t})\n\n\t\treturn executer\n\t}\n\n\tprotected static selectOptionBasedOnLabel(label: string) {\n\t\tconst last = this.ui.getLastInvocation()\n\t\tassert.doesInclude(last.options.options.choices, {\n\t\t\tlabel,\n\t\t})\n\n\t\tconst match = last.options.options.choices.find(\n\t\t\t(o: any) => o.label === label\n\t\t)\n\n\t\tvoid this.ui.sendInput(`${match.value}`)\n\t}\n}\n\ntype ExecuterOptions = Partial<ActionExecuterOptions> & {\n\toptionOverrides?: OptionOverrides\n}\n"],"mappings":"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"}
@@ -6,14 +6,14 @@ export default abstract class AbstractEventTest extends AbstractCliTest {
6
6
  skillFixture: import("./fixtures/SkillFixture").default;
7
7
  currentSkill: import("../types/cli.types").RegisteredSkill;
8
8
  cli: import("../types/cli.types").CliInterface;
9
- org: import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>;
9
+ org: Pick<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>, "id" | "address" | "slug" | "name" | "dateCreated" | "dateDeleted" | "isPublic">;
10
10
  orgFixture: import("./fixtures/OrganizationFixture").default;
11
11
  }>;
12
12
  protected static registerCurrentSkillAndInstallToOrg(cacheKey?: string): Promise<{
13
13
  skillFixture: import("./fixtures/SkillFixture").default;
14
14
  currentSkill: import("../types/cli.types").RegisteredSkill;
15
15
  cli: import("../types/cli.types").CliInterface;
16
- org: import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>;
16
+ org: Pick<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>, "id" | "address" | "slug" | "name" | "dateCreated" | "dateDeleted" | "isPublic">;
17
17
  orgFixture: import("./fixtures/OrganizationFixture").default;
18
18
  }>;
19
19
  protected static copyEventBuildersAndPermissions(eventName: string): Promise<void>;
@@ -7,7 +7,7 @@ export default class OrganizationFixture {
7
7
  seedDemoOrg(options: {
8
8
  name: string;
9
9
  slug?: string;
10
- }): Promise<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>>;
10
+ }): Promise<Pick<import("@sprucelabs/schema").SchemaStaticValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false, import("@sprucelabs/schema").SchemaOptionalFieldNames<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema>, import("@sprucelabs/schema").StaticSchemaAllValues<import("@sprucelabs/mercury-types").SpruceSchemas.Spruce.v2020_07_22.OrganizationSchema, false>>, "id" | "address" | "slug" | "name" | "dateCreated" | "dateDeleted" | "isPublic">>;
11
11
  clearAllOrgs(): Promise<number>;
12
12
  installSkillAtOrganization(skillId: string, orgId: string): Promise<void>;
13
13
  }
@@ -27,7 +27,7 @@ var PersonFixture = /*#__PURE__*/function () {
27
27
  key: "loginAsDemoPerson",
28
28
  value: function () {
29
29
  var _loginAsDemoPerson = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(phone) {
30
- var _client$auth, _client$auth2, _client$auth2$person;
30
+ var _client$auth, _client$auth2;
31
31
  var client, requestPinResults, _eventResponseUtil$ge, challenge, confirmPinResults, _eventResponseUtil$ge2, person, token, personWithToken;
32
32
  return _regenerator["default"].wrap(function _callee$(_context) {
33
33
  while (1) switch (_context.prev = _context.next) {
@@ -52,7 +52,7 @@ var PersonFixture = /*#__PURE__*/function () {
52
52
  parameters: ['env.DEMO_NUMBER']
53
53
  });
54
54
  case 8:
55
- if (!(((_client$auth2 = client.auth) === null || _client$auth2 === void 0 ? void 0 : (_client$auth2$person = _client$auth2.person) === null || _client$auth2$person === void 0 ? void 0 : _client$auth2$person.phone) === phone)) {
55
+ if (!(((_client$auth2 = client.auth) === null || _client$auth2 === void 0 || (_client$auth2 = _client$auth2.person) === null || _client$auth2 === void 0 ? void 0 : _client$auth2.phone) === phone)) {
56
56
  _context.next = 10;
57
57
  break;
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PersonFixture.js","names":["_schema","require","_spruceEventUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","config","DEMO_NUMBER","process","env","exports","PersonFixture","apiClientFactory","_classCallCheck2","connectToApi","_createClass2","value","_loginAsDemoPerson","_asyncToGenerator2","_regenerator","mark","_callee","phone","_client$auth","_client$auth2","_client$auth2$person","client","requestPinResults","_eventResponseUtil$ge","challenge","confirmPinResults","_eventResponseUtil$ge2","person","token","personWithToken","wrap","_callee$","_context","prev","next","sent","auth","abrupt","SchemaError","code","parameters","emit","payload","eventResponseUtil","getFirstResponseOrThrow","pin","substr","stop","loginAsDemoPerson","_x","_logout","_callee2","_callee2$","_context2","logout"],"sources":["../../../src/tests/fixtures/PersonFixture.ts"],"sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaError } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { ApiClientFactory } from '../../types/apiClient.types'\n\nrequire('dotenv').config()\n\nexport const DEMO_NUMBER = process.env.DEMO_NUMBER as string\n\nexport default class PersonFixture {\n\tprivate connectToApi: ApiClientFactory\n\n\tpublic constructor(apiClientFactory: ApiClientFactory) {\n\t\tthis.connectToApi = apiClientFactory\n\t}\n\n\tpublic async loginAsDemoPerson(\n\t\tphone?: string\n\t): Promise<SpruceSchemas.SpruceCli.v2020_07_22.PersonWithToken> {\n\t\tconst client = await this.connectToApi()\n\n\t\t//@ts-ignore\n\t\tif (!phone && client.auth?.person) {\n\t\t\t//@ts-ignore\n\t\t\treturn client.auth.person\n\t\t}\n\n\t\tphone = phone || DEMO_NUMBER\n\n\t\tif (!phone) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['env.DEMO_NUMBER'],\n\t\t\t})\n\t\t}\n\n\t\t//@ts-ignore\n\t\tif (client.auth?.person?.phone === phone) {\n\t\t\t//@ts-ignore\n\t\t\treturn client.auth.person\n\t\t}\n\n\t\tconst requestPinResults = await client.emit('request-pin::v2020_12_25', {\n\t\t\tpayload: { phone },\n\t\t})\n\n\t\tconst { challenge } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(requestPinResults)\n\n\t\tconst confirmPinResults = await client.emit('confirm-pin::v2020_12_25', {\n\t\t\tpayload: { challenge, pin: phone.substr(-4) },\n\t\t})\n\n\t\tconst { person, token } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(confirmPinResults)\n\n\t\tconst personWithToken = { ...person, token }\n\n\t\t//@ts-ignore\n\t\tclient.auth = { person: personWithToken }\n\n\t\treturn personWithToken\n\t}\n\n\tpublic async logout() {\n\t\tconst client = await this.connectToApi()\n\n\t\tawait client.emit('logout::v2020_12_25')\n\n\t\t//@ts-ignore\n\t\tdelete client.auth\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"PersonFixture.js","names":["_schema","require","_spruceEventUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","config","DEMO_NUMBER","process","env","exports","PersonFixture","apiClientFactory","_classCallCheck2","connectToApi","_createClass2","value","_loginAsDemoPerson","_asyncToGenerator2","_regenerator","mark","_callee","phone","_client$auth","_client$auth2","client","requestPinResults","_eventResponseUtil$ge","challenge","confirmPinResults","_eventResponseUtil$ge2","person","token","personWithToken","wrap","_callee$","_context","prev","next","sent","auth","abrupt","SchemaError","code","parameters","emit","payload","eventResponseUtil","getFirstResponseOrThrow","pin","substr","stop","loginAsDemoPerson","_x","_logout","_callee2","_callee2$","_context2","logout"],"sources":["../../../src/tests/fixtures/PersonFixture.ts"],"sourcesContent":["import { SpruceSchemas } from '@sprucelabs/mercury-types'\nimport { SchemaError } from '@sprucelabs/schema'\nimport { eventResponseUtil } from '@sprucelabs/spruce-event-utils'\nimport { ApiClientFactory } from '../../types/apiClient.types'\n\nrequire('dotenv').config()\n\nexport const DEMO_NUMBER = process.env.DEMO_NUMBER as string\n\nexport default class PersonFixture {\n\tprivate connectToApi: ApiClientFactory\n\n\tpublic constructor(apiClientFactory: ApiClientFactory) {\n\t\tthis.connectToApi = apiClientFactory\n\t}\n\n\tpublic async loginAsDemoPerson(\n\t\tphone?: string\n\t): Promise<SpruceSchemas.SpruceCli.v2020_07_22.PersonWithToken> {\n\t\tconst client = await this.connectToApi()\n\n\t\t//@ts-ignore\n\t\tif (!phone && client.auth?.person) {\n\t\t\t//@ts-ignore\n\t\t\treturn client.auth.person\n\t\t}\n\n\t\tphone = phone || DEMO_NUMBER\n\n\t\tif (!phone) {\n\t\t\tthrow new SchemaError({\n\t\t\t\tcode: 'MISSING_PARAMETERS',\n\t\t\t\tparameters: ['env.DEMO_NUMBER'],\n\t\t\t})\n\t\t}\n\n\t\t//@ts-ignore\n\t\tif (client.auth?.person?.phone === phone) {\n\t\t\t//@ts-ignore\n\t\t\treturn client.auth.person\n\t\t}\n\n\t\tconst requestPinResults = await client.emit('request-pin::v2020_12_25', {\n\t\t\tpayload: { phone },\n\t\t})\n\n\t\tconst { challenge } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(requestPinResults)\n\n\t\tconst confirmPinResults = await client.emit('confirm-pin::v2020_12_25', {\n\t\t\tpayload: { challenge, pin: phone.substr(-4) },\n\t\t})\n\n\t\tconst { person, token } =\n\t\t\teventResponseUtil.getFirstResponseOrThrow(confirmPinResults)\n\n\t\tconst personWithToken = { ...person, token }\n\n\t\t//@ts-ignore\n\t\tclient.auth = { person: personWithToken }\n\n\t\treturn personWithToken\n\t}\n\n\tpublic async logout() {\n\t\tconst client = await this.connectToApi()\n\n\t\tawait client.emit('logout::v2020_12_25')\n\n\t\t//@ts-ignore\n\t\tdelete client.auth\n\t}\n}\n"],"mappings":"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"}
@@ -22,13 +22,13 @@ var eventContractCleanerUtil = {
22
22
  _step;
23
23
  try {
24
24
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
25
- var _cleanedSig$emitPaylo, _cleanedSig$emitPaylo2, _cleanedSig$emitPaylo3, _cleanedSig$emitPaylo4, _cleanedSig$emitPaylo5, _cleanedSig$emitPaylo6, _cleanedSig$emitPaylo7, _cleanedSig$emitPaylo8, _cleanedSig$emitPaylo9, _cleanedSig$emitPaylo10, _cleanedSig$emitPaylo11, _cleanedSig$emitPaylo12, _cleanedSig$responseP, _cleanedSig$responseP2;
25
+ var _cleanedSig$emitPaylo, _cleanedSig$emitPaylo2, _cleanedSig$emitPaylo3, _cleanedSig$emitPaylo4, _cleanedSig$responseP, _cleanedSig$responseP2;
26
26
  var sig = _step.value;
27
27
  var cleanedSig = _objectSpread({}, sig.signature);
28
28
  var emitPayloadFields = Object.keys( //@ts-ignore
29
- (_cleanedSig$emitPaylo = (_cleanedSig$emitPaylo2 = cleanedSig.emitPayloadSchema) === null || _cleanedSig$emitPaylo2 === void 0 ? void 0 : (_cleanedSig$emitPaylo3 = _cleanedSig$emitPaylo2.fields) === null || _cleanedSig$emitPaylo3 === void 0 ? void 0 : (_cleanedSig$emitPaylo4 = _cleanedSig$emitPaylo3.payload) === null || _cleanedSig$emitPaylo4 === void 0 ? void 0 : (_cleanedSig$emitPaylo5 = _cleanedSig$emitPaylo4.options) === null || _cleanedSig$emitPaylo5 === void 0 ? void 0 : (_cleanedSig$emitPaylo6 = _cleanedSig$emitPaylo5.schema) === null || _cleanedSig$emitPaylo6 === void 0 ? void 0 : _cleanedSig$emitPaylo6.fields) !== null && _cleanedSig$emitPaylo !== void 0 ? _cleanedSig$emitPaylo : {}).length;
29
+ (_cleanedSig$emitPaylo = (_cleanedSig$emitPaylo2 = cleanedSig.emitPayloadSchema) === null || _cleanedSig$emitPaylo2 === void 0 || (_cleanedSig$emitPaylo2 = _cleanedSig$emitPaylo2.fields) === null || _cleanedSig$emitPaylo2 === void 0 || (_cleanedSig$emitPaylo2 = _cleanedSig$emitPaylo2.payload) === null || _cleanedSig$emitPaylo2 === void 0 || (_cleanedSig$emitPaylo2 = _cleanedSig$emitPaylo2.options) === null || _cleanedSig$emitPaylo2 === void 0 || (_cleanedSig$emitPaylo2 = _cleanedSig$emitPaylo2.schema) === null || _cleanedSig$emitPaylo2 === void 0 ? void 0 : _cleanedSig$emitPaylo2.fields) !== null && _cleanedSig$emitPaylo !== void 0 ? _cleanedSig$emitPaylo : {}).length;
30
30
  var targetPayloadFields = Object.keys( //@ts-ignore
31
- (_cleanedSig$emitPaylo7 = (_cleanedSig$emitPaylo8 = cleanedSig.emitPayloadSchema) === null || _cleanedSig$emitPaylo8 === void 0 ? void 0 : (_cleanedSig$emitPaylo9 = _cleanedSig$emitPaylo8.fields) === null || _cleanedSig$emitPaylo9 === void 0 ? void 0 : (_cleanedSig$emitPaylo10 = _cleanedSig$emitPaylo9.target) === null || _cleanedSig$emitPaylo10 === void 0 ? void 0 : (_cleanedSig$emitPaylo11 = _cleanedSig$emitPaylo10.options) === null || _cleanedSig$emitPaylo11 === void 0 ? void 0 : (_cleanedSig$emitPaylo12 = _cleanedSig$emitPaylo11.schema) === null || _cleanedSig$emitPaylo12 === void 0 ? void 0 : _cleanedSig$emitPaylo12.fields) !== null && _cleanedSig$emitPaylo7 !== void 0 ? _cleanedSig$emitPaylo7 : {}).length;
31
+ (_cleanedSig$emitPaylo3 = (_cleanedSig$emitPaylo4 = cleanedSig.emitPayloadSchema) === null || _cleanedSig$emitPaylo4 === void 0 || (_cleanedSig$emitPaylo4 = _cleanedSig$emitPaylo4.fields) === null || _cleanedSig$emitPaylo4 === void 0 || (_cleanedSig$emitPaylo4 = _cleanedSig$emitPaylo4.target) === null || _cleanedSig$emitPaylo4 === void 0 || (_cleanedSig$emitPaylo4 = _cleanedSig$emitPaylo4.options) === null || _cleanedSig$emitPaylo4 === void 0 || (_cleanedSig$emitPaylo4 = _cleanedSig$emitPaylo4.schema) === null || _cleanedSig$emitPaylo4 === void 0 ? void 0 : _cleanedSig$emitPaylo4.fields) !== null && _cleanedSig$emitPaylo3 !== void 0 ? _cleanedSig$emitPaylo3 : {}).length;
32
32
  if (emitPayloadFields + targetPayloadFields === 0) {
33
33
  delete cleanedSig.emitPayloadSchema;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eventContractCleaner.utility.js","names":["_spruceEventUtils","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","eventContractCleanerUtil","cleanPayloadsAndPermissions","contract","cleaned","eventSignatures","signatures","eventContractUtil","getNamedEventSignatures","_iterator","_step","_cleanedSig$emitPaylo","_cleanedSig$emitPaylo2","_cleanedSig$emitPaylo3","_cleanedSig$emitPaylo4","_cleanedSig$emitPaylo5","_cleanedSig$emitPaylo6","_cleanedSig$emitPaylo7","_cleanedSig$emitPaylo8","_cleanedSig$emitPaylo9","_cleanedSig$emitPaylo10","_cleanedSig$emitPaylo11","_cleanedSig$emitPaylo12","_cleanedSig$responseP","_cleanedSig$responseP2","sig","cleanedSig","signature","emitPayloadFields","emitPayloadSchema","fields","payload","options","schema","targetPayloadFields","responsePayloadSchema","emitPermissionContract","permissions","listenPermissionContract","fullyQualifiedEventName","exports"],"sources":["../../src/utilities/eventContractCleaner.utility.ts"],"sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport { eventContractUtil } from '@sprucelabs/spruce-event-utils'\n\nexport const eventContractCleanerUtil = {\n\tcleanPayloadsAndPermissions(contract: EventContract): EventContract {\n\t\tconst cleaned: EventContract = {\n\t\t\teventSignatures: {},\n\t\t}\n\n\t\tconst signatures = eventContractUtil.getNamedEventSignatures(contract)\n\n\t\tfor (const sig of signatures) {\n\t\t\tconst cleanedSig = {\n\t\t\t\t...sig.signature,\n\t\t\t}\n\n\t\t\tconst emitPayloadFields = Object.keys(\n\t\t\t\t//@ts-ignore\n\t\t\t\tcleanedSig.emitPayloadSchema?.fields?.payload?.options?.schema\n\t\t\t\t\t?.fields ?? {}\n\t\t\t).length\n\n\t\t\tconst targetPayloadFields = Object.keys(\n\t\t\t\t//@ts-ignore\n\t\t\t\tcleanedSig.emitPayloadSchema?.fields?.target?.options?.schema?.fields ??\n\t\t\t\t\t{}\n\t\t\t).length\n\n\t\t\tif (emitPayloadFields + targetPayloadFields === 0) {\n\t\t\t\tdelete cleanedSig.emitPayloadSchema\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.responsePayloadSchema?.fields &&\n\t\t\t\tObject.keys(cleanedSig.responsePayloadSchema?.fields).length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.responsePayloadSchema\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.emitPermissionContract &&\n\t\t\t\tcleanedSig.emitPermissionContract.permissions.length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.emitPermissionContract\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.listenPermissionContract &&\n\t\t\t\tcleanedSig.listenPermissionContract.permissions.length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.listenPermissionContract\n\t\t\t}\n\n\t\t\tcleaned.eventSignatures[sig.fullyQualifiedEventName] = cleanedSig\n\t\t}\n\n\t\treturn cleaned\n\t},\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"eventContractCleaner.utility.js","names":["_spruceEventUtils","require","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","eventContractCleanerUtil","cleanPayloadsAndPermissions","contract","cleaned","eventSignatures","signatures","eventContractUtil","getNamedEventSignatures","_iterator","_step","_cleanedSig$emitPaylo","_cleanedSig$emitPaylo2","_cleanedSig$emitPaylo3","_cleanedSig$emitPaylo4","_cleanedSig$responseP","_cleanedSig$responseP2","sig","cleanedSig","signature","emitPayloadFields","emitPayloadSchema","fields","payload","options","schema","targetPayloadFields","responsePayloadSchema","emitPermissionContract","permissions","listenPermissionContract","fullyQualifiedEventName","exports"],"sources":["../../src/utilities/eventContractCleaner.utility.ts"],"sourcesContent":["import { EventContract } from '@sprucelabs/mercury-types'\nimport { eventContractUtil } from '@sprucelabs/spruce-event-utils'\n\nexport const eventContractCleanerUtil = {\n\tcleanPayloadsAndPermissions(contract: EventContract): EventContract {\n\t\tconst cleaned: EventContract = {\n\t\t\teventSignatures: {},\n\t\t}\n\n\t\tconst signatures = eventContractUtil.getNamedEventSignatures(contract)\n\n\t\tfor (const sig of signatures) {\n\t\t\tconst cleanedSig = {\n\t\t\t\t...sig.signature,\n\t\t\t}\n\n\t\t\tconst emitPayloadFields = Object.keys(\n\t\t\t\t//@ts-ignore\n\t\t\t\tcleanedSig.emitPayloadSchema?.fields?.payload?.options?.schema\n\t\t\t\t\t?.fields ?? {}\n\t\t\t).length\n\n\t\t\tconst targetPayloadFields = Object.keys(\n\t\t\t\t//@ts-ignore\n\t\t\t\tcleanedSig.emitPayloadSchema?.fields?.target?.options?.schema?.fields ??\n\t\t\t\t\t{}\n\t\t\t).length\n\n\t\t\tif (emitPayloadFields + targetPayloadFields === 0) {\n\t\t\t\tdelete cleanedSig.emitPayloadSchema\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.responsePayloadSchema?.fields &&\n\t\t\t\tObject.keys(cleanedSig.responsePayloadSchema?.fields).length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.responsePayloadSchema\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.emitPermissionContract &&\n\t\t\t\tcleanedSig.emitPermissionContract.permissions.length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.emitPermissionContract\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcleanedSig.listenPermissionContract &&\n\t\t\t\tcleanedSig.listenPermissionContract.permissions.length === 0\n\t\t\t) {\n\t\t\t\tdelete cleanedSig.listenPermissionContract\n\t\t\t}\n\n\t\t\tcleaned.eventSignatures[sig.fullyQualifiedEventName] = cleanedSig\n\t\t}\n\n\t\treturn cleaned\n\t},\n}\n"],"mappings":"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"}
@@ -61,7 +61,7 @@ var introspectionUtil = {
61
61
  if (ts.isClassDeclaration(node) && node.name) {
62
62
  var symbol = checker.getSymbolAtLocation(node.name);
63
63
  if (symbol !== null && symbol !== void 0 && symbol.valueDeclaration) {
64
- var _parentClassSymbol, _parentClassSymbol$va, _parentClassSymbol$va2, _parentClassSymbol2, _parentClassSymbol2$p, _details$constructors, _details$constructors2, _details$constructors3;
64
+ var _parentClassSymbol, _parentClassSymbol2, _details$constructors;
65
65
  var details = serializeSymbol({
66
66
  checker: checker,
67
67
  symbol: symbol
@@ -73,9 +73,9 @@ var introspectionUtil = {
73
73
  parentClassSymbol = checker.getTypeAtLocation(node.heritageClauses[0].types[0]).getSymbol();
74
74
  }
75
75
  var parentClassName = // @ts-ignore
76
- (_parentClassSymbol = parentClassSymbol) === null || _parentClassSymbol === void 0 ? void 0 : (_parentClassSymbol$va = _parentClassSymbol.valueDeclaration) === null || _parentClassSymbol$va === void 0 ? void 0 : (_parentClassSymbol$va2 = _parentClassSymbol$va.name) === null || _parentClassSymbol$va2 === void 0 ? void 0 : _parentClassSymbol$va2.text;
76
+ (_parentClassSymbol = parentClassSymbol) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.valueDeclaration) === null || _parentClassSymbol === void 0 || (_parentClassSymbol = _parentClassSymbol.name) === null || _parentClassSymbol === void 0 ? void 0 : _parentClassSymbol.text;
77
77
  // @ts-ignore
78
- var parentClassPath = (_parentClassSymbol2 = parentClassSymbol) === null || _parentClassSymbol2 === void 0 ? void 0 : (_parentClassSymbol2$p = _parentClassSymbol2.parent) === null || _parentClassSymbol2$p === void 0 ? void 0 : _parentClassSymbol2$p.getName().replace('"', '');
78
+ var parentClassPath = (_parentClassSymbol2 = parentClassSymbol) === null || _parentClassSymbol2 === void 0 || (_parentClassSymbol2 = _parentClassSymbol2.parent) === null || _parentClassSymbol2 === void 0 ? void 0 : _parentClassSymbol2.getName().replace('"', '');
79
79
  var isAbstractClass = tsutils.isModifierFlagSet(node, ts.ModifierFlags.Abstract);
80
80
  details.constructors = constructorType.getConstructSignatures().map(function (s) {
81
81
  return serializeSignature({
@@ -89,7 +89,7 @@ var introspectionUtil = {
89
89
  parentClassName: parentClassName,
90
90
  parentClassPath: parentClassPath,
91
91
  staticProperties: pluckStaticProperties(node),
92
- optionsInterfaceName: (_details$constructors = details.constructors) === null || _details$constructors === void 0 ? void 0 : (_details$constructors2 = _details$constructors[0].parameters) === null || _details$constructors2 === void 0 ? void 0 : (_details$constructors3 = _details$constructors2[0]) === null || _details$constructors3 === void 0 ? void 0 : _details$constructors3.type,
92
+ optionsInterfaceName: (_details$constructors = details.constructors) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0].parameters) === null || _details$constructors === void 0 || (_details$constructors = _details$constructors[0]) === null || _details$constructors === void 0 ? void 0 : _details$constructors.type,
93
93
  isAbstract: isAbstractClass
94
94
  });
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"introspection.utility.js","names":["_lodash","_interopRequireDefault","require","tsutils","_interopRequireWildcard","ts","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","serializeSymbol","options","checker","symbol","doc","getName","documentation","displayPartsToString","getDocumentationComment","valueDeclaration","type","typeToString","getTypeOfSymbolAtLocation","serializeSignature","signature","parameters","map","p","returnType","getReturnType","introspectionUtil","introspect","tsFiles","filePaths","program","createProgram","getTypeChecker","introspects","_loop","tsFile","sourceFile","getSourceFile","results","classes","interfaces","_","includes","fileName","forEachChild","node","isClassDeclaration","getSymbolAtLocation","_parentClassSymbol","_parentClassSymbol$va","_parentClassSymbol$va2","_parentClassSymbol2","_parentClassSymbol2$p","_details$constructors","_details$constructors2","_details$constructors3","details","constructorType","parentClassSymbol","heritageClauses","getTypeAtLocation","types","getSymbol","parentClassName","text","parentClassPath","parent","replace","isAbstractClass","isModifierFlagSet","ModifierFlags","Abstract","constructors","getConstructSignatures","push","className","classPath","staticProperties","pluckStaticProperties","optionsInterfaceName","isAbstract","isInterfaceDeclaration","interfaceName","_default","exports","staticProps","_iterator","members","_step","_member$name","_member$initializer","member","escapedText","initializer"],"sources":["../../src/utilities/introspection.utility.ts"],"sourcesContent":["import _ from 'lodash'\nimport * as tsutils from 'tsutils'\nimport * as ts from 'typescript'\n\nexport interface IntrospectionClass {\n\tclassName: string\n\tclassPath: string\n\tparentClassName: string | undefined\n\tparentClassPath: string | undefined\n\toptionsInterfaceName: string | undefined\n\tisAbstract: boolean\n\tstaticProperties: StaticProperties\n}\n\ntype StaticProperties = Record<string, any>\n\ninterface IntrospectionInterface {\n\tinterfaceName: string\n}\n\nexport interface Introspection {\n\tclasses: IntrospectionClass[]\n\tinterfaces: IntrospectionInterface[]\n}\n\ninterface DocEntry {\n\tname?: string\n\tfileName?: string\n\tdocumentation?: string\n\ttype?: string\n\tconstructors?: DocEntry[]\n\tparameters?: DocEntry[]\n\treturnType?: string\n}\n\nconst serializeSymbol = (options: {\n\tchecker: ts.TypeChecker\n\tsymbol: ts.Symbol\n}): DocEntry => {\n\tconst { checker, symbol } = options\n\tconst doc: DocEntry = {\n\t\tname: symbol.getName(),\n\t\tdocumentation: ts.displayPartsToString(\n\t\t\tsymbol.getDocumentationComment(checker)\n\t\t),\n\t}\n\n\tif (symbol.valueDeclaration) {\n\t\tdoc.type = checker.typeToString(\n\t\t\tchecker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration)\n\t\t)\n\t}\n\n\treturn doc\n}\n\nconst serializeSignature = (options: {\n\tchecker: ts.TypeChecker\n\tsignature: ts.Signature\n}) => {\n\tconst { checker, signature } = options\n\treturn {\n\t\tparameters: signature.parameters.map((p) =>\n\t\t\tserializeSymbol({ symbol: p, checker })\n\t\t),\n\t\treturnType: checker.typeToString(signature.getReturnType()),\n\t\tdocumentation: ts.displayPartsToString(\n\t\t\tsignature.getDocumentationComment(checker)\n\t\t),\n\t}\n}\n\nconst introspectionUtil = {\n\tintrospect(tsFiles: string[]): Introspection[] {\n\t\tconst filePaths = tsFiles\n\t\tconst program = ts.createProgram(filePaths, {})\n\t\tconst checker = program.getTypeChecker()\n\n\t\t// for building results\n\t\tconst introspects: Introspection[] = []\n\n\t\tfor (let i = 0; i < filePaths.length; i += 1) {\n\t\t\tconst tsFile = filePaths[i]\n\t\t\tconst sourceFile = program.getSourceFile(tsFile)\n\t\t\tconst results: Introspection = { classes: [], interfaces: [] }\n\t\t\tif (sourceFile && _.includes(filePaths, sourceFile.fileName)) {\n\t\t\t\tts.forEachChild(sourceFile, (node) => {\n\t\t\t\t\t// if this is a class declaration\n\t\t\t\t\tif (ts.isClassDeclaration(node) && node.name) {\n\t\t\t\t\t\tconst symbol = checker.getSymbolAtLocation(node.name)\n\n\t\t\t\t\t\tif (symbol?.valueDeclaration) {\n\t\t\t\t\t\t\tconst details = serializeSymbol({ checker, symbol })\n\t\t\t\t\t\t\t// Get the construct signatures\n\t\t\t\t\t\t\tconst constructorType = checker.getTypeOfSymbolAtLocation(\n\t\t\t\t\t\t\t\tsymbol,\n\t\t\t\t\t\t\t\tsymbol.valueDeclaration\n\t\t\t\t\t\t\t)\n\n\t\t\t\t\t\t\tlet parentClassSymbol: ts.Symbol | undefined\n\t\t\t\t\t\t\tif (node.heritageClauses && node.heritageClauses[0]) {\n\t\t\t\t\t\t\t\tparentClassSymbol = checker\n\t\t\t\t\t\t\t\t\t.getTypeAtLocation(node.heritageClauses[0].types[0])\n\t\t\t\t\t\t\t\t\t.getSymbol()\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst parentClassName =\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tparentClassSymbol?.valueDeclaration?.name?.text\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tconst parentClassPath = parentClassSymbol?.parent\n\t\t\t\t\t\t\t\t?.getName()\n\t\t\t\t\t\t\t\t.replace('\"', '')\n\n\t\t\t\t\t\t\tconst isAbstractClass = tsutils.isModifierFlagSet(\n\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\tts.ModifierFlags.Abstract\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tdetails.constructors = constructorType\n\t\t\t\t\t\t\t\t.getConstructSignatures()\n\t\t\t\t\t\t\t\t.map((s) => serializeSignature({ signature: s, checker }))\n\n\t\t\t\t\t\t\tresults.classes.push({\n\t\t\t\t\t\t\t\tclassName: node.name.text,\n\t\t\t\t\t\t\t\tclassPath: sourceFile.fileName,\n\t\t\t\t\t\t\t\tparentClassName,\n\t\t\t\t\t\t\t\tparentClassPath,\n\t\t\t\t\t\t\t\tstaticProperties: pluckStaticProperties(node),\n\t\t\t\t\t\t\t\toptionsInterfaceName:\n\t\t\t\t\t\t\t\t\tdetails.constructors?.[0].parameters?.[0]?.type,\n\t\t\t\t\t\t\t\tisAbstract: isAbstractClass,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (ts.isInterfaceDeclaration(node)) {\n\t\t\t\t\t\tresults.interfaces.push({\n\t\t\t\t\t\t\tinterfaceName: node.name.text,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tintrospects.push(results)\n\t\t}\n\n\t\treturn introspects\n\t},\n}\n\nexport default introspectionUtil\n\nfunction pluckStaticProperties(node: ts.ClassDeclaration): StaticProperties {\n\tconst staticProps: StaticProperties = {}\n\n\tfor (const member of node.members) {\n\t\t//@ts-ignore\n\t\tconst name = member.name?.escapedText\n\t\t//@ts-ignore\n\t\tconst value = member.initializer?.text\n\n\t\tif (name && value) {\n\t\t\tstaticProps[name] = value\n\t\t}\n\t}\n\n\treturn staticProps\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"introspection.utility.js","names":["_lodash","_interopRequireDefault","require","tsutils","_interopRequireWildcard","ts","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","serializeSymbol","options","checker","symbol","doc","getName","documentation","displayPartsToString","getDocumentationComment","valueDeclaration","type","typeToString","getTypeOfSymbolAtLocation","serializeSignature","signature","parameters","map","p","returnType","getReturnType","introspectionUtil","introspect","tsFiles","filePaths","program","createProgram","getTypeChecker","introspects","_loop","tsFile","sourceFile","getSourceFile","results","classes","interfaces","_","includes","fileName","forEachChild","node","isClassDeclaration","getSymbolAtLocation","_parentClassSymbol","_parentClassSymbol2","_details$constructors","details","constructorType","parentClassSymbol","heritageClauses","getTypeAtLocation","types","getSymbol","parentClassName","text","parentClassPath","parent","replace","isAbstractClass","isModifierFlagSet","ModifierFlags","Abstract","constructors","getConstructSignatures","push","className","classPath","staticProperties","pluckStaticProperties","optionsInterfaceName","isAbstract","isInterfaceDeclaration","interfaceName","_default","exports","staticProps","_iterator","members","_step","_member$name","_member$initializer","member","escapedText","initializer"],"sources":["../../src/utilities/introspection.utility.ts"],"sourcesContent":["import _ from 'lodash'\nimport * as tsutils from 'tsutils'\nimport * as ts from 'typescript'\n\nexport interface IntrospectionClass {\n\tclassName: string\n\tclassPath: string\n\tparentClassName: string | undefined\n\tparentClassPath: string | undefined\n\toptionsInterfaceName: string | undefined\n\tisAbstract: boolean\n\tstaticProperties: StaticProperties\n}\n\ntype StaticProperties = Record<string, any>\n\ninterface IntrospectionInterface {\n\tinterfaceName: string\n}\n\nexport interface Introspection {\n\tclasses: IntrospectionClass[]\n\tinterfaces: IntrospectionInterface[]\n}\n\ninterface DocEntry {\n\tname?: string\n\tfileName?: string\n\tdocumentation?: string\n\ttype?: string\n\tconstructors?: DocEntry[]\n\tparameters?: DocEntry[]\n\treturnType?: string\n}\n\nconst serializeSymbol = (options: {\n\tchecker: ts.TypeChecker\n\tsymbol: ts.Symbol\n}): DocEntry => {\n\tconst { checker, symbol } = options\n\tconst doc: DocEntry = {\n\t\tname: symbol.getName(),\n\t\tdocumentation: ts.displayPartsToString(\n\t\t\tsymbol.getDocumentationComment(checker)\n\t\t),\n\t}\n\n\tif (symbol.valueDeclaration) {\n\t\tdoc.type = checker.typeToString(\n\t\t\tchecker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration)\n\t\t)\n\t}\n\n\treturn doc\n}\n\nconst serializeSignature = (options: {\n\tchecker: ts.TypeChecker\n\tsignature: ts.Signature\n}) => {\n\tconst { checker, signature } = options\n\treturn {\n\t\tparameters: signature.parameters.map((p) =>\n\t\t\tserializeSymbol({ symbol: p, checker })\n\t\t),\n\t\treturnType: checker.typeToString(signature.getReturnType()),\n\t\tdocumentation: ts.displayPartsToString(\n\t\t\tsignature.getDocumentationComment(checker)\n\t\t),\n\t}\n}\n\nconst introspectionUtil = {\n\tintrospect(tsFiles: string[]): Introspection[] {\n\t\tconst filePaths = tsFiles\n\t\tconst program = ts.createProgram(filePaths, {})\n\t\tconst checker = program.getTypeChecker()\n\n\t\t// for building results\n\t\tconst introspects: Introspection[] = []\n\n\t\tfor (let i = 0; i < filePaths.length; i += 1) {\n\t\t\tconst tsFile = filePaths[i]\n\t\t\tconst sourceFile = program.getSourceFile(tsFile)\n\t\t\tconst results: Introspection = { classes: [], interfaces: [] }\n\t\t\tif (sourceFile && _.includes(filePaths, sourceFile.fileName)) {\n\t\t\t\tts.forEachChild(sourceFile, (node) => {\n\t\t\t\t\t// if this is a class declaration\n\t\t\t\t\tif (ts.isClassDeclaration(node) && node.name) {\n\t\t\t\t\t\tconst symbol = checker.getSymbolAtLocation(node.name)\n\n\t\t\t\t\t\tif (symbol?.valueDeclaration) {\n\t\t\t\t\t\t\tconst details = serializeSymbol({ checker, symbol })\n\t\t\t\t\t\t\t// Get the construct signatures\n\t\t\t\t\t\t\tconst constructorType = checker.getTypeOfSymbolAtLocation(\n\t\t\t\t\t\t\t\tsymbol,\n\t\t\t\t\t\t\t\tsymbol.valueDeclaration\n\t\t\t\t\t\t\t)\n\n\t\t\t\t\t\t\tlet parentClassSymbol: ts.Symbol | undefined\n\t\t\t\t\t\t\tif (node.heritageClauses && node.heritageClauses[0]) {\n\t\t\t\t\t\t\t\tparentClassSymbol = checker\n\t\t\t\t\t\t\t\t\t.getTypeAtLocation(node.heritageClauses[0].types[0])\n\t\t\t\t\t\t\t\t\t.getSymbol()\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst parentClassName =\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tparentClassSymbol?.valueDeclaration?.name?.text\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tconst parentClassPath = parentClassSymbol?.parent\n\t\t\t\t\t\t\t\t?.getName()\n\t\t\t\t\t\t\t\t.replace('\"', '')\n\n\t\t\t\t\t\t\tconst isAbstractClass = tsutils.isModifierFlagSet(\n\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\tts.ModifierFlags.Abstract\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tdetails.constructors = constructorType\n\t\t\t\t\t\t\t\t.getConstructSignatures()\n\t\t\t\t\t\t\t\t.map((s) => serializeSignature({ signature: s, checker }))\n\n\t\t\t\t\t\t\tresults.classes.push({\n\t\t\t\t\t\t\t\tclassName: node.name.text,\n\t\t\t\t\t\t\t\tclassPath: sourceFile.fileName,\n\t\t\t\t\t\t\t\tparentClassName,\n\t\t\t\t\t\t\t\tparentClassPath,\n\t\t\t\t\t\t\t\tstaticProperties: pluckStaticProperties(node),\n\t\t\t\t\t\t\t\toptionsInterfaceName:\n\t\t\t\t\t\t\t\t\tdetails.constructors?.[0].parameters?.[0]?.type,\n\t\t\t\t\t\t\t\tisAbstract: isAbstractClass,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (ts.isInterfaceDeclaration(node)) {\n\t\t\t\t\t\tresults.interfaces.push({\n\t\t\t\t\t\t\tinterfaceName: node.name.text,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tintrospects.push(results)\n\t\t}\n\n\t\treturn introspects\n\t},\n}\n\nexport default introspectionUtil\n\nfunction pluckStaticProperties(node: ts.ClassDeclaration): StaticProperties {\n\tconst staticProps: StaticProperties = {}\n\n\tfor (const member of node.members) {\n\t\t//@ts-ignore\n\t\tconst name = member.name?.escapedText\n\t\t//@ts-ignore\n\t\tconst value = member.initializer?.text\n\n\t\tif (name && value) {\n\t\t\tstaticProps[name] = value\n\t\t}\n\t}\n\n\treturn staticProps\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,EAAA,GAAAD,uBAAA,CAAAF,OAAA;AAAgC,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAQ,MAAA,qBAAAN,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAO,CAAA,UAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAH,CAAA,IAAAT,CAAA,CAAAQ,MAAA,WAAAK,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAd,CAAA,CAAAS,CAAA,UAAAM,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAT,EAAA,GAAAA,EAAA,CAAAN,IAAA,CAAAI,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAU,IAAA,GAAApB,EAAA,CAAAqB,IAAA,IAAAJ,gBAAA,GAAAG,IAAA,CAAAT,IAAA,SAAAS,IAAA,KAAAP,CAAA,WAAAA,EAAAS,GAAA,IAAAJ,MAAA,SAAAC,GAAA,GAAAG,GAAA,KAAAP,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAjB,EAAA,oBAAAA,EAAA,8BAAAkB,MAAA,QAAAC,GAAA;AAAA,SAAAd,4BAAAP,CAAA,EAAAyB,MAAA,SAAAzB,CAAA,qBAAAA,CAAA,sBAAA0B,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA,OAAAb,CAAA,GAAAtB,MAAA,CAAAI,SAAA,CAAAiC,QAAA,CAAA/B,IAAA,CAAAI,CAAA,EAAA4B,KAAA,aAAAhB,CAAA,iBAAAZ,CAAA,CAAA6B,WAAA,EAAAjB,CAAA,GAAAZ,CAAA,CAAA6B,WAAA,CAAAC,IAAA,MAAAlB,CAAA,cAAAA,CAAA,mBAAAP,KAAA,CAAA0B,IAAA,CAAA/B,CAAA,OAAAY,CAAA,+DAAAoB,IAAA,CAAApB,CAAA,UAAAc,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA;AAAA,SAAAC,kBAAAO,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAzB,MAAA,EAAA0B,GAAA,GAAAD,GAAA,CAAAzB,MAAA,WAAAC,CAAA,MAAA0B,IAAA,OAAA9B,KAAA,CAAA6B,GAAA,GAAAzB,CAAA,GAAAyB,GAAA,EAAAzB,CAAA,IAAA0B,IAAA,CAAA1B,CAAA,IAAAwB,GAAA,CAAAxB,CAAA,UAAA0B,IAAA;AAiChC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,OAGxB,EAAe;EACf,IAAQC,OAAO,GAAaD,OAAO,CAA3BC,OAAO;IAAEC,MAAM,GAAKF,OAAO,CAAlBE,MAAM;EACvB,IAAMC,GAAa,GAAG;IACrBV,IAAI,EAAES,MAAM,CAACE,OAAO,CAAC,CAAC;IACtBC,aAAa,EAAElE,EAAE,CAACmE,oBAAoB,CACrCJ,MAAM,CAACK,uBAAuB,CAACN,OAAO,CACvC;EACD,CAAC;EAED,IAAIC,MAAM,CAACM,gBAAgB,EAAE;IAC5BL,GAAG,CAACM,IAAI,GAAGR,OAAO,CAACS,YAAY,CAC9BT,OAAO,CAACU,yBAAyB,CAACT,MAAM,EAAEA,MAAM,CAACM,gBAAgB,CAClE,CAAC;EACF;EAEA,OAAOL,GAAG;AACX,CAAC;AAED,IAAMS,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIZ,OAG3B,EAAK;EACL,IAAQC,OAAO,GAAgBD,OAAO,CAA9BC,OAAO;IAAEY,SAAS,GAAKb,OAAO,CAArBa,SAAS;EAC1B,OAAO;IACNC,UAAU,EAAED,SAAS,CAACC,UAAU,CAACC,GAAG,CAAC,UAACC,CAAC;MAAA,OACtCjB,eAAe,CAAC;QAAEG,MAAM,EAAEc,CAAC;QAAEf,OAAO,EAAPA;MAAQ,CAAC,CAAC;IAAA,CACxC,CAAC;IACDgB,UAAU,EAAEhB,OAAO,CAACS,YAAY,CAACG,SAAS,CAACK,aAAa,CAAC,CAAC,CAAC;IAC3Db,aAAa,EAAElE,EAAE,CAACmE,oBAAoB,CACrCO,SAAS,CAACN,uBAAuB,CAACN,OAAO,CAC1C;EACD,CAAC;AACF,CAAC;AAED,IAAMkB,iBAAiB,GAAG;EACzBC,UAAU,WAAAA,WAACC,OAAiB,EAAmB;IAC9C,IAAMC,SAAS,GAAGD,OAAO;IACzB,IAAME,OAAO,GAAGpF,EAAE,CAACqF,aAAa,CAACF,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAMrB,OAAO,GAAGsB,OAAO,CAACE,cAAc,CAAC,CAAC;;IAExC;IACA,IAAMC,WAA4B,GAAG,EAAE;IAAA,IAAAC,KAAA,YAAAA,MAAA,EAEO;MAC7C,IAAMC,MAAM,GAAGN,SAAS,CAAClD,CAAC,CAAC;MAC3B,IAAMyD,UAAU,GAAGN,OAAO,CAACO,aAAa,CAACF,MAAM,CAAC;MAChD,IAAMG,OAAsB,GAAG;QAAEC,OAAO,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAG,CAAC;MAC9D,IAAIJ,UAAU,IAAIK,kBAAC,CAACC,QAAQ,CAACb,SAAS,EAAEO,UAAU,CAACO,QAAQ,CAAC,EAAE;QAC7DjG,EAAE,CAACkG,YAAY,CAACR,UAAU,EAAE,UAACS,IAAI,EAAK;UACrC;UACA,IAAInG,EAAE,CAACoG,kBAAkB,CAACD,IAAI,CAAC,IAAIA,IAAI,CAAC7C,IAAI,EAAE;YAC7C,IAAMS,MAAM,GAAGD,OAAO,CAACuC,mBAAmB,CAACF,IAAI,CAAC7C,IAAI,CAAC;YAErD,IAAIS,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEM,gBAAgB,EAAE;cAAA,IAAAiC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA;cAC7B,IAAMC,OAAO,GAAG7C,eAAe,CAAC;gBAAEE,OAAO,EAAPA,OAAO;gBAAEC,MAAM,EAANA;cAAO,CAAC,CAAC;cACpD;cACA,IAAM2C,eAAe,GAAG5C,OAAO,CAACU,yBAAyB,CACxDT,MAAM,EACNA,MAAM,CAACM,gBACR,CAAC;cAED,IAAIsC,iBAAwC;cAC5C,IAAIR,IAAI,CAACS,eAAe,IAAIT,IAAI,CAACS,eAAe,CAAC,CAAC,CAAC,EAAE;gBACpDD,iBAAiB,GAAG7C,OAAO,CACzB+C,iBAAiB,CAACV,IAAI,CAACS,eAAe,CAAC,CAAC,CAAC,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CACnDC,SAAS,CAAC,CAAC;cACd;cAEA,IAAMC,eAAe,GACpB;cAAA,CAAAV,kBAAA,GACAK,iBAAiB,cAAAL,kBAAA,gBAAAA,kBAAA,GAAjBA,kBAAA,CAAmBjC,gBAAgB,cAAAiC,kBAAA,gBAAAA,kBAAA,GAAnCA,kBAAA,CAAqChD,IAAI,cAAAgD,kBAAA,uBAAzCA,kBAAA,CAA2CW,IAAI;cAChD;cACA,IAAMC,eAAe,IAAAX,mBAAA,GAAGI,iBAAiB,cAAAJ,mBAAA,gBAAAA,mBAAA,GAAjBA,mBAAA,CAAmBY,MAAM,cAAAZ,mBAAA,uBAAzBA,mBAAA,CACrBtC,OAAO,CAAC,CAAC,CACVmD,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;cAElB,IAAMC,eAAe,GAAGvH,OAAO,CAACwH,iBAAiB,CAChDnB,IAAI,EACJnG,EAAE,CAACuH,aAAa,CAACC,QAClB,CAAC;cACDf,OAAO,CAACgB,YAAY,GAAGf,eAAe,CACpCgB,sBAAsB,CAAC,CAAC,CACxB9C,GAAG,CAAC,UAACzC,CAAC;gBAAA,OAAKsC,kBAAkB,CAAC;kBAAEC,SAAS,EAAEvC,CAAC;kBAAE2B,OAAO,EAAPA;gBAAQ,CAAC,CAAC;cAAA,EAAC;cAE3D8B,OAAO,CAACC,OAAO,CAAC8B,IAAI,CAAC;gBACpBC,SAAS,EAAEzB,IAAI,CAAC7C,IAAI,CAAC2D,IAAI;gBACzBY,SAAS,EAAEnC,UAAU,CAACO,QAAQ;gBAC9Be,eAAe,EAAfA,eAAe;gBACfE,eAAe,EAAfA,eAAe;gBACfY,gBAAgB,EAAEC,qBAAqB,CAAC5B,IAAI,CAAC;gBAC7C6B,oBAAoB,GAAAxB,qBAAA,GACnBC,OAAO,CAACgB,YAAY,cAAAjB,qBAAA,gBAAAA,qBAAA,GAApBA,qBAAA,CAAuB,CAAC,CAAC,CAAC7B,UAAU,cAAA6B,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAuC,CAAC,CAAC,cAAAA,qBAAA,uBAAzCA,qBAAA,CAA2ClC,IAAI;gBAChD2D,UAAU,EAAEZ;cACb,CAAC,CAAC;YACH;UACD,CAAC,MAAM,IAAIrH,EAAE,CAACkI,sBAAsB,CAAC/B,IAAI,CAAC,EAAE;YAC3CP,OAAO,CAACE,UAAU,CAAC6B,IAAI,CAAC;cACvBQ,aAAa,EAAEhC,IAAI,CAAC7C,IAAI,CAAC2D;YAC1B,CAAC,CAAC;UACH;QACD,CAAC,CAAC;MACH;MAEA1B,WAAW,CAACoC,IAAI,CAAC/B,OAAO,CAAC;IAC1B,CAAC;IA7DD,KAAK,IAAI3D,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkD,SAAS,CAACnD,MAAM,EAAEC,CAAC,IAAI,CAAC;MAAAuD,KAAA;IAAA;IA+D5C,OAAOD,WAAW;EACnB;AACD,CAAC;AAAA,IAAA6C,QAAA,GAEcpD,iBAAiB;AAAAqD,OAAA,cAAAD,QAAA;AAEhC,SAASL,qBAAqBA,CAAC5B,IAAyB,EAAoB;EAC3E,IAAMmC,WAA6B,GAAG,CAAC,CAAC;EAAA,IAAAC,SAAA,GAAAhH,0BAAA,CAEnB4E,IAAI,CAACqC,OAAO;IAAAC,KAAA;EAAA;IAAjC,KAAAF,SAAA,CAAApG,CAAA,MAAAsG,KAAA,GAAAF,SAAA,CAAAnG,CAAA,IAAAC,IAAA,GAAmC;MAAA,IAAAqG,YAAA,EAAAC,mBAAA;MAAA,IAAxBC,MAAM,GAAAH,KAAA,CAAAnG,KAAA;MAChB;MACA,IAAMgB,IAAI,IAAAoF,YAAA,GAAGE,MAAM,CAACtF,IAAI,cAAAoF,YAAA,uBAAXA,YAAA,CAAaG,WAAW;MACrC;MACA,IAAMvG,KAAK,IAAAqG,mBAAA,GAAGC,MAAM,CAACE,WAAW,cAAAH,mBAAA,uBAAlBA,mBAAA,CAAoB1B,IAAI;MAEtC,IAAI3D,IAAI,IAAIhB,KAAK,EAAE;QAClBgG,WAAW,CAAChF,IAAI,CAAC,GAAGhB,KAAK;MAC1B;IACD;EAAC,SAAAO,GAAA;IAAA0F,SAAA,CAAAhG,CAAA,CAAAM,GAAA;EAAA;IAAA0F,SAAA,CAAA9F,CAAA;EAAA;EAED,OAAO6F,WAAW;AACnB"}
@@ -52,8 +52,8 @@ var tsConfigUtil = {
52
52
  this.writeConfig(dir, contents);
53
53
  },
54
54
  isPathAliasSet: function isPathAliasSet(dir, path) {
55
- var _this$readConfig$comp, _this$readConfig$comp2;
56
- return !!((_this$readConfig$comp = this.readConfig(dir).compilerOptions) !== null && _this$readConfig$comp !== void 0 && (_this$readConfig$comp2 = _this$readConfig$comp.paths) !== null && _this$readConfig$comp2 !== void 0 && _this$readConfig$comp2[path]);
55
+ var _this$readConfig$comp;
56
+ return !!((_this$readConfig$comp = this.readConfig(dir).compilerOptions) !== null && _this$readConfig$comp !== void 0 && (_this$readConfig$comp = _this$readConfig$comp.paths) !== null && _this$readConfig$comp !== void 0 && _this$readConfig$comp[path]);
57
57
  }
58
58
  };
59
59
  var _default = tsConfigUtil;
@@ -1 +1 @@
1
- {"version":3,"file":"tsConfig.utility.js","names":["_path","_interopRequireDefault","require","_fsExtra","_SpruceError","tsConfigUtil","readConfig","dir","source","packagePath","pathUtil","join","contents","fs","readFileSync","toString","parsed","JSON","parse","err","SpruceError","code","file","originalError","setPathAlias","alias","patterns","_contents$compilerOpt","_contents$compilerOpt2","paths","compilerOptions","writeConfig","destination","outputFileSync","stringify","setCompilerOption","key","value","isPathAliasSet","path","_this$readConfig$comp","_this$readConfig$comp2","_default","exports"],"sources":["../../src/utilities/tsConfig.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport fs from 'fs-extra'\nimport SpruceError from '../errors/SpruceError'\nconst tsConfigUtil = {\n\treadConfig(dir: string): Record<string, any | undefined> {\n\t\tconst source = dir\n\t\tconst packagePath = pathUtil.join(source, 'tsconfig.json')\n\t\tconst contents = fs.readFileSync(packagePath).toString()\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(contents)\n\t\t\treturn parsed\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile: packagePath,\n\t\t\t\toriginalError: err,\n\t\t\t})\n\t\t}\n\t},\n\n\tsetPathAlias(dir: string, alias: string, patterns: string[]) {\n\t\tconst contents = this.readConfig(dir)\n\t\tconst paths = contents.compilerOptions?.paths ?? {}\n\n\t\t// Set new path\n\t\tpaths[alias] = patterns\n\n\t\t// Pass back to contents\n\t\tif (!contents.compilerOptions) {\n\t\t\tcontents.compilerOptions = {}\n\t\t}\n\n\t\tcontents.compilerOptions.paths = paths\n\n\t\tthis.writeConfig(dir, contents)\n\t},\n\n\twriteConfig(dir: string, contents: Record<string, any>) {\n\t\tconst destination = pathUtil.join(dir, 'tsconfig.json')\n\t\tfs.outputFileSync(destination, JSON.stringify(contents, null, 2))\n\t},\n\n\tsetCompilerOption(\n\t\tdir: string,\n\t\tkey: string,\n\t\tvalue: boolean | string | number\n\t) {\n\t\tconst contents = this.readConfig(dir)\n\t\tif (!contents.compilerOptions) {\n\t\t\tcontents.compilerOptions = {}\n\t\t}\n\n\t\tcontents.compilerOptions[key] = value\n\n\t\tthis.writeConfig(dir, contents)\n\t},\n\n\tisPathAliasSet(dir: string, path: string) {\n\t\treturn !!this.readConfig(dir).compilerOptions?.paths?.[path]\n\t},\n}\n\nexport default tsConfigUtil\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAMG,YAAY,GAAG;EACpBC,UAAU,WAAAA,WAACC,GAAW,EAAmC;IACxD,IAAMC,MAAM,GAAGD,GAAG;IAClB,IAAME,WAAW,GAAGC,gBAAQ,CAACC,IAAI,CAACH,MAAM,EAAE,eAAe,CAAC;IAC1D,IAAMI,QAAQ,GAAGC,mBAAE,CAACC,YAAY,CAACL,WAAW,CAAC,CAACM,QAAQ,CAAC,CAAC;IACxD,IAAI;MACH,IAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,QAAQ,CAAC;MACnC,OAAOI,MAAM;IACd,CAAC,CAAC,OAAOG,GAAQ,EAAE;MAClB,MAAM,IAAIC,uBAAW,CAAC;QACrBC,IAAI,EAAE,kBAAkB;QACxBC,IAAI,EAAEb,WAAW;QACjBc,aAAa,EAAEJ;MAChB,CAAC,CAAC;IACH;EACD,CAAC;EAEDK,YAAY,WAAAA,aAACjB,GAAW,EAAEkB,KAAa,EAAEC,QAAkB,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC5D,IAAMhB,QAAQ,GAAG,IAAI,CAACN,UAAU,CAACC,GAAG,CAAC;IACrC,IAAMsB,KAAK,IAAAF,qBAAA,IAAAC,sBAAA,GAAGhB,QAAQ,CAACkB,eAAe,cAAAF,sBAAA,uBAAxBA,sBAAA,CAA0BC,KAAK,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;;IAEnD;IACAE,KAAK,CAACJ,KAAK,CAAC,GAAGC,QAAQ;;IAEvB;IACA,IAAI,CAACd,QAAQ,CAACkB,eAAe,EAAE;MAC9BlB,QAAQ,CAACkB,eAAe,GAAG,CAAC,CAAC;IAC9B;IAEAlB,QAAQ,CAACkB,eAAe,CAACD,KAAK,GAAGA,KAAK;IAEtC,IAAI,CAACE,WAAW,CAACxB,GAAG,EAAEK,QAAQ,CAAC;EAChC,CAAC;EAEDmB,WAAW,WAAAA,YAACxB,GAAW,EAAEK,QAA6B,EAAE;IACvD,IAAMoB,WAAW,GAAGtB,gBAAQ,CAACC,IAAI,CAACJ,GAAG,EAAE,eAAe,CAAC;IACvDM,mBAAE,CAACoB,cAAc,CAACD,WAAW,EAAEf,IAAI,CAACiB,SAAS,CAACtB,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EAClE,CAAC;EAEDuB,iBAAiB,WAAAA,kBAChB5B,GAAW,EACX6B,GAAW,EACXC,KAAgC,EAC/B;IACD,IAAMzB,QAAQ,GAAG,IAAI,CAACN,UAAU,CAACC,GAAG,CAAC;IACrC,IAAI,CAACK,QAAQ,CAACkB,eAAe,EAAE;MAC9BlB,QAAQ,CAACkB,eAAe,GAAG,CAAC,CAAC;IAC9B;IAEAlB,QAAQ,CAACkB,eAAe,CAACM,GAAG,CAAC,GAAGC,KAAK;IAErC,IAAI,CAACN,WAAW,CAACxB,GAAG,EAAEK,QAAQ,CAAC;EAChC,CAAC;EAED0B,cAAc,WAAAA,eAAC/B,GAAW,EAAEgC,IAAY,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACzC,OAAO,CAAC,GAAAD,qBAAA,GAAC,IAAI,CAAClC,UAAU,CAACC,GAAG,CAAC,CAACuB,eAAe,cAAAU,qBAAA,gBAAAC,sBAAA,GAApCD,qBAAA,CAAsCX,KAAK,cAAAY,sBAAA,eAA3CA,sBAAA,CAA8CF,IAAI,CAAC;EAC7D;AACD,CAAC;AAAA,IAAAG,QAAA,GAEcrC,YAAY;AAAAsC,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"tsConfig.utility.js","names":["_path","_interopRequireDefault","require","_fsExtra","_SpruceError","tsConfigUtil","readConfig","dir","source","packagePath","pathUtil","join","contents","fs","readFileSync","toString","parsed","JSON","parse","err","SpruceError","code","file","originalError","setPathAlias","alias","patterns","_contents$compilerOpt","_contents$compilerOpt2","paths","compilerOptions","writeConfig","destination","outputFileSync","stringify","setCompilerOption","key","value","isPathAliasSet","path","_this$readConfig$comp","_default","exports"],"sources":["../../src/utilities/tsConfig.utility.ts"],"sourcesContent":["import pathUtil from 'path'\nimport fs from 'fs-extra'\nimport SpruceError from '../errors/SpruceError'\nconst tsConfigUtil = {\n\treadConfig(dir: string): Record<string, any | undefined> {\n\t\tconst source = dir\n\t\tconst packagePath = pathUtil.join(source, 'tsconfig.json')\n\t\tconst contents = fs.readFileSync(packagePath).toString()\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(contents)\n\t\t\treturn parsed\n\t\t} catch (err: any) {\n\t\t\tthrow new SpruceError({\n\t\t\t\tcode: 'FAILED_TO_IMPORT',\n\t\t\t\tfile: packagePath,\n\t\t\t\toriginalError: err,\n\t\t\t})\n\t\t}\n\t},\n\n\tsetPathAlias(dir: string, alias: string, patterns: string[]) {\n\t\tconst contents = this.readConfig(dir)\n\t\tconst paths = contents.compilerOptions?.paths ?? {}\n\n\t\t// Set new path\n\t\tpaths[alias] = patterns\n\n\t\t// Pass back to contents\n\t\tif (!contents.compilerOptions) {\n\t\t\tcontents.compilerOptions = {}\n\t\t}\n\n\t\tcontents.compilerOptions.paths = paths\n\n\t\tthis.writeConfig(dir, contents)\n\t},\n\n\twriteConfig(dir: string, contents: Record<string, any>) {\n\t\tconst destination = pathUtil.join(dir, 'tsconfig.json')\n\t\tfs.outputFileSync(destination, JSON.stringify(contents, null, 2))\n\t},\n\n\tsetCompilerOption(\n\t\tdir: string,\n\t\tkey: string,\n\t\tvalue: boolean | string | number\n\t) {\n\t\tconst contents = this.readConfig(dir)\n\t\tif (!contents.compilerOptions) {\n\t\t\tcontents.compilerOptions = {}\n\t\t}\n\n\t\tcontents.compilerOptions[key] = value\n\n\t\tthis.writeConfig(dir, contents)\n\t},\n\n\tisPathAliasSet(dir: string, path: string) {\n\t\treturn !!this.readConfig(dir).compilerOptions?.paths?.[path]\n\t},\n}\n\nexport default tsConfigUtil\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAMG,YAAY,GAAG;EACpBC,UAAU,WAAAA,WAACC,GAAW,EAAmC;IACxD,IAAMC,MAAM,GAAGD,GAAG;IAClB,IAAME,WAAW,GAAGC,gBAAQ,CAACC,IAAI,CAACH,MAAM,EAAE,eAAe,CAAC;IAC1D,IAAMI,QAAQ,GAAGC,mBAAE,CAACC,YAAY,CAACL,WAAW,CAAC,CAACM,QAAQ,CAAC,CAAC;IACxD,IAAI;MACH,IAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,QAAQ,CAAC;MACnC,OAAOI,MAAM;IACd,CAAC,CAAC,OAAOG,GAAQ,EAAE;MAClB,MAAM,IAAIC,uBAAW,CAAC;QACrBC,IAAI,EAAE,kBAAkB;QACxBC,IAAI,EAAEb,WAAW;QACjBc,aAAa,EAAEJ;MAChB,CAAC,CAAC;IACH;EACD,CAAC;EAEDK,YAAY,WAAAA,aAACjB,GAAW,EAAEkB,KAAa,EAAEC,QAAkB,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC5D,IAAMhB,QAAQ,GAAG,IAAI,CAACN,UAAU,CAACC,GAAG,CAAC;IACrC,IAAMsB,KAAK,IAAAF,qBAAA,IAAAC,sBAAA,GAAGhB,QAAQ,CAACkB,eAAe,cAAAF,sBAAA,uBAAxBA,sBAAA,CAA0BC,KAAK,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;;IAEnD;IACAE,KAAK,CAACJ,KAAK,CAAC,GAAGC,QAAQ;;IAEvB;IACA,IAAI,CAACd,QAAQ,CAACkB,eAAe,EAAE;MAC9BlB,QAAQ,CAACkB,eAAe,GAAG,CAAC,CAAC;IAC9B;IAEAlB,QAAQ,CAACkB,eAAe,CAACD,KAAK,GAAGA,KAAK;IAEtC,IAAI,CAACE,WAAW,CAACxB,GAAG,EAAEK,QAAQ,CAAC;EAChC,CAAC;EAEDmB,WAAW,WAAAA,YAACxB,GAAW,EAAEK,QAA6B,EAAE;IACvD,IAAMoB,WAAW,GAAGtB,gBAAQ,CAACC,IAAI,CAACJ,GAAG,EAAE,eAAe,CAAC;IACvDM,mBAAE,CAACoB,cAAc,CAACD,WAAW,EAAEf,IAAI,CAACiB,SAAS,CAACtB,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EAClE,CAAC;EAEDuB,iBAAiB,WAAAA,kBAChB5B,GAAW,EACX6B,GAAW,EACXC,KAAgC,EAC/B;IACD,IAAMzB,QAAQ,GAAG,IAAI,CAACN,UAAU,CAACC,GAAG,CAAC;IACrC,IAAI,CAACK,QAAQ,CAACkB,eAAe,EAAE;MAC9BlB,QAAQ,CAACkB,eAAe,GAAG,CAAC,CAAC;IAC9B;IAEAlB,QAAQ,CAACkB,eAAe,CAACM,GAAG,CAAC,GAAGC,KAAK;IAErC,IAAI,CAACN,WAAW,CAACxB,GAAG,EAAEK,QAAQ,CAAC;EAChC,CAAC;EAED0B,cAAc,WAAAA,eAAC/B,GAAW,EAAEgC,IAAY,EAAE;IAAA,IAAAC,qBAAA;IACzC,OAAO,CAAC,GAAAA,qBAAA,GAAC,IAAI,CAAClC,UAAU,CAACC,GAAG,CAAC,CAACuB,eAAe,cAAAU,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAsCX,KAAK,cAAAW,qBAAA,eAA3CA,qBAAA,CAA8CD,IAAI,CAAC;EAC7D;AACD,CAAC;AAAA,IAAAE,QAAA,GAEcpC,YAAY;AAAAqC,OAAA,cAAAD,QAAA"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-eslint/parser",
3
- "version": "5.60.1",
3
+ "version": "5.62.0",
4
4
  "description": "An ESLint custom parser which leverages TypeScript ESTree",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -45,9 +45,9 @@
45
45
  "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
46
46
  },
47
47
  "dependencies": {
48
- "@typescript-eslint/scope-manager": "5.60.1",
49
- "@typescript-eslint/types": "5.60.1",
50
- "@typescript-eslint/typescript-estree": "5.60.1",
48
+ "@typescript-eslint/scope-manager": "5.62.0",
49
+ "@typescript-eslint/types": "5.62.0",
50
+ "@typescript-eslint/typescript-estree": "5.62.0",
51
51
  "debug": "^4.3.4"
52
52
  },
53
53
  "devDependencies": {
@@ -71,5 +71,5 @@
71
71
  ]
72
72
  }
73
73
  },
74
- "gitHead": "f74862cbfb5c74ba958ba27d1ea2ca5046821818"
74
+ "gitHead": "cba0d113bba1bbcee69149c954dc6bd4c658c714"
75
75
  }
@@ -14,6 +14,5 @@ var DefinitionType;
14
14
  DefinitionType["TSModuleName"] = "TSModuleName";
15
15
  DefinitionType["Type"] = "Type";
16
16
  DefinitionType["Variable"] = "Variable";
17
- })(DefinitionType || (DefinitionType = {}));
18
- exports.DefinitionType = DefinitionType;
17
+ })(DefinitionType || (exports.DefinitionType = DefinitionType = {}));
19
18
  //# sourceMappingURL=DefinitionType.js.map