@sprucelabs/spruce-cli 17.1.53 → 17.1.54

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 (1060) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js +0 -4
  3. package/build/.spruce/errors/spruceCli/actionCancelled.schema.js.map +1 -1
  4. package/build/.spruce/errors/spruceCli/bootError.schema.js +0 -4
  5. package/build/.spruce/errors/spruceCli/bootError.schema.js.map +1 -1
  6. package/build/.spruce/errors/spruceCli/buildFailed.schema.js +0 -4
  7. package/build/.spruce/errors/spruceCli/buildFailed.schema.js.map +1 -1
  8. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js +0 -4
  9. package/build/.spruce/errors/spruceCli/cacheNotEnabled.schema.js.map +1 -1
  10. package/build/.spruce/errors/spruceCli/commandAborted.schema.js +0 -4
  11. package/build/.spruce/errors/spruceCli/commandAborted.schema.js.map +1 -1
  12. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js +0 -5
  13. package/build/.spruce/errors/spruceCli/commandBlocked.schema.js.map +1 -1
  14. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js +0 -5
  15. package/build/.spruce/errors/spruceCli/commandNotImplemented.schema.js.map +1 -1
  16. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js +0 -7
  17. package/build/.spruce/errors/spruceCli/createAutoloaderFailed.schema.js.map +1 -1
  18. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js +0 -4
  19. package/build/.spruce/errors/spruceCli/dependencyExists.schema.js.map +1 -1
  20. package/build/.spruce/errors/spruceCli/deployFailed.schema.js +0 -4
  21. package/build/.spruce/errors/spruceCli/deployFailed.schema.js.map +1 -1
  22. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js +0 -4
  23. package/build/.spruce/errors/spruceCli/directoryEmpty.schema.js.map +1 -1
  24. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js +0 -4
  25. package/build/.spruce/errors/spruceCli/directoryNotSkill.schema.js.map +1 -1
  26. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js +0 -4
  27. package/build/.spruce/errors/spruceCli/dockerNotStarted.schema.js.map +1 -1
  28. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js +0 -8
  29. package/build/.spruce/errors/spruceCli/executingCommandFailed.schema.js.map +1 -1
  30. package/build/.spruce/errors/spruceCli/failedToImport.schema.js +0 -4
  31. package/build/.spruce/errors/spruceCli/failedToImport.schema.js.map +1 -1
  32. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js +0 -4
  33. package/build/.spruce/errors/spruceCli/featureNotInstalled.schema.js.map +1 -1
  34. package/build/.spruce/errors/spruceCli/fileExists.schema.js +0 -4
  35. package/build/.spruce/errors/spruceCli/fileExists.schema.js.map +1 -1
  36. package/build/.spruce/errors/spruceCli/generic.schema.js +0 -4
  37. package/build/.spruce/errors/spruceCli/generic.schema.js.map +1 -1
  38. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js +0 -4
  39. package/build/.spruce/errors/spruceCli/invalidCommand.schema.js.map +1 -1
  40. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js +0 -5
  41. package/build/.spruce/errors/spruceCli/invalidEventContract.schema.js.map +1 -1
  42. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js +0 -4
  43. package/build/.spruce/errors/spruceCli/invalidFeatureCode.schema.js.map +1 -1
  44. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js +0 -4
  45. package/build/.spruce/errors/spruceCli/invalidTestDirectory.schema.js.map +1 -1
  46. package/build/.spruce/errors/spruceCli/lintFailed.schema.js +0 -4
  47. package/build/.spruce/errors/spruceCli/lintFailed.schema.js.map +1 -1
  48. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js +0 -4
  49. package/build/.spruce/errors/spruceCli/mercuryResponseError.schema.js.map +1 -1
  50. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js +0 -6
  51. package/build/.spruce/errors/spruceCli/missingDependencies.schema.js.map +1 -1
  52. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js +0 -5
  53. package/build/.spruce/errors/spruceCli/missingDependenciesDependency.schema.js.map +1 -1
  54. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js +0 -4
  55. package/build/.spruce/errors/spruceCli/noOrganizationsFound.schema.js.map +1 -1
  56. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js +0 -4
  57. package/build/.spruce/errors/spruceCli/noSkillsRegistered.schema.js.map +1 -1
  58. package/build/.spruce/errors/spruceCli/notImplemented.schema.js +0 -4
  59. package/build/.spruce/errors/spruceCli/notImplemented.schema.js.map +1 -1
  60. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js +0 -4
  61. package/build/.spruce/errors/spruceCli/notLoggedIn.schema.js.map +1 -1
  62. package/build/.spruce/errors/spruceCli/schemaExists.schema.js +0 -5
  63. package/build/.spruce/errors/spruceCli/schemaExists.schema.js.map +1 -1
  64. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js +0 -4
  65. package/build/.spruce/errors/spruceCli/schemaFailedToImport.schema.js.map +1 -1
  66. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js +0 -7
  67. package/build/.spruce/errors/spruceCli/schemaTemplateItemBuildingFailed.schema.js.map +1 -1
  68. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js +0 -4
  69. package/build/.spruce/errors/spruceCli/skillNotFound.schema.js.map +1 -1
  70. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js +0 -4
  71. package/build/.spruce/errors/spruceCli/skillNotRegistered.schema.js.map +1 -1
  72. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js +0 -4
  73. package/build/.spruce/errors/spruceCli/skillViewExists.schema.js.map +1 -1
  74. package/build/.spruce/errors/spruceCli/storeExists.schema.js +0 -4
  75. package/build/.spruce/errors/spruceCli/storeExists.schema.js.map +1 -1
  76. package/build/.spruce/errors/spruceCli/testFailed.schema.js +0 -6
  77. package/build/.spruce/errors/spruceCli/testFailed.schema.js.map +1 -1
  78. package/build/.spruce/errors/spruceCli/themeExists.schema.js +0 -4
  79. package/build/.spruce/errors/spruceCli/themeExists.schema.js.map +1 -1
  80. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js +0 -4
  81. package/build/.spruce/errors/spruceCli/transportAlreadyExists.schema.js.map +1 -1
  82. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js +0 -4
  83. package/build/.spruce/errors/spruceCli/vscodeNotInstalled.schema.js.map +1 -1
  84. package/build/.spruce/events/events.contract.js +0 -10
  85. package/build/.spruce/events/events.contract.js.map +1 -1
  86. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +0 -4
  87. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  88. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +0 -5
  89. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  90. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +0 -5
  91. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  92. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js +0 -4
  93. package/build/.spruce/events/heartwood/listViews.v2021_02_11.contract.js.map +1 -1
  94. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js +0 -5
  95. package/build/.spruce/events/heartwood/registerSkillViews.v2021_02_11.contract.js.map +1 -1
  96. package/build/.spruce/schemas/fields/fieldClassMap.js +0 -2
  97. package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -1
  98. package/build/.spruce/schemas/fields/fields.types.js +0 -1
  99. package/build/.spruce/schemas/fields/fields.types.js.map +1 -1
  100. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js +0 -4
  101. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitPayload.schema.js.map +1 -1
  102. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js +0 -4
  103. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTarget.schema.js.map +1 -1
  104. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js +0 -10
  105. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  106. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js +0 -4
  107. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitPayload.schema.js.map +1 -1
  108. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js +0 -4
  109. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTarget.schema.js.map +1 -1
  110. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js +0 -10
  111. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  112. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js +0 -4
  113. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlResponsePayload.schema.js.map +1 -1
  114. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js +0 -4
  115. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTarget.schema.js.map +1 -1
  116. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js +0 -8
  117. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeEmitTargetAndPayload.schema.js.map +1 -1
  118. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js +0 -6
  119. package/build/.spruce/schemas/heartwood/v2021_02_11/getActiveThemeResponsePayload.schema.js.map +1 -1
  120. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js +0 -8
  121. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  122. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js +0 -9
  123. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  124. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js +0 -4
  125. package/build/.spruce/schemas/heartwood/v2021_02_11/getViewControllersEmitTarget.schema.js.map +1 -1
  126. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js +0 -6
  127. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResponsePayload.schema.js.map +1 -1
  128. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js +0 -6
  129. package/build/.spruce/schemas/heartwood/v2021_02_11/listViewsResult.schema.js.map +1 -1
  130. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js +0 -4
  131. package/build/.spruce/schemas/heartwood/v2021_02_11/registerDashboardCardsResponsePayload.schema.js.map +1 -1
  132. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js +0 -8
  133. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  134. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js +0 -8
  135. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  136. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js +0 -4
  137. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsResponsePayload.schema.js.map +1 -1
  138. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js +0 -8
  139. package/build/.spruce/schemas/heartwood/v2021_02_11/theme.schema.js.map +1 -1
  140. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js +0 -6
  141. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitPayload.schema.js.map +1 -1
  142. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js +0 -4
  143. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTarget.schema.js.map +1 -1
  144. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js +0 -10
  145. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeEmitTargetAndPayload.schema.js.map +1 -1
  146. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js +0 -6
  147. package/build/.spruce/schemas/heartwood/v2021_02_11/upsertThemeResponsePayload.schema.js.map +1 -1
  148. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js +0 -1
  149. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -1
  150. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js +0 -1
  151. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/themeProps.schema.js.map +1 -1
  152. package/build/.spruce/schemas/schemas.types.js +0 -2
  153. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  154. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js +0 -1
  155. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +1 -1
  156. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js +0 -1
  157. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +1 -1
  158. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js +0 -1
  159. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +1 -1
  160. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js +0 -1
  161. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +1 -1
  162. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js +0 -1
  163. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +1 -1
  164. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js +0 -1
  165. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +1 -1
  166. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js +0 -1
  167. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +1 -1
  168. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js +0 -1
  169. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +1 -1
  170. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js +0 -1
  171. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +1 -1
  172. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js +0 -1
  173. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +1 -1
  174. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js +0 -1
  175. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +1 -1
  176. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js +0 -1
  177. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +1 -1
  178. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js +0 -1
  179. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +1 -1
  180. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js +0 -1
  181. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +1 -1
  182. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js +0 -7
  183. package/build/.spruce/schemas/spruceCli/v2020_07_22/bootSkillOptions.schema.js.map +1 -1
  184. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js +0 -5
  185. package/build/.spruce/schemas/spruceCli/v2020_07_22/createConversationTopicOptions.schema.js.map +1 -1
  186. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js +0 -27
  187. package/build/.spruce/schemas/spruceCli/v2020_07_22/createErrorOptions.schema.js.map +1 -1
  188. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js +0 -5
  189. package/build/.spruce/schemas/spruceCli/v2020_07_22/createOrganizationOptions.schema.js.map +1 -1
  190. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js +0 -29
  191. package/build/.spruce/schemas/spruceCli/v2020_07_22/createSchemaOptions.schema.js.map +1 -1
  192. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js +0 -8
  193. package/build/.spruce/schemas/spruceCli/v2020_07_22/createTestOptions.schema.js.map +1 -1
  194. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js +0 -7
  195. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedDir.schema.js.map +1 -1
  196. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js +0 -7
  197. package/build/.spruce/schemas/spruceCli/v2020_07_22/generatedFile.schema.js.map +1 -1
  198. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js +0 -4
  199. package/build/.spruce/schemas/spruceCli/v2020_07_22/installSkillAtOrganizationOptions.schema.js.map +1 -1
  200. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js +0 -12
  201. package/build/.spruce/schemas/spruceCli/v2020_07_22/listenEventOptions.schema.js.map +1 -1
  202. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js +0 -14
  203. package/build/.spruce/schemas/spruceCli/v2020_07_22/namedTemplateItem.schema.js.map +1 -1
  204. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +0 -6
  205. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -1
  206. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js +0 -4
  207. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboardOptions.schema.js.map +1 -1
  208. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js +0 -5
  209. package/build/.spruce/schemas/spruceCli/v2020_07_22/onboarding.schema.js.map +1 -1
  210. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js +0 -7
  211. package/build/.spruce/schemas/spruceCli/v2020_07_22/personWithToken.schema.js.map +1 -1
  212. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js +0 -4
  213. package/build/.spruce/schemas/spruceCli/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.schema.js.map +1 -1
  214. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js +0 -5
  215. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupTestsOptions.schema.js.map +1 -1
  216. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js +0 -4
  217. package/build/.spruce/schemas/spruceCli/v2020_07_22/setupVscodeOptions.schema.js.map +1 -1
  218. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js +0 -6
  219. package/build/.spruce/schemas/spruceCli/v2020_07_22/skillFeature.schema.js.map +1 -1
  220. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js +0 -22
  221. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncErrorOptions.schema.js.map +1 -1
  222. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js +0 -8
  223. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncEventOptions.schema.js.map +1 -1
  224. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js +0 -6
  225. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemaFieldsOptions.schema.js.map +1 -1
  226. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js +0 -21
  227. package/build/.spruce/schemas/spruceCli/v2020_07_22/syncSchemasOptions.schema.js.map +1 -1
  228. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js +0 -9
  229. package/build/.spruce/schemas/spruceCli/v2020_07_22/testOptions.schema.js.map +1 -1
  230. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js +0 -4
  231. package/build/.spruce/schemas/spruceCli/v2020_07_22/upgradeSkillOptions.schema.js.map +1 -1
  232. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js +0 -7
  233. package/build/.spruce/schemas/spruceCli/v2020_07_22/watcherDidDetectChangesEmitPayload.schema.js.map +1 -1
  234. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js +0 -1
  235. package/build/.spruce/schemas/spruceEventUtils/v2021_09_13/eventSource.schema.js.map +1 -1
  236. package/build/.spruce/skill.types.js +0 -3
  237. package/build/.spruce/skill.types.js.map +1 -1
  238. package/build/GlobalEmitter.js +0 -22
  239. package/build/GlobalEmitter.js.map +1 -1
  240. package/build/InFlightEntertainment.js +0 -13
  241. package/build/InFlightEntertainment.js.map +1 -1
  242. package/build/__tests__/behavioral/AddingADependency.test.js +0 -69
  243. package/build/__tests__/behavioral/AddingADependency.test.js.map +1 -1
  244. package/build/__tests__/behavioral/BlockingCommands.test.js +0 -34
  245. package/build/__tests__/behavioral/BlockingCommands.test.js.map +1 -1
  246. package/build/__tests__/behavioral/BootingTheCli.test.js +0 -23
  247. package/build/__tests__/behavioral/BootingTheCli.test.js.map +1 -1
  248. package/build/__tests__/behavioral/BootingWithBadFiles.test.js +0 -41
  249. package/build/__tests__/behavioral/BootingWithBadFiles.test.js.map +1 -1
  250. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js +6 -48
  251. package/build/__tests__/behavioral/CreatingAConversationTopic.test.js.map +1 -1
  252. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js +0 -34
  253. package/build/__tests__/behavioral/CreatingSchemasWithGenerics.test.js.map +1 -1
  254. package/build/__tests__/behavioral/DeployingASkill.test.js +0 -215
  255. package/build/__tests__/behavioral/DeployingASkill.test.js.map +1 -1
  256. package/build/__tests__/behavioral/DeployingToSandbox.test.js +4 -141
  257. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  258. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js +0 -78
  259. package/build/__tests__/behavioral/EnablingAndDisablingCache.test.js.map +1 -1
  260. package/build/__tests__/behavioral/GettingCliVersion.test.js +0 -33
  261. package/build/__tests__/behavioral/GettingCliVersion.test.js.map +1 -1
  262. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js +0 -89
  263. package/build/__tests__/behavioral/InstallingASkillAtAnOrg.test.js.map +1 -1
  264. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js +0 -31
  265. package/build/__tests__/behavioral/ListeningToCoreEvents.test.js.map +1 -1
  266. package/build/__tests__/behavioral/LoggingInAsASkill.test.js +0 -84
  267. package/build/__tests__/behavioral/LoggingInAsASkill.test.js.map +1 -1
  268. package/build/__tests__/behavioral/ManagingDependencies.test.js +0 -55
  269. package/build/__tests__/behavioral/ManagingDependencies.test.js.map +1 -1
  270. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js +0 -32
  271. package/build/__tests__/behavioral/OverridingCommandsInPackageJson.test.js.map +1 -1
  272. package/build/__tests__/behavioral/RebuildingASkill.test.js +0 -36
  273. package/build/__tests__/behavioral/RebuildingASkill.test.js.map +1 -1
  274. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js +0 -33
  275. package/build/__tests__/behavioral/RegisteringConversationsOnBoot.test.js.map +1 -1
  276. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +0 -47
  277. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  278. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js +0 -68
  279. package/build/__tests__/behavioral/RegisteringGlobalEvents.test.js.map +1 -1
  280. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js +0 -58
  281. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.js.map +1 -1
  282. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js +0 -42
  283. package/build/__tests__/behavioral/RememberingUpgradeSelections.test.js.map +1 -1
  284. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js +3 -64
  285. package/build/__tests__/behavioral/SettingLogTransportsInASkill.test.js.map +1 -1
  286. package/build/__tests__/behavioral/SettingRemote.test.js +0 -49
  287. package/build/__tests__/behavioral/SettingRemote.test.js.map +1 -1
  288. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js +0 -49
  289. package/build/__tests__/behavioral/SettingUpASkillForTesting.test.js.map +1 -1
  290. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +6 -142
  291. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  292. package/build/__tests__/behavioral/SettingUpVscode.test.js +0 -40
  293. package/build/__tests__/behavioral/SettingUpVscode.test.js.map +1 -1
  294. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js +0 -54
  295. package/build/__tests__/behavioral/SyncingEventsOnlyFromDependencies.test.js.map +1 -1
  296. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js +0 -35
  297. package/build/__tests__/behavioral/TestReporterSettingsRemembered.test.js.map +1 -1
  298. package/build/__tests__/behavioral/TestingAConversation.test.js +0 -77
  299. package/build/__tests__/behavioral/TestingAConversation.test.js.map +1 -1
  300. package/build/__tests__/behavioral/TestingDataStores.test.js +0 -51
  301. package/build/__tests__/behavioral/TestingDataStores.test.js.map +1 -1
  302. package/build/__tests__/behavioral/WatchingSkillViews.test.js +1 -120
  303. package/build/__tests__/behavioral/WatchingSkillViews.test.js.map +1 -1
  304. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +0 -58
  305. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  306. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js +0 -52
  307. package/build/__tests__/behavioral/errors/KeepingErrorClassInSync.test.js.map +1 -1
  308. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js +16 -97
  309. package/build/__tests__/behavioral/errors/KeepingErrorsInSync.test.js.map +1 -1
  310. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js +0 -32
  311. package/build/__tests__/behavioral/errors/SettingUpErrors.test.js.map +1 -1
  312. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js +0 -95
  313. package/build/__tests__/behavioral/eventContract/PullingMercuryEventContract.test.js.map +1 -1
  314. package/build/__tests__/behavioral/events/CreatingAListener.test.js +2 -160
  315. package/build/__tests__/behavioral/events/CreatingAListener.test.js.map +1 -1
  316. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js +0 -135
  317. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -1
  318. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +7 -154
  319. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  320. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js +1 -154
  321. package/build/__tests__/behavioral/events/KeepingEventsInSync2.test.js.map +1 -1
  322. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js +0 -39
  323. package/build/__tests__/behavioral/events/KeepingListenersInSync.test.js.map +1 -1
  324. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js +0 -41
  325. package/build/__tests__/behavioral/events/ListeningToAnEventYouCreate.test.js.map +1 -1
  326. package/build/__tests__/behavioral/events/SettingUpEvents.test.js +0 -25
  327. package/build/__tests__/behavioral/events/SettingUpEvents.test.js.map +1 -1
  328. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js +0 -43
  329. package/build/__tests__/behavioral/events/SkillEmitsBootEvents.test.js.map +1 -1
  330. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +0 -38
  331. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -1
  332. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js +0 -55
  333. package/build/__tests__/behavioral/onboard/StartingOnboarding.test.js.map +1 -1
  334. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js +0 -38
  335. package/build/__tests__/behavioral/organization/CreatingAnOrg.test.js.map +1 -1
  336. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js +0 -31
  337. package/build/__tests__/behavioral/permissions/CreatingPermissions.test.js.map +1 -1
  338. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js +0 -79
  339. package/build/__tests__/behavioral/person/LoggingInAsPerson.test.js.map +1 -1
  340. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js +0 -37
  341. package/build/__tests__/behavioral/person/SeeWhoIsLoggedIn.test.js.map +1 -1
  342. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js +0 -59
  343. package/build/__tests__/behavioral/polish/SettingUpPolish.test.js.map +1 -1
  344. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js +2 -107
  345. package/build/__tests__/behavioral/schemas/CreatingANewSchemaBuilder.test.js.map +1 -1
  346. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js +0 -37
  347. package/build/__tests__/behavioral/schemas/GeneratingFieldTypesOnly.test.js.map +1 -1
  348. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js +0 -43
  349. package/build/__tests__/behavioral/schemas/GettingSchemasFromHealthCheck.test.js.map +1 -1
  350. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js +5 -70
  351. package/build/__tests__/behavioral/schemas/HandlesRelatedSchemas.test.js.map +1 -1
  352. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js +0 -32
  353. package/build/__tests__/behavioral/schemas/ImportingSchemaImports.test.js.map +1 -1
  354. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js +14 -215
  355. package/build/__tests__/behavioral/schemas/KeepingSchemasInSync.test.js.map +1 -1
  356. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js +0 -40
  357. package/build/__tests__/behavioral/schemas/SettingUpSchemas.test.js.map +1 -1
  358. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js +0 -30
  359. package/build/__tests__/behavioral/schemas/SyncingBadSchemasProvidesHelpfulErrorMessages.test.js.map +1 -1
  360. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js +0 -26
  361. package/build/__tests__/behavioral/schemas/UsingSchemasInCli.test.js.map +1 -1
  362. package/build/__tests__/behavioral/skill/BootingASkill.test.js +0 -54
  363. package/build/__tests__/behavioral/skill/BootingASkill.test.js.map +1 -1
  364. package/build/__tests__/behavioral/skill/CreatingASkill.test.js +0 -35
  365. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -1
  366. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js +0 -61
  367. package/build/__tests__/behavioral/skill/RegisteringASkill.test.js.map +1 -1
  368. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js +0 -89
  369. package/build/__tests__/behavioral/skill/SettingUpASkill.test.js.map +1 -1
  370. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js +22 -116
  371. package/build/__tests__/behavioral/stores/CreatingADataStore.test.js.map +1 -1
  372. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js +0 -64
  373. package/build/__tests__/behavioral/stores/KeepingDataStoresInSync.test.js.map +1 -1
  374. package/build/__tests__/behavioral/tests/CreatingATest.test.js +6 -115
  375. package/build/__tests__/behavioral/tests/CreatingATest.test.js.map +1 -1
  376. package/build/__tests__/behavioral/tests/RunningTests.test.js +0 -43
  377. package/build/__tests__/behavioral/tests/RunningTests.test.js.map +1 -1
  378. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js +2 -138
  379. package/build/__tests__/behavioral/tests/SelectingAnAbstractTestClass.test.js.map +1 -1
  380. package/build/__tests__/behavioral/tests/SettingUpTests.test.js +2 -31
  381. package/build/__tests__/behavioral/tests/SettingUpTests.test.js.map +1 -1
  382. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js +0 -48
  383. package/build/__tests__/behavioral/upgrading/UpdatingDependencies.test.js.map +1 -1
  384. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js +0 -65
  385. package/build/__tests__/behavioral/upgrading/UpdatingDependencies2.test.js.map +1 -1
  386. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js +0 -53
  387. package/build/__tests__/behavioral/upgrading/UpgradingANodeModule.test.js.map +1 -1
  388. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js +0 -117
  389. package/build/__tests__/behavioral/upgrading/UpgradingASkill.test.js.map +1 -1
  390. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js +5 -101
  391. package/build/__tests__/behavioral/upgrading/UpgradingASkill2.test.js.map +1 -1
  392. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js +2 -117
  393. package/build/__tests__/behavioral/upgrading/UpgradingASkill3.test.js.map +1 -1
  394. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js +0 -67
  395. package/build/__tests__/behavioral/upgrading/UpgradingASkill4.test.js.map +1 -1
  396. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js +0 -65
  397. package/build/__tests__/behavioral/upgrading/UpgradingASkill5.test.js.map +1 -1
  398. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js +5 -37
  399. package/build/__tests__/behavioral/upgrading/UpgradingWithListeners.test.js.map +1 -1
  400. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js +0 -62
  401. package/build/__tests__/behavioral/upgrading/UpgradingWithSandboxFeatureInstalled.test.js.map +1 -1
  402. package/build/__tests__/behavioral/views/CreatingASkillView.test.js +1 -111
  403. package/build/__tests__/behavioral/views/CreatingASkillView.test.js.map +1 -1
  404. package/build/__tests__/behavioral/views/CreatingATheme.test.js +0 -55
  405. package/build/__tests__/behavioral/views/CreatingATheme.test.js.map +1 -1
  406. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +0 -47
  407. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  408. package/build/__tests__/behavioral/views/SettingUpViews.test.js +0 -30
  409. package/build/__tests__/behavioral/views/SettingUpViews.test.js.map +1 -1
  410. package/build/__tests__/behavioral/views/TestingViewControllers.test.js +0 -59
  411. package/build/__tests__/behavioral/views/TestingViewControllers.test.js.map +1 -1
  412. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js +0 -121
  413. package/build/__tests__/behavioral/watchers/WatchingForChanges.test.js.map +1 -1
  414. package/build/__tests__/implementation/ActionExecuter.test.js +0 -57
  415. package/build/__tests__/implementation/ActionExecuter.test.js.map +1 -1
  416. package/build/__tests__/implementation/ActionExecuter2.test.js +0 -112
  417. package/build/__tests__/implementation/ActionExecuter2.test.js.map +1 -1
  418. package/build/__tests__/implementation/ActionExecuter3.test.js +0 -40
  419. package/build/__tests__/implementation/ActionExecuter3.test.js.map +1 -1
  420. package/build/__tests__/implementation/ActionExecuter4.test.js +2 -38
  421. package/build/__tests__/implementation/ActionExecuter4.test.js.map +1 -1
  422. package/build/__tests__/implementation/ArgParser.test.js +0 -28
  423. package/build/__tests__/implementation/ArgParser.test.js.map +1 -1
  424. package/build/__tests__/implementation/BuildService.test.js +0 -31
  425. package/build/__tests__/implementation/BuildService.test.js.map +1 -1
  426. package/build/__tests__/implementation/BulkImporting.test.js +0 -86
  427. package/build/__tests__/implementation/BulkImporting.test.js.map +1 -1
  428. package/build/__tests__/implementation/CachingImports.test.js +0 -59
  429. package/build/__tests__/implementation/CachingImports.test.js.map +1 -1
  430. package/build/__tests__/implementation/CommandOptionBuilder.test.js +0 -29
  431. package/build/__tests__/implementation/CommandOptionBuilder.test.js.map +1 -1
  432. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js +0 -60
  433. package/build/__tests__/implementation/CommanderCommandResultMapper.test.js.map +1 -1
  434. package/build/__tests__/implementation/DataStoreStore.test.js +0 -78
  435. package/build/__tests__/implementation/DataStoreStore.test.js.map +1 -1
  436. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js +2 -34
  437. package/build/__tests__/implementation/DeletingOrphanedSchemaDefinitions.test.js.map +1 -1
  438. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +0 -43
  439. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  440. package/build/__tests__/implementation/EventStore.test.js +0 -155
  441. package/build/__tests__/implementation/EventStore.test.js.map +1 -1
  442. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +80 -129
  443. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  444. package/build/__tests__/implementation/FeatureCommandAttacher.test.js +0 -78
  445. package/build/__tests__/implementation/FeatureCommandAttacher.test.js.map +1 -1
  446. package/build/__tests__/implementation/FeatureFixture.test.js +2 -42
  447. package/build/__tests__/implementation/FeatureFixture.test.js.map +1 -1
  448. package/build/__tests__/implementation/FeatureInstaller.test.js +0 -41
  449. package/build/__tests__/implementation/FeatureInstaller.test.js.map +1 -1
  450. package/build/__tests__/implementation/FeaturesUtil.test.js +0 -25
  451. package/build/__tests__/implementation/FeaturesUtil.test.js.map +1 -1
  452. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js +0 -30
  453. package/build/__tests__/implementation/FieldTemplateItemBuilder.test.js.map +1 -1
  454. package/build/__tests__/implementation/GlobalEmitter.js +0 -22
  455. package/build/__tests__/implementation/GlobalEmitter.js.map +1 -1
  456. package/build/__tests__/implementation/Introspection.test.js +0 -22
  457. package/build/__tests__/implementation/Introspection.test.js.map +1 -1
  458. package/build/__tests__/implementation/JestJsonParser.test.js +0 -61
  459. package/build/__tests__/implementation/JestJsonParser.test.js.map +1 -1
  460. package/build/__tests__/implementation/LintService.test.js +0 -33
  461. package/build/__tests__/implementation/LintService.test.js.map +1 -1
  462. package/build/__tests__/implementation/ListenerStore.test.js +2 -19
  463. package/build/__tests__/implementation/ListenerStore.test.js.map +1 -1
  464. package/build/__tests__/implementation/OnboardingScriptLoader.test.js +0 -43
  465. package/build/__tests__/implementation/OnboardingScriptLoader.test.js.map +1 -1
  466. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js +0 -74
  467. package/build/__tests__/implementation/OnboardingScriptPlayer.test.js.map +1 -1
  468. package/build/__tests__/implementation/OnboardingStore.test.js +0 -39
  469. package/build/__tests__/implementation/OnboardingStore.test.js.map +1 -1
  470. package/build/__tests__/implementation/OrganizationStore.test.js +0 -59
  471. package/build/__tests__/implementation/OrganizationStore.test.js.map +1 -1
  472. package/build/__tests__/implementation/ParentTestFinder.test.js +0 -35
  473. package/build/__tests__/implementation/ParentTestFinder.test.js.map +1 -1
  474. package/build/__tests__/implementation/PkgService.test.js +0 -55
  475. package/build/__tests__/implementation/PkgService.test.js.map +1 -1
  476. package/build/__tests__/implementation/SchemaStore.test.js +20 -154
  477. package/build/__tests__/implementation/SchemaStore.test.js.map +1 -1
  478. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js +0 -37
  479. package/build/__tests__/implementation/SchemaTemplateItemBuilder.test.js.map +1 -1
  480. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js +0 -72
  481. package/build/__tests__/implementation/SchemaValueTypeWriter.test.js.map +1 -1
  482. package/build/__tests__/implementation/ServiceFactory.test.js +0 -25
  483. package/build/__tests__/implementation/ServiceFactory.test.js.map +1 -1
  484. package/build/__tests__/implementation/SettingUpANodeModule.test.js +0 -35
  485. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -1
  486. package/build/__tests__/implementation/SkillStore.test.js +0 -93
  487. package/build/__tests__/implementation/SkillStore.test.js.map +1 -1
  488. package/build/__tests__/implementation/StoreFeature.test.js +0 -31
  489. package/build/__tests__/implementation/StoreFeature.test.js.map +1 -1
  490. package/build/__tests__/implementation/TestReporter.test.js +0 -35
  491. package/build/__tests__/implementation/TestReporter.test.js.map +1 -1
  492. package/build/__tests__/implementation/TestRunner.test.js +0 -102
  493. package/build/__tests__/implementation/TestRunner.test.js.map +1 -1
  494. package/build/__tests__/implementation/ValueTypeMapping.test.js +0 -31
  495. package/build/__tests__/implementation/ValueTypeMapping.test.js.map +1 -1
  496. package/build/__tests__/implementation/Widgets.test.js +0 -42
  497. package/build/__tests__/implementation/Widgets.test.js.map +1 -1
  498. package/build/__tests__/support/onTestFileResult.js +0 -2
  499. package/build/__tests__/support/onTestFileResult.js.map +1 -1
  500. package/build/__tests__/support/scripts/first.script.js +0 -7
  501. package/build/__tests__/support/scripts/first.script.js.map +1 -1
  502. package/build/__tests__/support/scripts/second.script.js.map +1 -1
  503. package/build/__tests__/support/scripts/third.test.script.js.map +1 -1
  504. package/build/addons/filePrompt.addon.js +1 -3
  505. package/build/addons/filePrompt.addon.js.map +1 -1
  506. package/build/cli.js +14 -165
  507. package/build/cli.js.map +1 -1
  508. package/build/components/AbstractComponent.js +0 -10
  509. package/build/components/AbstractComponent.js.map +1 -1
  510. package/build/components/FormComponent.js +36 -113
  511. package/build/components/FormComponent.js.map +1 -1
  512. package/build/components/QuizComponent.js +45 -88
  513. package/build/components/QuizComponent.js.map +1 -1
  514. package/build/constants.js.map +1 -1
  515. package/build/errors/SpruceError.js +2 -86
  516. package/build/errors/SpruceError.js.map +1 -1
  517. package/build/errors/actionCancelled.builder.js +0 -3
  518. package/build/errors/actionCancelled.builder.js.map +1 -1
  519. package/build/errors/bootError.builder.js +0 -3
  520. package/build/errors/bootError.builder.js.map +1 -1
  521. package/build/errors/buildFailed.builder.js +0 -3
  522. package/build/errors/buildFailed.builder.js.map +1 -1
  523. package/build/errors/cacheNotEnabled.builder.js +0 -3
  524. package/build/errors/cacheNotEnabled.builder.js.map +1 -1
  525. package/build/errors/commandAborted.builder.js +0 -3
  526. package/build/errors/commandAborted.builder.js.map +1 -1
  527. package/build/errors/commandBlocked.builder.js +0 -3
  528. package/build/errors/commandBlocked.builder.js.map +1 -1
  529. package/build/errors/commandNotImplemented.builder.js +0 -3
  530. package/build/errors/commandNotImplemented.builder.js.map +1 -1
  531. package/build/errors/createAutoloaderFailed.builder.js +0 -3
  532. package/build/errors/createAutoloaderFailed.builder.js.map +1 -1
  533. package/build/errors/dependencyExists.builder.js +0 -3
  534. package/build/errors/dependencyExists.builder.js.map +1 -1
  535. package/build/errors/deployFailed.builder.js +0 -3
  536. package/build/errors/deployFailed.builder.js.map +1 -1
  537. package/build/errors/directoryEmpty.builder.js +0 -3
  538. package/build/errors/directoryEmpty.builder.js.map +1 -1
  539. package/build/errors/directoryNotSkill.builder.js +0 -3
  540. package/build/errors/directoryNotSkill.builder.js.map +1 -1
  541. package/build/errors/dockerNotStarted.builder.js +0 -3
  542. package/build/errors/dockerNotStarted.builder.js.map +1 -1
  543. package/build/errors/executingCommandFailed.builder.js +0 -3
  544. package/build/errors/executingCommandFailed.builder.js.map +1 -1
  545. package/build/errors/failedToImport.builder.js +0 -2
  546. package/build/errors/failedToImport.builder.js.map +1 -1
  547. package/build/errors/featureNotInstalled.builder.js +0 -3
  548. package/build/errors/featureNotInstalled.builder.js.map +1 -1
  549. package/build/errors/fileExists.builder.js +0 -2
  550. package/build/errors/fileExists.builder.js.map +1 -1
  551. package/build/errors/generic.builder.js +0 -2
  552. package/build/errors/generic.builder.js.map +1 -1
  553. package/build/errors/invalidCommand.builder.js +0 -2
  554. package/build/errors/invalidCommand.builder.js.map +1 -1
  555. package/build/errors/invalidEventContract.builder.js +0 -3
  556. package/build/errors/invalidEventContract.builder.js.map +1 -1
  557. package/build/errors/invalidFeatureCode.builder.js +0 -3
  558. package/build/errors/invalidFeatureCode.builder.js.map +1 -1
  559. package/build/errors/invalidTestDirectory.builder.js +0 -3
  560. package/build/errors/invalidTestDirectory.builder.js.map +1 -1
  561. package/build/errors/lintFailed.builder.js +0 -2
  562. package/build/errors/lintFailed.builder.js.map +1 -1
  563. package/build/errors/mercuryResponseError.builder.js +0 -3
  564. package/build/errors/mercuryResponseError.builder.js.map +1 -1
  565. package/build/errors/missingDependencies.builder.js +0 -3
  566. package/build/errors/missingDependencies.builder.js.map +1 -1
  567. package/build/errors/noOrganizationsFound.builder.js +0 -3
  568. package/build/errors/noOrganizationsFound.builder.js.map +1 -1
  569. package/build/errors/noSkillsRegistered.builder.js +0 -3
  570. package/build/errors/noSkillsRegistered.builder.js.map +1 -1
  571. package/build/errors/notImplemented.builder.js +0 -2
  572. package/build/errors/notImplemented.builder.js.map +1 -1
  573. package/build/errors/notLoggedIn.builder.js +0 -3
  574. package/build/errors/notLoggedIn.builder.js.map +1 -1
  575. package/build/errors/schemaExists.builder.js +0 -3
  576. package/build/errors/schemaExists.builder.js.map +1 -1
  577. package/build/errors/schemaFailedToImport.builder.js +0 -3
  578. package/build/errors/schemaFailedToImport.builder.js.map +1 -1
  579. package/build/errors/schemaTemplateItemBuildingFailed.builder.js +0 -3
  580. package/build/errors/schemaTemplateItemBuildingFailed.builder.js.map +1 -1
  581. package/build/errors/skillNotFound.builder.js +0 -3
  582. package/build/errors/skillNotFound.builder.js.map +1 -1
  583. package/build/errors/skillNotRegistered.builder.js +0 -3
  584. package/build/errors/skillNotRegistered.builder.js.map +1 -1
  585. package/build/errors/skillViewExists.builder.js +0 -3
  586. package/build/errors/skillViewExists.builder.js.map +1 -1
  587. package/build/errors/storeExists.builder.js +0 -3
  588. package/build/errors/storeExists.builder.js.map +1 -1
  589. package/build/errors/testFailed.builder.js +0 -3
  590. package/build/errors/testFailed.builder.js.map +1 -1
  591. package/build/errors/themeExists.builder.js +0 -3
  592. package/build/errors/themeExists.builder.js.map +1 -1
  593. package/build/errors/transportAlreadyExists.builder.js +0 -3
  594. package/build/errors/transportAlreadyExists.builder.js.map +1 -1
  595. package/build/errors/vscodeNotInstalled.builder.js +0 -3
  596. package/build/errors/vscodeNotInstalled.builder.js.map +1 -1
  597. package/build/features/AbstractAction.js +0 -36
  598. package/build/features/AbstractAction.js.map +1 -1
  599. package/build/features/AbstractFeature.js +0 -40
  600. package/build/features/AbstractFeature.js.map +1 -1
  601. package/build/features/ActionExecuter.js +0 -85
  602. package/build/features/ActionExecuter.js.map +1 -1
  603. package/build/features/ActionFactory.js +9 -30
  604. package/build/features/ActionFactory.js.map +1 -1
  605. package/build/features/ActionQuestionAsker.js +0 -111
  606. package/build/features/ActionQuestionAsker.js.map +1 -1
  607. package/build/features/FeatureCommandAttacher.js +16 -64
  608. package/build/features/FeatureCommandAttacher.js.map +1 -1
  609. package/build/features/FeatureInstaller.js +5 -157
  610. package/build/features/FeatureInstaller.js.map +1 -1
  611. package/build/features/FeatureInstallerFactory.js +5 -37
  612. package/build/features/FeatureInstallerFactory.js.map +1 -1
  613. package/build/features/OverrideActionDecorator.js +11 -52
  614. package/build/features/OverrideActionDecorator.js.map +1 -1
  615. package/build/features/cache/CacheFeature.js +0 -25
  616. package/build/features/cache/CacheFeature.js.map +1 -1
  617. package/build/features/cache/actions/DisableAction.js +0 -34
  618. package/build/features/cache/actions/DisableAction.js.map +1 -1
  619. package/build/features/cache/actions/EnableAction.js +0 -35
  620. package/build/features/cache/actions/EnableAction.js.map +1 -1
  621. package/build/features/cache/constants.js.map +1 -1
  622. package/build/features/conversation/ConversationFeature.js +0 -35
  623. package/build/features/conversation/ConversationFeature.js.map +1 -1
  624. package/build/features/conversation/actions/CreateAction.js +0 -27
  625. package/build/features/conversation/actions/CreateAction.js.map +1 -1
  626. package/build/features/conversation/actions/TestAction.js +2 -48
  627. package/build/features/conversation/actions/TestAction.js.map +1 -1
  628. package/build/features/conversation/stores/ConversationStore.js +0 -30
  629. package/build/features/conversation/stores/ConversationStore.js.map +1 -1
  630. package/build/features/conversation/writers/ConversationWriter.js +0 -24
  631. package/build/features/conversation/writers/ConversationWriter.js.map +1 -1
  632. package/build/features/dependencies/DependencyFeature.js +0 -25
  633. package/build/features/dependencies/DependencyFeature.js.map +1 -1
  634. package/build/features/dependencies/actions/AddAction.js +0 -39
  635. package/build/features/dependencies/actions/AddAction.js.map +1 -1
  636. package/build/features/dependencies/actions/ManageAction.js +0 -34
  637. package/build/features/dependencies/actions/ManageAction.js.map +1 -1
  638. package/build/features/deploy/DeployFeature.js +0 -26
  639. package/build/features/deploy/DeployFeature.js.map +1 -1
  640. package/build/features/deploy/actions/HerokuAction.js +0 -139
  641. package/build/features/deploy/actions/HerokuAction.js.map +1 -1
  642. package/build/features/deploy/writers/DeployWriter.js +0 -16
  643. package/build/features/deploy/writers/DeployWriter.js.map +1 -1
  644. package/build/features/error/ErrorFeature.js +0 -53
  645. package/build/features/error/ErrorFeature.js.map +1 -1
  646. package/build/features/error/ParentTestFinder.js +0 -17
  647. package/build/features/error/ParentTestFinder.js.map +1 -1
  648. package/build/features/error/actions/CreateAction.js +0 -33
  649. package/build/features/error/actions/CreateAction.js.map +1 -1
  650. package/build/features/error/actions/SyncAction.js +0 -51
  651. package/build/features/error/actions/SyncAction.js.map +1 -1
  652. package/build/features/error/writers/ErrorWriter.js +0 -72
  653. package/build/features/error/writers/ErrorWriter.js.map +1 -1
  654. package/build/features/event/EventFeature.js +0 -80
  655. package/build/features/event/EventFeature.js.map +1 -1
  656. package/build/features/event/actions/CreateAction.js +0 -43
  657. package/build/features/event/actions/CreateAction.js.map +1 -1
  658. package/build/features/event/actions/ListenAction.js +1 -101
  659. package/build/features/event/actions/ListenAction.js.map +1 -1
  660. package/build/features/event/actions/SetRemoteAction.js +0 -27
  661. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  662. package/build/features/event/actions/SyncAction.js +0 -31
  663. package/build/features/event/actions/SyncAction.js.map +1 -1
  664. package/build/features/event/actions/SyncListenersAction.js +0 -30
  665. package/build/features/event/actions/SyncListenersAction.js.map +1 -1
  666. package/build/features/event/builders/EventContractBuilder.js +0 -52
  667. package/build/features/event/builders/EventContractBuilder.js.map +1 -1
  668. package/build/features/event/builders/ListenerTemplateItemBuilder.js +1 -19
  669. package/build/features/event/builders/ListenerTemplateItemBuilder.js.map +1 -1
  670. package/build/features/event/services/EventSettingsService.js +0 -7
  671. package/build/features/event/services/EventSettingsService.js.map +1 -1
  672. package/build/features/event/services/RemoteService.js +0 -2
  673. package/build/features/event/services/RemoteService.js.map +1 -1
  674. package/build/features/event/stores/EventStore.js +5 -114
  675. package/build/features/event/stores/EventStore.js.map +1 -1
  676. package/build/features/event/stores/ListenerStore.js +0 -36
  677. package/build/features/event/stores/ListenerStore.js.map +1 -1
  678. package/build/features/event/writers/EventWriter.js +2 -69
  679. package/build/features/event/writers/EventWriter.js.map +1 -1
  680. package/build/features/eventContract/EventContractFeature.js +0 -23
  681. package/build/features/eventContract/EventContractFeature.js.map +1 -1
  682. package/build/features/eventContract/actions/PullAction.js +0 -31
  683. package/build/features/eventContract/actions/PullAction.js.map +1 -1
  684. package/build/features/feature.utilities.js +0 -12
  685. package/build/features/feature.utilities.js.map +1 -1
  686. package/build/features/features.types.js +0 -4
  687. package/build/features/features.types.js.map +1 -1
  688. package/build/features/log/LogFeature.js +0 -20
  689. package/build/features/log/LogFeature.js.map +1 -1
  690. package/build/features/log/actions/CreateTransportAction.js +0 -29
  691. package/build/features/log/actions/CreateTransportAction.js.map +1 -1
  692. package/build/features/log/writers/LogWriter.js +0 -25
  693. package/build/features/log/writers/LogWriter.js.map +1 -1
  694. package/build/features/node/NodeFeature.js +2 -57
  695. package/build/features/node/NodeFeature.js.map +1 -1
  696. package/build/features/node/actions/CreateAction.js +0 -26
  697. package/build/features/node/actions/CreateAction.js.map +1 -1
  698. package/build/features/node/actions/UpdateDependenciesAction.js +4 -66
  699. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  700. package/build/features/node/actions/UpgradeAction.js +0 -51
  701. package/build/features/node/actions/UpgradeAction.js.map +1 -1
  702. package/build/features/node/writers/NodeWriter.js +0 -31
  703. package/build/features/node/writers/NodeWriter.js.map +1 -1
  704. package/build/features/onboard/OnboardFeature.js +0 -51
  705. package/build/features/onboard/OnboardFeature.js.map +1 -1
  706. package/build/features/onboard/ScriptLoader.js +0 -21
  707. package/build/features/onboard/ScriptLoader.js.map +1 -1
  708. package/build/features/onboard/ScriptPlayer.js +0 -47
  709. package/build/features/onboard/ScriptPlayer.js.map +1 -1
  710. package/build/features/onboard/actions/OnboardAction.js +0 -32
  711. package/build/features/onboard/actions/OnboardAction.js.map +1 -1
  712. package/build/features/onboard/scripts/onboarding.first.script.js +1 -25
  713. package/build/features/onboard/scripts/onboarding.first.script.js.map +1 -1
  714. package/build/features/onboard/scripts/onboarding.immersive.script.js +0 -12
  715. package/build/features/onboard/scripts/onboarding.immersive.script.js.map +1 -1
  716. package/build/features/onboard/scripts/onboarding.returning.script.js +0 -13
  717. package/build/features/onboard/scripts/onboarding.returning.script.js.map +1 -1
  718. package/build/features/onboard/scripts/onboarding.short.script.js +0 -21
  719. package/build/features/onboard/scripts/onboarding.short.script.js.map +1 -1
  720. package/build/features/onboard/scripts/todo/todo.create.skill.script.js +0 -7
  721. package/build/features/onboard/scripts/todo/todo.create.skill.script.js.map +1 -1
  722. package/build/features/onboard/scripts/todo/todo.test.script.js +0 -6
  723. package/build/features/onboard/scripts/todo/todo.test.script.js.map +1 -1
  724. package/build/features/onboard/scripts/wrongCommand.script.js +0 -12
  725. package/build/features/onboard/scripts/wrongCommand.script.js.map +1 -1
  726. package/build/features/onboard/stores/OnboardingStore.js +0 -25
  727. package/build/features/onboard/stores/OnboardingStore.js.map +1 -1
  728. package/build/features/organization/OrganizationFeature.js +0 -20
  729. package/build/features/organization/OrganizationFeature.js.map +1 -1
  730. package/build/features/organization/actions/CreateAction.js +0 -27
  731. package/build/features/organization/actions/CreateAction.js.map +1 -1
  732. package/build/features/organization/actions/InstallAction.js +0 -47
  733. package/build/features/organization/actions/InstallAction.js.map +1 -1
  734. package/build/features/organization/stores/OrganizationStore.js +0 -52
  735. package/build/features/organization/stores/OrganizationStore.js.map +1 -1
  736. package/build/features/permission/PermissionFeature.js +0 -20
  737. package/build/features/permission/PermissionFeature.js.map +1 -1
  738. package/build/features/permission/actions/CreateAction.js +0 -29
  739. package/build/features/permission/actions/CreateAction.js.map +1 -1
  740. package/build/features/person/PersonFeature.js +0 -20
  741. package/build/features/person/PersonFeature.js.map +1 -1
  742. package/build/features/person/actions/LoginAction.js +0 -41
  743. package/build/features/person/actions/LoginAction.js.map +1 -1
  744. package/build/features/person/actions/LogoutAction.js +0 -30
  745. package/build/features/person/actions/LogoutAction.js.map +1 -1
  746. package/build/features/person/actions/WhoamiAction.js +0 -32
  747. package/build/features/person/actions/WhoamiAction.js.map +1 -1
  748. package/build/features/polish/PolishFeature.js +0 -20
  749. package/build/features/polish/PolishFeature.js.map +1 -1
  750. package/build/features/polish/actions/SetupAction.js +0 -31
  751. package/build/features/polish/actions/SetupAction.js.map +1 -1
  752. package/build/features/polish/writers/PolishWriter.js +0 -22
  753. package/build/features/polish/writers/PolishWriter.js.map +1 -1
  754. package/build/features/sandbox/SandboxFeature.js +0 -28
  755. package/build/features/sandbox/SandboxFeature.js.map +1 -1
  756. package/build/features/sandbox/actions/SetupAction.js +0 -38
  757. package/build/features/sandbox/actions/SetupAction.js.map +1 -1
  758. package/build/features/sandbox/writers/SandboxWriter.js +0 -22
  759. package/build/features/sandbox/writers/SandboxWriter.js.map +1 -1
  760. package/build/features/schema/SchemaFeature.js +0 -51
  761. package/build/features/schema/SchemaFeature.js.map +1 -1
  762. package/build/features/schema/ValueTypeBuilder.js +0 -20
  763. package/build/features/schema/ValueTypeBuilder.js.map +1 -1
  764. package/build/features/schema/actions/CreateAction.js +0 -44
  765. package/build/features/schema/actions/CreateAction.js.map +1 -1
  766. package/build/features/schema/actions/SyncAction.js +0 -91
  767. package/build/features/schema/actions/SyncAction.js.map +1 -1
  768. package/build/features/schema/actions/SyncFieldsAction.js +0 -34
  769. package/build/features/schema/actions/SyncFieldsAction.js.map +1 -1
  770. package/build/features/schema/services/SchemaService.js +0 -25
  771. package/build/features/schema/services/SchemaService.js.map +1 -1
  772. package/build/features/schema/stores/SchemaStore.js +0 -102
  773. package/build/features/schema/stores/SchemaStore.js.map +1 -1
  774. package/build/features/schema/utilities/schema.utility.js +0 -4
  775. package/build/features/schema/utilities/schema.utility.js.map +1 -1
  776. package/build/features/schema/utilities/schemaDisk.utility.js +5 -25
  777. package/build/features/schema/utilities/schemaDisk.utility.js.map +1 -1
  778. package/build/features/schema/utilities/schemaGenerator.utility.js +3 -22
  779. package/build/features/schema/utilities/schemaGenerator.utility.js.map +1 -1
  780. package/build/features/schema/writers/SchemaWriter.js +0 -95
  781. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  782. package/build/features/skill/SkillFeature.js +2 -65
  783. package/build/features/skill/SkillFeature.js.map +1 -1
  784. package/build/features/skill/actions/BootAction.js +0 -46
  785. package/build/features/skill/actions/BootAction.js.map +1 -1
  786. package/build/features/skill/actions/CreateAction.js +0 -29
  787. package/build/features/skill/actions/CreateAction.js.map +1 -1
  788. package/build/features/skill/actions/DashboardAction.js +0 -26
  789. package/build/features/skill/actions/DashboardAction.js.map +1 -1
  790. package/build/features/skill/actions/LoginAction.js +0 -55
  791. package/build/features/skill/actions/LoginAction.js.map +1 -1
  792. package/build/features/skill/actions/RebuildAction.js +0 -34
  793. package/build/features/skill/actions/RebuildAction.js.map +1 -1
  794. package/build/features/skill/actions/RegisterAction.js +0 -32
  795. package/build/features/skill/actions/RegisterAction.js.map +1 -1
  796. package/build/features/skill/stores/SkillStore.js +0 -87
  797. package/build/features/skill/stores/SkillStore.js.map +1 -1
  798. package/build/features/skill/updaters/Updater.js +0 -25
  799. package/build/features/skill/updaters/Updater.js.map +1 -1
  800. package/build/features/skill/writers/SkillWriter.js +0 -26
  801. package/build/features/skill/writers/SkillWriter.js.map +1 -1
  802. package/build/features/store/StoreFeature.js +0 -37
  803. package/build/features/store/StoreFeature.js.map +1 -1
  804. package/build/features/store/actions/CreateAction.js +0 -35
  805. package/build/features/store/actions/CreateAction.js.map +1 -1
  806. package/build/features/store/actions/SyncAction.js +0 -34
  807. package/build/features/store/actions/SyncAction.js.map +1 -1
  808. package/build/features/store/stores/StoreStore.js +0 -37
  809. package/build/features/store/stores/StoreStore.js.map +1 -1
  810. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js +1 -18
  811. package/build/features/store/templateItemBuilders/StoreTemplateItemBuilder.js.map +1 -1
  812. package/build/features/store/writers/StoreWriter.js +0 -43
  813. package/build/features/store/writers/StoreWriter.js.map +1 -1
  814. package/build/features/test/TestFeature.js +2 -72
  815. package/build/features/test/TestFeature.js.map +1 -1
  816. package/build/features/test/TestLogItemGenerator.js +0 -40
  817. package/build/features/test/TestLogItemGenerator.js.map +1 -1
  818. package/build/features/test/TestReporter.js +11 -123
  819. package/build/features/test/TestReporter.js.map +1 -1
  820. package/build/features/test/TestRunner.js +2 -58
  821. package/build/features/test/TestRunner.js.map +1 -1
  822. package/build/features/test/actions/CreateAction.js +2 -66
  823. package/build/features/test/actions/CreateAction.js.map +1 -1
  824. package/build/features/test/actions/SetupAction.js +0 -33
  825. package/build/features/test/actions/SetupAction.js.map +1 -1
  826. package/build/features/test/actions/TestAction.js +12 -131
  827. package/build/features/test/actions/TestAction.js.map +1 -1
  828. package/build/features/test/writers/TestWriter.js +0 -22
  829. package/build/features/test/writers/TestWriter.js.map +1 -1
  830. package/build/features/universalDevDependencies.js.map +1 -1
  831. package/build/features/universalFileDescriptions.js.map +1 -1
  832. package/build/features/universalScripts.js.map +1 -1
  833. package/build/features/validateAndNormalize.utility.js +0 -7
  834. package/build/features/validateAndNormalize.utility.js.map +1 -1
  835. package/build/features/view/ViewFeature.js +0 -32
  836. package/build/features/view/ViewFeature.js.map +1 -1
  837. package/build/features/view/actions/CreateAction.js +0 -48
  838. package/build/features/view/actions/CreateAction.js.map +1 -1
  839. package/build/features/view/actions/CreateThemeAction.js +0 -36
  840. package/build/features/view/actions/CreateThemeAction.js.map +1 -1
  841. package/build/features/view/actions/SyncAction.js +3 -48
  842. package/build/features/view/actions/SyncAction.js.map +1 -1
  843. package/build/features/view/actions/WatchAction.js +4 -64
  844. package/build/features/view/actions/WatchAction.js.map +1 -1
  845. package/build/features/view/stores/ViewStore.js +0 -32
  846. package/build/features/view/stores/ViewStore.js.map +1 -1
  847. package/build/features/view/writers/ViewWriter.js +3 -43
  848. package/build/features/view/writers/ViewWriter.js.map +1 -1
  849. package/build/features/vscode/VsCodeFeature.js +0 -26
  850. package/build/features/vscode/VsCodeFeature.js.map +1 -1
  851. package/build/features/vscode/actions/SetupAction.js +0 -83
  852. package/build/features/vscode/actions/SetupAction.js.map +1 -1
  853. package/build/features/vscode/services/VsCodeService.js +3 -43
  854. package/build/features/vscode/services/VsCodeService.js.map +1 -1
  855. package/build/features/vscode/writers/VsCodeWriter.js +1 -21
  856. package/build/features/vscode/writers/VsCodeWriter.js.map +1 -1
  857. package/build/features/watch/WatchFeature.js +1 -45
  858. package/build/features/watch/WatchFeature.js.map +1 -1
  859. package/build/index.js +0 -5
  860. package/build/index.js.map +1 -1
  861. package/build/interfaces/SpyInterface.js +4 -81
  862. package/build/interfaces/SpyInterface.js.map +1 -1
  863. package/build/interfaces/TerminalInterface.js +33 -156
  864. package/build/interfaces/TerminalInterface.js.map +1 -1
  865. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js +0 -3
  866. package/build/schemas/v2020_07_22/bootSkillOptions.builder.js.map +1 -1
  867. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js +0 -8
  868. package/build/schemas/v2020_07_22/createConversationTopicOptions.builder.js.map +1 -1
  869. package/build/schemas/v2020_07_22/createErrorOptions.builder.js +0 -9
  870. package/build/schemas/v2020_07_22/createErrorOptions.builder.js.map +1 -1
  871. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js +0 -8
  872. package/build/schemas/v2020_07_22/createOrganizationOptions.builder.js.map +1 -1
  873. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js +0 -9
  874. package/build/schemas/v2020_07_22/createSchemaOptions.builder.js.map +1 -1
  875. package/build/schemas/v2020_07_22/createTestOptions.builder.js +0 -5
  876. package/build/schemas/v2020_07_22/createTestOptions.builder.js.map +1 -1
  877. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js +0 -3
  878. package/build/schemas/v2020_07_22/installSkillAtOrganizationOptions.builder.js.map +1 -1
  879. package/build/schemas/v2020_07_22/listenEventOptions.builder.js +0 -8
  880. package/build/schemas/v2020_07_22/listenEventOptions.builder.js.map +1 -1
  881. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js +0 -3
  882. package/build/schemas/v2020_07_22/namedTemplateItem.builder.js.map +1 -1
  883. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js +0 -3
  884. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -1
  885. package/build/schemas/v2020_07_22/onboardOptions.builder.js +0 -3
  886. package/build/schemas/v2020_07_22/onboardOptions.builder.js.map +1 -1
  887. package/build/schemas/v2020_07_22/onboarding.builder.js +0 -3
  888. package/build/schemas/v2020_07_22/onboarding.builder.js.map +1 -1
  889. package/build/schemas/v2020_07_22/personWithToken.builder.js +0 -5
  890. package/build/schemas/v2020_07_22/personWithToken.builder.js.map +1 -1
  891. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js +0 -3
  892. package/build/schemas/v2020_07_22/registerDashboardWidgetsEmitPayloadSchema.builder.js.map +1 -1
  893. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js +0 -3
  894. package/build/schemas/v2020_07_22/setupTestsOptions.builder.js.map +1 -1
  895. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js +0 -3
  896. package/build/schemas/v2020_07_22/setupVscodeOptions.builder.js.map +1 -1
  897. package/build/schemas/v2020_07_22/skillFeature.builder.js +0 -3
  898. package/build/schemas/v2020_07_22/skillFeature.builder.js.map +1 -1
  899. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js +0 -8
  900. package/build/schemas/v2020_07_22/syncErrorOptions.builder.js.map +1 -1
  901. package/build/schemas/v2020_07_22/syncEventOptions.builder.js +0 -5
  902. package/build/schemas/v2020_07_22/syncEventOptions.builder.js.map +1 -1
  903. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js +0 -3
  904. package/build/schemas/v2020_07_22/syncSchemaFieldsOptions.builder.js.map +1 -1
  905. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js +0 -9
  906. package/build/schemas/v2020_07_22/syncSchemasOptions.builder.js.map +1 -1
  907. package/build/schemas/v2020_07_22/testOptions.builder.js +0 -3
  908. package/build/schemas/v2020_07_22/testOptions.builder.js.map +1 -1
  909. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js +0 -3
  910. package/build/schemas/v2020_07_22/upgradeSkillOptions.builder.js.map +1 -1
  911. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js +0 -4
  912. package/build/schemas/v2020_07_22/watcherDidDetectChangesEmitPayload.builder.js.map +1 -1
  913. package/build/services/BuildService.js +0 -15
  914. package/build/services/BuildService.js.map +1 -1
  915. package/build/services/CommandService.js +0 -51
  916. package/build/services/CommandService.js.map +1 -1
  917. package/build/services/DependencyService.js +0 -11
  918. package/build/services/DependencyService.js.map +1 -1
  919. package/build/services/GameService.js +3 -32
  920. package/build/services/GameService.js.map +1 -1
  921. package/build/services/ImportService.js +4 -104
  922. package/build/services/ImportService.js.map +1 -1
  923. package/build/services/LintService.js +0 -33
  924. package/build/services/LintService.js.map +1 -1
  925. package/build/services/PkgService.js +0 -47
  926. package/build/services/PkgService.js.map +1 -1
  927. package/build/services/ServiceFactory.js +0 -35
  928. package/build/services/ServiceFactory.js.map +1 -1
  929. package/build/services/TypeCheckerService.js +0 -10
  930. package/build/services/TypeCheckerService.js.map +1 -1
  931. package/build/stores/AbstractLocalStore.js +0 -19
  932. package/build/stores/AbstractLocalStore.js.map +1 -1
  933. package/build/stores/AbstractStore.js +0 -14
  934. package/build/stores/AbstractStore.js.map +1 -1
  935. package/build/stores/StoreFactory.js +4 -24
  936. package/build/stores/StoreFactory.js.map +1 -1
  937. package/build/templateItemBuilders/EventTemplateItemBuilder.js +14 -64
  938. package/build/templateItemBuilders/EventTemplateItemBuilder.js.map +1 -1
  939. package/build/templateItemBuilders/FieldTemplateItemBuilder.js +1 -16
  940. package/build/templateItemBuilders/FieldTemplateItemBuilder.js.map +1 -1
  941. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js +11 -68
  942. package/build/templateItemBuilders/SchemaTemplateItemBuilder.js.map +1 -1
  943. package/build/tests/AbstractCliTest.js +0 -173
  944. package/build/tests/AbstractCliTest.js.map +1 -1
  945. package/build/tests/AbstractErrorTest.js +0 -20
  946. package/build/tests/AbstractErrorTest.js.map +1 -1
  947. package/build/tests/AbstractEventTest.js +13 -55
  948. package/build/tests/AbstractEventTest.js.map +1 -1
  949. package/build/tests/AbstractSchemaTest.js +12 -71
  950. package/build/tests/AbstractSchemaTest.js.map +1 -1
  951. package/build/tests/AbstractSkillTest.js +1 -34
  952. package/build/tests/AbstractSkillTest.js.map +1 -1
  953. package/build/tests/AbstractTestTest.js +3 -26
  954. package/build/tests/AbstractTestTest.js.map +1 -1
  955. package/build/tests/CommandFaker.js +0 -8
  956. package/build/tests/CommandFaker.js.map +1 -1
  957. package/build/tests/JestJsonParser.js +2 -47
  958. package/build/tests/JestJsonParser.js.map +1 -1
  959. package/build/tests/MockProgramFactory.js +0 -17
  960. package/build/tests/MockProgramFactory.js.map +1 -1
  961. package/build/tests/buildTestCache.js +0 -82
  962. package/build/tests/buildTestCache.js.map +1 -1
  963. package/build/tests/cleanTestCache.js +0 -11
  964. package/build/tests/cleanTestCache.js.map +1 -1
  965. package/build/tests/cleanTestData.js +0 -38
  966. package/build/tests/cleanTestData.js.map +1 -1
  967. package/build/tests/constants.js +0 -3
  968. package/build/tests/constants.js.map +1 -1
  969. package/build/tests/fixtures/FeatureFixture.js +7 -82
  970. package/build/tests/fixtures/FeatureFixture.js.map +1 -1
  971. package/build/tests/fixtures/MercuryFixture.js +0 -17
  972. package/build/tests/fixtures/MercuryFixture.js.map +1 -1
  973. package/build/tests/fixtures/OrganizationFixture.js +0 -39
  974. package/build/tests/fixtures/OrganizationFixture.js.map +1 -1
  975. package/build/tests/fixtures/PersonFixture.js +0 -37
  976. package/build/tests/fixtures/PersonFixture.js.map +1 -1
  977. package/build/tests/fixtures/SkillFixture.js +0 -55
  978. package/build/tests/fixtures/SkillFixture.js.map +1 -1
  979. package/build/tests/fixtures/ViewFixture.js +0 -14
  980. package/build/tests/fixtures/ViewFixture.js.map +1 -1
  981. package/build/tests/utilities/test.utility.js +0 -25
  982. package/build/tests/utilities/test.utility.js.map +1 -1
  983. package/build/tests/utilities/uiAssert.utility.js +0 -15
  984. package/build/tests/utilities/uiAssert.utility.js.map +1 -1
  985. package/build/types/cli.types.js +0 -1
  986. package/build/types/cli.types.js.map +1 -1
  987. package/build/types/graphicsInterface.types.js +0 -1
  988. package/build/types/graphicsInterface.types.js.map +1 -1
  989. package/build/updaters/ScriptUpdater.js +0 -28
  990. package/build/updaters/ScriptUpdater.js.map +1 -1
  991. package/build/utilities/action.utility.js +0 -11
  992. package/build/utilities/action.utility.js.map +1 -1
  993. package/build/utilities/apiClient.utility.js +2 -11
  994. package/build/utilities/apiClient.utility.js.map +1 -1
  995. package/build/utilities/argParser.utility.js +1 -11
  996. package/build/utilities/argParser.utility.js.map +1 -1
  997. package/build/utilities/commander.utility.js +0 -12
  998. package/build/utilities/commander.utility.js.map +1 -1
  999. package/build/utilities/duration.utility.js +3 -8
  1000. package/build/utilities/duration.utility.js.map +1 -1
  1001. package/build/utilities/eventContractCleaner.utility.js +1 -22
  1002. package/build/utilities/eventContractCleaner.utility.js.map +1 -1
  1003. package/build/utilities/form.utility.js +1 -27
  1004. package/build/utilities/form.utility.js.map +1 -1
  1005. package/build/utilities/introspection.utility.js +11 -40
  1006. package/build/utilities/introspection.utility.js.map +1 -1
  1007. package/build/utilities/isCi.js +0 -3
  1008. package/build/utilities/isCi.js.map +1 -1
  1009. package/build/utilities/tsConfig.utility.js +4 -16
  1010. package/build/utilities/tsConfig.utility.js.map +1 -1
  1011. package/build/utilities/ui.utility.js +2 -4
  1012. package/build/utilities/ui.utility.js.map +1 -1
  1013. package/build/widgets/Theme.js +0 -3
  1014. package/build/widgets/Theme.js.map +1 -1
  1015. package/build/widgets/WidgetFactory.js +4 -14
  1016. package/build/widgets/WidgetFactory.js.map +1 -1
  1017. package/build/widgets/keySelectChoices.js.map +1 -1
  1018. package/build/widgets/terminalKit/TKButtonWidget.js +2 -32
  1019. package/build/widgets/terminalKit/TKButtonWidget.js.map +1 -1
  1020. package/build/widgets/terminalKit/TkBaseWidget.js +1 -55
  1021. package/build/widgets/terminalKit/TkBaseWidget.js.map +1 -1
  1022. package/build/widgets/terminalKit/TkInputWidget.js +1 -44
  1023. package/build/widgets/terminalKit/TkInputWidget.js.map +1 -1
  1024. package/build/widgets/terminalKit/TkLayoutCellWidget.js +0 -19
  1025. package/build/widgets/terminalKit/TkLayoutCellWidget.js.map +1 -1
  1026. package/build/widgets/terminalKit/TkLayoutWidget.js +3 -47
  1027. package/build/widgets/terminalKit/TkLayoutWidget.js.map +1 -1
  1028. package/build/widgets/terminalKit/TkMenuBarWidget.js +3 -48
  1029. package/build/widgets/terminalKit/TkMenuBarWidget.js.map +1 -1
  1030. package/build/widgets/terminalKit/TkPopupWidget.js +1 -27
  1031. package/build/widgets/terminalKit/TkPopupWidget.js.map +1 -1
  1032. package/build/widgets/terminalKit/TkProgressBarWidget.js +5 -30
  1033. package/build/widgets/terminalKit/TkProgressBarWidget.js.map +1 -1
  1034. package/build/widgets/terminalKit/TkTextWidget.js +6 -48
  1035. package/build/widgets/terminalKit/TkTextWidget.js.map +1 -1
  1036. package/build/widgets/terminalKit/TkWindowWidget.js +4 -35
  1037. package/build/widgets/terminalKit/TkWindowWidget.js.map +1 -1
  1038. package/build/widgets/terminalKit/termKit.utility.js +2 -40
  1039. package/build/widgets/terminalKit/termKit.utility.js.map +1 -1
  1040. package/build/widgets/types/button.types.js.map +1 -1
  1041. package/build/widgets/types/factory.types.js +0 -16
  1042. package/build/widgets/types/factory.types.js.map +1 -1
  1043. package/build/widgets/types/input.types.js +0 -2
  1044. package/build/widgets/types/input.types.js.map +1 -1
  1045. package/build/widgets/types/menuBar.types.js +1 -2
  1046. package/build/widgets/types/menuBar.types.js.map +1 -1
  1047. package/build/widgets/types/popup.types.js.map +1 -1
  1048. package/build/widgets/types/text.types.js +1 -2
  1049. package/build/widgets/types/text.types.js.map +1 -1
  1050. package/build/widgets/types/window.types.js +0 -2
  1051. package/build/widgets/types/window.types.js.map +1 -1
  1052. package/build/widgets/widget.utilities.js +6 -10
  1053. package/build/widgets/widget.utilities.js.map +1 -1
  1054. package/build/writers/AbstractWriter.js +13 -94
  1055. package/build/writers/AbstractWriter.js.map +1 -1
  1056. package/build/writers/WriterFactory.js +3 -27
  1057. package/build/writers/WriterFactory.js.map +1 -1
  1058. package/docs/images/doors.jpg +0 -0
  1059. package/package.json +3 -3
  1060. package/src/features/onboard/scripts/onboarding.first.script.ts +8 -5
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaStore.test.js","names":["LOCAL_NAMESPACE","SchemaStoreTest","test","skip","assert","isTruthy","Store","isFunction","fetchSchemas","fetchFields","localNamespace","results","schemasByNamespace","errors","isEqual","length","CORE_NAMESPACE","coreSchemas","isAbove","validateSchemas","doesInclude","id","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","Object","keys","localSchemas","message","copySchemasAndFieldsThenFetchFields","fieldTypes","fieldClassMap","type","namesUtil","toPascal","localAddonsDir","fields","errorAssert","assertError","sort","a","b","originalError","options","schemaId","installSchemaFeature","cli","wasFired","on","isTrue","payload","emitPayload","name","schemas","normalizeSchemaToIdWithVersion","buildSchema","namespace","MyCoolNamespace","copySchemas","version","description","isRequired","TestSkill","schema","validateSchema","testBuilderDir","syncSchemas","schemasDir","diskUtil","copyDir","resolveTestPath","registrationsDir","addonsDir","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/SchemaStore.test.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tvalidateSchema,\n} from '@sprucelabs/schema'\nimport {\n\tCORE_NAMESPACE,\n\tdiskUtil,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport fieldClassMap from '#spruce/schemas/fields/fieldClassMap'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TestSkill'\n\nexport default class SchemaStoreTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateSchemaStore() {\n\t\tassert.isTruthy(this.Store('schema'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchSchemaTemplateItemsMethod() {\n\t\tassert.isFunction(this.Store('schema').fetchSchemas)\n\t\tassert.isFunction(this.Store('schema').fetchFields)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreSchemas() {\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[CORE_NAMESPACE])\n\n\t\tconst coreSchemas = schemasByNamespace[CORE_NAMESPACE]\n\t\tassert.isAbove(coreSchemas.length, 0)\n\n\t\tthis.validateSchemas(coreSchemas)\n\n\t\tassert.doesInclude(coreSchemas, { id: 'person' })\n\t\tassert.doesInclude(coreSchemas, { id: 'skill' })\n\t}\n\n\t@test()\n\tprotected static async fetchesLocalSchemas() {\n\t\tconst results = await this.copySchemasAndFetchSchemas({\n\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[LOCAL_NAMESPACE])\n\t\tassert.isLength(Object.keys(schemasByNamespace), 2)\n\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test.skip(\n\t\t\"Skipped because schemas are bulk imported and it's all or nothing.\"\n\t)\n\tprotected static async canHandleABadSchema() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{\n\t\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t\t},\n\t\t\t'test_builders_one_bad'\n\t\t)\n\n\t\tassert.isEqual(results.errors.length, 1)\n\n\t\tassert.doesInclude(results.errors[0].message, 'badSchema')\n\n\t\tconst { schemasByNamespace } = results\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test()\n\tprotected static async canFetchCoreFields() {\n\t\tconst results = await SchemaStoreTest.copySchemasAndFieldsThenFetchFields()\n\n\t\tconst fieldTypes = Object.keys(fieldClassMap)\n\n\t\tfor (const type of fieldTypes) {\n\t\t\tassert.doesInclude(results, {\n\t\t\t\t'fields[].registration.type': namesUtil.toPascal(type),\n\t\t\t})\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canFetchLocalFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields({\n\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tassert.isLength(results.fields, Object.keys(fieldClassMap).length + 1)\n\t\tassert.doesInclude(results, { 'fields[].registration.type': 'Test' })\n\t\tassert.doesInclude(results, {\n\t\t\t'fields[].registration.description': 'A test for us all',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canHandleBadFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields(\n\t\t\t{\n\t\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t\t},\n\t\t\t'field_registrations_one_bad'\n\t\t)\n\n\t\tassert.isLength(results.errors, 1)\n\t\tassert.doesInclude(results.errors[0].message, 'badField')\n\t}\n\n\t@test()\n\tprotected static async wontLetYouSpecifyANamespaceNorVersion() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{},\n\t\t\t'test_builders_with_namespace_and_version'\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 2)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\terrorAssert.assertError(results.errors[1], 'SCHEMA_FAILED_TO_IMPORT')\n\n\t\tresults.errors = results.errors.sort((a, b) =>\n\t\t\t//@ts-ignore\n\t\t\ta.originalError.options.schemaId > b.originalError.options.schemaId\n\t\t\t\t? 1\n\t\t\t\t: -1\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[0].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithNamespace',\n\t\t\t\terrors: ['namespace_should_not_be_set'],\n\t\t\t}\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[1].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithVersion',\n\t\t\t\terrors: ['version_should_not_be_set'],\n\t\t\t}\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emitsDidFetchEvent() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet wasFired = false\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\twasFired = true\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isTrue(wasFired)\n\t}\n\n\t@test()\n\tprotected static async fetchEventPayloadIncludesAllOtherSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet emitPayload: any\n\t\tawait cli.on('schema.did-fetch-schemas', (payload) => {\n\t\t\temitPayload = payload\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tfor (const name in coreSchemas) {\n\t\t\tassert.doesInclude(\n\t\t\t\temitPayload.schemas,\n\t\t\t\t//@ts-ignore\n\t\t\t\tnormalizeSchemaToIdWithVersion(coreSchemas[name])\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canListenToFetchEventToDropInAdditionalSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tnamespace: 'MyCoolNamespace',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tconst { schemasByNamespace } = results\n\n\t\tassert.isTruthy(schemasByNamespace.MyCoolNamespace)\n\t}\n\n\t@test()\n\tprotected static async multipleSchemasWithSameIdAndVersionReturnOnce() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait this.copySchemas()\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'schemaOne',\n\t\t\t\t\t\tname: 'First schema',\n\t\t\t\t\t\tnamespace: 'TestSkill',\n\t\t\t\t\t\tversion: 'v2020_06_23',\n\t\t\t\t\t\tdescription: 'It is going to be great!',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.schemasByNamespace.TestSkill, 3)\n\t}\n\n\tprivate static validateSchemas(schemas: Schema[]) {\n\t\tfor (const schema of schemas) {\n\t\t\tvalidateSchema(schema)\n\t\t}\n\t}\n\n\tprivate static async copySchemasAndFetchSchemas(\n\t\toptions?: Record<string, any>,\n\t\ttestBuilderDir = 'test_builders'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.copySchemas(testBuilderDir)\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t\t...(options || {}),\n\t\t})\n\t\treturn results\n\t}\n\n\tprivate static async copySchemas(testBuilderDir = 'test_builders') {\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(testBuilderDir), schemasDir)\n\t}\n\n\tprivate static async copySchemasAndFieldsThenFetchFields(\n\t\toptions?: Record<string, any>,\n\t\tregistrationsDir = 'field_registrations'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst addonsDir = this.resolvePath('src', 'addons')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(registrationsDir), addonsDir)\n\n\t\tconst results = await this.Store('schema').fetchFields(options)\n\t\treturn results\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaStore.test.js","names":["LOCAL_NAMESPACE","SchemaStoreTest","test","skip","assert","isTruthy","Store","isFunction","fetchSchemas","fetchFields","localNamespace","results","schemasByNamespace","errors","isEqual","length","CORE_NAMESPACE","coreSchemas","isAbove","validateSchemas","doesInclude","id","copySchemasAndFetchSchemas","localSchemaDir","resolvePath","isLength","Object","keys","localSchemas","message","copySchemasAndFieldsThenFetchFields","fieldTypes","fieldClassMap","type","namesUtil","toPascal","localAddonsDir","fields","errorAssert","assertError","sort","a","b","originalError","options","schemaId","installSchemaFeature","cli","wasFired","on","isTrue","payload","emitPayload","name","schemas","normalizeSchemaToIdWithVersion","buildSchema","namespace","MyCoolNamespace","copySchemas","version","description","isRequired","TestSkill","schema","validateSchema","testBuilderDir","syncSchemas","schemasDir","diskUtil","copyDir","resolveTestPath","registrationsDir","addonsDir","AbstractSchemaTest"],"sources":["../../../src/__tests__/implementation/SchemaStore.test.ts"],"sourcesContent":["import {\n\tbuildSchema,\n\tnormalizeSchemaToIdWithVersion,\n\tSchema,\n\tvalidateSchema,\n} from '@sprucelabs/schema'\nimport {\n\tCORE_NAMESPACE,\n\tdiskUtil,\n\tnamesUtil,\n} from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport { errorAssert } from '@sprucelabs/test-utils'\nimport fieldClassMap from '#spruce/schemas/fields/fieldClassMap'\nimport { coreSchemas } from '../../features/schema/stores/SchemaStore'\nimport AbstractSchemaTest from '../../tests/AbstractSchemaTest'\n\nconst LOCAL_NAMESPACE = 'TestSkill'\n\nexport default class SchemaStoreTest extends AbstractSchemaTest {\n\t@test()\n\tprotected static async canInstantiateSchemaStore() {\n\t\tassert.isTruthy(this.Store('schema'))\n\t}\n\n\t@test()\n\tprotected static async hasFetchSchemaTemplateItemsMethod() {\n\t\tassert.isFunction(this.Store('schema').fetchSchemas)\n\t\tassert.isFunction(this.Store('schema').fetchFields)\n\t}\n\n\t@test()\n\tprotected static async fetchesCoreSchemas() {\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[CORE_NAMESPACE])\n\n\t\tconst coreSchemas = schemasByNamespace[CORE_NAMESPACE]\n\t\tassert.isAbove(coreSchemas.length, 0)\n\n\t\tthis.validateSchemas(coreSchemas)\n\n\t\tassert.doesInclude(coreSchemas, { id: 'person' })\n\t\tassert.doesInclude(coreSchemas, { id: 'skill' })\n\t}\n\n\t@test()\n\tprotected static async fetchesLocalSchemas() {\n\t\tconst results = await this.copySchemasAndFetchSchemas({\n\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t})\n\t\tconst { schemasByNamespace, errors } = results\n\n\t\tassert.isEqual(errors.length, 0)\n\t\tassert.isTruthy(schemasByNamespace[LOCAL_NAMESPACE])\n\t\tassert.isLength(Object.keys(schemasByNamespace), 2)\n\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test.skip(\n\t\t\"Skipped because schemas are bulk imported and it's all or nothing.\"\n\t)\n\tprotected static async canHandleABadSchema() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{\n\t\t\t\tlocalSchemaDir: this.resolvePath('src', 'schemas'),\n\t\t\t},\n\t\t\t'test_builders_one_bad'\n\t\t)\n\n\t\tassert.isEqual(results.errors.length, 1)\n\n\t\tassert.doesInclude(results.errors[0].message, 'badSchema')\n\n\t\tconst { schemasByNamespace } = results\n\t\tconst localSchemas = schemasByNamespace[LOCAL_NAMESPACE]\n\n\t\tthis.validateSchemas(localSchemas)\n\t\tassert.isLength(localSchemas, 3)\n\t}\n\n\t@test()\n\tprotected static async canFetchCoreFields() {\n\t\tconst results = await SchemaStoreTest.copySchemasAndFieldsThenFetchFields()\n\n\t\tconst fieldTypes = Object.keys(fieldClassMap)\n\n\t\tfor (const type of fieldTypes) {\n\t\t\tassert.doesInclude(results, {\n\t\t\t\t'fields[].registration.type': namesUtil.toPascal(type),\n\t\t\t})\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canFetchLocalFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields({\n\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tassert.isLength(results.fields, Object.keys(fieldClassMap).length + 1)\n\t\tassert.doesInclude(results, { 'fields[].registration.type': 'Test' })\n\t\tassert.doesInclude(results, {\n\t\t\t'fields[].registration.description': 'A test for us all',\n\t\t})\n\t}\n\n\t@test()\n\tprotected static async canHandleBadFields() {\n\t\tconst results = await this.copySchemasAndFieldsThenFetchFields(\n\t\t\t{\n\t\t\t\tlocalAddonsDir: this.resolvePath('src', 'addons'),\n\t\t\t},\n\t\t\t'field_registrations_one_bad'\n\t\t)\n\n\t\tassert.isLength(results.errors, 1)\n\t\tassert.doesInclude(results.errors[0].message, 'badField')\n\t}\n\n\t@test()\n\tprotected static async wontLetYouSpecifyANamespaceNorVersion() {\n\t\tconst results = await this.copySchemasAndFetchSchemas(\n\t\t\t{},\n\t\t\t'test_builders_with_namespace_and_version'\n\t\t)\n\n\t\tassert.isTruthy(results.errors)\n\t\tassert.isLength(results.errors, 2)\n\n\t\terrorAssert.assertError(results.errors[0], 'SCHEMA_FAILED_TO_IMPORT')\n\t\terrorAssert.assertError(results.errors[1], 'SCHEMA_FAILED_TO_IMPORT')\n\n\t\tresults.errors = results.errors.sort((a, b) =>\n\t\t\t//@ts-ignore\n\t\t\ta.originalError.options.schemaId > b.originalError.options.schemaId\n\t\t\t\t? 1\n\t\t\t\t: -1\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[0].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithNamespace',\n\t\t\t\terrors: ['namespace_should_not_be_set'],\n\t\t\t}\n\t\t)\n\n\t\terrorAssert.assertError(\n\t\t\t// @ts-ignore\n\t\t\tresults.errors[1].originalError,\n\t\t\t// @ts-ignore\n\t\t\t'INVALID_SCHEMA',\n\t\t\t{\n\t\t\t\tschemaId: 'schemaWithVersion',\n\t\t\t\terrors: ['version_should_not_be_set'],\n\t\t\t}\n\t\t)\n\t}\n\n\t@test()\n\tprotected static async emitsDidFetchEvent() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet wasFired = false\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\twasFired = true\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isTrue(wasFired)\n\t}\n\n\t@test()\n\tprotected static async fetchEventPayloadIncludesAllOtherSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tlet emitPayload: any\n\t\tawait cli.on('schema.did-fetch-schemas', (payload) => {\n\t\t\temitPayload = payload\n\t\t\treturn {}\n\t\t})\n\n\t\tawait this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tfor (const name in coreSchemas) {\n\t\t\tassert.doesInclude(\n\t\t\t\temitPayload.schemas,\n\t\t\t\t//@ts-ignore\n\t\t\t\tnormalizeSchemaToIdWithVersion(coreSchemas[name])\n\t\t\t)\n\t\t}\n\t}\n\n\t@test()\n\tprotected static async canListenToFetchEventToDropInAdditionalSchemas() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'test',\n\t\t\t\t\t\tnamespace: 'MyCoolNamespace',\n\t\t\t\t\t\tfields: {},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.errors, 0)\n\t\tconst { schemasByNamespace } = results\n\n\t\tassert.isTruthy(schemasByNamespace.MyCoolNamespace)\n\t}\n\n\t@test()\n\tprotected static async multipleSchemasWithSameIdAndVersionReturnOnce() {\n\t\tconst cli = await this.installSchemaFeature('schemas')\n\n\t\tawait this.copySchemas()\n\n\t\tawait cli.on('schema.did-fetch-schemas', () => {\n\t\t\treturn {\n\t\t\t\tschemas: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'schemaOne',\n\t\t\t\t\t\tname: 'First schema',\n\t\t\t\t\t\tnamespace: 'TestSkill',\n\t\t\t\t\t\tversion: 'v2020_06_23',\n\t\t\t\t\t\tdescription: 'It is going to be great!',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t})\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t})\n\n\t\tassert.isLength(results.schemasByNamespace.TestSkill, 3)\n\t}\n\n\tprivate static validateSchemas(schemas: Schema[]) {\n\t\tfor (const schema of schemas) {\n\t\t\tvalidateSchema(schema)\n\t\t}\n\t}\n\n\tprivate static async copySchemasAndFetchSchemas(\n\t\toptions?: Record<string, any>,\n\t\ttestBuilderDir = 'test_builders'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tawait this.copySchemas(testBuilderDir)\n\n\t\tconst results = await this.Store('schema').fetchSchemas({\n\t\t\tlocalNamespace: LOCAL_NAMESPACE,\n\t\t\t...(options || {}),\n\t\t})\n\t\treturn results\n\t}\n\n\tprivate static async copySchemas(testBuilderDir = 'test_builders') {\n\t\tconst schemasDir = this.resolvePath('src', 'schemas')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(testBuilderDir), schemasDir)\n\t}\n\n\tprivate static async copySchemasAndFieldsThenFetchFields(\n\t\toptions?: Record<string, any>,\n\t\tregistrationsDir = 'field_registrations'\n\t) {\n\t\tawait this.syncSchemas('schemas')\n\n\t\tconst addonsDir = this.resolvePath('src', 'addons')\n\t\tawait diskUtil.copyDir(this.resolveTestPath(registrationsDir), addonsDir)\n\n\t\tconst results = await this.Store('schema').fetchFields(options)\n\t\treturn results\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAMA;AAKA;AAEA;AACA;AACA;AAA+D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE/D,IAAMA,eAAe,GAAG,WAAW;AAAA,IAEdC,eAAe,WAClC,IAAAC,eAAI,GAAE,UAKN,IAAAA,eAAI,GAAE,UAMN,IAAAA,eAAI,GAAE,UAmBN,IAAAA,eAAI,GAAE,UAiBNA,eAAI,CAACC,IAAI,CACT,oEAAoE,CACpE,UAoBA,IAAAD,eAAI,GAAE,UAaN,IAAAA,eAAI,GAAE,UAcN,IAAAA,eAAI,GAAE,UAaN,IAAAA,eAAI,GAAE,WA2CN,IAAAA,eAAI,GAAE,WAkBN,IAAAA,eAAI,GAAE,WAuBN,IAAAA,eAAI,GAAE,WA0BN,IAAAA,eAAI,GAAE;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;MAAA,+GA3NP;QAAA;UAAA;YAAA;cAAA;gBAECE,iBAAM,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAAC,QAAQ,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACrC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,uHAED;QAAA;UAAA;YAAA;cAAA;gBAECF,iBAAM,CAACG,UAAU,CAAC,IAAI,CAACD,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;gBACpDJ,iBAAM,CAACG,UAAU,CAAC,IAAI,CAACD,KAAK,CAAC,QAAQ,CAAC,CAACG,WAAW,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACH,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;kBACvDE,cAAc,EAAEV;gBACjB,CAAC,CAAC;cAAA;gBAFIW,OAAO;gBAGLC,kBAAkB,GAAaD,OAAO,CAAtCC,kBAAkB,EAAEC,MAAM,GAAKF,OAAO,CAAlBE,MAAM;gBAElCT,iBAAM,CAACU,OAAO,CAACD,MAAM,CAACE,MAAM,EAAE,CAAC,CAAC;gBAChCX,iBAAM,CAACC,QAAQ,CAACO,kBAAkB,CAACI,gCAAc,CAAC,CAAC;gBAE7CC,WAAW,GAAGL,kBAAkB,CAACI,gCAAc,CAAC;gBACtDZ,iBAAM,CAACc,OAAO,CAACD,WAAW,CAACF,MAAM,EAAE,CAAC,CAAC;gBAErC,IAAI,CAACI,eAAe,CAACF,WAAW,CAAC;gBAEjCb,iBAAM,CAACgB,WAAW,CAACH,WAAW,EAAE;kBAAEI,EAAE,EAAE;gBAAS,CAAC,CAAC;gBACjDjB,iBAAM,CAACgB,WAAW,CAACH,WAAW,EAAE;kBAAEI,EAAE,EAAE;gBAAQ,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACC,0BAA0B,CAAC;kBACrDC,cAAc,EAAE,IAAI,CAACC,WAAW,CAAC,KAAK,EAAE,SAAS;gBAClD,CAAC,CAAC;cAAA;gBAFIb,OAAO;gBAGLC,kBAAkB,GAAaD,OAAO,CAAtCC,kBAAkB,EAAEC,MAAM,GAAKF,OAAO,CAAlBE,MAAM;gBAElCT,iBAAM,CAACU,OAAO,CAACD,MAAM,CAACE,MAAM,EAAE,CAAC,CAAC;gBAChCX,iBAAM,CAACC,QAAQ,CAACO,kBAAkB,CAACZ,eAAe,CAAC,CAAC;gBACpDI,iBAAM,CAACqB,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACf,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAE7CgB,YAAY,GAAGhB,kBAAkB,CAACZ,eAAe,CAAC;gBAExD,IAAI,CAACmB,eAAe,CAACS,YAAY,CAAC;gBAClCxB,iBAAM,CAACqB,QAAQ,CAACG,YAAY,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAIuB,IAAI,CAACN,0BAA0B,CACpD;kBACCC,cAAc,EAAE,IAAI,CAACC,WAAW,CAAC,KAAK,EAAE,SAAS;gBAClD,CAAC,EACD,uBAAuB,CACvB;cAAA;gBALKb,OAAO;gBAObP,iBAAM,CAACU,OAAO,CAACH,OAAO,CAACE,MAAM,CAACE,MAAM,EAAE,CAAC,CAAC;gBAExCX,iBAAM,CAACgB,WAAW,CAACT,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAACgB,OAAO,EAAE,WAAW,CAAC;gBAElDjB,kBAAkB,GAAKD,OAAO,CAA9BC,kBAAkB;gBACpBgB,YAAY,GAAGhB,kBAAkB,CAACZ,eAAe,CAAC;gBAExD,IAAI,CAACmB,eAAe,CAACS,YAAY,CAAC;gBAClCxB,iBAAM,CAACqB,QAAQ,CAACG,YAAY,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB3B,eAAe,CAAC6B,mCAAmC,EAAE;cAAA;gBAArEnB,OAAO;gBAEPoB,UAAU,GAAGL,MAAM,CAACC,IAAI,CAACK,yBAAa,CAAC;gBAE7C,2BAAmBD,UAAU,iCAAE;kBAApBE,IAAI;kBACd7B,iBAAM,CAACgB,WAAW,CAACT,OAAO,EAAE;oBAC3B,4BAA4B,EAAEuB,2BAAS,CAACC,QAAQ,CAACF,IAAI;kBACtD,CAAC,CAAC;gBACH;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACH,mCAAmC,CAAC;kBAC9DM,cAAc,EAAE,IAAI,CAACZ,WAAW,CAAC,KAAK,EAAE,QAAQ;gBACjD,CAAC,CAAC;cAAA;gBAFIb,OAAO;gBAIbP,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAACE,MAAM,EAAE,CAAC,CAAC;gBAClCT,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAAC0B,MAAM,EAAEX,MAAM,CAACC,IAAI,CAACK,yBAAa,CAAC,CAACjB,MAAM,GAAG,CAAC,CAAC;gBACtEX,iBAAM,CAACgB,WAAW,CAACT,OAAO,EAAE;kBAAE,4BAA4B,EAAE;gBAAO,CAAC,CAAC;gBACrEP,iBAAM,CAACgB,WAAW,CAACT,OAAO,EAAE;kBAC3B,mCAAmC,EAAE;gBACtC,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACF;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACmB,mCAAmC,CAC7D;kBACCM,cAAc,EAAE,IAAI,CAACZ,WAAW,CAAC,KAAK,EAAE,QAAQ;gBACjD,CAAC,EACD,6BAA6B,CAC7B;cAAA;gBALKb,OAAO;gBAObP,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAACE,MAAM,EAAE,CAAC,CAAC;gBAClCT,iBAAM,CAACgB,WAAW,CAACT,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAACgB,OAAO,EAAE,UAAU,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACzD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,2HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEuB,IAAI,CAACP,0BAA0B,CACpD,CAAC,CAAC,EACF,0CAA0C,CAC1C;cAAA;gBAHKX,OAAO;gBAKbP,iBAAM,CAACC,QAAQ,CAACM,OAAO,CAACE,MAAM,CAAC;gBAC/BT,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAACE,MAAM,EAAE,CAAC,CAAC;gBAElCyB,sBAAW,CAACC,WAAW,CAAC5B,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;gBACrEyB,sBAAW,CAACC,WAAW,CAAC5B,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;gBAErEF,OAAO,CAACE,MAAM,GAAGF,OAAO,CAACE,MAAM,CAAC2B,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;kBAAA;oBACzC;oBACAD,CAAC,CAACE,aAAa,CAACC,OAAO,CAACC,QAAQ,GAAGH,CAAC,CAACC,aAAa,CAACC,OAAO,CAACC,QAAQ,GAChE,CAAC,GACD,CAAC;kBAAC;gBAAA,EACL;gBAEDP,sBAAW,CAACC,WAAW;gBACtB;gBACA5B,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC8B,aAAa;gBAC/B;gBACA,gBAAgB,EAChB;kBACCE,QAAQ,EAAE,qBAAqB;kBAC/BhC,MAAM,EAAE,CAAC,6BAA6B;gBACvC,CAAC,CACD;gBAEDyB,sBAAW,CAACC,WAAW;gBACtB;gBACA5B,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC8B,aAAa;gBAC/B;gBACA,gBAAgB,EAChB;kBACCE,QAAQ,EAAE,mBAAmB;kBAC7BhC,MAAM,EAAE,CAAC,2BAA2B;gBACrC,CAAC,CACD;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,wGAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACiC,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDC,GAAG;gBAELC,QAAQ,GAAG,KAAK;gBAAA;gBAAA,OAEdD,GAAG,CAACE,EAAE,CAAC,0BAA0B,EAAE,YAAM;kBAC9CD,QAAQ,GAAG,IAAI;kBACf,OAAO,CAAC,CAAC;gBACV,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAAC1C,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;kBACvCE,cAAc,EAAEV;gBACjB,CAAC,CAAC;cAAA;gBAEFI,iBAAM,CAAC8C,MAAM,CAACF,QAAQ,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACvB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,8HAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACF,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDC,GAAG;gBAAA;gBAAA,OAGHA,GAAG,CAACE,EAAE,CAAC,0BAA0B,EAAE,UAACE,OAAO,EAAK;kBACrDC,WAAW,GAAGD,OAAO;kBACrB,OAAO,CAAC,CAAC;gBACV,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEI,IAAI,CAAC7C,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;kBACvCE,cAAc,EAAEV;gBACjB,CAAC,CAAC;cAAA;gBAEF,KAAWqD,IAAI,IAAIpC,wBAAW,EAAE;kBAC/Bb,iBAAM,CAACgB,WAAW,CACjBgC,WAAW,CAACE,OAAO;kBACnB;kBACA,IAAAC,sCAA8B,EAACtC,wBAAW,CAACoC,IAAI,CAAC,CAAC,CACjD;gBACF;cAAC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,oIAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACP,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDC,GAAG;gBAAA;gBAAA,OAEHA,GAAG,CAACE,EAAE,CAAC,0BAA0B,EAAE,YAAM;kBAC9C,OAAO;oBACNK,OAAO,EAAE,CACR,IAAAE,mBAAW,EAAC;sBACXnC,EAAE,EAAE,MAAM;sBACVoC,SAAS,EAAE,iBAAiB;sBAC5BpB,MAAM,EAAE,CAAC;oBACV,CAAC,CAAC;kBAEJ,CAAC;gBACF,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEoB,IAAI,CAAC/B,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;kBACvDE,cAAc,EAAEV;gBACjB,CAAC,CAAC;cAAA;gBAFIW,OAAO;gBAIbP,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAACE,MAAM,EAAE,CAAC,CAAC;gBAC1BD,kBAAkB,GAAKD,OAAO,CAA9BC,kBAAkB;gBAE1BR,iBAAM,CAACC,QAAQ,CAACO,kBAAkB,CAAC8C,eAAe,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACnD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,mIAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OAEmB,IAAI,CAACZ,oBAAoB,CAAC,SAAS,CAAC;cAAA;gBAAhDC,GAAG;gBAAA;gBAAA,OAEH,IAAI,CAACY,WAAW,EAAE;cAAA;gBAAA;gBAAA,OAElBZ,GAAG,CAACE,EAAE,CAAC,0BAA0B,EAAE,YAAM;kBAC9C,OAAO;oBACNK,OAAO,EAAE,CACR;sBACCjC,EAAE,EAAE,WAAW;sBACfgC,IAAI,EAAE,cAAc;sBACpBI,SAAS,EAAE,WAAW;sBACtBG,OAAO,EAAE,aAAa;sBACtBC,WAAW,EAAE,0BAA0B;sBACvCxB,MAAM,EAAE;wBACPgB,IAAI,EAAE;0BACLpB,IAAI,EAAE,MAAM;0BACZ6B,UAAU,EAAE;wBACb;sBACD;oBACD,CAAC;kBAEH,CAAC;gBACF,CAAC,CAAC;cAAA;gBAAA;gBAAA,OAEoB,IAAI,CAACxD,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY,CAAC;kBACvDE,cAAc,EAAEV;gBACjB,CAAC,CAAC;cAAA;gBAFIW,OAAO;gBAIbP,iBAAM,CAACqB,QAAQ,CAACd,OAAO,CAACC,kBAAkB,CAACmD,SAAS,EAAE,CAAC,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxD;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,yBAA+BT,OAAiB,EAAE;MAAA,2CAC5BA,OAAO;QAAA;MAAA;QAA5B,oDAA8B;UAAA,IAAnBU,MAAM;UAChB,IAAAC,sBAAc,EAACD,MAAM,CAAC;QACvB;MAAC;QAAA;MAAA;QAAA;MAAA;IACF;EAAC;IAAA;IAAA;MAAA,gHAED,mBACCpB,OAA6B;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAC7BsB,cAAc,iEAAG,eAAe;gBAAA;gBAAA,OAE1B,IAAI,CAACC,WAAW,CAAC,SAAS,CAAC;cAAA;gBAAA;gBAAA,OAE3B,IAAI,CAACR,WAAW,CAACO,cAAc,CAAC;cAAA;gBAAA;gBAAA,OAEhB,IAAI,CAAC5D,KAAK,CAAC,QAAQ,CAAC,CAACE,YAAY;kBACtDE,cAAc,EAAEV;gBAAe,GAC3B4C,OAAO,IAAI,CAAC,CAAC,EAChB;cAAA;gBAHIjC,OAAO;gBAAA,mCAINA,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,iGAED;QAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAAiCuD,cAAc,iEAAG,eAAe;gBAC1DE,UAAU,GAAG,IAAI,CAAC5C,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC;gBAAA;gBAAA,OAC/C6C,0BAAQ,CAACC,OAAO,CAAC,IAAI,CAACC,eAAe,CAACL,cAAc,CAAC,EAAEE,UAAU,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACxE;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA;MAAA,yHAED,mBACCxB,OAA6B;QAAA;UAAA;UAAA;UAAA;QAAA;UAAA;YAAA;cAAA;gBAC7B4B,gBAAgB,iEAAG,qBAAqB;gBAAA;gBAAA,OAElC,IAAI,CAACL,WAAW,CAAC,SAAS,CAAC;cAAA;gBAE3BM,SAAS,GAAG,IAAI,CAACjD,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAAA;gBAAA,OAC7C6C,0BAAQ,CAACC,OAAO,CAAC,IAAI,CAACC,eAAe,CAACC,gBAAgB,CAAC,EAAEC,SAAS,CAAC;cAAA;gBAAA;gBAAA,OAEnD,IAAI,CAACnE,KAAK,CAAC,QAAQ,CAAC,CAACG,WAAW,CAACmC,OAAO,CAAC;cAAA;gBAAzDjC,OAAO;gBAAA,mCACNA,OAAO;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CACd;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;EAAA;AAAA,EAlS2C+D,+BAAkB;AAAA"}
@@ -1,52 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
27
-
28
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
18
  var _schema = require("@sprucelabs/schema");
31
-
32
19
  var _spruceSkillUtils = require("@sprucelabs/spruce-skill-utils");
33
-
34
20
  var _testUtils = require("@sprucelabs/test-utils");
35
-
36
21
  var _SchemaTemplateItemBuilder = _interopRequireDefault(require("../../templateItemBuilders/SchemaTemplateItemBuilder"));
37
-
38
22
  var _AbstractCliTest2 = _interopRequireDefault(require("../../tests/AbstractCliTest"));
39
-
40
23
  var _nestedMercuryContrac, _nestedMercuryContrac2, _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _class, _class2;
41
-
42
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
-
44
25
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
-
46
26
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
-
48
27
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
-
50
28
  var cowbellV1 = {
51
29
  id: 'cowbell',
52
30
  version: '2020_06_01',
@@ -1147,14 +1125,11 @@ var localSchemaTemplateItem = {
1147
1125
  };
1148
1126
  var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0, _testUtils.test)(), _dec3 = (0, _testUtils.test)(), _dec4 = (0, _testUtils.test)('turns 2 definitions into 2 template items', [cowbellV1, personV1], [personV1TemplateItem, cowbellV1TemplateItem]), _dec5 = (0, _testUtils.test)('turns one nested definition into 2 items', [personV2], [vehicleV1TemplateItem, personV2TemplateItem]), _dec6 = (0, _testUtils.test)('handles recursion without looping forever', [personV3], [cowbellV1NestedTemplateItem, personV3TemplateItem, cowbellV2NestedTemplateItem]), _dec7 = (0, _testUtils.test)('handles duplication', [cowbellV1, cowbellV1, cowbellV1], [cowbellV1TemplateItem]), _dec8 = (0, _testUtils.test)('handles resolving by id and version', [personV4, personV3, cowbellV1, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec9 = (0, _testUtils.test)('handles resolving by id and version in different order', [cowbellV1, personV4, personV3, cowbellV2], [cowbellV2TemplateItem, cowbellV1TemplateItem, personV3TemplateItem, personV4TemplateItem]), _dec10 = (0, _testUtils.test)('handles nested schema in dynamic key signature', [nestedMercuryContract], [eventSignatureTemplateItem, mercuryTemplateItem]), _dec11 = (0, _testUtils.test)('handles nested schemas in dynamic key signature', [nestedMercuryContractArray], [eventSignatureTemplateItem2, eventSignatureTemplateItem, mercuryTemplateItemArray]), _dec12 = (0, _testUtils.test)('handles many layers of nested schemas', [schemaWithManyNestedSchemas], [lastLayerTemplateItem, secondLayerTemplateItem, firstLayerTemplateItem, manyNestedTemplateItem]), _dec13 = (0, _testUtils.test)('can import event contracts', mercurySchemas, mercuryTemplateItems), _dec14 = (0, _testUtils.test)('import from not set if matching local namespace', [localSchema], [localSchemaTemplateItem], 'Mercury'), _dec15 = (0, _testUtils.test)(), _dec16 = (0, _testUtils.test)(), (_class = (_class2 = /*#__PURE__*/function (_AbstractCliTest) {
1149
1127
  (0, _inherits2["default"])(SchemaTemplateItemBuilderTest, _AbstractCliTest);
1150
-
1151
1128
  var _super = _createSuper(SchemaTemplateItemBuilderTest);
1152
-
1153
1129
  function SchemaTemplateItemBuilderTest() {
1154
1130
  (0, _classCallCheck2["default"])(this, SchemaTemplateItemBuilderTest);
1155
1131
  return _super.apply(this, arguments);
1156
1132
  }
1157
-
1158
1133
  (0, _createClass2["default"])(SchemaTemplateItemBuilderTest, null, [{
1159
1134
  key: "beforeEach",
1160
1135
  value: function () {
@@ -1165,10 +1140,8 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1165
1140
  case 0:
1166
1141
  _context.next = 2;
1167
1142
  return (0, _get2["default"])((0, _getPrototypeOf2["default"])(SchemaTemplateItemBuilderTest), "beforeEach", this).call(this);
1168
-
1169
1143
  case 2:
1170
1144
  this.itemBuilder = new _SchemaTemplateItemBuilder["default"](this.LOCAL_NAMESPACE);
1171
-
1172
1145
  case 3:
1173
1146
  case "end":
1174
1147
  return _context.stop();
@@ -1176,11 +1149,9 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1176
1149
  }
1177
1150
  }, _callee, this);
1178
1151
  }));
1179
-
1180
1152
  function beforeEach() {
1181
1153
  return _beforeEach.apply(this, arguments);
1182
1154
  }
1183
-
1184
1155
  return beforeEach;
1185
1156
  }()
1186
1157
  }, {
@@ -1198,7 +1169,6 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1198
1169
  value: function turnsSingleDefinitionIntoTemplateItem() {
1199
1170
  var results = this.itemBuilder.buildTemplateItems((0, _defineProperty2["default"])({}, _spruceSkillUtils.CORE_NAMESPACE, [personV1]), '#spruce/schemas');
1200
1171
  var actual = results[0];
1201
-
1202
1172
  _testUtils.assert.isEqualDeep(actual, personV1TemplateItem);
1203
1173
  }
1204
1174
  }, {
@@ -1207,14 +1177,10 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1207
1177
  var localNamespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.LOCAL_NAMESPACE;
1208
1178
  this.itemBuilder = new _SchemaTemplateItemBuilder["default"](localNamespace);
1209
1179
  var results = this.itemBuilder.buildTemplateItems((0, _defineProperty2["default"])({}, _spruceSkillUtils.CORE_NAMESPACE, schemas));
1210
-
1211
1180
  _testUtils.assert.isLength(results, expected.length);
1212
-
1213
1181
  expected.forEach(function (expected, idx) {
1214
1182
  var match = results[idx];
1215
-
1216
1183
  _testUtils.assert.isTruthy(match, "Did not find a template item for ".concat(expected.id));
1217
-
1218
1184
  _testUtils.assert.isEqualDeep(match, expected);
1219
1185
  });
1220
1186
  }
@@ -1231,7 +1197,6 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1231
1197
  }
1232
1198
  }
