prismic-ts-codegen 0.1.28 → 0.1.29-pr.80.577ac11

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 (856) hide show
  1. package/bin/prismic-ts-codegen.js +1 -1
  2. package/dist/cli/configSchema.d.mts +39 -0
  3. package/dist/cli/configSchema.d.mts.map +1 -0
  4. package/dist/cli/configSchema.mjs +30 -0
  5. package/dist/cli/configSchema.mjs.map +1 -0
  6. package/dist/cli/constants.d.mts +5 -0
  7. package/dist/cli/constants.d.mts.map +1 -0
  8. package/dist/cli/constants.mjs +6 -0
  9. package/dist/cli/constants.mjs.map +1 -0
  10. package/dist/cli/loadConfig.mjs +20 -0
  11. package/dist/cli/loadConfig.mjs.map +1 -0
  12. package/dist/cli/loadLocaleIDs.mjs +18 -0
  13. package/dist/cli/loadLocaleIDs.mjs.map +1 -0
  14. package/dist/cli/loadModels.mjs +50 -0
  15. package/dist/cli/loadModels.mjs.map +1 -0
  16. package/dist/cli.d.mts +1 -0
  17. package/dist/cli.mjs +109 -0
  18. package/dist/cli.mjs.map +1 -0
  19. package/dist/constants.mjs +31 -0
  20. package/dist/constants.mjs.map +1 -0
  21. package/dist/detectTypesProvider.d.mts +17 -0
  22. package/dist/detectTypesProvider.d.mts.map +1 -0
  23. package/dist/detectTypesProvider.mjs +24 -0
  24. package/dist/detectTypesProvider.mjs.map +1 -0
  25. package/dist/generateTypes.d.mts +21 -0
  26. package/dist/generateTypes.d.mts.map +1 -0
  27. package/dist/generateTypes.mjs +142 -0
  28. package/dist/generateTypes.mjs.map +1 -0
  29. package/dist/index.d.mts +5 -0
  30. package/dist/index.mjs +4 -0
  31. package/dist/lib/addBlankLine.mjs +10 -0
  32. package/dist/lib/addBlankLine.mjs.map +1 -0
  33. package/dist/lib/addLine.mjs +9 -0
  34. package/dist/lib/addLine.mjs.map +1 -0
  35. package/dist/lib/addSection.mjs +9 -0
  36. package/dist/lib/addSection.mjs.map +1 -0
  37. package/dist/lib/addTrailingNewLine.mjs +9 -0
  38. package/dist/lib/addTrailingNewLine.mjs.map +1 -0
  39. package/dist/lib/buildCustomTypeDataType.mjs +50 -0
  40. package/dist/lib/buildCustomTypeDataType.mjs.map +1 -0
  41. package/dist/lib/buildCustomTypeType.mjs +62 -0
  42. package/dist/lib/buildCustomTypeType.mjs.map +1 -0
  43. package/dist/lib/buildFieldDocs.mjs +66 -0
  44. package/dist/lib/buildFieldDocs.mjs.map +1 -0
  45. package/dist/lib/buildFieldProperties.mjs +284 -0
  46. package/dist/lib/buildFieldProperties.mjs.map +1 -0
  47. package/dist/lib/buildSharedSliceType.mjs +151 -0
  48. package/dist/lib/buildSharedSliceType.mjs.map +1 -0
  49. package/dist/lib/buildTypeName.mjs +11 -0
  50. package/dist/lib/buildTypeName.mjs.map +1 -0
  51. package/dist/lib/buildUnion.mjs +8 -0
  52. package/dist/lib/buildUnion.mjs.map +1 -0
  53. package/dist/lib/checkHasUIDFIeld.mjs +8 -0
  54. package/dist/lib/checkHasUIDFIeld.mjs.map +1 -0
  55. package/dist/lib/getAPIIDPath.mjs +24 -0
  56. package/dist/lib/getAPIIDPath.mjs.map +1 -0
  57. package/dist/lib/getCacheKey.mjs +15 -0
  58. package/dist/lib/getCacheKey.mjs.map +1 -0
  59. package/dist/lib/getHumanReadableModelName.mjs +15 -0
  60. package/dist/lib/getHumanReadableModelName.mjs.map +1 -0
  61. package/dist/lib/getHumanReadablePath.mjs +16 -0
  62. package/dist/lib/getHumanReadablePath.mjs.map +1 -0
  63. package/dist/types.d.mts +14 -0
  64. package/dist/types.d.mts.map +1 -0
  65. package/package.json +31 -50
  66. package/src/cli/configSchema.ts +181 -50
  67. package/src/cli/constants.ts +1 -2
  68. package/src/cli/index.ts +14 -24
  69. package/src/cli/loadConfig.ts +5 -9
  70. package/src/cli/loadLocaleIDs.ts +1 -3
  71. package/src/cli/loadModels.ts +8 -10
  72. package/src/constants.ts +1 -2
  73. package/src/detectTypesProvider.ts +3 -8
  74. package/src/generateTypes.ts +3 -10
  75. package/src/index.ts +1 -2
  76. package/src/lib/addBlankLine.ts +1 -1
  77. package/src/lib/addLine.ts +1 -1
  78. package/src/lib/addSection.ts +1 -1
  79. package/src/lib/addTrailingNewLine.ts +1 -4
  80. package/src/lib/buildCustomTypeDataType.ts +1 -3
  81. package/src/lib/buildCustomTypeType.ts +4 -6
  82. package/src/lib/buildFieldDocs.ts +7 -23
  83. package/src/lib/buildFieldProperties.ts +25 -66
  84. package/src/lib/buildSharedSliceType.ts +8 -10
  85. package/src/lib/buildTypeName.ts +1 -1
  86. package/src/lib/buildUnion.ts +1 -1
  87. package/src/lib/getAPIIDPath.ts +2 -2
  88. package/src/lib/getCacheKey.ts +1 -3
  89. package/src/lib/getHumanReadableModelName.ts +2 -8
  90. package/src/lib/getHumanReadablePath.ts +2 -3
  91. package/src/types.ts +1 -5
  92. package/dist/_node_modules/@babel/code-frame/lib/index.cjs +0 -217
  93. package/dist/_node_modules/@babel/code-frame/lib/index.cjs.map +0 -1
  94. package/dist/_node_modules/@babel/code-frame/lib/index.js +0 -216
  95. package/dist/_node_modules/@babel/code-frame/lib/index.js.map +0 -1
  96. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.cjs +0 -82
  97. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.cjs.map +0 -1
  98. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -83
  99. package/dist/_node_modules/@babel/helper-validator-identifier/lib/identifier.js.map +0 -1
  100. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.cjs +0 -62
  101. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.cjs.map +0 -1
  102. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.js +0 -61
  103. package/dist/_node_modules/@babel/helper-validator-identifier/lib/index.js.map +0 -1
  104. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.cjs +0 -35
  105. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.cjs.map +0 -1
  106. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -36
  107. package/dist/_node_modules/@babel/helper-validator-identifier/lib/keyword.js.map +0 -1
  108. package/dist/_node_modules/@prismicio/client/dist/Client.cjs +0 -1231
  109. package/dist/_node_modules/@prismicio/client/dist/Client.cjs.map +0 -1
  110. package/dist/_node_modules/@prismicio/client/dist/Client.js +0 -1231
  111. package/dist/_node_modules/@prismicio/client/dist/Client.js.map +0 -1
  112. package/dist/_node_modules/@prismicio/client/dist/buildQueryURL.cjs +0 -66
  113. package/dist/_node_modules/@prismicio/client/dist/buildQueryURL.cjs.map +0 -1
  114. package/dist/_node_modules/@prismicio/client/dist/buildQueryURL.js +0 -66
  115. package/dist/_node_modules/@prismicio/client/dist/buildQueryURL.js.map +0 -1
  116. package/dist/_node_modules/@prismicio/client/dist/cookie.cjs +0 -5
  117. package/dist/_node_modules/@prismicio/client/dist/cookie.cjs.map +0 -1
  118. package/dist/_node_modules/@prismicio/client/dist/cookie.js +0 -5
  119. package/dist/_node_modules/@prismicio/client/dist/cookie.js.map +0 -1
  120. package/dist/_node_modules/@prismicio/client/dist/createClient.cjs +0 -6
  121. package/dist/_node_modules/@prismicio/client/dist/createClient.cjs.map +0 -1
  122. package/dist/_node_modules/@prismicio/client/dist/createClient.js +0 -6
  123. package/dist/_node_modules/@prismicio/client/dist/createClient.js.map +0 -1
  124. package/dist/_node_modules/@prismicio/client/dist/errors/ForbiddenError.cjs +0 -7
  125. package/dist/_node_modules/@prismicio/client/dist/errors/ForbiddenError.cjs.map +0 -1
  126. package/dist/_node_modules/@prismicio/client/dist/errors/ForbiddenError.js +0 -7
  127. package/dist/_node_modules/@prismicio/client/dist/errors/ForbiddenError.js.map +0 -1
  128. package/dist/_node_modules/@prismicio/client/dist/errors/NotFoundError.cjs +0 -7
  129. package/dist/_node_modules/@prismicio/client/dist/errors/NotFoundError.cjs.map +0 -1
  130. package/dist/_node_modules/@prismicio/client/dist/errors/NotFoundError.js +0 -7
  131. package/dist/_node_modules/@prismicio/client/dist/errors/NotFoundError.js.map +0 -1
  132. package/dist/_node_modules/@prismicio/client/dist/errors/ParsingError.cjs +0 -7
  133. package/dist/_node_modules/@prismicio/client/dist/errors/ParsingError.cjs.map +0 -1
  134. package/dist/_node_modules/@prismicio/client/dist/errors/ParsingError.js +0 -7
  135. package/dist/_node_modules/@prismicio/client/dist/errors/ParsingError.js.map +0 -1
  136. package/dist/_node_modules/@prismicio/client/dist/errors/PreviewTokenExpired.cjs +0 -7
  137. package/dist/_node_modules/@prismicio/client/dist/errors/PreviewTokenExpired.cjs.map +0 -1
  138. package/dist/_node_modules/@prismicio/client/dist/errors/PreviewTokenExpired.js +0 -7
  139. package/dist/_node_modules/@prismicio/client/dist/errors/PreviewTokenExpired.js.map +0 -1
  140. package/dist/_node_modules/@prismicio/client/dist/errors/PrismicError.cjs +0 -16
  141. package/dist/_node_modules/@prismicio/client/dist/errors/PrismicError.cjs.map +0 -1
  142. package/dist/_node_modules/@prismicio/client/dist/errors/PrismicError.js +0 -16
  143. package/dist/_node_modules/@prismicio/client/dist/errors/PrismicError.js.map +0 -1
  144. package/dist/_node_modules/@prismicio/client/dist/errors/RefExpiredError.cjs +0 -7
  145. package/dist/_node_modules/@prismicio/client/dist/errors/RefExpiredError.cjs.map +0 -1
  146. package/dist/_node_modules/@prismicio/client/dist/errors/RefExpiredError.js +0 -7
  147. package/dist/_node_modules/@prismicio/client/dist/errors/RefExpiredError.js.map +0 -1
  148. package/dist/_node_modules/@prismicio/client/dist/errors/RefNotFoundError.cjs +0 -7
  149. package/dist/_node_modules/@prismicio/client/dist/errors/RefNotFoundError.cjs.map +0 -1
  150. package/dist/_node_modules/@prismicio/client/dist/errors/RefNotFoundError.js +0 -7
  151. package/dist/_node_modules/@prismicio/client/dist/errors/RefNotFoundError.js.map +0 -1
  152. package/dist/_node_modules/@prismicio/client/dist/errors/RepositoryNotFoundError.cjs +0 -7
  153. package/dist/_node_modules/@prismicio/client/dist/errors/RepositoryNotFoundError.cjs.map +0 -1
  154. package/dist/_node_modules/@prismicio/client/dist/errors/RepositoryNotFoundError.js +0 -7
  155. package/dist/_node_modules/@prismicio/client/dist/errors/RepositoryNotFoundError.js.map +0 -1
  156. package/dist/_node_modules/@prismicio/client/dist/filter.cjs +0 -247
  157. package/dist/_node_modules/@prismicio/client/dist/filter.cjs.map +0 -1
  158. package/dist/_node_modules/@prismicio/client/dist/filter.js +0 -247
  159. package/dist/_node_modules/@prismicio/client/dist/filter.js.map +0 -1
  160. package/dist/_node_modules/@prismicio/client/dist/getRepositoryEndpoint.cjs +0 -13
  161. package/dist/_node_modules/@prismicio/client/dist/getRepositoryEndpoint.cjs.map +0 -1
  162. package/dist/_node_modules/@prismicio/client/dist/getRepositoryEndpoint.js +0 -13
  163. package/dist/_node_modules/@prismicio/client/dist/getRepositoryEndpoint.js.map +0 -1
  164. package/dist/_node_modules/@prismicio/client/dist/getRepositoryName.cjs +0 -17
  165. package/dist/_node_modules/@prismicio/client/dist/getRepositoryName.cjs.map +0 -1
  166. package/dist/_node_modules/@prismicio/client/dist/getRepositoryName.js +0 -17
  167. package/dist/_node_modules/@prismicio/client/dist/getRepositoryName.js.map +0 -1
  168. package/dist/_node_modules/@prismicio/client/dist/helpers/asLink.cjs +0 -47
  169. package/dist/_node_modules/@prismicio/client/dist/helpers/asLink.cjs.map +0 -1
  170. package/dist/_node_modules/@prismicio/client/dist/helpers/asLink.js +0 -47
  171. package/dist/_node_modules/@prismicio/client/dist/helpers/asLink.js.map +0 -1
  172. package/dist/_node_modules/@prismicio/client/dist/helpers/documentToLinkField.cjs +0 -27
  173. package/dist/_node_modules/@prismicio/client/dist/helpers/documentToLinkField.cjs.map +0 -1
  174. package/dist/_node_modules/@prismicio/client/dist/helpers/documentToLinkField.js +0 -27
  175. package/dist/_node_modules/@prismicio/client/dist/helpers/documentToLinkField.js.map +0 -1
  176. package/dist/_node_modules/@prismicio/client/dist/isRepositoryEndpoint.cjs +0 -12
  177. package/dist/_node_modules/@prismicio/client/dist/isRepositoryEndpoint.cjs.map +0 -1
  178. package/dist/_node_modules/@prismicio/client/dist/isRepositoryEndpoint.js +0 -12
  179. package/dist/_node_modules/@prismicio/client/dist/isRepositoryEndpoint.js.map +0 -1
  180. package/dist/_node_modules/@prismicio/client/dist/isRepositoryName.cjs +0 -7
  181. package/dist/_node_modules/@prismicio/client/dist/isRepositoryName.cjs.map +0 -1
  182. package/dist/_node_modules/@prismicio/client/dist/isRepositoryName.js +0 -7
  183. package/dist/_node_modules/@prismicio/client/dist/isRepositoryName.js.map +0 -1
  184. package/dist/_node_modules/@prismicio/client/dist/lib/appendFilters.cjs +0 -11
  185. package/dist/_node_modules/@prismicio/client/dist/lib/appendFilters.cjs.map +0 -1
  186. package/dist/_node_modules/@prismicio/client/dist/lib/appendFilters.js +0 -11
  187. package/dist/_node_modules/@prismicio/client/dist/lib/appendFilters.js.map +0 -1
  188. package/dist/_node_modules/@prismicio/client/dist/lib/castArray.cjs +0 -7
  189. package/dist/_node_modules/@prismicio/client/dist/lib/castArray.cjs.map +0 -1
  190. package/dist/_node_modules/@prismicio/client/dist/lib/castArray.js +0 -7
  191. package/dist/_node_modules/@prismicio/client/dist/lib/castArray.js.map +0 -1
  192. package/dist/_node_modules/@prismicio/client/dist/lib/castThunk.cjs +0 -7
  193. package/dist/_node_modules/@prismicio/client/dist/lib/castThunk.cjs.map +0 -1
  194. package/dist/_node_modules/@prismicio/client/dist/lib/castThunk.js +0 -7
  195. package/dist/_node_modules/@prismicio/client/dist/lib/castThunk.js.map +0 -1
  196. package/dist/_node_modules/@prismicio/client/dist/lib/devMsg.cjs +0 -8
  197. package/dist/_node_modules/@prismicio/client/dist/lib/devMsg.cjs.map +0 -1
  198. package/dist/_node_modules/@prismicio/client/dist/lib/devMsg.js +0 -8
  199. package/dist/_node_modules/@prismicio/client/dist/lib/devMsg.js.map +0 -1
  200. package/dist/_node_modules/@prismicio/client/dist/lib/everyTagFilter.cjs +0 -9
  201. package/dist/_node_modules/@prismicio/client/dist/lib/everyTagFilter.cjs.map +0 -1
  202. package/dist/_node_modules/@prismicio/client/dist/lib/everyTagFilter.js +0 -9
  203. package/dist/_node_modules/@prismicio/client/dist/lib/everyTagFilter.js.map +0 -1
  204. package/dist/_node_modules/@prismicio/client/dist/lib/findMasterRef.cjs +0 -8
  205. package/dist/_node_modules/@prismicio/client/dist/lib/findMasterRef.cjs.map +0 -1
  206. package/dist/_node_modules/@prismicio/client/dist/lib/findMasterRef.js +0 -8
  207. package/dist/_node_modules/@prismicio/client/dist/lib/findMasterRef.js.map +0 -1
  208. package/dist/_node_modules/@prismicio/client/dist/lib/findRef.cjs +0 -12
  209. package/dist/_node_modules/@prismicio/client/dist/lib/findRef.cjs.map +0 -1
  210. package/dist/_node_modules/@prismicio/client/dist/lib/findRef.js +0 -12
  211. package/dist/_node_modules/@prismicio/client/dist/lib/findRef.js.map +0 -1
  212. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByID.cjs +0 -8
  213. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByID.cjs.map +0 -1
  214. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByID.js +0 -8
  215. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByID.js.map +0 -1
  216. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByLabel.cjs +0 -8
  217. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByLabel.cjs.map +0 -1
  218. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByLabel.js +0 -8
  219. package/dist/_node_modules/@prismicio/client/dist/lib/findRefByLabel.js.map +0 -1
  220. package/dist/_node_modules/@prismicio/client/dist/lib/getPreviewCookie.cjs +0 -21
  221. package/dist/_node_modules/@prismicio/client/dist/lib/getPreviewCookie.cjs.map +0 -1
  222. package/dist/_node_modules/@prismicio/client/dist/lib/getPreviewCookie.js +0 -21
  223. package/dist/_node_modules/@prismicio/client/dist/lib/getPreviewCookie.js.map +0 -1
  224. package/dist/_node_modules/@prismicio/client/dist/lib/minifyGraphQLQuery.cjs +0 -7
  225. package/dist/_node_modules/@prismicio/client/dist/lib/minifyGraphQLQuery.cjs.map +0 -1
  226. package/dist/_node_modules/@prismicio/client/dist/lib/minifyGraphQLQuery.js +0 -7
  227. package/dist/_node_modules/@prismicio/client/dist/lib/minifyGraphQLQuery.js.map +0 -1
  228. package/dist/_node_modules/@prismicio/client/dist/lib/pLimit.cjs +0 -49
  229. package/dist/_node_modules/@prismicio/client/dist/lib/pLimit.cjs.map +0 -1
  230. package/dist/_node_modules/@prismicio/client/dist/lib/pLimit.js +0 -49
  231. package/dist/_node_modules/@prismicio/client/dist/lib/pLimit.js.map +0 -1
  232. package/dist/_node_modules/@prismicio/client/dist/lib/request.cjs +0 -43
  233. package/dist/_node_modules/@prismicio/client/dist/lib/request.cjs.map +0 -1
  234. package/dist/_node_modules/@prismicio/client/dist/lib/request.js +0 -43
  235. package/dist/_node_modules/@prismicio/client/dist/lib/request.js.map +0 -1
  236. package/dist/_node_modules/@prismicio/client/dist/lib/someTagsFilter.cjs +0 -9
  237. package/dist/_node_modules/@prismicio/client/dist/lib/someTagsFilter.cjs.map +0 -1
  238. package/dist/_node_modules/@prismicio/client/dist/lib/someTagsFilter.js +0 -9
  239. package/dist/_node_modules/@prismicio/client/dist/lib/someTagsFilter.js.map +0 -1
  240. package/dist/_node_modules/@prismicio/client/dist/lib/throttledLog.cjs +0 -17
  241. package/dist/_node_modules/@prismicio/client/dist/lib/throttledLog.cjs.map +0 -1
  242. package/dist/_node_modules/@prismicio/client/dist/lib/throttledLog.js +0 -17
  243. package/dist/_node_modules/@prismicio/client/dist/lib/throttledLog.js.map +0 -1
  244. package/dist/_node_modules/@prismicio/client/dist/lib/typeFilter.cjs +0 -8
  245. package/dist/_node_modules/@prismicio/client/dist/lib/typeFilter.cjs.map +0 -1
  246. package/dist/_node_modules/@prismicio/client/dist/lib/typeFilter.js +0 -8
  247. package/dist/_node_modules/@prismicio/client/dist/lib/typeFilter.js.map +0 -1
  248. package/dist/_node_modules/@prismicio/client/dist/package.json.cjs +0 -5
  249. package/dist/_node_modules/@prismicio/client/dist/package.json.cjs.map +0 -1
  250. package/dist/_node_modules/@prismicio/client/dist/package.json.js +0 -5
  251. package/dist/_node_modules/@prismicio/client/dist/package.json.js.map +0 -1
  252. package/dist/_node_modules/@prismicio/client/dist/types/model/types.cjs +0 -39
  253. package/dist/_node_modules/@prismicio/client/dist/types/model/types.cjs.map +0 -1
  254. package/dist/_node_modules/@prismicio/client/dist/types/model/types.js +0 -39
  255. package/dist/_node_modules/@prismicio/client/dist/types/model/types.js.map +0 -1
  256. package/dist/_node_modules/@prismicio/client/dist/types/value/link.cjs +0 -10
  257. package/dist/_node_modules/@prismicio/client/dist/types/value/link.cjs.map +0 -1
  258. package/dist/_node_modules/@prismicio/client/dist/types/value/link.js +0 -10
  259. package/dist/_node_modules/@prismicio/client/dist/types/value/link.js.map +0 -1
  260. package/dist/_node_modules/arrify/index.cjs +0 -10
  261. package/dist/_node_modules/arrify/index.cjs.map +0 -1
  262. package/dist/_node_modules/arrify/index.js +0 -10
  263. package/dist/_node_modules/arrify/index.js.map +0 -1
  264. package/dist/_node_modules/camelcase/index.cjs +0 -83
  265. package/dist/_node_modules/camelcase/index.cjs.map +0 -1
  266. package/dist/_node_modules/camelcase/index.js +0 -84
  267. package/dist/_node_modules/camelcase/index.js.map +0 -1
  268. package/dist/_node_modules/camelcase-keys/index.cjs +0 -55
  269. package/dist/_node_modules/camelcase-keys/index.cjs.map +0 -1
  270. package/dist/_node_modules/camelcase-keys/index.js +0 -56
  271. package/dist/_node_modules/camelcase-keys/index.js.map +0 -1
  272. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs +0 -41
  273. package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +0 -1
  274. package/dist/_node_modules/data-uri-to-buffer/dist/index.js +0 -41
  275. package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +0 -1
  276. package/dist/_node_modules/decamelize/index.cjs +0 -38
  277. package/dist/_node_modules/decamelize/index.cjs.map +0 -1
  278. package/dist/_node_modules/decamelize/index.js +0 -39
  279. package/dist/_node_modules/decamelize/index.js.map +0 -1
  280. package/dist/_node_modules/decamelize-keys/index.cjs +0 -50
  281. package/dist/_node_modules/decamelize-keys/index.cjs.map +0 -1
  282. package/dist/_node_modules/decamelize-keys/index.js +0 -51
  283. package/dist/_node_modules/decamelize-keys/index.js.map +0 -1
  284. package/dist/_node_modules/error-ex/index.cjs +0 -109
  285. package/dist/_node_modules/error-ex/index.cjs.map +0 -1
  286. package/dist/_node_modules/error-ex/index.js +0 -109
  287. package/dist/_node_modules/error-ex/index.js.map +0 -1
  288. package/dist/_node_modules/fetch-blob/file.cjs +0 -61
  289. package/dist/_node_modules/fetch-blob/file.cjs.map +0 -1
  290. package/dist/_node_modules/fetch-blob/file.js +0 -61
  291. package/dist/_node_modules/fetch-blob/file.js.map +0 -1
  292. package/dist/_node_modules/fetch-blob/index.cjs +0 -223
  293. package/dist/_node_modules/fetch-blob/index.cjs.map +0 -1
  294. package/dist/_node_modules/fetch-blob/index.js +0 -223
  295. package/dist/_node_modules/fetch-blob/index.js.map +0 -1
  296. package/dist/_node_modules/fetch-blob/streams.cjs +0 -43
  297. package/dist/_node_modules/fetch-blob/streams.cjs.map +0 -1
  298. package/dist/_node_modules/fetch-blob/streams.js +0 -42
  299. package/dist/_node_modules/fetch-blob/streams.js.map +0 -1
  300. package/dist/_node_modules/formdata-polyfill/esm.min.cjs +0 -116
  301. package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +0 -1
  302. package/dist/_node_modules/formdata-polyfill/esm.min.js +0 -116
  303. package/dist/_node_modules/formdata-polyfill/esm.min.js.map +0 -1
  304. package/dist/_node_modules/function-bind/implementation.cjs +0 -47
  305. package/dist/_node_modules/function-bind/implementation.cjs.map +0 -1
  306. package/dist/_node_modules/function-bind/implementation.js +0 -47
  307. package/dist/_node_modules/function-bind/implementation.js.map +0 -1
  308. package/dist/_node_modules/function-bind/index.cjs +0 -7
  309. package/dist/_node_modules/function-bind/index.cjs.map +0 -1
  310. package/dist/_node_modules/function-bind/index.js +0 -7
  311. package/dist/_node_modules/function-bind/index.js.map +0 -1
  312. package/dist/_node_modules/hard-rejection/index.cjs +0 -25
  313. package/dist/_node_modules/hard-rejection/index.cjs.map +0 -1
  314. package/dist/_node_modules/hard-rejection/index.js +0 -26
  315. package/dist/_node_modules/hard-rejection/index.js.map +0 -1
  316. package/dist/_node_modules/has/src/index.cjs +0 -7
  317. package/dist/_node_modules/has/src/index.cjs.map +0 -1
  318. package/dist/_node_modules/has/src/index.js +0 -7
  319. package/dist/_node_modules/has/src/index.js.map +0 -1
  320. package/dist/_node_modules/hosted-git-info/lib/from-url.cjs +0 -93
  321. package/dist/_node_modules/hosted-git-info/lib/from-url.cjs.map +0 -1
  322. package/dist/_node_modules/hosted-git-info/lib/from-url.js +0 -93
  323. package/dist/_node_modules/hosted-git-info/lib/from-url.js.map +0 -1
  324. package/dist/_node_modules/hosted-git-info/lib/hosts.cjs +0 -164
  325. package/dist/_node_modules/hosted-git-info/lib/hosts.cjs.map +0 -1
  326. package/dist/_node_modules/hosted-git-info/lib/hosts.js +0 -164
  327. package/dist/_node_modules/hosted-git-info/lib/hosts.js.map +0 -1
  328. package/dist/_node_modules/hosted-git-info/lib/index.cjs +0 -168
  329. package/dist/_node_modules/hosted-git-info/lib/index.cjs.map +0 -1
  330. package/dist/_node_modules/hosted-git-info/lib/index.js +0 -168
  331. package/dist/_node_modules/hosted-git-info/lib/index.js.map +0 -1
  332. package/dist/_node_modules/hosted-git-info/lib/parse-url.cjs +0 -51
  333. package/dist/_node_modules/hosted-git-info/lib/parse-url.cjs.map +0 -1
  334. package/dist/_node_modules/hosted-git-info/lib/parse-url.js +0 -51
  335. package/dist/_node_modules/hosted-git-info/lib/parse-url.js.map +0 -1
  336. package/dist/_node_modules/indent-string/index.cjs +0 -34
  337. package/dist/_node_modules/indent-string/index.cjs.map +0 -1
  338. package/dist/_node_modules/indent-string/index.js +0 -35
  339. package/dist/_node_modules/indent-string/index.js.map +0 -1
  340. package/dist/_node_modules/is-arrayish/index.cjs +0 -10
  341. package/dist/_node_modules/is-arrayish/index.cjs.map +0 -1
  342. package/dist/_node_modules/is-arrayish/index.js +0 -10
  343. package/dist/_node_modules/is-arrayish/index.js.map +0 -1
  344. package/dist/_node_modules/is-core-module/core.json.cjs +0 -496
  345. package/dist/_node_modules/is-core-module/core.json.cjs.map +0 -1
  346. package/dist/_node_modules/is-core-module/core.json.js +0 -496
  347. package/dist/_node_modules/is-core-module/core.json.js.map +0 -1
  348. package/dist/_node_modules/is-core-module/index.cjs +0 -62
  349. package/dist/_node_modules/is-core-module/index.cjs.map +0 -1
  350. package/dist/_node_modules/is-core-module/index.js +0 -62
  351. package/dist/_node_modules/is-core-module/index.js.map +0 -1
  352. package/dist/_node_modules/is-plain-obj/index.cjs +0 -9
  353. package/dist/_node_modules/is-plain-obj/index.cjs.map +0 -1
  354. package/dist/_node_modules/is-plain-obj/index.js +0 -9
  355. package/dist/_node_modules/is-plain-obj/index.js.map +0 -1
  356. package/dist/_node_modules/js-tokens/index.cjs +0 -27
  357. package/dist/_node_modules/js-tokens/index.cjs.map +0 -1
  358. package/dist/_node_modules/js-tokens/index.js +0 -26
  359. package/dist/_node_modules/js-tokens/index.js.map +0 -1
  360. package/dist/_node_modules/json-parse-even-better-errors/index.cjs +0 -90
  361. package/dist/_node_modules/json-parse-even-better-errors/index.cjs.map +0 -1
  362. package/dist/_node_modules/json-parse-even-better-errors/index.js +0 -90
  363. package/dist/_node_modules/json-parse-even-better-errors/index.js.map +0 -1
  364. package/dist/_node_modules/kind-of/index.cjs +0 -129
  365. package/dist/_node_modules/kind-of/index.cjs.map +0 -1
  366. package/dist/_node_modules/kind-of/index.js +0 -129
  367. package/dist/_node_modules/kind-of/index.js.map +0 -1
  368. package/dist/_node_modules/lines-and-columns/build/index.cjs +0 -67
  369. package/dist/_node_modules/lines-and-columns/build/index.cjs.map +0 -1
  370. package/dist/_node_modules/lines-and-columns/build/index.js +0 -66
  371. package/dist/_node_modules/lines-and-columns/build/index.js.map +0 -1
  372. package/dist/_node_modules/lru-cache/index.cjs +0 -1015
  373. package/dist/_node_modules/lru-cache/index.cjs.map +0 -1
  374. package/dist/_node_modules/lru-cache/index.js +0 -1015
  375. package/dist/_node_modules/lru-cache/index.js.map +0 -1
  376. package/dist/_node_modules/map-obj/index.cjs +0 -49
  377. package/dist/_node_modules/map-obj/index.cjs.map +0 -1
  378. package/dist/_node_modules/map-obj/index.js +0 -50
  379. package/dist/_node_modules/map-obj/index.js.map +0 -1
  380. package/dist/_node_modules/meow/source/index.cjs +0 -88
  381. package/dist/_node_modules/meow/source/index.cjs.map +0 -1
  382. package/dist/_node_modules/meow/source/index.js +0 -89
  383. package/dist/_node_modules/meow/source/index.js.map +0 -1
  384. package/dist/_node_modules/meow/source/options.cjs +0 -83
  385. package/dist/_node_modules/meow/source/options.cjs.map +0 -1
  386. package/dist/_node_modules/meow/source/options.js +0 -83
  387. package/dist/_node_modules/meow/source/options.js.map +0 -1
  388. package/dist/_node_modules/meow/source/parser.cjs +0 -61
  389. package/dist/_node_modules/meow/source/parser.cjs.map +0 -1
  390. package/dist/_node_modules/meow/source/parser.js +0 -61
  391. package/dist/_node_modules/meow/source/parser.js.map +0 -1
  392. package/dist/_node_modules/meow/source/utils.cjs +0 -8
  393. package/dist/_node_modules/meow/source/utils.cjs.map +0 -1
  394. package/dist/_node_modules/meow/source/utils.js +0 -8
  395. package/dist/_node_modules/meow/source/utils.js.map +0 -1
  396. package/dist/_node_modules/meow/source/validate.cjs +0 -102
  397. package/dist/_node_modules/meow/source/validate.cjs.map +0 -1
  398. package/dist/_node_modules/meow/source/validate.js +0 -102
  399. package/dist/_node_modules/meow/source/validate.js.map +0 -1
  400. package/dist/_node_modules/min-indent/index.cjs +0 -12
  401. package/dist/_node_modules/min-indent/index.cjs.map +0 -1
  402. package/dist/_node_modules/min-indent/index.js +0 -13
  403. package/dist/_node_modules/min-indent/index.js.map +0 -1
  404. package/dist/_node_modules/minimist-options/index.cjs +0 -94
  405. package/dist/_node_modules/minimist-options/index.cjs.map +0 -1
  406. package/dist/_node_modules/minimist-options/index.js +0 -95
  407. package/dist/_node_modules/minimist-options/index.js.map +0 -1
  408. package/dist/_node_modules/node-domexception/index.cjs +0 -11
  409. package/dist/_node_modules/node-domexception/index.cjs.map +0 -1
  410. package/dist/_node_modules/node-domexception/index.js +0 -10
  411. package/dist/_node_modules/node-domexception/index.js.map +0 -1
  412. package/dist/_node_modules/node-fetch/src/body.cjs +0 -262
  413. package/dist/_node_modules/node-fetch/src/body.cjs.map +0 -1
  414. package/dist/_node_modules/node-fetch/src/body.js +0 -262
  415. package/dist/_node_modules/node-fetch/src/body.js.map +0 -1
  416. package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs +0 -10
  417. package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs.map +0 -1
  418. package/dist/_node_modules/node-fetch/src/errors/abort-error.js +0 -10
  419. package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +0 -1
  420. package/dist/_node_modules/node-fetch/src/errors/base.cjs +0 -17
  421. package/dist/_node_modules/node-fetch/src/errors/base.cjs.map +0 -1
  422. package/dist/_node_modules/node-fetch/src/errors/base.js +0 -17
  423. package/dist/_node_modules/node-fetch/src/errors/base.js.map +0 -1
  424. package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs +0 -19
  425. package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs.map +0 -1
  426. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js +0 -19
  427. package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +0 -1
  428. package/dist/_node_modules/node-fetch/src/headers.cjs +0 -190
  429. package/dist/_node_modules/node-fetch/src/headers.cjs.map +0 -1
  430. package/dist/_node_modules/node-fetch/src/headers.js +0 -190
  431. package/dist/_node_modules/node-fetch/src/headers.js.map +0 -1
  432. package/dist/_node_modules/node-fetch/src/index.cjs +0 -292
  433. package/dist/_node_modules/node-fetch/src/index.cjs.map +0 -1
  434. package/dist/_node_modules/node-fetch/src/index.js +0 -292
  435. package/dist/_node_modules/node-fetch/src/index.js.map +0 -1
  436. package/dist/_node_modules/node-fetch/src/request.cjs +0 -203
  437. package/dist/_node_modules/node-fetch/src/request.cjs.map +0 -1
  438. package/dist/_node_modules/node-fetch/src/request.js +0 -203
  439. package/dist/_node_modules/node-fetch/src/request.js.map +0 -1
  440. package/dist/_node_modules/node-fetch/src/response.cjs +0 -122
  441. package/dist/_node_modules/node-fetch/src/response.cjs.map +0 -1
  442. package/dist/_node_modules/node-fetch/src/response.js +0 -123
  443. package/dist/_node_modules/node-fetch/src/response.js.map +0 -1
  444. package/dist/_node_modules/node-fetch/src/utils/get-search.cjs +0 -12
  445. package/dist/_node_modules/node-fetch/src/utils/get-search.cjs.map +0 -1
  446. package/dist/_node_modules/node-fetch/src/utils/get-search.js +0 -12
  447. package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +0 -1
  448. package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs +0 -8
  449. package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs.map +0 -1
  450. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js +0 -8
  451. package/dist/_node_modules/node-fetch/src/utils/is-redirect.js.map +0 -1
  452. package/dist/_node_modules/node-fetch/src/utils/is.cjs +0 -28
  453. package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +0 -1
  454. package/dist/_node_modules/node-fetch/src/utils/is.js +0 -28
  455. package/dist/_node_modules/node-fetch/src/utils/is.js.map +0 -1
  456. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs +0 -356
  457. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +0 -1
  458. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +0 -356
  459. package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +0 -1
  460. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs +0 -149
  461. package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +0 -1
  462. package/dist/_node_modules/node-fetch/src/utils/referrer.js +0 -149
  463. package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +0 -1
  464. package/dist/_node_modules/normalize-package-data/lib/extract_description.cjs +0 -24
  465. package/dist/_node_modules/normalize-package-data/lib/extract_description.cjs.map +0 -1
  466. package/dist/_node_modules/normalize-package-data/lib/extract_description.js +0 -24
  467. package/dist/_node_modules/normalize-package-data/lib/extract_description.js.map +0 -1
  468. package/dist/_node_modules/normalize-package-data/lib/fixer.cjs +0 -438
  469. package/dist/_node_modules/normalize-package-data/lib/fixer.cjs.map +0 -1
  470. package/dist/_node_modules/normalize-package-data/lib/fixer.js +0 -438
  471. package/dist/_node_modules/normalize-package-data/lib/fixer.js.map +0 -1
  472. package/dist/_node_modules/normalize-package-data/lib/make_warning.cjs +0 -26
  473. package/dist/_node_modules/normalize-package-data/lib/make_warning.cjs.map +0 -1
  474. package/dist/_node_modules/normalize-package-data/lib/make_warning.js +0 -26
  475. package/dist/_node_modules/normalize-package-data/lib/make_warning.js.map +0 -1
  476. package/dist/_node_modules/normalize-package-data/lib/normalize.cjs +0 -58
  477. package/dist/_node_modules/normalize-package-data/lib/normalize.cjs.map +0 -1
  478. package/dist/_node_modules/normalize-package-data/lib/normalize.js +0 -59
  479. package/dist/_node_modules/normalize-package-data/lib/normalize.js.map +0 -1
  480. package/dist/_node_modules/normalize-package-data/lib/typos.json.cjs +0 -41
  481. package/dist/_node_modules/normalize-package-data/lib/typos.json.cjs.map +0 -1
  482. package/dist/_node_modules/normalize-package-data/lib/typos.json.js +0 -41
  483. package/dist/_node_modules/normalize-package-data/lib/typos.json.js.map +0 -1
  484. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.cjs +0 -90
  485. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.cjs.map +0 -1
  486. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.js +0 -90
  487. package/dist/_node_modules/normalize-package-data/lib/warning_messages.json.js.map +0 -1
  488. package/dist/_node_modules/parse-json/index.cjs +0 -54
  489. package/dist/_node_modules/parse-json/index.cjs.map +0 -1
  490. package/dist/_node_modules/parse-json/index.js +0 -55
  491. package/dist/_node_modules/parse-json/index.js.map +0 -1
  492. package/dist/_node_modules/picocolors/picocolors.browser.cjs +0 -12
  493. package/dist/_node_modules/picocolors/picocolors.browser.cjs.map +0 -1
  494. package/dist/_node_modules/picocolors/picocolors.browser.js +0 -12
  495. package/dist/_node_modules/picocolors/picocolors.browser.js.map +0 -1
  496. package/dist/_node_modules/quick-lru/index.cjs +0 -235
  497. package/dist/_node_modules/quick-lru/index.cjs.map +0 -1
  498. package/dist/_node_modules/quick-lru/index.js +0 -236
  499. package/dist/_node_modules/quick-lru/index.js.map +0 -1
  500. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.cjs +0 -159
  501. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.cjs.map +0 -1
  502. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.js +0 -159
  503. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host-info.js.map +0 -1
  504. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.cjs +0 -88
  505. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.cjs.map +0 -1
  506. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.js +0 -88
  507. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/git-host.js.map +0 -1
  508. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.cjs +0 -180
  509. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.cjs.map +0 -1
  510. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.js +0 -180
  511. package/dist/_node_modules/read-pkg/_node_modules/hosted-git-info/index.js.map +0 -1
  512. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.cjs +0 -268
  513. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.cjs.map +0 -1
  514. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.js +0 -268
  515. package/dist/_node_modules/read-pkg/_node_modules/lru-cache/index.js.map +0 -1
  516. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.cjs +0 -20
  517. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.cjs.map +0 -1
  518. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.js +0 -20
  519. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/extract_description.js.map +0 -1
  520. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.cjs +0 -438
  521. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.cjs.map +0 -1
  522. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.js +0 -438
  523. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/fixer.js.map +0 -1
  524. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.cjs +0 -26
  525. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.cjs.map +0 -1
  526. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.js +0 -26
  527. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/make_warning.js.map +0 -1
  528. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.cjs +0 -58
  529. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.cjs.map +0 -1
  530. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.js +0 -59
  531. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/normalize.js.map +0 -1
  532. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.cjs +0 -41
  533. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.cjs.map +0 -1
  534. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.js +0 -41
  535. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/typos.json.js.map +0 -1
  536. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.cjs +0 -90
  537. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.cjs.map +0 -1
  538. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.js +0 -90
  539. package/dist/_node_modules/read-pkg/_node_modules/normalize-package-data/lib/warning_messages.json.js.map +0 -1
  540. package/dist/_node_modules/read-pkg/index.cjs +0 -20
  541. package/dist/_node_modules/read-pkg/index.cjs.map +0 -1
  542. package/dist/_node_modules/read-pkg/index.js +0 -20
  543. package/dist/_node_modules/read-pkg/index.js.map +0 -1
  544. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.cjs +0 -48
  545. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.cjs.map +0 -1
  546. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.js +0 -48
  547. package/dist/_node_modules/read-pkg-up/_node_modules/find-up/index.js.map +0 -1
  548. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.cjs +0 -43
  549. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.cjs.map +0 -1
  550. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.js +0 -43
  551. package/dist/_node_modules/read-pkg-up/_node_modules/locate-path/index.js.map +0 -1
  552. package/dist/_node_modules/read-pkg-up/index.cjs +0 -17
  553. package/dist/_node_modules/read-pkg-up/index.cjs.map +0 -1
  554. package/dist/_node_modules/read-pkg-up/index.js +0 -17
  555. package/dist/_node_modules/read-pkg-up/index.js.map +0 -1
  556. package/dist/_node_modules/redent/index.cjs +0 -8
  557. package/dist/_node_modules/redent/index.cjs.map +0 -1
  558. package/dist/_node_modules/redent/index.js +0 -9
  559. package/dist/_node_modules/redent/index.js.map +0 -1
  560. package/dist/_node_modules/semver/classes/semver.cjs +0 -245
  561. package/dist/_node_modules/semver/classes/semver.cjs.map +0 -1
  562. package/dist/_node_modules/semver/classes/semver.js +0 -245
  563. package/dist/_node_modules/semver/classes/semver.js.map +0 -1
  564. package/dist/_node_modules/semver/functions/clean.cjs +0 -11
  565. package/dist/_node_modules/semver/functions/clean.cjs.map +0 -1
  566. package/dist/_node_modules/semver/functions/clean.js +0 -11
  567. package/dist/_node_modules/semver/functions/clean.js.map +0 -1
  568. package/dist/_node_modules/semver/functions/parse.cjs +0 -20
  569. package/dist/_node_modules/semver/functions/parse.cjs.map +0 -1
  570. package/dist/_node_modules/semver/functions/parse.js +0 -20
  571. package/dist/_node_modules/semver/functions/parse.js.map +0 -1
  572. package/dist/_node_modules/semver/functions/valid.cjs +0 -11
  573. package/dist/_node_modules/semver/functions/valid.cjs.map +0 -1
  574. package/dist/_node_modules/semver/functions/valid.js +0 -11
  575. package/dist/_node_modules/semver/functions/valid.js.map +0 -1
  576. package/dist/_node_modules/semver/internal/constants.cjs +0 -29
  577. package/dist/_node_modules/semver/internal/constants.cjs.map +0 -1
  578. package/dist/_node_modules/semver/internal/constants.js +0 -29
  579. package/dist/_node_modules/semver/internal/constants.js.map +0 -1
  580. package/dist/_node_modules/semver/internal/debug.cjs +0 -7
  581. package/dist/_node_modules/semver/internal/debug.cjs.map +0 -1
  582. package/dist/_node_modules/semver/internal/debug.js +0 -7
  583. package/dist/_node_modules/semver/internal/debug.js.map +0 -1
  584. package/dist/_node_modules/semver/internal/identifiers.cjs +0 -19
  585. package/dist/_node_modules/semver/internal/identifiers.cjs.map +0 -1
  586. package/dist/_node_modules/semver/internal/identifiers.js +0 -19
  587. package/dist/_node_modules/semver/internal/identifiers.js.map +0 -1
  588. package/dist/_node_modules/semver/internal/parse-options.cjs +0 -16
  589. package/dist/_node_modules/semver/internal/parse-options.cjs.map +0 -1
  590. package/dist/_node_modules/semver/internal/parse-options.js +0 -16
  591. package/dist/_node_modules/semver/internal/parse-options.js.map +0 -1
  592. package/dist/_node_modules/semver/internal/re.cjs +0 -82
  593. package/dist/_node_modules/semver/internal/re.cjs.map +0 -1
  594. package/dist/_node_modules/semver/internal/re.js +0 -82
  595. package/dist/_node_modules/semver/internal/re.js.map +0 -1
  596. package/dist/_node_modules/spdx-correct/index.cjs +0 -334
  597. package/dist/_node_modules/spdx-correct/index.cjs.map +0 -1
  598. package/dist/_node_modules/spdx-correct/index.js +0 -334
  599. package/dist/_node_modules/spdx-correct/index.js.map +0 -1
  600. package/dist/_node_modules/spdx-exceptions/index.json.cjs +0 -43
  601. package/dist/_node_modules/spdx-exceptions/index.json.cjs.map +0 -1
  602. package/dist/_node_modules/spdx-exceptions/index.json.js +0 -44
  603. package/dist/_node_modules/spdx-exceptions/index.json.js.map +0 -1
  604. package/dist/_node_modules/spdx-expression-parse/index.cjs +0 -11
  605. package/dist/_node_modules/spdx-expression-parse/index.cjs.map +0 -1
  606. package/dist/_node_modules/spdx-expression-parse/index.js +0 -11
  607. package/dist/_node_modules/spdx-expression-parse/index.js.map +0 -1
  608. package/dist/_node_modules/spdx-expression-parse/parse.cjs +0 -111
  609. package/dist/_node_modules/spdx-expression-parse/parse.cjs.map +0 -1
  610. package/dist/_node_modules/spdx-expression-parse/parse.js +0 -111
  611. package/dist/_node_modules/spdx-expression-parse/parse.js.map +0 -1
  612. package/dist/_node_modules/spdx-expression-parse/scan.cjs +0 -104
  613. package/dist/_node_modules/spdx-expression-parse/scan.cjs.map +0 -1
  614. package/dist/_node_modules/spdx-expression-parse/scan.js +0 -104
  615. package/dist/_node_modules/spdx-expression-parse/scan.js.map +0 -1
  616. package/dist/_node_modules/spdx-license-ids/deprecated.json.cjs +0 -30
  617. package/dist/_node_modules/spdx-license-ids/deprecated.json.cjs.map +0 -1
  618. package/dist/_node_modules/spdx-license-ids/deprecated.json.js +0 -31
  619. package/dist/_node_modules/spdx-license-ids/deprecated.json.js.map +0 -1
  620. package/dist/_node_modules/spdx-license-ids/index.json.cjs +0 -510
  621. package/dist/_node_modules/spdx-license-ids/index.json.cjs.map +0 -1
  622. package/dist/_node_modules/spdx-license-ids/index.json.js +0 -511
  623. package/dist/_node_modules/spdx-license-ids/index.json.js.map +0 -1
  624. package/dist/_node_modules/strip-indent/index.cjs +0 -12
  625. package/dist/_node_modules/strip-indent/index.cjs.map +0 -1
  626. package/dist/_node_modules/strip-indent/index.js +0 -13
  627. package/dist/_node_modules/strip-indent/index.js.map +0 -1
  628. package/dist/_node_modules/trim-newlines/index.cjs +0 -15
  629. package/dist/_node_modules/trim-newlines/index.cjs.map +0 -1
  630. package/dist/_node_modules/trim-newlines/index.js +0 -15
  631. package/dist/_node_modules/trim-newlines/index.js.map +0 -1
  632. package/dist/_node_modules/validate-npm-package-license/index.cjs +0 -71
  633. package/dist/_node_modules/validate-npm-package-license/index.cjs.map +0 -1
  634. package/dist/_node_modules/validate-npm-package-license/index.js +0 -71
  635. package/dist/_node_modules/validate-npm-package-license/index.js.map +0 -1
  636. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs +0 -3822
  637. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +0 -1
  638. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +0 -3822
  639. package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +0 -1
  640. package/dist/_node_modules/yallist/iterator.cjs +0 -19
  641. package/dist/_node_modules/yallist/iterator.cjs.map +0 -1
  642. package/dist/_node_modules/yallist/iterator.js +0 -19
  643. package/dist/_node_modules/yallist/iterator.js.map +0 -1
  644. package/dist/_node_modules/yallist/yallist.cjs +0 -367
  645. package/dist/_node_modules/yallist/yallist.cjs.map +0 -1
  646. package/dist/_node_modules/yallist/yallist.js +0 -367
  647. package/dist/_node_modules/yallist/yallist.js.map +0 -1
  648. package/dist/_node_modules/yargs-parser/build/lib/index.cjs +0 -56
  649. package/dist/_node_modules/yargs-parser/build/lib/index.cjs.map +0 -1
  650. package/dist/_node_modules/yargs-parser/build/lib/index.js +0 -57
  651. package/dist/_node_modules/yargs-parser/build/lib/index.js.map +0 -1
  652. package/dist/_node_modules/yargs-parser/build/lib/string-utils.cjs +0 -63
  653. package/dist/_node_modules/yargs-parser/build/lib/string-utils.cjs.map +0 -1
  654. package/dist/_node_modules/yargs-parser/build/lib/string-utils.js +0 -63
  655. package/dist/_node_modules/yargs-parser/build/lib/string-utils.js.map +0 -1
  656. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.cjs +0 -39
  657. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.cjs.map +0 -1
  658. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -39
  659. package/dist/_node_modules/yargs-parser/build/lib/tokenize-arg-string.js.map +0 -1
  660. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.cjs +0 -15
  661. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.cjs.map +0 -1
  662. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -16
  663. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser-types.js.map +0 -1
  664. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.cjs +0 -847
  665. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.cjs.map +0 -1
  666. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.js +0 -847
  667. package/dist/_node_modules/yargs-parser/build/lib/yargs-parser.js.map +0 -1
  668. package/dist/_virtual/_commonjsHelpers.cjs +0 -9
  669. package/dist/_virtual/_commonjsHelpers.cjs.map +0 -1
  670. package/dist/_virtual/_commonjsHelpers.js +0 -9
  671. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  672. package/dist/_virtual/identifier.cjs +0 -5
  673. package/dist/_virtual/identifier.cjs.map +0 -1
  674. package/dist/_virtual/identifier.js +0 -5
  675. package/dist/_virtual/identifier.js.map +0 -1
  676. package/dist/_virtual/index.cjs +0 -5
  677. package/dist/_virtual/index.cjs.map +0 -1
  678. package/dist/_virtual/index.js +0 -5
  679. package/dist/_virtual/index.js.map +0 -1
  680. package/dist/_virtual/index2.cjs +0 -5
  681. package/dist/_virtual/index2.cjs.map +0 -1
  682. package/dist/_virtual/index2.js +0 -5
  683. package/dist/_virtual/index2.js.map +0 -1
  684. package/dist/_virtual/index3.cjs +0 -5
  685. package/dist/_virtual/index3.cjs.map +0 -1
  686. package/dist/_virtual/index3.js +0 -5
  687. package/dist/_virtual/index3.js.map +0 -1
  688. package/dist/_virtual/index4.cjs +0 -5
  689. package/dist/_virtual/index4.cjs.map +0 -1
  690. package/dist/_virtual/index4.js +0 -5
  691. package/dist/_virtual/index4.js.map +0 -1
  692. package/dist/_virtual/index5.cjs +0 -5
  693. package/dist/_virtual/index5.cjs.map +0 -1
  694. package/dist/_virtual/index5.js +0 -5
  695. package/dist/_virtual/index5.js.map +0 -1
  696. package/dist/_virtual/index6.cjs +0 -5
  697. package/dist/_virtual/index6.cjs.map +0 -1
  698. package/dist/_virtual/index6.js +0 -5
  699. package/dist/_virtual/index6.js.map +0 -1
  700. package/dist/_virtual/index7.cjs +0 -5
  701. package/dist/_virtual/index7.cjs.map +0 -1
  702. package/dist/_virtual/index7.js +0 -5
  703. package/dist/_virtual/index7.js.map +0 -1
  704. package/dist/_virtual/index8.cjs +0 -5
  705. package/dist/_virtual/index8.cjs.map +0 -1
  706. package/dist/_virtual/index8.js +0 -5
  707. package/dist/_virtual/index8.js.map +0 -1
  708. package/dist/_virtual/keyword.cjs +0 -5
  709. package/dist/_virtual/keyword.cjs.map +0 -1
  710. package/dist/_virtual/keyword.js +0 -5
  711. package/dist/_virtual/keyword.js.map +0 -1
  712. package/dist/_virtual/picocolors.browser.cjs +0 -5
  713. package/dist/_virtual/picocolors.browser.cjs.map +0 -1
  714. package/dist/_virtual/picocolors.browser.js +0 -5
  715. package/dist/_virtual/picocolors.browser.js.map +0 -1
  716. package/dist/_virtual/ponyfill.es2018.cjs +0 -5
  717. package/dist/_virtual/ponyfill.es2018.cjs.map +0 -1
  718. package/dist/_virtual/ponyfill.es2018.js +0 -5
  719. package/dist/_virtual/ponyfill.es2018.js.map +0 -1
  720. package/dist/_virtual/re.cjs +0 -5
  721. package/dist/_virtual/re.cjs.map +0 -1
  722. package/dist/_virtual/re.js +0 -5
  723. package/dist/_virtual/re.js.map +0 -1
  724. package/dist/cli/configSchema.cjs +0 -38
  725. package/dist/cli/configSchema.cjs.map +0 -1
  726. package/dist/cli/configSchema.d.ts +0 -3
  727. package/dist/cli/configSchema.js +0 -38
  728. package/dist/cli/configSchema.js.map +0 -1
  729. package/dist/cli/constants.cjs +0 -5
  730. package/dist/cli/constants.cjs.map +0 -1
  731. package/dist/cli/constants.d.ts +0 -1
  732. package/dist/cli/constants.js +0 -5
  733. package/dist/cli/constants.js.map +0 -1
  734. package/dist/cli/index.d.ts +0 -1
  735. package/dist/cli/loadConfig.cjs +0 -32
  736. package/dist/cli/loadConfig.cjs.map +0 -1
  737. package/dist/cli/loadConfig.d.ts +0 -6
  738. package/dist/cli/loadConfig.js +0 -32
  739. package/dist/cli/loadConfig.js.map +0 -1
  740. package/dist/cli/loadLocaleIDs.cjs +0 -20
  741. package/dist/cli/loadLocaleIDs.cjs.map +0 -1
  742. package/dist/cli/loadLocaleIDs.d.ts +0 -10
  743. package/dist/cli/loadLocaleIDs.js +0 -20
  744. package/dist/cli/loadLocaleIDs.js.map +0 -1
  745. package/dist/cli/loadModels.cjs +0 -79
  746. package/dist/cli/loadModels.cjs.map +0 -1
  747. package/dist/cli/loadModels.d.ts +0 -15
  748. package/dist/cli/loadModels.js +0 -62
  749. package/dist/cli/loadModels.js.map +0 -1
  750. package/dist/cli/types.d.ts +0 -175
  751. package/dist/cli.cjs +0 -123
  752. package/dist/cli.cjs.map +0 -1
  753. package/dist/cli.js +0 -121
  754. package/dist/cli.js.map +0 -1
  755. package/dist/constants.cjs +0 -32
  756. package/dist/constants.cjs.map +0 -1
  757. package/dist/constants.d.ts +0 -26
  758. package/dist/constants.js +0 -32
  759. package/dist/constants.js.map +0 -1
  760. package/dist/detectTypesProvider.cjs +0 -20
  761. package/dist/detectTypesProvider.cjs.map +0 -1
  762. package/dist/detectTypesProvider.d.ts +0 -13
  763. package/dist/detectTypesProvider.js +0 -20
  764. package/dist/detectTypesProvider.js.map +0 -1
  765. package/dist/generateTypes.cjs +0 -153
  766. package/dist/generateTypes.cjs.map +0 -1
  767. package/dist/generateTypes.d.ts +0 -16
  768. package/dist/generateTypes.js +0 -153
  769. package/dist/generateTypes.js.map +0 -1
  770. package/dist/index.cjs +0 -9
  771. package/dist/index.cjs.map +0 -1
  772. package/dist/index.d.ts +0 -6
  773. package/dist/index.js +0 -9
  774. package/dist/index.js.map +0 -1
  775. package/dist/lib/addBlankLine.cjs +0 -12
  776. package/dist/lib/addBlankLine.cjs.map +0 -1
  777. package/dist/lib/addBlankLine.d.ts +0 -5
  778. package/dist/lib/addBlankLine.js +0 -12
  779. package/dist/lib/addBlankLine.js.map +0 -1
  780. package/dist/lib/addLine.cjs +0 -8
  781. package/dist/lib/addLine.cjs.map +0 -1
  782. package/dist/lib/addLine.d.ts +0 -1
  783. package/dist/lib/addLine.js +0 -8
  784. package/dist/lib/addLine.js.map +0 -1
  785. package/dist/lib/addSection.cjs +0 -8
  786. package/dist/lib/addSection.cjs.map +0 -1
  787. package/dist/lib/addSection.d.ts +0 -1
  788. package/dist/lib/addSection.js +0 -8
  789. package/dist/lib/addSection.js.map +0 -1
  790. package/dist/lib/addTrailingNewLine.cjs +0 -11
  791. package/dist/lib/addTrailingNewLine.cjs.map +0 -1
  792. package/dist/lib/addTrailingNewLine.d.ts +0 -5
  793. package/dist/lib/addTrailingNewLine.js +0 -11
  794. package/dist/lib/addTrailingNewLine.js.map +0 -1
  795. package/dist/lib/buildCustomTypeDataType.cjs +0 -54
  796. package/dist/lib/buildCustomTypeDataType.cjs.map +0 -1
  797. package/dist/lib/buildCustomTypeDataType.d.ts +0 -14
  798. package/dist/lib/buildCustomTypeDataType.js +0 -54
  799. package/dist/lib/buildCustomTypeDataType.js.map +0 -1
  800. package/dist/lib/buildCustomTypeType.cjs +0 -63
  801. package/dist/lib/buildCustomTypeType.cjs.map +0 -1
  802. package/dist/lib/buildCustomTypeType.d.ts +0 -17
  803. package/dist/lib/buildCustomTypeType.js +0 -63
  804. package/dist/lib/buildCustomTypeType.js.map +0 -1
  805. package/dist/lib/buildFieldDocs.cjs +0 -99
  806. package/dist/lib/buildFieldDocs.cjs.map +0 -1
  807. package/dist/lib/buildFieldDocs.d.ts +0 -10
  808. package/dist/lib/buildFieldDocs.js +0 -99
  809. package/dist/lib/buildFieldDocs.js.map +0 -1
  810. package/dist/lib/buildFieldProperties.cjs +0 -339
  811. package/dist/lib/buildFieldProperties.cjs.map +0 -1
  812. package/dist/lib/buildFieldProperties.d.ts +0 -15
  813. package/dist/lib/buildFieldProperties.js +0 -339
  814. package/dist/lib/buildFieldProperties.js.map +0 -1
  815. package/dist/lib/buildSharedSliceType.cjs +0 -155
  816. package/dist/lib/buildSharedSliceType.cjs.map +0 -1
  817. package/dist/lib/buildSharedSliceType.d.ts +0 -17
  818. package/dist/lib/buildSharedSliceType.js +0 -155
  819. package/dist/lib/buildSharedSliceType.js.map +0 -1
  820. package/dist/lib/buildTypeName.cjs +0 -14
  821. package/dist/lib/buildTypeName.cjs.map +0 -1
  822. package/dist/lib/buildTypeName.d.ts +0 -1
  823. package/dist/lib/buildTypeName.js +0 -14
  824. package/dist/lib/buildTypeName.js.map +0 -1
  825. package/dist/lib/buildUnion.cjs +0 -7
  826. package/dist/lib/buildUnion.cjs.map +0 -1
  827. package/dist/lib/buildUnion.d.ts +0 -1
  828. package/dist/lib/buildUnion.js +0 -7
  829. package/dist/lib/buildUnion.js.map +0 -1
  830. package/dist/lib/checkHasUIDFIeld.cjs +0 -7
  831. package/dist/lib/checkHasUIDFIeld.cjs.map +0 -1
  832. package/dist/lib/checkHasUIDFIeld.d.ts +0 -2
  833. package/dist/lib/checkHasUIDFIeld.js +0 -7
  834. package/dist/lib/checkHasUIDFIeld.js.map +0 -1
  835. package/dist/lib/getAPIIDPath.cjs +0 -26
  836. package/dist/lib/getAPIIDPath.cjs.map +0 -1
  837. package/dist/lib/getAPIIDPath.d.ts +0 -6
  838. package/dist/lib/getAPIIDPath.js +0 -26
  839. package/dist/lib/getAPIIDPath.js.map +0 -1
  840. package/dist/lib/getCacheKey.cjs +0 -25
  841. package/dist/lib/getCacheKey.cjs.map +0 -1
  842. package/dist/lib/getCacheKey.d.ts +0 -9
  843. package/dist/lib/getCacheKey.js +0 -8
  844. package/dist/lib/getCacheKey.js.map +0 -1
  845. package/dist/lib/getHumanReadableModelName.cjs +0 -20
  846. package/dist/lib/getHumanReadableModelName.cjs.map +0 -1
  847. package/dist/lib/getHumanReadableModelName.d.ts +0 -7
  848. package/dist/lib/getHumanReadableModelName.js +0 -20
  849. package/dist/lib/getHumanReadableModelName.js.map +0 -1
  850. package/dist/lib/getHumanReadablePath.cjs +0 -19
  851. package/dist/lib/getHumanReadablePath.cjs.map +0 -1
  852. package/dist/lib/getHumanReadablePath.d.ts +0 -6
  853. package/dist/lib/getHumanReadablePath.js +0 -19
  854. package/dist/lib/getHumanReadablePath.js.map +0 -1
  855. package/dist/types.d.ts +0 -22
  856. package/src/cli/types.ts +0 -192
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTypes.mjs","names":[],"sources":["../src/generateTypes.ts"],"sourcesContent":["import type { CustomTypeModel, SharedSliceModel } from \"@prismicio/client\";\nimport { source } from \"common-tags\";\nimport QuickLRU from \"quick-lru\";\n\nimport { addLine } from \"./lib/addLine\";\nimport { addSection } from \"./lib/addSection\";\nimport { buildCustomTypeType } from \"./lib/buildCustomTypeType\";\nimport { buildSharedSliceType } from \"./lib/buildSharedSliceType\";\nimport { buildUnion } from \"./lib/buildUnion\";\nimport type { FieldConfigs } from \"./types\";\n\nexport type TypesProvider = \"@prismicio/client\" | \"@prismicio/types\";\n\nconst cache = new QuickLRU<string, unknown>({ maxSize: 1000 });\n\nexport type GenerateTypesConfig = {\n\tcustomTypeModels?: CustomTypeModel[];\n\tsharedSliceModels?: SharedSliceModel[];\n\tlocaleIDs?: string[];\n\tfieldConfigs?: FieldConfigs;\n\ttypesProvider?: TypesProvider;\n\tclientIntegration?: {\n\t\tincludeCreateClientInterface?: boolean;\n\t\tincludeContentNamespace?: boolean;\n\t};\n\tcache?: boolean;\n};\n\nexport function generateTypes(config: GenerateTypesConfig = {}): string {\n\tconst fieldConfigs = config.fieldConfigs || {};\n\tconst shouldUseCache = config.cache ?? true;\n\n\tlet code = \"\";\n\n\tconst typesProvider = config.typesProvider || \"@prismicio/types\";\n\tlet clientImportName = \"prismic\";\n\n\tcode = addLine(`import type * as prismic from \"${typesProvider}\";`, code);\n\n\tif (\n\t\tconfig.clientIntegration?.includeCreateClientInterface ||\n\t\tconfig.clientIntegration?.includeContentNamespace\n\t) {\n\t\tif (typesProvider !== \"@prismicio/client\") {\n\t\t\tclientImportName = \"prismicClient\";\n\n\t\t\t// This import declaration would be a duplicate if the types\n\t\t\t// provider is @prismicio/client.\n\t\t\tcode = addLine(`import type * as ${clientImportName} from \"@prismicio/client\";`, code);\n\t\t}\n\t}\n\n\tcode = addSection(`type Simplify<T> = { [KeyType in keyof T]: T[KeyType] };`, code);\n\n\tcode = addSection(\n\t\t`\ntype PickContentRelationshipFieldData<\n\tTRelationship extends prismic.CustomTypeModelFetchCustomTypeLevel1 | prismic.CustomTypeModelFetchCustomTypeLevel2 | prismic.CustomTypeModelFetchGroupLevel1 | prismic.CustomTypeModelFetchGroupLevel2,\n\tTData extends Record<string, prismic.AnyRegularField | prismic.GroupField | prismic.NestedGroupField | prismic.SliceZone>,\n\tTLang extends string\n> = |\n\t// Content relationship fields\n\t{\n\t\t[TSubRelationship in Extract<\n\t\t\tTRelationship[\"fields\"][number], prismic.CustomTypeModelFetchContentRelationshipLevel1\n\t\t> as TSubRelationship[\"id\"]]:\n\t\t\tContentRelationshipFieldWithData<TSubRelationship[\"customtypes\"], TLang>;\n\t} &\n\t// Group\n\t{\n\t\t[TGroup in Extract<\n\t\t\tTRelationship[\"fields\"][number], prismic.CustomTypeModelFetchGroupLevel1 | prismic.CustomTypeModelFetchGroupLevel2\n\t\t> as TGroup[\"id\"]]:\n\t\t\tTData[TGroup[\"id\"]] extends prismic.GroupField<infer TGroupData>\n\t\t\t\t? prismic.GroupField<PickContentRelationshipFieldData<TGroup, TGroupData, TLang>>\n\t\t\t\t: never\n\t} &\n\t// Other fields\n\t{\n\t\t[TFieldKey in Extract<TRelationship[\"fields\"][number], string>]:\n\t\t\tTFieldKey extends keyof TData ? TData[TFieldKey] : never;\n\t};\n\ntype ContentRelationshipFieldWithData<\n\tTCustomType extends readonly (prismic.CustomTypeModelFetchCustomTypeLevel1 | string)[] | readonly (prismic.CustomTypeModelFetchCustomTypeLevel2 | string)[],\n\tTLang extends string = string\n> = {\n\t[ID in Exclude<TCustomType[number], string>[\"id\"]]:\n\t\tprismic.ContentRelationshipField<\n\t\t\tID,\n\t\t\tTLang,\n\t\t\tPickContentRelationshipFieldData<\n\t\t\t\tExtract<TCustomType[number], { id: ID }>,\n\t\t\t\tExtract<prismic.Content.AllDocumentTypes, { type: ID }>[\"data\"],\n\t\t\t\tTLang\n\t\t\t>\n\t\t>\n}[Exclude<TCustomType[number], string>[\"id\"]];\n`,\n\t\tcode,\n\t);\n\n\tconst contentTypeNames: string[] = [];\n\n\tif (config.customTypeModels) {\n\t\tconst allDocumentTypesTypeNames: string[] = [];\n\n\t\tfor (const model of config.customTypeModels) {\n\t\t\tconst customTypeType = buildCustomTypeType({\n\t\t\t\tmodel,\n\t\t\t\tlocaleIDs: config.localeIDs,\n\t\t\t\tfieldConfigs,\n\t\t\t\tcache: shouldUseCache ? cache : undefined,\n\t\t\t});\n\n\t\t\tfor (const auxiliaryType of customTypeType.auxiliaryTypes) {\n\t\t\t\tcode = addSection(auxiliaryType.code, code);\n\t\t\t}\n\n\t\t\tcode = addSection(customTypeType.code, code);\n\n\t\t\tallDocumentTypesTypeNames.push(customTypeType.name);\n\n\t\t\tcontentTypeNames.push(customTypeType.name);\n\t\t\tcontentTypeNames.push(...customTypeType.contentTypeNames);\n\t\t}\n\n\t\tif (config.customTypeModels.length > 0) {\n\t\t\tconst allDocumentTypesUnionName = \"AllDocumentTypes\";\n\t\t\tconst allDocumentTypesUnion = buildUnion(allDocumentTypesTypeNames);\n\n\t\t\tcode = addSection(\n\t\t\t\t`export type ${allDocumentTypesUnionName} = ${allDocumentTypesUnion};`,\n\t\t\t\tcode,\n\t\t\t);\n\n\t\t\tcontentTypeNames.push(allDocumentTypesUnionName);\n\t\t}\n\t}\n\n\tif (config.sharedSliceModels) {\n\t\tfor (const model of config.sharedSliceModels) {\n\t\t\tconst sharedSliceType = buildSharedSliceType({\n\t\t\t\tmodel,\n\t\t\t\tfieldConfigs,\n\t\t\t\tcache: shouldUseCache ? cache : undefined,\n\t\t\t});\n\n\t\t\tfor (const auxiliaryType of sharedSliceType.auxiliaryTypes) {\n\t\t\t\tcode = addSection(auxiliaryType.code, code);\n\t\t\t}\n\n\t\t\tcode = addSection(sharedSliceType.code, code);\n\n\t\t\tcontentTypeNames.push(sharedSliceType.name);\n\t\t\tcontentTypeNames.push(...sharedSliceType.contentTypeNames);\n\t\t}\n\t}\n\n\tif (\n\t\tconfig.clientIntegration?.includeCreateClientInterface ||\n\t\tconfig.clientIntegration?.includeContentNamespace\n\t) {\n\t\tlet clientModuleCode = \"\";\n\n\t\tif (config.clientIntegration.includeCreateClientInterface) {\n\t\t\tif ((config.customTypeModels?.length || 0) > 0) {\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateClient {\n\t(repositoryNameOrEndpoint: string, options?: ${clientImportName}.ClientConfig): ${clientImportName}.Client<AllDocumentTypes>;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateWriteClient {\n\t(repositoryNameOrEndpoint: string, options: ${clientImportName}.WriteClientConfig): ${clientImportName}.WriteClient<AllDocumentTypes>;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateMigration {\n\t(): ${clientImportName}.Migration<AllDocumentTypes>;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateClient {\n\t(repositoryNameOrEndpoint: string, options?: ${clientImportName}.ClientConfig): ${clientImportName}.Client;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateWriteClient {\n\t(repositoryNameOrEndpoint: string, options?: ${clientImportName}.WriteClientConfig): ${clientImportName}.WriteClient;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t\tclientModuleCode = addSection(\n\t\t\t\t\t`interface CreateMigration {\n\t(): ${clientImportName}.Migration;\n}`,\n\t\t\t\t\tclientModuleCode,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (config.clientIntegration.includeContentNamespace) {\n\t\t\tclientModuleCode = addSection(\n\t\t\t\tsource`\n\t\t\t\t\tnamespace Content {\n\t\t\t\t\t\texport type {\n\t\t\t\t\t\t\t${contentTypeNames.join(\",\\n\")}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t`,\n\t\t\t\tclientModuleCode,\n\t\t\t);\n\t\t}\n\n\t\tcode = addSection(\n\t\t\tsource`\n\t\t\t\tdeclare module \"@prismicio/client\" {\n\t\t\t\t\t${clientModuleCode}\n\t\t\t\t}\n\t\t\t`,\n\t\t\tcode,\n\t\t);\n\t}\n\n\treturn code;\n}\n"],"mappings":";;;;;;;;AAaA,MAAM,QAAQ,IAAI,SAA0B,EAAE,SAAS,KAAM,CAAC;AAe9D,SAAgB,cAAc,SAA8B,EAAE,EAAU;CACvE,MAAM,eAAe,OAAO,gBAAgB,EAAE;CAC9C,MAAM,iBAAiB,OAAO,SAAS;CAEvC,IAAI,OAAO;CAEX,MAAM,gBAAgB,OAAO,iBAAiB;CAC9C,IAAI,mBAAmB;AAEvB,QAAO,QAAQ,kCAAkC,cAAc,KAAK,KAAK;AAEzE,KACC,OAAO,mBAAmB,gCAC1B,OAAO,mBAAmB;MAEtB,kBAAkB,qBAAqB;AAC1C,sBAAmB;AAInB,UAAO,QAAQ,oBAAoB,iBAAiB,6BAA6B,KAAK;;;AAIxF,QAAO,WAAW,4DAA4D,KAAK;AAEnF,QAAO,WACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CA,KACA;CAED,MAAM,mBAA6B,EAAE;AAErC,KAAI,OAAO,kBAAkB;EAC5B,MAAM,4BAAsC,EAAE;AAE9C,OAAK,MAAM,SAAS,OAAO,kBAAkB;GAC5C,MAAM,iBAAiB,oBAAoB;IAC1C;IACA,WAAW,OAAO;IAClB;IACA,OAAO,iBAAiB,QAAQ,KAAA;IAChC,CAAC;AAEF,QAAK,MAAM,iBAAiB,eAAe,eAC1C,QAAO,WAAW,cAAc,MAAM,KAAK;AAG5C,UAAO,WAAW,eAAe,MAAM,KAAK;AAE5C,6BAA0B,KAAK,eAAe,KAAK;AAEnD,oBAAiB,KAAK,eAAe,KAAK;AAC1C,oBAAiB,KAAK,GAAG,eAAe,iBAAiB;;AAG1D,MAAI,OAAO,iBAAiB,SAAS,GAAG;GACvC,MAAM,4BAA4B;AAGlC,UAAO,WACN,eAAe,0BAA0B,KAHZ,WAAW,0BAA0B,CAGE,IACpE,KACA;AAED,oBAAiB,KAAK,0BAA0B;;;AAIlD,KAAI,OAAO,kBACV,MAAK,MAAM,SAAS,OAAO,mBAAmB;EAC7C,MAAM,kBAAkB,qBAAqB;GAC5C;GACA;GACA,OAAO,iBAAiB,QAAQ,KAAA;GAChC,CAAC;AAEF,OAAK,MAAM,iBAAiB,gBAAgB,eAC3C,QAAO,WAAW,cAAc,MAAM,KAAK;AAG5C,SAAO,WAAW,gBAAgB,MAAM,KAAK;AAE7C,mBAAiB,KAAK,gBAAgB,KAAK;AAC3C,mBAAiB,KAAK,GAAG,gBAAgB,iBAAiB;;AAI5D,KACC,OAAO,mBAAmB,gCAC1B,OAAO,mBAAmB,yBACzB;EACD,IAAI,mBAAmB;AAEvB,MAAI,OAAO,kBAAkB,6BAC5B,MAAK,OAAO,kBAAkB,UAAU,KAAK,GAAG;AAC/C,sBAAmB,WAClB;gDAC2C,iBAAiB,kBAAkB,iBAAiB;IAE/F,iBACA;AACD,sBAAmB,WAClB;+CAC0C,iBAAiB,uBAAuB,iBAAiB;IAEnG,iBACA;AACD,sBAAmB,WAClB;OACE,iBAAiB;IAEnB,iBACA;SACK;AACN,sBAAmB,WAClB;gDAC2C,iBAAiB,kBAAkB,iBAAiB;IAE/F,iBACA;AACD,sBAAmB,WAClB;gDAC2C,iBAAiB,uBAAuB,iBAAiB;IAEpG,iBACA;AACD,sBAAmB,WAClB;OACE,iBAAiB;IAEnB,iBACA;;AAIH,MAAI,OAAO,kBAAkB,wBAC5B,oBAAmB,WAClB,MAAM;;;SAGD,iBAAiB,KAAK,MAAM,CAAC;;;OAIlC,iBACA;AAGF,SAAO,WACN,MAAM;;OAEF,iBAAiB;;MAGrB,KACA;;AAGF,QAAO"}
@@ -0,0 +1,5 @@
1
+ import { GenerateTypesConfig, TypesProvider, generateTypes } from "./generateTypes.mjs";
2
+ import { DetectTypesProviderConfig, detectTypesProvider } from "./detectTypesProvider.mjs";
3
+ import { Config } from "./cli/configSchema.mjs";
4
+ import { NON_EDITABLE_FILE_HEADER } from "./cli/constants.mjs";
5
+ export { type Config, type DetectTypesProviderConfig, type GenerateTypesConfig, NON_EDITABLE_FILE_HEADER, type TypesProvider, detectTypesProvider, generateTypes };
package/dist/index.mjs ADDED
@@ -0,0 +1,4 @@
1
+ import { generateTypes } from "./generateTypes.mjs";
2
+ import { detectTypesProvider } from "./detectTypesProvider.mjs";
3
+ import { NON_EDITABLE_FILE_HEADER } from "./cli/constants.mjs";
4
+ export { NON_EDITABLE_FILE_HEADER, detectTypesProvider, generateTypes };
@@ -0,0 +1,10 @@
1
+ import { addTrailingNewLine } from "./addTrailingNewLine.mjs";
2
+ //#region src/lib/addBlankLine.ts
3
+ function addBlankLine(state, config) {
4
+ if ((!state || state.endsWith("\n\n")) && !config?.force) return state;
5
+ else return addTrailingNewLine(state) + "\n";
6
+ }
7
+ //#endregion
8
+ export { addBlankLine };
9
+
10
+ //# sourceMappingURL=addBlankLine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addBlankLine.mjs","names":[],"sources":["../../src/lib/addBlankLine.ts"],"sourcesContent":["import { addTrailingNewLine } from \"./addTrailingNewLine\";\n\ntype AddBlankLineConfig = {\n\tforce?: boolean;\n};\n\nexport function addBlankLine(state: string, config?: AddBlankLineConfig): string {\n\tif ((!state || state.endsWith(\"\\n\\n\")) && !config?.force) {\n\t\treturn state;\n\t} else {\n\t\treturn addTrailingNewLine(state) + \"\\n\";\n\t}\n}\n"],"mappings":";;AAMA,SAAgB,aAAa,OAAe,QAAqC;AAChF,MAAK,CAAC,SAAS,MAAM,SAAS,OAAO,KAAK,CAAC,QAAQ,MAClD,QAAO;KAEP,QAAO,mBAAmB,MAAM,GAAG"}
@@ -0,0 +1,9 @@
1
+ import { addTrailingNewLine } from "./addTrailingNewLine.mjs";
2
+ //#region src/lib/addLine.ts
3
+ function addLine(line, state) {
4
+ return addTrailingNewLine(state) + line;
5
+ }
6
+ //#endregion
7
+ export { addLine };
8
+
9
+ //# sourceMappingURL=addLine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addLine.mjs","names":[],"sources":["../../src/lib/addLine.ts"],"sourcesContent":["import { addTrailingNewLine } from \"./addTrailingNewLine\";\n\nexport function addLine(line: string, state: string): string {\n\treturn addTrailingNewLine(state) + line;\n}\n"],"mappings":";;AAEA,SAAgB,QAAQ,MAAc,OAAuB;AAC5D,QAAO,mBAAmB,MAAM,GAAG"}
@@ -0,0 +1,9 @@
1
+ import { addBlankLine } from "./addBlankLine.mjs";
2
+ //#region src/lib/addSection.ts
3
+ function addSection(section, state) {
4
+ return addBlankLine(state) + section;
5
+ }
6
+ //#endregion
7
+ export { addSection };
8
+
9
+ //# sourceMappingURL=addSection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSection.mjs","names":[],"sources":["../../src/lib/addSection.ts"],"sourcesContent":["import { addBlankLine } from \"./addBlankLine\";\n\nexport function addSection(section: string, state: string): string {\n\treturn addBlankLine(state) + section;\n}\n"],"mappings":";;AAEA,SAAgB,WAAW,SAAiB,OAAuB;AAClE,QAAO,aAAa,MAAM,GAAG"}
@@ -0,0 +1,9 @@
1
+ //#region src/lib/addTrailingNewLine.ts
2
+ function addTrailingNewLine(state, config) {
3
+ if ((!state || state.endsWith("\n")) && !config?.force) return state;
4
+ else return state + "\n";
5
+ }
6
+ //#endregion
7
+ export { addTrailingNewLine };
8
+
9
+ //# sourceMappingURL=addTrailingNewLine.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addTrailingNewLine.mjs","names":[],"sources":["../../src/lib/addTrailingNewLine.ts"],"sourcesContent":["type AddTrailingNewLineConfig = {\n\tforce?: boolean;\n};\n\nexport function addTrailingNewLine(state: string, config?: AddTrailingNewLineConfig): string {\n\tif ((!state || state.endsWith(\"\\n\")) && !config?.force) {\n\t\treturn state;\n\t} else {\n\t\treturn state + \"\\n\";\n\t}\n}\n"],"mappings":";AAIA,SAAgB,mBAAmB,OAAe,QAA2C;AAC5F,MAAK,CAAC,SAAS,MAAM,SAAS,KAAK,KAAK,CAAC,QAAQ,MAChD,QAAO;KAEP,QAAO,QAAQ"}
@@ -0,0 +1,50 @@
1
+ import { buildTypeName } from "./buildTypeName.mjs";
2
+ import { getHumanReadableModelName } from "./getHumanReadableModelName.mjs";
3
+ import { buildFieldProperties } from "./buildFieldProperties.mjs";
4
+ import { source } from "common-tags";
5
+ //#region src/lib/buildCustomTypeDataType.ts
6
+ function buildCustomTypeDataType(args) {
7
+ let code = "";
8
+ const auxiliaryTypes = [];
9
+ const contentTypeNames = [];
10
+ const name = buildTypeName(args.model.id, "Document", "Data");
11
+ const humanReadableName = getHumanReadableModelName({
12
+ name: args.model.id,
13
+ model: args.model
14
+ });
15
+ let fieldProperties = "";
16
+ for (const tabName in args.model.json) {
17
+ const { uid: _uid, ...fields } = args.model.json[tabName];
18
+ const tabFieldProperties = buildFieldProperties({
19
+ fields,
20
+ fieldConfigs: args.fieldConfigs,
21
+ path: [{
22
+ name: args.model.id,
23
+ model: args.model
24
+ }],
25
+ tabName
26
+ });
27
+ fieldProperties += tabFieldProperties.code;
28
+ auxiliaryTypes.push(...tabFieldProperties.auxiliaryTypes);
29
+ contentTypeNames.push(...tabFieldProperties.contentTypeNames);
30
+ }
31
+ if (fieldProperties) code = source`
32
+ /**
33
+ * Content for ${humanReadableName} documents
34
+ */
35
+ interface ${name} {
36
+ ${fieldProperties}
37
+ }
38
+ `;
39
+ else code = `interface ${name} {}`;
40
+ return {
41
+ name,
42
+ code,
43
+ auxiliaryTypes,
44
+ contentTypeNames
45
+ };
46
+ }
47
+ //#endregion
48
+ export { buildCustomTypeDataType };
49
+
50
+ //# sourceMappingURL=buildCustomTypeDataType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCustomTypeDataType.mjs","names":[],"sources":["../../src/lib/buildCustomTypeDataType.ts"],"sourcesContent":["import type { CustomTypeModel } from \"@prismicio/client\";\nimport { source } from \"common-tags\";\n\nimport { buildTypeName } from \"../lib/buildTypeName\";\nimport type { AuxiliaryType, FieldConfigs } from \"../types\";\nimport { buildFieldProperties } from \"./buildFieldProperties\";\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype BuildCustomTypeDataTypeArgs = {\n\tmodel: CustomTypeModel;\n\tfieldConfigs: FieldConfigs;\n};\n\ntype BuildCustomTypeDataTypeReturnValue = {\n\tname: string;\n\tcode: string;\n\tauxiliaryTypes: AuxiliaryType[];\n\tcontentTypeNames: string[];\n};\n\nexport function buildCustomTypeDataType(\n\targs: BuildCustomTypeDataTypeArgs,\n): BuildCustomTypeDataTypeReturnValue {\n\tlet code = \"\";\n\tconst auxiliaryTypes: AuxiliaryType[] = [];\n\tconst contentTypeNames: string[] = [];\n\n\tconst name = buildTypeName(args.model.id, \"Document\", \"Data\");\n\tconst humanReadableName = getHumanReadableModelName({\n\t\tname: args.model.id,\n\t\tmodel: args.model,\n\t});\n\n\tlet fieldProperties = \"\";\n\n\tfor (const tabName in args.model.json) {\n\t\tconst { uid: _uid, ...fields } = args.model.json[tabName];\n\n\t\tconst tabFieldProperties = buildFieldProperties({\n\t\t\tfields,\n\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\tpath: [\n\t\t\t\t{\n\t\t\t\t\tname: args.model.id,\n\t\t\t\t\tmodel: args.model,\n\t\t\t\t},\n\t\t\t],\n\t\t\ttabName,\n\t\t});\n\n\t\tfieldProperties += tabFieldProperties.code;\n\n\t\tauxiliaryTypes.push(...tabFieldProperties.auxiliaryTypes);\n\t\tcontentTypeNames.push(...tabFieldProperties.contentTypeNames);\n\t}\n\n\tif (fieldProperties) {\n\t\tcode = source`\n\t\t\t/**\n\t\t\t * Content for ${humanReadableName} documents\n\t\t\t */\n\t\t\tinterface ${name} {\n\t\t\t\t${fieldProperties}\n\t\t\t}\n\t\t`;\n\t} else {\n\t\tcode = `interface ${name} {}`;\n\t}\n\n\treturn {\n\t\tname,\n\t\tcode,\n\t\tauxiliaryTypes,\n\t\tcontentTypeNames,\n\t};\n}\n"],"mappings":";;;;;AAoBA,SAAgB,wBACf,MACqC;CACrC,IAAI,OAAO;CACX,MAAM,iBAAkC,EAAE;CAC1C,MAAM,mBAA6B,EAAE;CAErC,MAAM,OAAO,cAAc,KAAK,MAAM,IAAI,YAAY,OAAO;CAC7D,MAAM,oBAAoB,0BAA0B;EACnD,MAAM,KAAK,MAAM;EACjB,OAAO,KAAK;EACZ,CAAC;CAEF,IAAI,kBAAkB;AAEtB,MAAK,MAAM,WAAW,KAAK,MAAM,MAAM;EACtC,MAAM,EAAE,KAAK,MAAM,GAAG,WAAW,KAAK,MAAM,KAAK;EAEjD,MAAM,qBAAqB,qBAAqB;GAC/C;GACA,cAAc,KAAK;GACnB,MAAM,CACL;IACC,MAAM,KAAK,MAAM;IACjB,OAAO,KAAK;IACZ,CACD;GACD;GACA,CAAC;AAEF,qBAAmB,mBAAmB;AAEtC,iBAAe,KAAK,GAAG,mBAAmB,eAAe;AACzD,mBAAiB,KAAK,GAAG,mBAAmB,iBAAiB;;AAG9D,KAAI,gBACH,QAAO,MAAM;;oBAEK,kBAAkB;;eAEvB,KAAK;MACd,gBAAgB;;;KAIpB,QAAO,aAAa,KAAK;AAG1B,QAAO;EACN;EACA;EACA;EACA;EACA"}
@@ -0,0 +1,62 @@
1
+ import { addSection } from "./addSection.mjs";
2
+ import { CUSTOM_TYPES_DOCUMENTATION_URL } from "../constants.mjs";
3
+ import { buildTypeName } from "./buildTypeName.mjs";
4
+ import { getHumanReadableModelName } from "./getHumanReadableModelName.mjs";
5
+ import { buildUnion } from "./buildUnion.mjs";
6
+ import { buildCustomTypeDataType } from "./buildCustomTypeDataType.mjs";
7
+ import { checkHasUIDField } from "./checkHasUIDFIeld.mjs";
8
+ import { getCacheKey } from "./getCacheKey.mjs";
9
+ import { source } from "common-tags";
10
+ //#region src/lib/buildCustomTypeType.ts
11
+ function buildCustomTypeType(args) {
12
+ if (args.cache) {
13
+ const key = getCacheKey(args.model);
14
+ const cached = args.cache.get(key);
15
+ if (cached) return cached;
16
+ }
17
+ let code = "";
18
+ const auxiliaryTypes = [];
19
+ const contentTypeNames = [];
20
+ const name = buildTypeName(args.model.id, "Document");
21
+ const langDefault = args.localeIDs && args.localeIDs.length > 0 ? buildUnion(args.localeIDs.map((localeID) => `"${localeID}"`)) : "string";
22
+ const baseDocumentType = checkHasUIDField(args.model) ? "PrismicDocumentWithUID" : "PrismicDocumentWithoutUID";
23
+ const humanReadableName = getHumanReadableModelName({
24
+ name: args.model.id,
25
+ model: args.model
26
+ });
27
+ const dataType = buildCustomTypeDataType({
28
+ model: args.model,
29
+ fieldConfigs: args.fieldConfigs
30
+ });
31
+ auxiliaryTypes.push(...dataType.auxiliaryTypes);
32
+ contentTypeNames.push(dataType.name);
33
+ contentTypeNames.push(...dataType.contentTypeNames);
34
+ code = addSection(dataType.code, code);
35
+ code = addSection(source`
36
+ /**
37
+ * ${humanReadableName} document from Prismic
38
+ *
39
+ * - **API ID**: \`${args.model.id}\`
40
+ * - **Repeatable**: \`${args.model.repeatable.toString()}\`
41
+ * - **Documentation**: ${CUSTOM_TYPES_DOCUMENTATION_URL}
42
+ *
43
+ * @typeParam Lang - Language API ID of the document.
44
+ */
45
+ export type ${name}<Lang extends string = ${langDefault}> = prismic.${baseDocumentType}<Simplify<${dataType.name}>, "${args.model.id}", Lang>;
46
+ `, code);
47
+ const result = {
48
+ name,
49
+ code,
50
+ auxiliaryTypes,
51
+ contentTypeNames
52
+ };
53
+ if (args.cache) {
54
+ const key = getCacheKey(args.model);
55
+ args.cache.set(key, result);
56
+ }
57
+ return result;
58
+ }
59
+ //#endregion
60
+ export { buildCustomTypeType };
61
+
62
+ //# sourceMappingURL=buildCustomTypeType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildCustomTypeType.mjs","names":[],"sources":["../../src/lib/buildCustomTypeType.ts"],"sourcesContent":["import type { CustomTypeModel } from \"@prismicio/client\";\nimport { source } from \"common-tags\";\nimport type QuickLRU from \"quick-lru\";\n\nimport { CUSTOM_TYPES_DOCUMENTATION_URL } from \"../constants\";\nimport type { AuxiliaryType, FieldConfigs } from \"../types\";\nimport { addSection } from \"./addSection\";\nimport { buildCustomTypeDataType } from \"./buildCustomTypeDataType\";\nimport { buildTypeName } from \"./buildTypeName\";\nimport { buildUnion } from \"./buildUnion\";\nimport { checkHasUIDField } from \"./checkHasUIDFIeld\";\nimport { getCacheKey } from \"./getCacheKey\";\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype BuildCustomTypeTypesArgs = {\n\tmodel: CustomTypeModel;\n\tlocaleIDs?: string[];\n\tfieldConfigs: FieldConfigs;\n\tcache?: QuickLRU<string, unknown>;\n};\n\ntype BuildCustomTypeTypeReturnValue = {\n\tname: string;\n\tcode: string;\n\tauxiliaryTypes: AuxiliaryType[];\n\tcontentTypeNames: string[];\n};\n\nexport function buildCustomTypeType(\n\targs: BuildCustomTypeTypesArgs\n): BuildCustomTypeTypeReturnValue {\n\tif (args.cache) {\n\t\tconst key = getCacheKey(args.model);\n\t\tconst cached = args.cache.get(key);\n\n\t\tif (cached) {\n\t\t\treturn cached as BuildCustomTypeTypeReturnValue;\n\t\t}\n\t}\n\n\tlet code = \"\";\n\n\tconst auxiliaryTypes: AuxiliaryType[] = [];\n\tconst contentTypeNames: string[] = [];\n\n\tconst name = buildTypeName(args.model.id, \"Document\");\n\tconst langDefault =\n\t\targs.localeIDs && args.localeIDs.length > 0\n\t\t\t? buildUnion(args.localeIDs.map((localeID) => `\"${localeID}\"`))\n\t\t\t: \"string\";\n\tconst baseDocumentType = checkHasUIDField(args.model)\n\t\t? \"PrismicDocumentWithUID\"\n\t\t: \"PrismicDocumentWithoutUID\";\n\tconst humanReadableName = getHumanReadableModelName({\n\t\tname: args.model.id,\n\t\tmodel: args.model,\n\t});\n\n\tconst dataType = buildCustomTypeDataType({\n\t\tmodel: args.model,\n\t\tfieldConfigs: args.fieldConfigs,\n\t});\n\n\tauxiliaryTypes.push(...dataType.auxiliaryTypes);\n\tcontentTypeNames.push(dataType.name);\n\tcontentTypeNames.push(...dataType.contentTypeNames);\n\n\tcode = addSection(dataType.code, code);\n\n\tcode = addSection(\n\t\tsource`\n\t\t\t/**\n\t\t\t * ${humanReadableName} document from Prismic\n\t\t\t *\n\t\t\t * - **API ID**: \\`${args.model.id}\\`\n\t\t\t * - **Repeatable**: \\`${args.model.repeatable.toString()}\\`\n\t\t\t * - **Documentation**: ${CUSTOM_TYPES_DOCUMENTATION_URL}\n\t\t\t *\n\t\t\t * @typeParam Lang - Language API ID of the document.\n\t\t\t */\n\t\t\texport type ${name}<Lang extends string = ${langDefault}> = prismic.${baseDocumentType}<Simplify<${\n\t\t\tdataType.name\n\t\t}>, \"${args.model.id}\", Lang>;\n\t\t`,\n\t\tcode\n\t);\n\n\tconst result = {\n\t\tname,\n\t\tcode,\n\t\tauxiliaryTypes,\n\t\tcontentTypeNames,\n\t};\n\n\tif (args.cache) {\n\t\tconst key = getCacheKey(args.model);\n\n\t\targs.cache.set(key, result);\n\t}\n\n\treturn result;\n}\n"],"mappings":";;;;;;;;;;AA4BA,SAAgB,oBACf,MACiC;AACjC,KAAI,KAAK,OAAO;EACf,MAAM,MAAM,YAAY,KAAK,MAAM;EACnC,MAAM,SAAS,KAAK,MAAM,IAAI,IAAI;AAElC,MAAI,OACH,QAAO;;CAIT,IAAI,OAAO;CAEX,MAAM,iBAAkC,EAAE;CAC1C,MAAM,mBAA6B,EAAE;CAErC,MAAM,OAAO,cAAc,KAAK,MAAM,IAAI,WAAW;CACrD,MAAM,cACL,KAAK,aAAa,KAAK,UAAU,SAAS,IACvC,WAAW,KAAK,UAAU,KAAK,aAAa,IAAI,SAAS,GAAG,CAAC,GAC7D;CACJ,MAAM,mBAAmB,iBAAiB,KAAK,MAAM,GAClD,2BACA;CACH,MAAM,oBAAoB,0BAA0B;EACnD,MAAM,KAAK,MAAM;EACjB,OAAO,KAAK;EACZ,CAAC;CAEF,MAAM,WAAW,wBAAwB;EACxC,OAAO,KAAK;EACZ,cAAc,KAAK;EACnB,CAAC;AAEF,gBAAe,KAAK,GAAG,SAAS,eAAe;AAC/C,kBAAiB,KAAK,SAAS,KAAK;AACpC,kBAAiB,KAAK,GAAG,SAAS,iBAAiB;AAEnD,QAAO,WAAW,SAAS,MAAM,KAAK;AAEtC,QAAO,WACN,MAAM;;QAEA,kBAAkB;;wBAEF,KAAK,MAAM,GAAG;4BACV,KAAK,MAAM,WAAW,UAAU,CAAC;6BAChC,+BAA+B;;;;iBAI3C,KAAK,yBAAyB,YAAY,cAAc,iBAAiB,YACvF,SAAS,KACT,MAAM,KAAK,MAAM,GAAG;KAErB,KACA;CAED,MAAM,SAAS;EACd;EACA;EACA;EACA;EACA;AAED,KAAI,KAAK,OAAO;EACf,MAAM,MAAM,YAAY,KAAK,MAAM;AAEnC,OAAK,MAAM,IAAI,KAAK,OAAO;;AAG5B,QAAO"}
@@ -0,0 +1,66 @@
1
+ import { addLine } from "./addLine.mjs";
2
+ import { FIELD_DOCUMENTATION_URLS } from "../constants.mjs";
3
+ import { getAPIIDPath } from "./getAPIIDPath.mjs";
4
+ import { getHumanReadableModelName } from "./getHumanReadableModelName.mjs";
5
+ import { getHumanReadablePath } from "./getHumanReadablePath.mjs";
6
+ //#region src/lib/buildFieldDocs.ts
7
+ function getHumanReadableFieldType(args) {
8
+ switch (args.field.type) {
9
+ case "StructuredText": return "Rich Text";
10
+ case "IntegrationFields": {
11
+ const catalog = args.field.config?.catalog;
12
+ return `Integration Fields (Catalog: ${catalog ? `\`${catalog}\`` : "*unknown*"})`;
13
+ }
14
+ case "Link": switch (args.field.config?.select) {
15
+ case "document": return "Content Relationship";
16
+ case "media": return "Link to Media";
17
+ default: return "Link";
18
+ }
19
+ case "Slices": return "Slice Zone";
20
+ default: return args.field.type;
21
+ }
22
+ }
23
+ function getDocumentationURL(args) {
24
+ switch (args.field.type) {
25
+ case "Link": {
26
+ const urls = FIELD_DOCUMENTATION_URLS.Link;
27
+ switch (args.field.config?.select) {
28
+ case "document": return urls.contentRelationship;
29
+ case "media": return urls.linkToMedia;
30
+ default: return urls.link;
31
+ }
32
+ }
33
+ default: {
34
+ const url = FIELD_DOCUMENTATION_URLS[args.field.type];
35
+ if (typeof url === "string") return url;
36
+ }
37
+ }
38
+ }
39
+ function buildFieldDocs(args) {
40
+ let result = "/**";
41
+ const humanReadableName = getHumanReadableModelName({
42
+ model: args.field,
43
+ name: args.name
44
+ });
45
+ const humanReadablePath = getHumanReadablePath({ path: args.path });
46
+ const humanReadableFieldType = getHumanReadableFieldType({ field: args.field });
47
+ result = addLine(` * ${humanReadableName} field in *${humanReadablePath}*`, result);
48
+ result = addLine(" *", result);
49
+ result = addLine(` * - **Field Type**: ${humanReadableFieldType}`, result);
50
+ result = addLine(` * - **Placeholder**: ${args.field.config && "placeholder" in args.field.config && args.field.config.placeholder || `*None*`}`, result);
51
+ const defaultValue = args.field.config && "default_value" in args.field.config ? args.field.config.default_value : void 0;
52
+ if (defaultValue !== void 0) result = addLine(` * - **Default Value**: ${typeof defaultValue === "boolean" ? `${defaultValue}` : defaultValue}`, result);
53
+ result = addLine(` * - **API ID Path**: ${getAPIIDPath({ path: [...args.path, {
54
+ name: args.name,
55
+ model: args.field
56
+ }] })}`, result);
57
+ if (args.tabName) result = addLine(` * - **Tab**: ${args.tabName}`, result);
58
+ const documentationURL = getDocumentationURL({ field: args.field });
59
+ if (documentationURL) result = addLine(` * - **Documentation**: ${documentationURL}`, result);
60
+ result = addLine(" */", result);
61
+ return result;
62
+ }
63
+ //#endregion
64
+ export { buildFieldDocs };
65
+
66
+ //# sourceMappingURL=buildFieldDocs.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildFieldDocs.mjs","names":[],"sources":["../../src/lib/buildFieldDocs.ts"],"sourcesContent":["import type { CustomTypeModelField } from \"@prismicio/client\";\n\nimport { FIELD_DOCUMENTATION_URLS } from \"../constants\";\nimport type { FieldPath } from \"../types\";\nimport { addLine } from \"./addLine\";\nimport { getAPIIDPath } from \"./getAPIIDPath\";\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\nimport { getHumanReadablePath } from \"./getHumanReadablePath\";\n\ntype GetFieldHumanReadableTypeArgs = {\n\tfield: CustomTypeModelField;\n};\n\nfunction getHumanReadableFieldType(args: GetFieldHumanReadableTypeArgs): string {\n\tswitch (args.field.type) {\n\t\tcase \"StructuredText\": {\n\t\t\treturn \"Rich Text\";\n\t\t}\n\n\t\tcase \"IntegrationFields\": {\n\t\t\tconst catalog = args.field.config?.catalog;\n\n\t\t\treturn `Integration Fields (Catalog: ${catalog ? `\\`${catalog}\\`` : \"*unknown*\"})`;\n\t\t}\n\n\t\tcase \"Link\": {\n\t\t\tswitch (args.field.config?.select) {\n\t\t\t\tcase \"document\": {\n\t\t\t\t\treturn \"Content Relationship\";\n\t\t\t\t}\n\n\t\t\t\tcase \"media\": {\n\t\t\t\t\treturn \"Link to Media\";\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\treturn \"Link\";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcase \"Slices\": {\n\t\t\treturn \"Slice Zone\";\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn args.field.type;\n\t\t}\n\t}\n}\n\ntype getDocumentationURLArgs = {\n\tfield: CustomTypeModelField;\n};\n\nfunction getDocumentationURL(args: getDocumentationURLArgs) {\n\tswitch (args.field.type) {\n\t\tcase \"Link\": {\n\t\t\tconst urls = FIELD_DOCUMENTATION_URLS.Link;\n\n\t\t\tswitch (args.field.config?.select) {\n\t\t\t\tcase \"document\": {\n\t\t\t\t\treturn urls.contentRelationship;\n\t\t\t\t}\n\n\t\t\t\tcase \"media\": {\n\t\t\t\t\treturn urls.linkToMedia;\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\treturn urls.link;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdefault: {\n\t\t\tconst url =\n\t\t\t\tFIELD_DOCUMENTATION_URLS[args.field.type as keyof typeof FIELD_DOCUMENTATION_URLS];\n\n\t\t\tif (typeof url === \"string\") {\n\t\t\t\treturn url;\n\t\t\t}\n\t\t}\n\t}\n}\n\ntype BuildFieldDocsArgs = {\n\tname: string;\n\tfield: CustomTypeModelField;\n\tpath: FieldPath;\n\ttabName?: string;\n};\n\nexport function buildFieldDocs(args: BuildFieldDocsArgs): string {\n\tlet result = \"/**\";\n\n\tconst humanReadableName = getHumanReadableModelName({\n\t\tmodel: args.field,\n\t\tname: args.name,\n\t});\n\tconst humanReadablePath = getHumanReadablePath({ path: args.path });\n\tconst humanReadableFieldType = getHumanReadableFieldType({\n\t\tfield: args.field,\n\t});\n\n\tresult = addLine(` * ${humanReadableName} field in *${humanReadablePath}*`, result);\n\n\tresult = addLine(\" *\", result);\n\n\tresult = addLine(` * - **Field Type**: ${humanReadableFieldType}`, result);\n\n\tconst placeholder =\n\t\t(args.field.config && \"placeholder\" in args.field.config && args.field.config.placeholder) ||\n\t\t`*None*`;\n\tresult = addLine(` * - **Placeholder**: ${placeholder}`, result);\n\n\tconst defaultValue =\n\t\targs.field.config && \"default_value\" in args.field.config\n\t\t\t? args.field.config.default_value\n\t\t\t: undefined;\n\tif (defaultValue !== undefined) {\n\t\tconst stringifiedDefaultValue =\n\t\t\ttypeof defaultValue === \"boolean\" ? `${defaultValue}` : defaultValue;\n\n\t\tresult = addLine(` * - **Default Value**: ${stringifiedDefaultValue}`, result);\n\t}\n\n\tconst apiIDPath = getAPIIDPath({\n\t\tpath: [...args.path, { name: args.name, model: args.field }],\n\t});\n\tresult = addLine(` * - **API ID Path**: ${apiIDPath}`, result);\n\n\tif (args.tabName) {\n\t\tresult = addLine(` * - **Tab**: ${args.tabName}`, result);\n\t}\n\n\tconst documentationURL = getDocumentationURL({ field: args.field });\n\tif (documentationURL) {\n\t\tresult = addLine(` * - **Documentation**: ${documentationURL}`, result);\n\t}\n\n\tresult = addLine(\" */\", result);\n\n\treturn result;\n}\n"],"mappings":";;;;;;AAaA,SAAS,0BAA0B,MAA6C;AAC/E,SAAQ,KAAK,MAAM,MAAnB;EACC,KAAK,iBACJ,QAAO;EAGR,KAAK,qBAAqB;GACzB,MAAM,UAAU,KAAK,MAAM,QAAQ;AAEnC,UAAO,gCAAgC,UAAU,KAAK,QAAQ,MAAM,YAAY;;EAGjF,KAAK,OACJ,SAAQ,KAAK,MAAM,QAAQ,QAA3B;GACC,KAAK,WACJ,QAAO;GAGR,KAAK,QACJ,QAAO;GAGR,QACC,QAAO;;EAKV,KAAK,SACJ,QAAO;EAGR,QACC,QAAO,KAAK,MAAM;;;AASrB,SAAS,oBAAoB,MAA+B;AAC3D,SAAQ,KAAK,MAAM,MAAnB;EACC,KAAK,QAAQ;GACZ,MAAM,OAAO,yBAAyB;AAEtC,WAAQ,KAAK,MAAM,QAAQ,QAA3B;IACC,KAAK,WACJ,QAAO,KAAK;IAGb,KAAK,QACJ,QAAO,KAAK;IAGb,QACC,QAAO,KAAK;;;EAKf,SAAS;GACR,MAAM,MACL,yBAAyB,KAAK,MAAM;AAErC,OAAI,OAAO,QAAQ,SAClB,QAAO;;;;AAaX,SAAgB,eAAe,MAAkC;CAChE,IAAI,SAAS;CAEb,MAAM,oBAAoB,0BAA0B;EACnD,OAAO,KAAK;EACZ,MAAM,KAAK;EACX,CAAC;CACF,MAAM,oBAAoB,qBAAqB,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE,MAAM,yBAAyB,0BAA0B,EACxD,OAAO,KAAK,OACZ,CAAC;AAEF,UAAS,QAAQ,MAAM,kBAAkB,aAAa,kBAAkB,IAAI,OAAO;AAEnF,UAAS,QAAQ,MAAM,OAAO;AAE9B,UAAS,QAAQ,wBAAwB,0BAA0B,OAAO;AAK1E,UAAS,QAAQ,yBAFf,KAAK,MAAM,UAAU,iBAAiB,KAAK,MAAM,UAAU,KAAK,MAAM,OAAO,eAC9E,YACwD,OAAO;CAEhE,MAAM,eACL,KAAK,MAAM,UAAU,mBAAmB,KAAK,MAAM,SAChD,KAAK,MAAM,OAAO,gBAClB,KAAA;AACJ,KAAI,iBAAiB,KAAA,EAIpB,UAAS,QAAQ,2BAFhB,OAAO,iBAAiB,YAAY,GAAG,iBAAiB,gBAEc,OAAO;AAM/E,UAAS,QAAQ,yBAHC,aAAa,EAC9B,MAAM,CAAC,GAAG,KAAK,MAAM;EAAE,MAAM,KAAK;EAAM,OAAO,KAAK;EAAO,CAAC,EAC5D,CAAC,IACqD,OAAO;AAE9D,KAAI,KAAK,QACR,UAAS,QAAQ,iBAAiB,KAAK,WAAW,OAAO;CAG1D,MAAM,mBAAmB,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC;AACnE,KAAI,iBACH,UAAS,QAAQ,2BAA2B,oBAAoB,OAAO;AAGxE,UAAS,QAAQ,OAAO,OAAO;AAE/B,QAAO"}
@@ -0,0 +1,284 @@
1
+ import { addLine } from "./addLine.mjs";
2
+ import { addSection } from "./addSection.mjs";
3
+ import { buildTypeName } from "./buildTypeName.mjs";
4
+ import { getHumanReadablePath } from "./getHumanReadablePath.mjs";
5
+ import { buildFieldDocs } from "./buildFieldDocs.mjs";
6
+ import { buildUnion } from "./buildUnion.mjs";
7
+ import { source, stripIndent } from "common-tags";
8
+ import { CustomTypeModelFieldType } from "@prismicio/client";
9
+ //#region src/lib/buildFieldProperties.ts
10
+ function buildFieldProperty(args) {
11
+ let code = buildFieldDocs({
12
+ name: args.name,
13
+ field: args.field,
14
+ path: args.path,
15
+ tabName: args.tabName
16
+ });
17
+ const auxiliaryTypes = [];
18
+ const contentTypeNames = [];
19
+ const name = args.name.includes("-") || args.name.includes(":") || /^[0-9]/.test(args.name) ? `"${args.name}"` : args.name;
20
+ switch (args.field.type) {
21
+ case "UID": break;
22
+ case "Boolean":
23
+ code = addLine(`${name}: prismic.BooleanField;`, code);
24
+ break;
25
+ case "Color":
26
+ code = addLine(`${name}: prismic.ColorField;`, code);
27
+ break;
28
+ case "Date":
29
+ code = addLine(`${name}: prismic.DateField;`, code);
30
+ break;
31
+ case "Embed": {
32
+ const providerTypes = [];
33
+ if (args.fieldConfigs.embed?.providerTypes) for (const providerType in args.fieldConfigs.embed?.providerTypes) {
34
+ const configuredProviderType = args.fieldConfigs.embed?.providerTypes[providerType];
35
+ providerTypes.push(`({ provider_name: "${providerType}" } & ${configuredProviderType})`);
36
+ }
37
+ const providerTypesUnion = buildUnion(providerTypes);
38
+ code = providerTypes.length > 0 ? addLine(`${name}: prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${providerTypesUnion})>`, code) : addLine(`${name}: prismic.EmbedField`, code);
39
+ break;
40
+ }
41
+ case "GeoPoint":
42
+ code = addLine(`${name}: prismic.GeoPointField;`, code);
43
+ break;
44
+ case "Image":
45
+ if (args.field.config?.thumbnails && args.field.config.thumbnails.length > 0) code = addLine(`${name}: prismic.ImageField<${buildUnion(args.field.config.thumbnails.map((thumb) => `"${thumb.name}"`))}>;`, code);
46
+ else code = addLine(`${name}: prismic.ImageField<never>;`, code);
47
+ break;
48
+ case "IntegrationFields": {
49
+ const catalogType = args.field.config?.catalog ? args.fieldConfigs.integrationFields?.catalogTypes?.[args.field.config.catalog] : void 0;
50
+ if (catalogType) code = addLine(`${name}: prismic.IntegrationField<${catalogType}>;`, code);
51
+ else code = addLine(`${name}: prismic.IntegrationField;`, code);
52
+ break;
53
+ }
54
+ case "Link": {
55
+ const variants = args.field.config && "variants" in args.field.config && Array.isArray(args.field.config.variants) && args.field.config.variants.length > 0 ? args.field.config.variants.map((variant) => `"${variant.replace(/"/g, "\\\"")}"`).join(" | ") : "never";
56
+ switch (args.field.config?.select) {
57
+ case "document":
58
+ if ("customtypes" in args.field.config && args.field.config.customtypes && args.field.config.customtypes.length > 0) code = addLine(`${name}: ${buildUnion(args.field.config.customtypes.map((type) => {
59
+ if (typeof type === "string") return `prismic.ContentRelationshipField<"${type}">`;
60
+ return `ContentRelationshipFieldWithData<${JSON.stringify([type])}>`;
61
+ }))};`, code);
62
+ else code = addLine(`${name}: prismic.ContentRelationshipField;`, code);
63
+ break;
64
+ case "media":
65
+ code = addLine(`${name}: prismic.LinkToMediaField<prismic.FieldState, ${variants}>;`, code);
66
+ break;
67
+ default: {
68
+ let type = `prismic.LinkField<string, string, unknown, prismic.FieldState, ${variants}>`;
69
+ if (args.field.config?.repeat) type = `prismic.Repeatable<${type}>`;
70
+ code = addLine(`${name}: ${type};`, code);
71
+ break;
72
+ }
73
+ }
74
+ break;
75
+ }
76
+ case "Number":
77
+ code = addLine(`${name}: prismic.NumberField;`, code);
78
+ break;
79
+ case "StructuredText":
80
+ code = addLine(`${name}: prismic.RichTextField;`, code);
81
+ break;
82
+ case "Select": {
83
+ const options = args.field.config?.options?.map((option) => `"${option}"`) || [];
84
+ const optionsType = options.length ? buildUnion(options) : "string";
85
+ if (Boolean(args.field.config?.default_value)) code = addLine(`${name}: prismic.SelectField<${optionsType}, "filled">;`, code);
86
+ else code = addLine(`${name}: prismic.SelectField${options.length > 0 ? `<${optionsType}>` : ""};`, code);
87
+ break;
88
+ }
89
+ case "Table":
90
+ code = addLine(`${name}: prismic.TableField;`, code);
91
+ break;
92
+ case "Text":
93
+ code = addLine(`${name}: prismic.KeyTextField;`, code);
94
+ break;
95
+ case "Timestamp":
96
+ code = addLine(`${name}: prismic.TimestampField;`, code);
97
+ break;
98
+ case "Group": {
99
+ const groupPathParts = args.path.filter((part) => part.model !== void 0 && "type" in part.model && part.model.type === CustomTypeModelFieldType.Group);
100
+ const isNestedGroup = groupPathParts.length > 0;
101
+ let itemName;
102
+ if (args.path[0].model && "type" in args.path[0].model && args.path[0].model.type === "SharedSlice") {
103
+ const [slicePathPart, variationPathPart, zonePathPart] = args.path;
104
+ itemName = buildTypeName(slicePathPart.name, "Slice", variationPathPart.name, zonePathPart.name, ...groupPathParts.map((part) => part.name), args.name, "Item");
105
+ } else itemName = buildTypeName(args.path[0].name, "Document", "Data", ...groupPathParts.map((part) => part.name), args.name, "Item");
106
+ const path = [...args.path, {
107
+ name,
108
+ model: args.field
109
+ }];
110
+ const humanReadablePath = getHumanReadablePath({ path });
111
+ const itemFieldProperties = buildFieldProperties({
112
+ fields: args.field.config?.fields || {},
113
+ fieldConfigs: args.fieldConfigs,
114
+ path
115
+ });
116
+ auxiliaryTypes.push(...itemFieldProperties.auxiliaryTypes);
117
+ contentTypeNames.push(...itemFieldProperties.contentTypeNames);
118
+ auxiliaryTypes.push({
119
+ name: itemName,
120
+ code: source`
121
+ /**
122
+ * Item in *${humanReadablePath}*
123
+ */
124
+ export interface ${itemName} {
125
+ ${itemFieldProperties.code}
126
+ }
127
+ `
128
+ });
129
+ contentTypeNames.push(itemName);
130
+ if (isNestedGroup) code = addLine(`${name}: prismic.NestedGroupField<Simplify<${itemName}>>;`, code);
131
+ else code = addLine(`${name}: prismic.GroupField<Simplify<${itemName}>>;`, code);
132
+ break;
133
+ }
134
+ case "Slices": {
135
+ const choiceNames = [];
136
+ if (args.field.config?.choices) for (const choiceID in args.field.config.choices) {
137
+ const choice = args.field.config.choices[choiceID];
138
+ if (choice.type === "SharedSlice") choiceNames.push(buildTypeName(choiceID, "Slice"));
139
+ else if (choice.type === "Slice") {
140
+ const sliceName = buildTypeName(args.path[0].name, "Document", "Data", args.name, choiceID, "Slice");
141
+ let primaryInterfaceName;
142
+ if (choice["non-repeat"] && Object.keys(choice["non-repeat"]).length > 0) {
143
+ primaryInterfaceName = buildTypeName(sliceName, "Primary");
144
+ const path = [
145
+ ...args.path,
146
+ {
147
+ name: args.name,
148
+ model: args.field
149
+ },
150
+ {
151
+ name: choiceID,
152
+ model: choice
153
+ },
154
+ {
155
+ name: "primary",
156
+ label: "Primary"
157
+ }
158
+ ];
159
+ const humanReadablePath = getHumanReadablePath({ path });
160
+ const primaryFieldProperties = buildFieldProperties({
161
+ fields: choice["non-repeat"],
162
+ fieldConfigs: args.fieldConfigs,
163
+ path
164
+ });
165
+ auxiliaryTypes.push(...primaryFieldProperties.auxiliaryTypes);
166
+ contentTypeNames.push(...primaryFieldProperties.contentTypeNames);
167
+ let primaryCode = stripIndent`
168
+ /**
169
+ * Primary content in *${humanReadablePath}*
170
+ */
171
+ `;
172
+ primaryCode = primaryFieldProperties.code ? addLine(source`
173
+ export interface ${primaryInterfaceName} {
174
+ ${primaryFieldProperties.code}
175
+ }
176
+ `, primaryCode) : addLine(`export interface ${primaryInterfaceName} {}`, primaryCode);
177
+ auxiliaryTypes.push({
178
+ name: primaryInterfaceName,
179
+ code: primaryCode
180
+ });
181
+ contentTypeNames.push(primaryInterfaceName);
182
+ }
183
+ let itemInterfaceName;
184
+ if (choice.repeat && Object.keys(choice.repeat).length > 0) {
185
+ itemInterfaceName = buildTypeName(sliceName, "Item");
186
+ const path = [
187
+ ...args.path,
188
+ {
189
+ name: args.name,
190
+ model: args.field
191
+ },
192
+ {
193
+ name: choiceID,
194
+ model: choice
195
+ },
196
+ {
197
+ name: "items",
198
+ label: "Items"
199
+ }
200
+ ];
201
+ const humanReadablePath = getHumanReadablePath({ path });
202
+ const itemFieldProperties = buildFieldProperties({
203
+ fields: choice.repeat,
204
+ fieldConfigs: args.fieldConfigs,
205
+ path
206
+ });
207
+ auxiliaryTypes.push(...itemFieldProperties.auxiliaryTypes);
208
+ contentTypeNames.push(...itemFieldProperties.contentTypeNames);
209
+ let itemCode = stripIndent`
210
+ /**
211
+ * Item content in *${humanReadablePath}*
212
+ */
213
+ `;
214
+ itemCode = itemFieldProperties.code ? addLine(source`
215
+ export interface ${itemInterfaceName} {
216
+ ${itemFieldProperties.code}
217
+ }
218
+ `, itemCode) : addLine(`export interface ${itemInterfaceName} {}`, itemCode);
219
+ auxiliaryTypes.push({
220
+ name: itemInterfaceName,
221
+ code: itemCode
222
+ });
223
+ contentTypeNames.push(itemInterfaceName);
224
+ }
225
+ auxiliaryTypes.push({
226
+ name: sliceName,
227
+ code: stripIndent`
228
+ /**
229
+ * Slice for *${getHumanReadablePath({ path: [...args.path, {
230
+ name: args.name,
231
+ model: args.field
232
+ }] })}*
233
+ */
234
+ export type ${sliceName} = prismic.Slice<"${choiceID}", ${primaryInterfaceName ? `Simplify<${primaryInterfaceName}>` : `Record<string, never>`}, ${itemInterfaceName ? `Simplify<${itemInterfaceName}>` : `never`}>
235
+ `
236
+ });
237
+ choiceNames.push(sliceName);
238
+ }
239
+ }
240
+ const choiceUnionName = buildTypeName(args.path[0].name, "Document", "Data", args.name, "Slice");
241
+ const choiceUnion = buildUnion(choiceNames);
242
+ auxiliaryTypes.push({
243
+ name: choiceUnionName,
244
+ code: `type ${choiceUnionName} = ${choiceUnion}`
245
+ });
246
+ contentTypeNames.push(choiceUnionName);
247
+ code = addLine(`${name}: prismic.SliceZone<${choiceUnionName}>;`, code);
248
+ break;
249
+ }
250
+ default: code = addLine(`${name}: unknown;`, code);
251
+ }
252
+ return {
253
+ code,
254
+ auxiliaryTypes,
255
+ contentTypeNames
256
+ };
257
+ }
258
+ function buildFieldProperties(args) {
259
+ let code = "";
260
+ const auxiliaryTypes = [];
261
+ const contentTypeNames = [];
262
+ for (const name in args.fields) {
263
+ const field = args.fields[name];
264
+ const fieldProperty = buildFieldProperty({
265
+ name,
266
+ field,
267
+ path: args.path,
268
+ fieldConfigs: args.fieldConfigs,
269
+ tabName: args.tabName
270
+ });
271
+ code = addSection(fieldProperty.code, code);
272
+ auxiliaryTypes.push(...fieldProperty.auxiliaryTypes);
273
+ contentTypeNames.push(...fieldProperty.contentTypeNames);
274
+ }
275
+ return {
276
+ code,
277
+ auxiliaryTypes,
278
+ contentTypeNames
279
+ };
280
+ }
281
+ //#endregion
282
+ export { buildFieldProperties };
283
+
284
+ //# sourceMappingURL=buildFieldProperties.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildFieldProperties.mjs","names":[],"sources":["../../src/lib/buildFieldProperties.ts"],"sourcesContent":["import { type CustomTypeModelField, CustomTypeModelFieldType } from \"@prismicio/client\";\nimport { source, stripIndent } from \"common-tags\";\n\nimport type { AuxiliaryType, FieldConfigs, FieldPath } from \"../types\";\nimport { addLine } from \"./addLine\";\nimport { addSection } from \"./addSection\";\nimport { buildFieldDocs } from \"./buildFieldDocs\";\nimport { buildTypeName } from \"./buildTypeName\";\nimport { buildUnion } from \"./buildUnion\";\nimport { getHumanReadablePath } from \"./getHumanReadablePath\";\n\ntype BuildFieldPropertyArgs = Pick<\n\tBuildFieldPropertiesArgs,\n\t\"path\" | \"fieldConfigs\" | \"tabName\"\n> & {\n\tname: string;\n\tfield: CustomTypeModelField;\n};\n\ntype BuildFieldPropertyReturnType = {\n\tcode: string;\n\tauxiliaryTypes: AuxiliaryType[];\n\tcontentTypeNames: string[];\n};\n\nfunction buildFieldProperty(args: BuildFieldPropertyArgs): BuildFieldPropertyReturnType {\n\tlet code = buildFieldDocs({\n\t\tname: args.name,\n\t\tfield: args.field,\n\t\tpath: args.path,\n\t\ttabName: args.tabName,\n\t});\n\n\tconst auxiliaryTypes: AuxiliaryType[] = [];\n\tconst contentTypeNames: string[] = [];\n\n\tconst name =\n\t\targs.name.includes(\"-\") || args.name.includes(\":\") || /^[0-9]/.test(args.name)\n\t\t\t? `\"${args.name}\"`\n\t\t\t: args.name;\n\n\tswitch (args.field.type) {\n\t\tcase \"UID\": {\n\t\t\t// UID fields are not included in Data.\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Boolean\": {\n\t\t\tcode = addLine(`${name}: prismic.BooleanField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Color\": {\n\t\t\tcode = addLine(`${name}: prismic.ColorField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Date\": {\n\t\t\tcode = addLine(`${name}: prismic.DateField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Embed\": {\n\t\t\tconst providerTypes: string[] = [];\n\n\t\t\tif (args.fieldConfigs.embed?.providerTypes) {\n\t\t\t\tfor (const providerType in args.fieldConfigs.embed?.providerTypes) {\n\t\t\t\t\tconst configuredProviderType = args.fieldConfigs.embed?.providerTypes[providerType];\n\n\t\t\t\t\tproviderTypes.push(`({ provider_name: \"${providerType}\" } & ${configuredProviderType})`);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst providerTypesUnion = buildUnion(providerTypes);\n\n\t\t\tcode =\n\t\t\t\tproviderTypes.length > 0\n\t\t\t\t\t? addLine(\n\t\t\t\t\t\t\t`${name}: prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${providerTypesUnion})>`,\n\t\t\t\t\t\t\tcode,\n\t\t\t\t\t\t)\n\t\t\t\t\t: addLine(`${name}: prismic.EmbedField`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"GeoPoint\": {\n\t\t\tcode = addLine(`${name}: prismic.GeoPointField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Image\": {\n\t\t\tif (args.field.config?.thumbnails && args.field.config.thumbnails.length > 0) {\n\t\t\t\tconst thumbnailNames = buildUnion(\n\t\t\t\t\targs.field.config.thumbnails.map((thumb) => `\"${thumb.name}\"`),\n\t\t\t\t);\n\n\t\t\t\tcode = addLine(`${name}: prismic.ImageField<${thumbnailNames}>;`, code);\n\t\t\t} else {\n\t\t\t\tcode = addLine(`${name}: prismic.ImageField<never>;`, code);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"IntegrationFields\": {\n\t\t\tconst catalogType = args.field.config?.catalog\n\t\t\t\t? args.fieldConfigs.integrationFields?.catalogTypes?.[args.field.config.catalog]\n\t\t\t\t: undefined;\n\n\t\t\tif (catalogType) {\n\t\t\t\tcode = addLine(`${name}: prismic.IntegrationField<${catalogType}>;`, code);\n\t\t\t} else {\n\t\t\t\tcode = addLine(`${name}: prismic.IntegrationField;`, code);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Link\": {\n\t\t\tconst variants =\n\t\t\t\targs.field.config &&\n\t\t\t\t\"variants\" in args.field.config &&\n\t\t\t\tArray.isArray(args.field.config.variants) &&\n\t\t\t\targs.field.config.variants.length > 0\n\t\t\t\t\t? args.field.config.variants\n\t\t\t\t\t\t\t.map((variant) => `\"${variant.replace(/\"/g, '\\\\\"')}\"`)\n\t\t\t\t\t\t\t.join(\" | \")\n\t\t\t\t\t: \"never\";\n\n\t\t\tswitch (args.field.config?.select) {\n\t\t\t\tcase \"document\": {\n\t\t\t\t\tif (\n\t\t\t\t\t\t\"customtypes\" in args.field.config &&\n\t\t\t\t\t\targs.field.config.customtypes &&\n\t\t\t\t\t\targs.field.config.customtypes.length > 0\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst contentRelationshipUnion = buildUnion(\n\t\t\t\t\t\t\targs.field.config.customtypes.map((type) => {\n\t\t\t\t\t\t\t\tif (typeof type === \"string\") {\n\t\t\t\t\t\t\t\t\treturn `prismic.ContentRelationshipField<\"${type}\">`;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn `ContentRelationshipFieldWithData<${JSON.stringify([type])}>`;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tcode = addLine(`${name}: ${contentRelationshipUnion};`, code);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcode = addLine(`${name}: prismic.ContentRelationshipField;`, code);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase \"media\": {\n\t\t\t\t\tcode = addLine(\n\t\t\t\t\t\t`${name}: prismic.LinkToMediaField<prismic.FieldState, ${variants}>;`,\n\t\t\t\t\t\tcode,\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\tlet type = `prismic.LinkField<string, string, unknown, prismic.FieldState, ${variants}>`;\n\n\t\t\t\t\tif (args.field.config?.repeat) {\n\t\t\t\t\t\ttype = `prismic.Repeatable<${type}>`;\n\t\t\t\t\t}\n\n\t\t\t\t\tcode = addLine(`${name}: ${type};`, code);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Number\": {\n\t\t\tcode = addLine(`${name}: prismic.NumberField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"StructuredText\": {\n\t\t\tcode = addLine(`${name}: prismic.RichTextField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Select\": {\n\t\t\tconst options: string[] = args.field.config?.options?.map((option) => `\"${option}\"`) || [];\n\t\t\tconst optionsType = options.length ? buildUnion(options) : \"string\";\n\n\t\t\tconst hasDefault = Boolean(args.field.config?.default_value);\n\n\t\t\tif (hasDefault) {\n\t\t\t\tcode = addLine(`${name}: prismic.SelectField<${optionsType}, \"filled\">;`, code);\n\t\t\t} else {\n\t\t\t\tcode = addLine(\n\t\t\t\t\t`${name}: prismic.SelectField${options.length > 0 ? `<${optionsType}>` : \"\"};`,\n\t\t\t\t\tcode,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Table\": {\n\t\t\tcode = addLine(`${name}: prismic.TableField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Text\": {\n\t\t\tcode = addLine(`${name}: prismic.KeyTextField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Timestamp\": {\n\t\t\tcode = addLine(`${name}: prismic.TimestampField;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Group\": {\n\t\t\tconst groupPathParts = args.path.filter(\n\t\t\t\t(part) =>\n\t\t\t\t\tpart.model !== undefined &&\n\t\t\t\t\t\"type\" in part.model &&\n\t\t\t\t\tpart.model.type === CustomTypeModelFieldType.Group,\n\t\t\t);\n\t\t\tconst isNestedGroup = groupPathParts.length > 0;\n\n\t\t\tlet itemName;\n\t\t\tif (\n\t\t\t\targs.path[0].model &&\n\t\t\t\t\"type\" in args.path[0].model &&\n\t\t\t\targs.path[0].model.type === \"SharedSlice\"\n\t\t\t) {\n\t\t\t\tconst [slicePathPart, variationPathPart, zonePathPart] = args.path;\n\n\t\t\t\titemName = buildTypeName(\n\t\t\t\t\tslicePathPart.name,\n\t\t\t\t\t\"Slice\",\n\t\t\t\t\tvariationPathPart.name,\n\t\t\t\t\tzonePathPart.name,\n\t\t\t\t\t...groupPathParts.map((part) => part.name),\n\t\t\t\t\targs.name,\n\t\t\t\t\t\"Item\",\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\titemName = buildTypeName(\n\t\t\t\t\targs.path[0].name,\n\t\t\t\t\t\"Document\",\n\t\t\t\t\t\"Data\",\n\t\t\t\t\t...groupPathParts.map((part) => part.name),\n\t\t\t\t\targs.name,\n\t\t\t\t\t\"Item\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst path: FieldPath = [\n\t\t\t\t...args.path,\n\t\t\t\t{\n\t\t\t\t\tname: name,\n\t\t\t\t\tmodel: args.field,\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\tconst itemFieldProperties = buildFieldProperties({\n\t\t\t\tfields: args.field.config?.fields || {},\n\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\tpath,\n\t\t\t});\n\t\t\tauxiliaryTypes.push(...itemFieldProperties.auxiliaryTypes);\n\t\t\tcontentTypeNames.push(...itemFieldProperties.contentTypeNames);\n\n\t\t\tauxiliaryTypes.push({\n\t\t\t\tname: itemName,\n\t\t\t\tcode: source`\n\t\t\t\t\t/**\n\t\t\t\t\t * Item in *${humanReadablePath}*\n\t\t\t\t\t */\n\t\t\t\t\texport interface ${itemName} {\n\t\t\t\t\t\t${itemFieldProperties.code}\n\t\t\t\t\t}\n\t\t\t\t`,\n\t\t\t});\n\t\t\tcontentTypeNames.push(itemName);\n\n\t\t\tif (isNestedGroup) {\n\t\t\t\tcode = addLine(`${name}: prismic.NestedGroupField<Simplify<${itemName}>>;`, code);\n\t\t\t} else {\n\t\t\t\tcode = addLine(`${name}: prismic.GroupField<Simplify<${itemName}>>;`, code);\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Slices\": {\n\t\t\tconst choiceNames: string[] = [];\n\n\t\t\tif (args.field.config?.choices) {\n\t\t\t\tfor (const choiceID in args.field.config.choices) {\n\t\t\t\t\tconst choice = args.field.config.choices[choiceID];\n\n\t\t\t\t\tif (choice.type === \"SharedSlice\") {\n\t\t\t\t\t\t// TODO: Verify that the Shared Slice\n\t\t\t\t\t\t// is provided to the global\n\t\t\t\t\t\t// `sharedSlices` array. If it is not,\n\t\t\t\t\t\t// the type won't exist, so we can't\n\t\t\t\t\t\t// add it to the union. We should\n\t\t\t\t\t\t// probably throw an error if we reach\n\t\t\t\t\t\t// that state, or maybe the input can\n\t\t\t\t\t\t// be validated early so we don't\n\t\t\t\t\t\t// generate any code using invalid\n\t\t\t\t\t\t// models.\n\t\t\t\t\t\tchoiceNames.push(buildTypeName(choiceID, \"Slice\"));\n\t\t\t\t\t} else if (choice.type === \"Slice\") {\n\t\t\t\t\t\tconst sliceName = buildTypeName(\n\t\t\t\t\t\t\targs.path[0].name,\n\t\t\t\t\t\t\t\"Document\",\n\t\t\t\t\t\t\t\"Data\",\n\t\t\t\t\t\t\targs.name,\n\t\t\t\t\t\t\tchoiceID,\n\t\t\t\t\t\t\t\"Slice\",\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tlet primaryInterfaceName: string | undefined;\n\t\t\t\t\t\tif (choice[\"non-repeat\"] && Object.keys(choice[\"non-repeat\"]).length > 0) {\n\t\t\t\t\t\t\tprimaryInterfaceName = buildTypeName(sliceName, \"Primary\");\n\n\t\t\t\t\t\t\tconst path: FieldPath = [\n\t\t\t\t\t\t\t\t...args.path,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: args.name,\n\t\t\t\t\t\t\t\t\tmodel: args.field,\n\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\t\tname: choiceID,\n\t\t\t\t\t\t\t\t\tmodel: choice,\n\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\t\tname: \"primary\",\n\t\t\t\t\t\t\t\t\tlabel: \"Primary\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\t\t\t\t\tconst primaryFieldProperties = buildFieldProperties({\n\t\t\t\t\t\t\t\tfields: choice[\"non-repeat\"],\n\t\t\t\t\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tauxiliaryTypes.push(...primaryFieldProperties.auxiliaryTypes);\n\t\t\t\t\t\t\tcontentTypeNames.push(...primaryFieldProperties.contentTypeNames);\n\n\t\t\t\t\t\t\tlet primaryCode = stripIndent`\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * Primary content in *${humanReadablePath}*\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t`;\n\t\t\t\t\t\t\tprimaryCode = primaryFieldProperties.code\n\t\t\t\t\t\t\t\t? addLine(\n\t\t\t\t\t\t\t\t\t\tsource`\n\t\t\t\t\t\t\t\t\t\t\texport interface ${primaryInterfaceName} {\n\t\t\t\t\t\t\t\t\t\t\t\t${primaryFieldProperties.code}\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\tprimaryCode,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: addLine(`export interface ${primaryInterfaceName} {}`, primaryCode);\n\n\t\t\t\t\t\t\tauxiliaryTypes.push({\n\t\t\t\t\t\t\t\tname: primaryInterfaceName,\n\t\t\t\t\t\t\t\tcode: primaryCode,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontentTypeNames.push(primaryInterfaceName);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet itemInterfaceName: string | undefined;\n\t\t\t\t\t\tif (choice.repeat && Object.keys(choice.repeat).length > 0) {\n\t\t\t\t\t\t\titemInterfaceName = buildTypeName(sliceName, \"Item\");\n\n\t\t\t\t\t\t\tconst path: FieldPath = [\n\t\t\t\t\t\t\t\t...args.path,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: args.name,\n\t\t\t\t\t\t\t\t\tmodel: args.field,\n\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\t\tname: choiceID,\n\t\t\t\t\t\t\t\t\tmodel: choice,\n\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\t\tname: \"items\",\n\t\t\t\t\t\t\t\t\tlabel: \"Items\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\t\t\t\t\tconst itemFieldProperties = buildFieldProperties({\n\t\t\t\t\t\t\t\tfields: choice.repeat,\n\t\t\t\t\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tauxiliaryTypes.push(...itemFieldProperties.auxiliaryTypes);\n\t\t\t\t\t\t\tcontentTypeNames.push(...itemFieldProperties.contentTypeNames);\n\n\t\t\t\t\t\t\tlet itemCode = stripIndent`\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * Item content in *${humanReadablePath}*\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t`;\n\t\t\t\t\t\t\titemCode = itemFieldProperties.code\n\t\t\t\t\t\t\t\t? addLine(\n\t\t\t\t\t\t\t\t\t\tsource`\n\t\t\t\t\t\t\t\t\t\t\texport interface ${itemInterfaceName} {\n\t\t\t\t\t\t\t\t\t\t\t\t${itemFieldProperties.code}\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\titemCode,\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t: addLine(`export interface ${itemInterfaceName} {}`, itemCode);\n\n\t\t\t\t\t\t\tauxiliaryTypes.push({\n\t\t\t\t\t\t\t\tname: itemInterfaceName,\n\t\t\t\t\t\t\t\tcode: itemCode,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontentTypeNames.push(itemInterfaceName);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tauxiliaryTypes.push({\n\t\t\t\t\t\t\tname: sliceName,\n\t\t\t\t\t\t\tcode: stripIndent`\n\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t * Slice for *${getHumanReadablePath({\n\t\t\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t\t\t...args.path,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tname: args.name,\n\t\t\t\t\t\t\t\t\t\t\t\tmodel: args.field,\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\texport type ${sliceName} = prismic.Slice<\"${choiceID}\", ${\n\t\t\t\t\t\t\t\t\tprimaryInterfaceName\n\t\t\t\t\t\t\t\t\t\t? `Simplify<${primaryInterfaceName}>`\n\t\t\t\t\t\t\t\t\t\t: `Record<string, never>`\n\t\t\t\t\t\t\t\t}, ${itemInterfaceName ? `Simplify<${itemInterfaceName}>` : `never`}>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tchoiceNames.push(sliceName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst choiceUnionName = buildTypeName(\n\t\t\t\targs.path[0].name,\n\t\t\t\t\"Document\",\n\t\t\t\t\"Data\",\n\t\t\t\targs.name,\n\t\t\t\t\"Slice\",\n\t\t\t);\n\t\t\tconst choiceUnion = buildUnion(choiceNames);\n\t\t\tauxiliaryTypes.push({\n\t\t\t\tname: choiceUnionName,\n\t\t\t\tcode: `type ${choiceUnionName} = ${choiceUnion}`,\n\t\t\t});\n\t\t\tcontentTypeNames.push(choiceUnionName);\n\n\t\t\tcode = addLine(`${name}: prismic.SliceZone<${choiceUnionName}>;`, code);\n\n\t\t\tbreak;\n\t\t}\n\n\t\tdefault: {\n\t\t\tcode = addLine(`${name}: unknown;`, code);\n\t\t}\n\t}\n\n\treturn {\n\t\tcode,\n\t\tauxiliaryTypes,\n\t\tcontentTypeNames,\n\t};\n}\n\ntype BuildFieldPropertiesArgs = {\n\tfields: Record<string, CustomTypeModelField>;\n\tpath: FieldPath;\n\tfieldConfigs: FieldConfigs;\n\ttabName?: string;\n};\n\ntype BuildFieldPropertiesReturnType = {\n\tcode: string;\n\tauxiliaryTypes: AuxiliaryType[];\n\tcontentTypeNames: string[];\n};\n\nexport function buildFieldProperties(\n\targs: BuildFieldPropertiesArgs,\n): BuildFieldPropertiesReturnType {\n\tlet code = \"\";\n\n\tconst auxiliaryTypes: AuxiliaryType[] = [];\n\tconst contentTypeNames: string[] = [];\n\n\tfor (const name in args.fields) {\n\t\tconst field = args.fields[name];\n\n\t\tconst fieldProperty = buildFieldProperty({\n\t\t\tname,\n\t\t\tfield,\n\t\t\tpath: args.path,\n\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\ttabName: args.tabName,\n\t\t});\n\n\t\tcode = addSection(fieldProperty.code, code);\n\n\t\tauxiliaryTypes.push(...fieldProperty.auxiliaryTypes);\n\t\tcontentTypeNames.push(...fieldProperty.contentTypeNames);\n\t}\n\n\treturn {\n\t\tcode,\n\t\tauxiliaryTypes,\n\t\tcontentTypeNames,\n\t};\n}\n"],"mappings":"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"}