1233
1199
  })]), '#spruce/schemas');
1234
-
1235
1200
  _testUtils.assert.isEqualDeep(results, [{
1236
1201
  id: 'local',
1237
1202
  namespace: 'LocalNamespace',
@@ -1259,7 +1224,6 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1259
1224
  key: "bringsImportsFromRemoteFromRelatedSchemas",
1260
1225
  value: function bringsImportsFromRemoteFromRelatedSchemas() {
1261
1226
  var _this$itemBuilder$bui4;
1262
-
1263
1227
  var results = this.itemBuilder.buildTemplateItems((_this$itemBuilder$bui4 = {}, (0, _defineProperty2["default"])(_this$itemBuilder$bui4, this.LOCAL_NAMESPACE, [(0, _schema.buildSchema)({
1264
1228
  id: 'local',
1265
1229
  importsWhenLocal: ['import local from "local"'],
@@ -1315,7 +1279,6 @@ var SchemaTemplateItemBuilderTest = (_dec = (0, _testUtils.test)(), _dec2 = (0,
1315
1279
  }
1316
1280
  }
1317
1281
  })]), _this$itemBuilder$bui4), '#spruce/schemas');
1318
-
1319
1282
  _testUtils.assert.isEqualDeep(results, [{
1320
1283
  id: 'remote',
1321
1284
  namespace: 'AnotherNamespace',
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","test","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","assert","isTruthy","isFunction","buildTemplateItems","results","actual","isEqualDeep","expected","localNamespace","isLength","length","forEach","idx","match","firstName","remote","local","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SchemaTemplateItemBuilder.test.js","names":["cowbellV1","id","version","name","fields","radius","type","cowbellV1TemplateItem","namespace","CORE_NAMESPACE","importFrom","nameCamel","namePascal","nameReadable","schema","isNested","destinationDir","cowbellV1NestedTemplateItem","cowbellV2","owner","options","schemaId","cowbellV2TemplateItem","schemaIds","cowbellV2NestedTemplateItem","personV1","personV1TemplateItem","personV2","favoriteVehicle","make","personV2TemplateItem","personV3","relatedField","schemas","personV3TemplateItem","vehicleV1TemplateItem","personV4","importsWhenLocal","importsWhenRemote","cowbells","personV4TemplateItem","imports","nestedMercuryContract","description","dynamicFieldSignature","keyName","responsePayload","valueType","emitPayload","listenPermissionsAny","emitPermissionsAny","nestedMercuryContractArray","mercuryTemplateItem","eventSignatureTemplateItem","mercuryTemplateItemArray","eventSignatureTemplateItem2","schemaWithManyNestedSchemas","firstLayer","secondLayer","lastLayer","pass","manyNestedTemplateItem","firstLayerTemplateItem","secondLayerTemplateItem","lastLayerTemplateItem","mercurySchemas","eventSignatures","isRequired","isArray","fullyQualifiedEventName","listenPermissions","emitPermissions","requireAllPermissions","defaultValue","permissions","label","hint","requireAllStatuses","defaults","groupManager","manager","teammate","guest","can","clockedIn","clockedOut","onPrem","offPrem","mercuryTemplateItems","localSchema","buildSchema","onlyField","localSchemaTemplateItem","SchemaTemplateItemBuilderTest","test","itemBuilder","SchemaTemplateItemBuilder","LOCAL_NAMESPACE","assert","isTruthy","isFunction","buildTemplateItems","results","actual","isEqualDeep","expected","localNamespace","isLength","length","forEach","idx","match","firstName","remote","local","AbstractCliTest"],"sources":["../../../src/__tests__/implementation/SchemaTemplateItemBuilder.test.ts"],"sourcesContent":["import { buildSchema, Schema, SchemaTemplateItem } from '@sprucelabs/schema'\nimport { CORE_NAMESPACE } from '@sprucelabs/spruce-skill-utils'\nimport { test, assert } from '@sprucelabs/test-utils'\nimport SchemaTemplateItemBuilder from '../../templateItemBuilders/SchemaTemplateItemBuilder'\nimport AbstractCliTest from '../../tests/AbstractCliTest'\n\nconst cowbellV1: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_01',\n\tname: 'Cowbell test',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n}\n\nconst cowbellV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV1NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test',\n\tschema: { ...cowbellV1, namespace: CORE_NAMESPACE },\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst cowbellV2: Schema = {\n\tid: 'cowbell',\n\tversion: '2020_06_02',\n\tname: 'Cowbell test two!',\n\tfields: {\n\t\tradius: {\n\t\t\ttype: 'number',\n\t\t},\n\t\towner: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaId: { id: 'person', version: '2020_06_03' },\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst cowbellV2NestedTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: cowbellV2.id,\n\tnameCamel: 'cowbell',\n\tnamePascal: 'Cowbell',\n\tnameReadable: 'Cowbell test two!',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'cowbell',\n\t\tversion: '2020_06_02',\n\t\tname: 'Cowbell test two!',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tradius: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\towner: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'person', version: '2020_06_03', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV1: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person test',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n}\n\nconst personV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV1.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test',\n\tschema: { ...personV1, namespace: CORE_NAMESPACE },\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst personV2: Schema = {\n\tid: 'person',\n\tversion: '2020_06_01',\n\tname: 'Person version 2',\n\tfields: {\n\t\tname: {\n\t\t\ttype: 'text',\n\t\t},\n\t\tfavoriteVehicle: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'vehicle',\n\t\t\t\t\tname: 'Vehicle v1',\n\t\t\t\t\tversion: '2020_06_01',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tmake: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV2TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: personV1.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person version 2',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_01',\n\t\tname: 'Person version 2',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tname: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\tfavoriteVehicle: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'vehicle', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3: Schema = {\n\tid: 'person',\n\tversion: '2020_06_03',\n\tname: 'Person test the 3rd',\n\tfields: {\n\t\trelatedField: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemas: [cowbellV1, cowbellV2],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV3TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV3.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the 3rd',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_03',\n\t\tname: 'Person test the 3rd',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\trelatedField: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst vehicleV1TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: 'vehicle',\n\tnameCamel: 'vehicle',\n\tnamePascal: 'Vehicle',\n\tnameReadable: 'Vehicle v1',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'vehicle',\n\t\tname: 'Vehicle v1',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_06_01',\n\t\tfields: {\n\t\t\tmake: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4: Schema = {\n\tid: 'person',\n\tversion: '2020_06_04',\n\tname: 'Person test the last',\n\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\timportsWhenRemote: [\n\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t],\n\tfields: {\n\t\tcowbells: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01' },\n\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst personV4TemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: personV4.id,\n\tnameCamel: 'person',\n\tnamePascal: 'Person',\n\tnameReadable: 'Person test the last',\n\tschema: {\n\t\tid: 'person',\n\t\tversion: '2020_06_04',\n\t\tname: 'Person test the last',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportsWhenLocal: [\"import BaseParent from '../../file'\"],\n\t\timportsWhenRemote: [\n\t\t\t\"import BaseParent from '@sprucelabs/spruce-core-schemas'\",\n\t\t],\n\t\tfields: {\n\t\t\tcowbells: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_01', namespace: CORE_NAMESPACE },\n\t\t\t\t\t\t{ id: 'cowbell', version: '2020_06_02', namespace: CORE_NAMESPACE },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tisNested: false,\n\timports: [\"import BaseParent from '@sprucelabs/spruce-core-schemas'\"],\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst nestedMercuryContract: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschema: {\n\t\t\t\tid: 'eventSignature',\n\t\t\t\tname: 'Event Signature',\n\t\t\t\tdescription: '',\n\t\t\t\tfields: {\n\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\temitPayload: {\n\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t},\n\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst nestedMercuryContractArray: Schema = {\n\tid: 'mercuryContract',\n\tname: 'Mercury Contract',\n\tdescription: '',\n\tversion: '2020_09_01',\n\n\tdynamicFieldSignature: {\n\t\ttype: 'schema',\n\t\tkeyName: 'fullyQualifiedEventName',\n\t\toptions: {\n\t\t\tschemas: [\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\tname: 'Event Signature2',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlistenPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\temitPermissionsAny: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n}\n\nconst mercuryTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tid: nestedMercuryContract.id,\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable: nestedMercuryContract.name ?? nestedMercuryContract.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tversion: '2020_09_01',\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'eventSignature',\n\tnamePascal: 'EventSignature',\n\tnameReadable: 'Event Signature',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature',\n\t\tname: 'Event Signature',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\nconst mercuryTemplateItemArray: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: nestedMercuryContractArray.id,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnameCamel: 'mercuryContract',\n\tnamePascal: 'MercuryContract',\n\tnameReadable:\n\t\tnestedMercuryContractArray.name ?? nestedMercuryContractArray.id,\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tdynamicFieldSignature: {\n\t\t\ttype: 'schema',\n\t\t\tkeyName: 'fullyQualifiedEventName',\n\t\t\toptions: {\n\t\t\t\tschemaIds: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'eventSignature2',\n\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst eventSignatureTemplateItem2: SchemaTemplateItem = {\n\tnamespace: CORE_NAMESPACE,\n\tid: 'eventSignature2',\n\tnameCamel: 'eventSignature2',\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tnamePascal: 'EventSignature2',\n\tnameReadable: 'Event Signature2',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n\tschema: {\n\t\tid: 'eventSignature2',\n\t\tname: 'Event Signature2',\n\t\tdescription: '',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tresponsePayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\temitPayload: {\n\t\t\t\ttype: 'raw',\n\t\t\t\toptions: { valueType: 'Schema' },\n\t\t\t},\n\t\t\tlistenPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t\temitPermissionsAny: {\n\t\t\t\ttype: 'text',\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst schemaWithManyNestedSchemas: Schema = {\n\tid: 'manyNested',\n\tversion: '2020_09_01',\n\tfields: {\n\t\tfirstLayer: {\n\t\t\ttype: 'schema',\n\t\t\toptions: {\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tsecondLayer: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\tlastLayer: {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpass: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n}\n\nconst manyNestedTemplateItem: SchemaTemplateItem = {\n\tid: 'manyNested',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'manyNested',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tfirstLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'firstLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'manyNested',\n\tnameCamel: 'manyNested',\n\tnamePascal: 'ManyNested',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst firstLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'firstLayer',\n\tnamespace: CORE_NAMESPACE,\n\timportFrom: '@sprucelabs/spruce-core-schemas',\n\tschema: {\n\t\tid: 'firstLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tfields: {\n\t\t\tsecondLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'secondLayer',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'firstLayer',\n\tnameCamel: 'firstLayer',\n\tnamePascal: 'FirstLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst secondLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'secondLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'secondLayer',\n\t\tversion: '2020_09_01',\n\t\tnamespace: 'OutsideNamespace',\n\t\tfields: {\n\t\t\tlastLayer: {\n\t\t\t\ttype: 'schema',\n\t\t\t\toptions: {\n\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'lastLayer',\n\t\t\t\t\t\t\tversion: '2020_09_01',\n\t\t\t\t\t\t\tnamespace: 'OutsideNamespace',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tnameReadable: 'secondLayer',\n\tnameCamel: 'secondLayer',\n\tnamePascal: 'SecondLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst lastLayerTemplateItem: SchemaTemplateItem = {\n\tid: 'lastLayer',\n\tnamespace: 'OutsideNamespace',\n\tschema: {\n\t\tid: 'lastLayer',\n\t\tnamespace: 'OutsideNamespace',\n\t\tversion: '2020_09_01',\n\t\tfields: { pass: { type: 'boolean' } },\n\t},\n\tnameReadable: 'lastLayer',\n\tnameCamel: 'lastLayer',\n\tnamePascal: 'LastLayer',\n\tisNested: true,\n\tdestinationDir: '#spruce/schemas',\n}\n\nconst mercurySchemas = [\n\t{\n\t\tid: 'mercuryContract',\n\t\tname: 'Mercury Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\teventSignatures: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\tname: 'Event Signature',\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfullyQualifiedEventName: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresponsePayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPayload: {\n\t\t\t\t\t\t\t\ttype: 'raw',\n\t\t\t\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlistenPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\temitPermissions: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\tisArray: true,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschemaId: { id: 'permission', version: 'v2020_09_01' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tname: 'Permission Contract',\n\t\tdescription: '',\n\t\tfields: {\n\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\tpermissions: {\n\t\t\t\ttype: 'schema',\n\t\t\t\tisRequired: true,\n\t\t\t\tisArray: true,\n\t\t\t\toptions: {\n\t\t\t\t\tschema: {\n\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\tname: 'Permission',\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\trequireAllStatuses: {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\t\t\t\tdefaultValue: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdefaults: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\towner: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tguest: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcan: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: {\n\t\t\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\t\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\t\t\t\t\t\t\t\tclockedIn: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tclockedOut: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tonPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\toffPrem: {\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\t\t\t\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tversion: 'v2020_09_01',\n\t},\n]\n\nconst mercuryTemplateItems = [\n\t{\n\t\tid: 'statusFlags',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'statusFlags',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tdefault: { type: 'boolean' },\n\t\t\t\tclockedIn: {\n\t\t\t\t\tlabel: 'Clocked in',\n\t\t\t\t\thint: 'Is the person clocked in and ready to rock?',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tclockedOut: {\n\t\t\t\t\tlabel: 'Clocked out',\n\t\t\t\t\thint: 'When someone is not working (off the clock).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\tonPrem: {\n\t\t\t\t\tlabel: 'On premise',\n\t\t\t\t\thint: 'Are they at work (maybe working, maybe visiting).',\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t\toffPrem: {\n\t\t\t\t\tlabel: 'Off premise',\n\t\t\t\t\thint: \"They aren't at the office or shop.\",\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'statusFlags',\n\t\tnameCamel: 'statusFlags',\n\t\tnamePascal: 'StatusFlags',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'defaultsByRole',\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tnamespace: CORE_NAMESPACE,\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'defaultsByRole',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\towner: { type: 'boolean' },\n\t\t\t\tgroupManager: { type: 'boolean' },\n\t\t\t\tmanager: { type: 'boolean' },\n\t\t\t\tteammate: { type: 'boolean' },\n\t\t\t\tguest: { type: 'boolean' },\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'defaultsByRole',\n\t\tnameCamel: 'defaultsByRole',\n\t\tnamePascal: 'DefaultsByRole',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permission',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'permission',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tfields: {\n\t\t\t\tname: {\n\t\t\t\t\ttype: 'text',\n\t\t\t\t\tlabel: 'Permission name',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\thint: 'Hyphen separated name for this permission, e.g. can-unlock-doors',\n\t\t\t\t},\n\t\t\t\trequireAllStatuses: {\n\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\tlabel: 'Require all statuses',\n\t\t\t\t\tdefaultValue: false,\n\t\t\t\t},\n\t\t\t\tdefaults: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'defaultsByRole',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcan: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'statusFlags',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tname: 'Permission',\n\t\t},\n\t\tnameReadable: 'Permission',\n\t\tnameCamel: 'permission',\n\t\tnamePascal: 'Permission',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'permissionContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'permissionContract',\n\t\t\tname: 'Permission Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\trequireAllPermissions: { type: 'boolean', defaultValue: false },\n\t\t\t\tpermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Permission Contract',\n\t\tnameCamel: 'permissionContract',\n\t\tnamePascal: 'PermissionContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'eventSignature',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tversion: 'v2020_09_01',\n\t\t\tid: 'eventSignature',\n\t\t\tname: 'Event Signature',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\tfullyQualifiedEventName: { type: 'text', isRequired: true },\n\t\t\t\tresponsePayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\temitPayload: {\n\t\t\t\t\ttype: 'raw',\n\t\t\t\t\toptions: { valueType: 'SpruceSchema.Schema' },\n\t\t\t\t},\n\t\t\t\tlistenPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\temitPermissions: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tid: 'permission',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tnameReadable: 'Event Signature',\n\t\tnameCamel: 'eventSignature',\n\t\tnamePascal: 'EventSignature',\n\t\tisNested: true,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n\t{\n\t\tid: 'mercuryContract',\n\t\tnamespace: CORE_NAMESPACE,\n\t\timportFrom: '@sprucelabs/spruce-core-schemas',\n\t\tschema: {\n\t\t\tid: 'mercuryContract',\n\t\t\tname: 'Mercury Contract',\n\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\tdescription: '',\n\t\t\tfields: {\n\t\t\t\teventSignatures: {\n\t\t\t\t\ttype: 'schema',\n\t\t\t\t\tisRequired: true,\n\t\t\t\t\tisArray: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tschemaIds: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tid: 'eventSignature',\n\t\t\t\t\t\t\t\tversion: 'v2020_09_01',\n\t\t\t\t\t\t\t\tnamespace: CORE_NAMESPACE,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tversion: 'v2020_09_01',\n\t\t},\n\t\tnameReadable: 'Mercury Contract',\n\t\tnameCamel: 'mercuryContract',\n\t\tnamePascal: 'MercuryContract',\n\t\tisNested: false,\n\t\tdestinationDir: '#spruce/schemas',\n\t},\n]\n\nconst localSchema = buildSchema({\n\tid: 'localNamespaceSchema',\n\tnamespace: 'Mercury',\n\tfields: {\n\t\tonlyField: {\n\t\t\ttype: 'text',\n\t\t},\n\t},\n})\n\nconst localSchemaTemplateItem: SchemaTemplateItem = {\n\tnamespace: 'Mercury',\n\tid: 'localNamespaceSchema',\n\tnameCamel: 'localNamespaceSchema',\n\tnamePascal: 'LocalNamespaceSchema',\n\tnameReadable: 'localNamespaceSchema',\n\tisNested: false,\n\tdestinationDir: '#spruce/schemas',\n\tschema: localSchema,\n}\n\nexport default class SchemaTemplateItemBuilderTest extends AbstractCliTest {\n\tprivate static itemBuilder: SchemaTemplateItemBuilder\n\n\tprivate static readonly LOCAL_NAMESPACE = 'LocalNamespace'\n\n\tprotected static async beforeEach() {\n\t\tawait super.beforeEach()\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(this.LOCAL_NAMESPACE)\n\t}\n\n\t@test()\n\tprotected static canInstantiate() {\n\t\tassert.isTruthy(this.itemBuilder)\n\t}\n\n\t@test()\n\tprotected static hasGenerateFunction() {\n\t\tassert.isFunction(this.itemBuilder.buildTemplateItems)\n\t}\n\n\t@test()\n\tprotected static turnsSingleDefinitionIntoTemplateItem() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{ [CORE_NAMESPACE]: [personV1] },\n\t\t\t'#spruce/schemas'\n\t\t)\n\t\tconst actual = results[0]\n\n\t\tassert.isEqualDeep(actual, personV1TemplateItem)\n\t}\n\n\t@test(\n\t\t'turns 2 definitions into 2 template items',\n\t\t[cowbellV1, personV1],\n\t\t[personV1TemplateItem, cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'turns one nested definition into 2 items',\n\t\t[personV2],\n\t\t[vehicleV1TemplateItem, personV2TemplateItem]\n\t)\n\t@test(\n\t\t'handles recursion without looping forever',\n\t\t[personV3],\n\t\t[\n\t\t\tcowbellV1NestedTemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tcowbellV2NestedTemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles duplication',\n\t\t[cowbellV1, cowbellV1, cowbellV1],\n\t\t[cowbellV1TemplateItem]\n\t)\n\t@test(\n\t\t'handles resolving by id and version',\n\t\t[personV4, personV3, cowbellV1, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles resolving by id and version in different order',\n\t\t[cowbellV1, personV4, personV3, cowbellV2],\n\t\t[\n\t\t\tcowbellV2TemplateItem,\n\t\t\tcowbellV1TemplateItem,\n\t\t\tpersonV3TemplateItem,\n\t\t\tpersonV4TemplateItem,\n\t\t]\n\t)\n\t@test(\n\t\t'handles nested schema in dynamic key signature',\n\t\t[nestedMercuryContract],\n\t\t[eventSignatureTemplateItem, mercuryTemplateItem]\n\t)\n\t@test(\n\t\t'handles nested schemas in dynamic key signature',\n\t\t[nestedMercuryContractArray],\n\t\t[\n\t\t\teventSignatureTemplateItem2,\n\t\t\teventSignatureTemplateItem,\n\t\t\tmercuryTemplateItemArray,\n\t\t]\n\t)\n\t@test(\n\t\t'handles many layers of nested schemas',\n\t\t[schemaWithManyNestedSchemas],\n\t\t[\n\t\t\tlastLayerTemplateItem,\n\t\t\tsecondLayerTemplateItem,\n\t\t\tfirstLayerTemplateItem,\n\t\t\tmanyNestedTemplateItem,\n\t\t]\n\t)\n\t@test('can import event contracts', mercurySchemas, mercuryTemplateItems)\n\t@test(\n\t\t'import from not set if matching local namespace',\n\t\t[localSchema],\n\t\t[localSchemaTemplateItem],\n\t\t'Mercury'\n\t)\n\tprotected static generationTests(\n\t\tschemas: Schema[],\n\t\texpected: SchemaTemplateItem[],\n\t\tlocalNamespace = this.LOCAL_NAMESPACE\n\t) {\n\t\tthis.itemBuilder = new SchemaTemplateItemBuilder(localNamespace)\n\n\t\tconst results = this.itemBuilder.buildTemplateItems({\n\t\t\t[CORE_NAMESPACE]: schemas,\n\t\t})\n\n\t\tassert.isLength(results, expected.length)\n\n\t\texpected.forEach((expected, idx) => {\n\t\t\tconst match = results[idx]\n\t\t\tassert.isTruthy(match, `Did not find a template item for ${expected.id}`)\n\t\t\tassert.isEqualDeep(match, expected)\n\t\t})\n\t}\n\n\t@test()\n\tprotected static setsImports() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: [`import local from \"local\"`],\n\t\t\t\t\timportsWhenRemote: [`import remote from \"remote\"`],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [`import local from \"local\"`],\n\t\t\t},\n\t\t])\n\t}\n\n\t@test()\n\tprotected static bringsImportsFromRemoteFromRelatedSchemas() {\n\t\tconst results = this.itemBuilder.buildTemplateItems(\n\t\t\t{\n\t\t\t\t[this.LOCAL_NAMESPACE]: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local',\n\t\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'local', namespace: this.LOCAL_NAMESPACE },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'local2',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tschema: { id: 'remote', namespace: 'AnotherNamespace' },\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t\tAnotherNamespace: [\n\t\t\t\t\tbuildSchema({\n\t\t\t\t\t\tid: 'remote',\n\t\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t},\n\t\t\t'#spruce/schemas'\n\t\t)\n\n\t\tassert.isEqualDeep(results, [\n\t\t\t{\n\t\t\t\tid: 'remote',\n\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'remote',\n\t\t\t\t\tnamespace: 'AnotherNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote3 from \"remote3\"'],\n\t\t\t\t\tfields: { firstName: { type: 'text' } },\n\t\t\t\t},\n\t\t\t\tnameReadable: 'remote',\n\t\t\t\tnameCamel: 'remote',\n\t\t\t\tnamePascal: 'Remote',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local2',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\tid: 'local2',\n\t\t\t\t\timportsWhenLocal: ['import local2 from \"local2\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote2 from \"remote2\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local2',\n\t\t\t\tnameCamel: 'local2',\n\t\t\t\tnamePascal: 'Local2',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: [\n\t\t\t\t\t'import local2 from \"local2\"',\n\t\t\t\t\t'import remote3 from \"remote3\"',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 'local',\n\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\tschema: {\n\t\t\t\t\tid: 'local',\n\t\t\t\t\tnamespace: 'LocalNamespace',\n\t\t\t\t\timportsWhenLocal: ['import local from \"local\"'],\n\t\t\t\t\timportsWhenRemote: ['import remote from \"remote\"'],\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tfirstName: { type: 'text' },\n\t\t\t\t\t\tremote: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'remote', namespace: 'AnotherNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlocal: {\n\t\t\t\t\t\t\ttype: 'schema',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tschemaIds: [{ id: 'local', namespace: 'LocalNamespace' }],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tnameReadable: 'local',\n\t\t\t\tnameCamel: 'local',\n\t\t\t\tnamePascal: 'Local',\n\t\t\t\tisNested: false,\n\t\t\t\tdestinationDir: '#spruce/schemas',\n\t\t\t\timports: ['import local from \"local\"', 'import remote3 from \"remote3\"'],\n\t\t\t},\n\t\t])\n\t}\n}\n"],"mappings":"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"}