prismic-ts-codegen 0.1.11 → 0.1.12

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 (198) hide show
  1. package/dist/constants.cjs +19 -21
  2. package/dist/constants.cjs.map +1 -1
  3. package/dist/constants.d.ts +2 -3
  4. package/dist/constants.js +19 -21
  5. package/dist/constants.js.map +1 -1
  6. package/dist/generateTypes.cjs +71 -90
  7. package/dist/generateTypes.cjs.map +1 -1
  8. package/dist/generateTypes.d.ts +2 -1
  9. package/dist/generateTypes.js +71 -90
  10. package/dist/generateTypes.js.map +1 -1
  11. package/dist/lib/addBlankLine.cjs +12 -0
  12. package/dist/lib/addBlankLine.cjs.map +1 -0
  13. package/dist/lib/addBlankLine.d.ts +5 -0
  14. package/dist/lib/addBlankLine.js +12 -0
  15. package/dist/lib/addBlankLine.js.map +1 -0
  16. package/dist/lib/addLine.cjs +8 -0
  17. package/dist/lib/addLine.cjs.map +1 -0
  18. package/dist/lib/addLine.d.ts +1 -0
  19. package/dist/lib/addLine.js +8 -0
  20. package/dist/lib/addLine.js.map +1 -0
  21. package/dist/lib/addSection.cjs +8 -0
  22. package/dist/lib/addSection.cjs.map +1 -0
  23. package/dist/lib/addSection.d.ts +1 -0
  24. package/dist/lib/addSection.js +8 -0
  25. package/dist/lib/addSection.js.map +1 -0
  26. package/dist/lib/addTrailingNewLine.cjs +11 -0
  27. package/dist/lib/addTrailingNewLine.cjs.map +1 -0
  28. package/dist/lib/addTrailingNewLine.d.ts +5 -0
  29. package/dist/lib/addTrailingNewLine.js +11 -0
  30. package/dist/lib/addTrailingNewLine.js.map +1 -0
  31. package/dist/lib/buildCustomTypeDataType.cjs +51 -0
  32. package/dist/lib/buildCustomTypeDataType.cjs.map +1 -0
  33. package/dist/lib/buildCustomTypeDataType.d.ts +13 -0
  34. package/dist/lib/buildCustomTypeDataType.js +51 -0
  35. package/dist/lib/buildCustomTypeDataType.js.map +1 -0
  36. package/dist/lib/buildCustomTypeType.cjs +60 -0
  37. package/dist/lib/buildCustomTypeType.cjs.map +1 -0
  38. package/dist/lib/buildCustomTypeType.d.ts +17 -0
  39. package/dist/lib/buildCustomTypeType.js +60 -0
  40. package/dist/lib/buildCustomTypeType.js.map +1 -0
  41. package/dist/lib/buildFieldDocs.cjs +67 -35
  42. package/dist/lib/buildFieldDocs.cjs.map +1 -1
  43. package/dist/lib/buildFieldDocs.d.ts +7 -11
  44. package/dist/lib/buildFieldDocs.js +67 -35
  45. package/dist/lib/buildFieldDocs.js.map +1 -1
  46. package/dist/lib/buildFieldProperties.cjs +300 -0
  47. package/dist/lib/buildFieldProperties.cjs.map +1 -0
  48. package/dist/lib/buildFieldProperties.d.ts +14 -0
  49. package/dist/lib/buildFieldProperties.js +300 -0
  50. package/dist/lib/buildFieldProperties.js.map +1 -0
  51. package/dist/lib/buildSharedSliceType.cjs +140 -0
  52. package/dist/lib/buildSharedSliceType.cjs.map +1 -0
  53. package/dist/lib/buildSharedSliceType.d.ts +16 -0
  54. package/dist/lib/buildSharedSliceType.js +140 -0
  55. package/dist/lib/buildSharedSliceType.js.map +1 -0
  56. package/dist/lib/buildTypeName.cjs +4 -2
  57. package/dist/lib/buildTypeName.cjs.map +1 -1
  58. package/dist/lib/buildTypeName.js +4 -2
  59. package/dist/lib/buildTypeName.js.map +1 -1
  60. package/dist/lib/buildUnion.cjs +7 -0
  61. package/dist/lib/buildUnion.cjs.map +1 -0
  62. package/dist/lib/buildUnion.d.ts +1 -0
  63. package/dist/lib/buildUnion.js +7 -0
  64. package/dist/lib/buildUnion.js.map +1 -0
  65. package/dist/lib/checkHasUIDFIeld.cjs +7 -0
  66. package/dist/lib/checkHasUIDFIeld.cjs.map +1 -0
  67. package/dist/lib/checkHasUIDFIeld.d.ts +2 -0
  68. package/dist/lib/checkHasUIDFIeld.js +7 -0
  69. package/dist/lib/checkHasUIDFIeld.js.map +1 -0
  70. package/dist/lib/getAPIIDPath.cjs +18 -14
  71. package/dist/lib/getAPIIDPath.cjs.map +1 -1
  72. package/dist/lib/getAPIIDPath.d.ts +4 -8
  73. package/dist/lib/getAPIIDPath.js +18 -14
  74. package/dist/lib/getAPIIDPath.js.map +1 -1
  75. package/dist/lib/getCacheKey.cjs +25 -0
  76. package/dist/lib/getCacheKey.cjs.map +1 -0
  77. package/dist/lib/getCacheKey.d.ts +9 -0
  78. package/dist/lib/getCacheKey.js +8 -0
  79. package/dist/lib/getCacheKey.js.map +1 -0
  80. package/dist/lib/getHumanReadableModelName.cjs +13 -17
  81. package/dist/lib/getHumanReadableModelName.cjs.map +1 -1
  82. package/dist/lib/getHumanReadableModelName.d.ts +3 -3
  83. package/dist/lib/getHumanReadableModelName.js +13 -17
  84. package/dist/lib/getHumanReadableModelName.js.map +1 -1
  85. package/dist/lib/{getHumanReadableFieldPath.cjs → getHumanReadablePath.cjs} +8 -8
  86. package/dist/lib/getHumanReadablePath.cjs.map +1 -0
  87. package/dist/lib/getHumanReadablePath.d.ts +6 -0
  88. package/dist/lib/{getHumanReadableFieldPath.js → getHumanReadablePath.js} +8 -8
  89. package/dist/lib/getHumanReadablePath.js.map +1 -0
  90. package/dist/types.d.ts +9 -1
  91. package/package.json +18 -17
  92. package/src/constants.ts +19 -22
  93. package/src/generateTypes.ts +109 -108
  94. package/src/lib/addBlankLine.ts +13 -0
  95. package/src/lib/addLine.ts +5 -0
  96. package/src/lib/addSection.ts +5 -0
  97. package/src/lib/addTrailingNewLine.ts +14 -0
  98. package/src/lib/buildCustomTypeDataType.ts +74 -0
  99. package/src/lib/buildCustomTypeType.ts +101 -0
  100. package/src/lib/buildFieldDocs.ts +128 -68
  101. package/src/lib/buildFieldProperties.ts +513 -0
  102. package/src/lib/buildSharedSliceType.ts +213 -0
  103. package/src/lib/buildTypeName.ts +4 -2
  104. package/src/lib/buildUnion.ts +3 -0
  105. package/src/lib/checkHasUIDFIeld.ts +5 -0
  106. package/src/lib/getAPIIDPath.ts +40 -41
  107. package/src/lib/getCacheKey.ts +13 -0
  108. package/src/lib/getHumanReadableModelName.ts +23 -20
  109. package/src/lib/getHumanReadablePath.ts +24 -0
  110. package/src/types.ts +11 -1
  111. package/dist/lib/addInterfacePropertiesForFields.cjs +0 -489
  112. package/dist/lib/addInterfacePropertiesForFields.cjs.map +0 -1
  113. package/dist/lib/addInterfacePropertiesForFields.d.ts +0 -21
  114. package/dist/lib/addInterfacePropertiesForFields.js +0 -489
  115. package/dist/lib/addInterfacePropertiesForFields.js.map +0 -1
  116. package/dist/lib/addTypeAliasForCustomType.cjs +0 -81
  117. package/dist/lib/addTypeAliasForCustomType.cjs.map +0 -1
  118. package/dist/lib/addTypeAliasForCustomType.d.ts +0 -11
  119. package/dist/lib/addTypeAliasForCustomType.js +0 -81
  120. package/dist/lib/addTypeAliasForCustomType.js.map +0 -1
  121. package/dist/lib/addTypeAliasForSharedSlice.cjs +0 -149
  122. package/dist/lib/addTypeAliasForSharedSlice.cjs.map +0 -1
  123. package/dist/lib/addTypeAliasForSharedSlice.d.ts +0 -10
  124. package/dist/lib/addTypeAliasForSharedSlice.js +0 -149
  125. package/dist/lib/addTypeAliasForSharedSlice.js.map +0 -1
  126. package/dist/lib/buildSharedSliceInterfaceNamePart.cjs +0 -8
  127. package/dist/lib/buildSharedSliceInterfaceNamePart.cjs.map +0 -1
  128. package/dist/lib/buildSharedSliceInterfaceNamePart.d.ts +0 -5
  129. package/dist/lib/buildSharedSliceInterfaceNamePart.js +0 -8
  130. package/dist/lib/buildSharedSliceInterfaceNamePart.js.map +0 -1
  131. package/dist/lib/getFieldDocumentationURL.cjs +0 -8
  132. package/dist/lib/getFieldDocumentationURL.cjs.map +0 -1
  133. package/dist/lib/getFieldDocumentationURL.d.ts +0 -6
  134. package/dist/lib/getFieldDocumentationURL.js +0 -8
  135. package/dist/lib/getFieldDocumentationURL.js.map +0 -1
  136. package/dist/lib/getHumanReadableFieldPath.cjs.map +0 -1
  137. package/dist/lib/getHumanReadableFieldPath.d.ts +0 -10
  138. package/dist/lib/getHumanReadableFieldPath.js.map +0 -1
  139. package/dist/lib/getHumanReadableFieldType.cjs +0 -36
  140. package/dist/lib/getHumanReadableFieldType.cjs.map +0 -1
  141. package/dist/lib/getHumanReadableFieldType.d.ts +0 -6
  142. package/dist/lib/getHumanReadableFieldType.js +0 -36
  143. package/dist/lib/getHumanReadableFieldType.js.map +0 -1
  144. package/dist/lib/getSourceFileText.cjs +0 -9
  145. package/dist/lib/getSourceFileText.cjs.map +0 -1
  146. package/dist/lib/getSourceFileText.d.ts +0 -2
  147. package/dist/lib/getSourceFileText.js +0 -9
  148. package/dist/lib/getSourceFileText.js.map +0 -1
  149. package/dist/lib/hasOwnProperty.cjs +0 -7
  150. package/dist/lib/hasOwnProperty.cjs.map +0 -1
  151. package/dist/lib/hasOwnProperty.d.ts +0 -10
  152. package/dist/lib/hasOwnProperty.js +0 -7
  153. package/dist/lib/hasOwnProperty.js.map +0 -1
  154. package/dist/lib/isCustomTypeModel.cjs +0 -7
  155. package/dist/lib/isCustomTypeModel.cjs.map +0 -1
  156. package/dist/lib/isCustomTypeModel.d.ts +0 -2
  157. package/dist/lib/isCustomTypeModel.js +0 -7
  158. package/dist/lib/isCustomTypeModel.js.map +0 -1
  159. package/dist/lib/isCustomTypeModelField.cjs +0 -7
  160. package/dist/lib/isCustomTypeModelField.cjs.map +0 -1
  161. package/dist/lib/isCustomTypeModelField.d.ts +0 -2
  162. package/dist/lib/isCustomTypeModelField.js +0 -7
  163. package/dist/lib/isCustomTypeModelField.js.map +0 -1
  164. package/dist/lib/isCustomTypeModelSlice.cjs +0 -8
  165. package/dist/lib/isCustomTypeModelSlice.cjs.map +0 -1
  166. package/dist/lib/isCustomTypeModelSlice.d.ts +0 -2
  167. package/dist/lib/isCustomTypeModelSlice.js +0 -8
  168. package/dist/lib/isCustomTypeModelSlice.js.map +0 -1
  169. package/dist/lib/isSharedSliceModel.cjs +0 -8
  170. package/dist/lib/isSharedSliceModel.cjs.map +0 -1
  171. package/dist/lib/isSharedSliceModel.d.ts +0 -2
  172. package/dist/lib/isSharedSliceModel.js +0 -8
  173. package/dist/lib/isSharedSliceModel.js.map +0 -1
  174. package/dist/lib/pascalCase.cjs +0 -8
  175. package/dist/lib/pascalCase.cjs.map +0 -1
  176. package/dist/lib/pascalCase.d.ts +0 -1
  177. package/dist/lib/pascalCase.js +0 -8
  178. package/dist/lib/pascalCase.js.map +0 -1
  179. package/dist/lib/writeFieldDocsDescription.cjs +0 -29
  180. package/dist/lib/writeFieldDocsDescription.cjs.map +0 -1
  181. package/dist/lib/writeFieldDocsDescription.d.ts +0 -13
  182. package/dist/lib/writeFieldDocsDescription.js +0 -29
  183. package/dist/lib/writeFieldDocsDescription.js.map +0 -1
  184. package/src/lib/addInterfacePropertiesForFields.ts +0 -665
  185. package/src/lib/addTypeAliasForCustomType.ts +0 -120
  186. package/src/lib/addTypeAliasForSharedSlice.ts +0 -201
  187. package/src/lib/buildSharedSliceInterfaceNamePart.ts +0 -11
  188. package/src/lib/getFieldDocumentationURL.ts +0 -15
  189. package/src/lib/getHumanReadableFieldPath.ts +0 -36
  190. package/src/lib/getHumanReadableFieldType.ts +0 -55
  191. package/src/lib/getSourceFileText.ts +0 -14
  192. package/src/lib/hasOwnProperty.ts +0 -15
  193. package/src/lib/isCustomTypeModel.ts +0 -5
  194. package/src/lib/isCustomTypeModelField.ts +0 -7
  195. package/src/lib/isCustomTypeModelSlice.ts +0 -14
  196. package/src/lib/isSharedSliceModel.ts +0 -14
  197. package/src/lib/pascalCase.ts +0 -9
  198. package/src/lib/writeFieldDocsDescription.ts +0 -51
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSharedSliceType.js","sources":["../../../src/lib/buildSharedSliceType.ts"],"sourcesContent":["import { SharedSliceModel } from \"@prismicio/client\";\nimport { source, stripIndent } from \"common-tags\";\nimport QuickLRU from \"quick-lru\";\n\nimport { FieldConfigs, FieldPath } from \"../types\";\n\nimport { SHARED_SLICES_DOCUMENTATION_URL } from \"../constants\";\n\nimport { addSection } from \"./addSection\";\nimport { buildFieldProperties } from \"./buildFieldProperties\";\nimport { buildTypeName } from \"./buildTypeName\";\nimport { buildUnion } from \"./buildUnion\";\nimport { getCacheKey } from \"./getCacheKey\";\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\nimport { getHumanReadablePath } from \"./getHumanReadablePath\";\n\ntype BuildSharedSliceTypeArgs = {\n\tmodel: SharedSliceModel;\n\tfieldConfigs: FieldConfigs;\n\tcache?: QuickLRU<string, unknown>;\n};\n\ntype BuildSharedSliceTypeReturnValue = {\n\tname: string;\n\tvariationUnionName: string;\n\tvariationNames: string[];\n\tcode: string;\n};\n\nexport function buildSharedSliceType(\n\targs: BuildSharedSliceTypeArgs,\n): BuildSharedSliceTypeReturnValue {\n\tif (args.cache) {\n\t\tconst key = getCacheKey([args.model, args.fieldConfigs]);\n\t\tconst cached = args.cache.get(key);\n\n\t\tif (cached) {\n\t\t\treturn cached as BuildSharedSliceTypeReturnValue;\n\t\t}\n\t}\n\n\tlet code = \"\";\n\n\tconst name = buildTypeName(args.model.id, \"Slice\");\n\tconst humanReadableName = getHumanReadableModelName({\n\t\tname: args.model.id,\n\t\tmodel: args.model,\n\t});\n\n\tconst variationNames: string[] = [];\n\tfor (const variationModel of args.model.variations) {\n\t\tconst variationName = buildTypeName(name, variationModel.id);\n\n\t\tlet primaryInterfaceName: string | undefined;\n\t\tif (\n\t\t\tvariationModel.primary &&\n\t\t\tObject.keys(variationModel.primary).length > 0\n\t\t) {\n\t\t\tprimaryInterfaceName = buildTypeName(variationName, \"Primary\");\n\n\t\t\tconst path: FieldPath = [\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\t{\n\t\t\t\t\tname: \"primary\",\n\t\t\t\t\tlabel: \"Primary\",\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst humanReadablePath = getHumanReadablePath({ path });\n\n\t\t\tconst primaryFieldProperties = buildFieldProperties({\n\t\t\t\tfields: variationModel.primary,\n\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\tpath,\n\t\t\t});\n\n\t\t\tconst docs = stripIndent`\n\t\t\t\t/**\n\t\t\t\t * Primary content in *${humanReadablePath}*\n\t\t\t\t */\n\t\t\t`;\n\n\t\t\tcode = addSection(\n\t\t\t\tprimaryFieldProperties.code\n\t\t\t\t\t? source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${primaryInterfaceName} {\n\t\t\t\t\t\t\t${primaryFieldProperties.code}\n\t\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t\t: source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${primaryInterfaceName} {}\n\t\t\t\t\t`,\n\t\t\t\tcode,\n\t\t\t);\n\t\t}\n\n\t\tlet itemInterfaceName: string | undefined;\n\t\tif (variationModel.items && Object.keys(variationModel.items).length > 0) {\n\t\t\titemInterfaceName = buildTypeName(variationName, \"Item\");\n\n\t\t\tconst path: FieldPath = [\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\t{\n\t\t\t\t\tname: \"items\",\n\t\t\t\t\tlabel: \"Items\",\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: variationModel.items,\n\t\t\t\tfieldConfigs: args.fieldConfigs,\n\t\t\t\tpath,\n\t\t\t});\n\n\t\t\tconst docs = stripIndent`\n\t\t\t\t/**\n\t\t\t\t * Primary content in *${humanReadablePath}*\n\t\t\t\t */\n\t\t\t`;\n\n\t\t\tcode = addSection(\n\t\t\t\titemFieldProperties.code\n\t\t\t\t\t? source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${itemInterfaceName} {\n\t\t\t\t\t\t\t${itemFieldProperties.code}\n\t\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t\t: source`\n\t\t\t\t\t\t${docs}\n\t\t\t\t\t\texport interface ${itemInterfaceName} {}\n\t\t\t\t\t`,\n\t\t\t\tcode,\n\t\t\t);\n\t\t}\n\n\t\tcode = addSection(\n\t\t\tsource`\n\t\t\t\t/**\n\t\t\t\t * ${variationModel.name} variation for ${humanReadableName} Slice\n\t\t\t\t *\n\t\t\t\t * - **API ID**: \\`${variationModel.id}\\`\n\t\t\t\t * - **Description**: ${variationModel.description || \"*None*\"}\n\t\t\t\t * - **Documentation**: ${SHARED_SLICES_DOCUMENTATION_URL}\n\t\t\t\t */\n\t\t\t\texport type ${variationName} = prismic.SharedSliceVariation<\"${\n\t\t\t\tvariationModel.id\n\t\t\t}\", ${\n\t\t\t\tprimaryInterfaceName\n\t\t\t\t\t? `Simplify<${primaryInterfaceName}>`\n\t\t\t\t\t: `Record<string, never>`\n\t\t\t}, ${itemInterfaceName ? `Simplify<${itemInterfaceName}>` : `never`}>;\n\t\t\t`,\n\t\t\tcode,\n\t\t);\n\n\t\tvariationNames.push(variationName);\n\t}\n\n\tconst variationUnionName = buildTypeName(name, \"Variation\");\n\tconst variationsUnion = buildUnion(variationNames);\n\n\tcode = addSection(\n\t\tsource`\n\t\t\t/**\n\t\t\t * Slice variation for *${humanReadableName}*\n\t\t\t */\n\t\t\ttype ${variationUnionName} = ${\n\t\t\tvariationNames.length > 0 ? variationsUnion : \"never\"\n\t\t}\n\t\t`,\n\t\tcode,\n\t);\n\n\tcode = addSection(\n\t\tsource`\n\t\t\t/**\n\t\t\t * ${humanReadableName} Shared Slice\n\t\t\t *\n\t\t\t * - **API ID**: \\`${args.model.id}\\`\n\t\t\t * - **Description**: ${args.model.description || \"*None*\"}\n\t\t\t * - **Documentation**: ${SHARED_SLICES_DOCUMENTATION_URL}\n\t\t\t */\n\t\t\texport type ${name} = prismic.SharedSlice<\"${\n\t\t\targs.model.id\n\t\t}\", ${variationUnionName}>;\n\t\t`,\n\t\tcode,\n\t);\n\n\tconst result = {\n\t\tname,\n\t\tvariationUnionName,\n\t\tvariationNames,\n\t\tcode,\n\t};\n\n\tif (args.cache) {\n\t\tconst key = getCacheKey([args.model, args.fieldConfigs]);\n\n\t\targs.cache.set(key, result);\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":";;;;;;;;;AA6BM,SAAU,qBACf,MAA8B;AAE9B,MAAI,KAAK,OAAO;AACf,UAAM,MAAM,YAAY,CAAC,KAAK,OAAO,KAAK,YAAY,CAAC;AACvD,UAAM,SAAS,KAAK,MAAM,IAAI,GAAG;AAEjC,QAAI,QAAQ;AACJ,aAAA;AAAA,IACP;AAAA,EACD;AAED,MAAI,OAAO;AAEX,QAAM,OAAO,cAAc,KAAK,MAAM,IAAI,OAAO;AACjD,QAAM,oBAAoB,0BAA0B;AAAA,IACnD,MAAM,KAAK,MAAM;AAAA,IACjB,OAAO,KAAK;AAAA,EAAA,CACZ;AAED,QAAM,iBAA2B,CAAA;AACtB,aAAA,kBAAkB,KAAK,MAAM,YAAY;AACnD,UAAM,gBAAgB,cAAc,MAAM,eAAe,EAAE;AAEvD,QAAA;AAEH,QAAA,eAAe,WACf,OAAO,KAAK,eAAe,OAAO,EAAE,SAAS,GAC5C;AACsB,6BAAA,cAAc,eAAe,SAAS;AAE7D,YAAM,OAAkB;AAAA,QACvB;AAAA,UACC,MAAM,KAAK,MAAM;AAAA,UACjB,OAAO,KAAK;AAAA,QACZ;AAAA,QACD;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,QACP;AAAA,MAAA;AAEF,YAAM,oBAAoB,qBAAqB,EAAE,KAAM,CAAA;AAEvD,YAAM,yBAAyB,qBAAqB;AAAA,QACnD,QAAQ,eAAe;AAAA,QACvB,cAAc,KAAK;AAAA,QACnB;AAAA,MAAA,CACA;AAED,YAAM,OAAO;AAAA;AAAA,6BAEa;AAAA;AAAA;AAInB,aAAA,WACN,uBAAuB,OACpB;AAAA,QACC;AAAA,yBACiB;AAAA,SAChB,uBAAuB;AAAA;AAAA,SAGzB;AAAA,QACC;AAAA,yBACiB;AAAA,QAErB,IAAI;AAAA,IAEL;AAEG,QAAA;AACA,QAAA,eAAe,SAAS,OAAO,KAAK,eAAe,KAAK,EAAE,SAAS,GAAG;AACrD,0BAAA,cAAc,eAAe,MAAM;AAEvD,YAAM,OAAkB;AAAA,QACvB;AAAA,UACC,MAAM,KAAK,MAAM;AAAA,UACjB,OAAO,KAAK;AAAA,QACZ;AAAA,QACD;AAAA,UACC,MAAM;AAAA,UACN,OAAO;AAAA,QACP;AAAA,MAAA;AAEF,YAAM,oBAAoB,qBAAqB,EAAE,KAAM,CAAA;AAEvD,YAAM,sBAAsB,qBAAqB;AAAA,QAChD,QAAQ,eAAe;AAAA,QACvB,cAAc,KAAK;AAAA,QACnB;AAAA,MAAA,CACA;AAED,YAAM,OAAO;AAAA;AAAA,6BAEa;AAAA;AAAA;AAInB,aAAA,WACN,oBAAoB,OACjB;AAAA,QACC;AAAA,yBACiB;AAAA,SAChB,oBAAoB;AAAA;AAAA,SAGtB;AAAA,QACC;AAAA,yBACiB;AAAA,QAErB,IAAI;AAAA,IAEL;AAED,WAAO,WACN;AAAA;AAAA,SAEM,eAAe,sBAAsB;AAAA;AAAA,yBAErB,eAAe;AAAA,4BACZ,eAAe,eAAe;AAAA,8BAC5B;AAAA;AAAA,kBAEZ,iDACd,eAAe,QAEf,uBACG,YAAY,0BACZ,4BACC,oBAAoB,YAAY,uBAAuB;AAAA,MAE5D,IAAI;AAGL,mBAAe,KAAK,aAAa;AAAA,EACjC;AAEK,QAAA,qBAAqB,cAAc,MAAM,WAAW;AACpD,QAAA,kBAAkB,WAAW,cAAc;AAEjD,SAAO,WACN;AAAA;AAAA,6BAE2B;AAAA;AAAA,UAEnB,wBACP,eAAe,SAAS,IAAI,kBAAkB;AAAA,KAG/C,IAAI;AAGL,SAAO,WACN;AAAA;AAAA,QAEM;AAAA;AAAA,wBAEgB,KAAK,MAAM;AAAA,2BACR,KAAK,MAAM,eAAe;AAAA,6BACxB;AAAA;AAAA,iBAEZ,+BACd,KAAK,MAAM,QACN;AAAA,KAEN,IAAI;AAGL,QAAM,SAAS;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGD,MAAI,KAAK,OAAO;AACf,UAAM,MAAM,YAAY,CAAC,KAAK,OAAO,KAAK,YAAY,CAAC;AAElD,SAAA,MAAM,IAAI,KAAK,MAAM;AAAA,EAC1B;AAEM,SAAA;AACR;"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const pascalCase = require("./pascalCase.cjs");
3
+ const pascalCase = require("pascal-case");
4
4
  const buildTypeName = (...parts) => {
5
- let name = pascalCase.pascalCase(parts.filter(Boolean).join(" "));
5
+ let name = pascalCase.pascalCase(parts.filter(Boolean).join(" "), {
6
+ transform: pascalCase.pascalCaseTransformMerge
7
+ });
6
8
  if (/^[0-9]/.test(name) ? "_" : "") {
7
9
  name = `_${name}`;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildTypeName.cjs","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase } from \"./pascalCase\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"));\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":["pascalCase"],"mappings":";;;AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAOA,sBAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC;AAErD,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;;"}
1
+ {"version":3,"file":"buildTypeName.cjs","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase, pascalCaseTransformMerge } from \"pascal-case\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"), {\n\t\ttransform: pascalCaseTransformMerge,\n\t});\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":["pascalCase","pascalCaseTransformMerge"],"mappings":";;;AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAOA,sBAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG;AAAA,IACtD,WAAWC,WAAA;AAAA,EAAA,CACX;AAED,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;;"}
@@ -1,6 +1,8 @@
1
- import { pascalCase } from "./pascalCase.js";
1
+ import { pascalCase, pascalCaseTransformMerge } from "pascal-case";
2
2
  const buildTypeName = (...parts) => {
3
- let name = pascalCase(parts.filter(Boolean).join(" "));
3
+ let name = pascalCase(parts.filter(Boolean).join(" "), {
4
+ transform: pascalCaseTransformMerge
5
+ });
4
6
  if (/^[0-9]/.test(name) ? "_" : "") {
5
7
  name = `_${name}`;
6
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildTypeName.js","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase } from \"./pascalCase\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"));\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAO,WAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC;AAErD,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;"}
1
+ {"version":3,"file":"buildTypeName.js","sources":["../../../src/lib/buildTypeName.ts"],"sourcesContent":["import { pascalCase, pascalCaseTransformMerge } from \"pascal-case\";\n\nexport const buildTypeName = (...parts: string[]) => {\n\tlet name = pascalCase(parts.filter(Boolean).join(\" \"), {\n\t\ttransform: pascalCaseTransformMerge,\n\t});\n\n\tif (/^[0-9]/.test(name) ? \"_\" : \"\") {\n\t\tname = `_${name}`;\n\t}\n\n\treturn name;\n};\n"],"names":[],"mappings":";AAEa,MAAA,gBAAgB,IAAI,UAAmB;AAC/C,MAAA,OAAO,WAAW,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,GAAG;AAAA,IACtD,WAAW;AAAA,EAAA,CACX;AAED,MAAI,SAAS,KAAK,IAAI,IAAI,MAAM,IAAI;AACnC,WAAO,IAAI;AAAA,EACX;AAEM,SAAA;AACR;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function buildUnion(types) {
4
+ return types.filter(Boolean).join(" | ");
5
+ }
6
+ exports.buildUnion = buildUnion;
7
+ //# sourceMappingURL=buildUnion.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUnion.cjs","sources":["../../../src/lib/buildUnion.ts"],"sourcesContent":["export function buildUnion(types: string[]) {\n\treturn types.filter(Boolean).join(\" | \");\n}\n"],"names":[],"mappings":";;AAAM,SAAU,WAAW,OAAe;AACzC,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,KAAK;AACxC;;"}
@@ -0,0 +1 @@
1
+ export declare function buildUnion(types: string[]): string;
@@ -0,0 +1,7 @@
1
+ function buildUnion(types) {
2
+ return types.filter(Boolean).join(" | ");
3
+ }
4
+ export {
5
+ buildUnion
6
+ };
7
+ //# sourceMappingURL=buildUnion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUnion.js","sources":["../../../src/lib/buildUnion.ts"],"sourcesContent":["export function buildUnion(types: string[]) {\n\treturn types.filter(Boolean).join(\" | \");\n}\n"],"names":[],"mappings":"AAAM,SAAU,WAAW,OAAe;AACzC,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,KAAK;AACxC;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function checkHasUIDField(model) {
4
+ return "uid" in Object.assign({}, ...Object.values(model.json));
5
+ }
6
+ exports.checkHasUIDField = checkHasUIDField;
7
+ //# sourceMappingURL=checkHasUIDFIeld.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHasUIDFIeld.cjs","sources":["../../../src/lib/checkHasUIDFIeld.ts"],"sourcesContent":["import { CustomTypeModel } from \"@prismicio/client\";\n\nexport function checkHasUIDField(model: CustomTypeModel): boolean {\n\treturn \"uid\" in Object.assign({}, ...Object.values(model.json));\n}\n"],"names":[],"mappings":";;AAEM,SAAU,iBAAiB,OAAsB;AAC/C,SAAA,SAAS,OAAO,OAAO,IAAI,GAAG,OAAO,OAAO,MAAM,IAAI,CAAC;AAC/D;;"}
@@ -0,0 +1,2 @@
1
+ import { CustomTypeModel } from "@prismicio/client";
2
+ export declare function checkHasUIDField(model: CustomTypeModel): boolean;
@@ -0,0 +1,7 @@
1
+ function checkHasUIDField(model) {
2
+ return "uid" in Object.assign({}, ...Object.values(model.json));
3
+ }
4
+ export {
5
+ checkHasUIDField
6
+ };
7
+ //# sourceMappingURL=checkHasUIDFIeld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHasUIDFIeld.js","sources":["../../../src/lib/checkHasUIDFIeld.ts"],"sourcesContent":["import { CustomTypeModel } from \"@prismicio/client\";\n\nexport function checkHasUIDField(model: CustomTypeModel): boolean {\n\treturn \"uid\" in Object.assign({}, ...Object.values(model.json));\n}\n"],"names":[],"mappings":"AAEM,SAAU,iBAAiB,OAAsB;AAC/C,SAAA,SAAS,OAAO,OAAO,IAAI,GAAG,OAAO,OAAO,MAAM,IAAI,CAAC;AAC/D;"}
@@ -1,22 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const isCustomTypeModelField = require("./isCustomTypeModelField.cjs");
4
- const isCustomTypeModelSlice = require("./isCustomTypeModelSlice.cjs");
5
- const isSharedSliceModel = require("./isSharedSliceModel.cjs");
6
- const getAPIIDPath = (config) => {
7
- return config.path.map((element, i) => {
8
- if (isCustomTypeModelField.isCustomTypeModelField(element.model) && (element.model.type === "Group" || element.model.type === "Slices")) {
9
- return `${element.id}[]`;
3
+ function getAPIIDPath(args) {
4
+ let result = "";
5
+ for (let i = 0; i < args.path.length; i++) {
6
+ if (i > 0) {
7
+ result += ".";
8
+ }
9
+ const element = args.path[i];
10
+ if (element.model && "type" in element.model && (element.model.type === "Group" || element.model.type === "Slices")) {
11
+ result += `${element.name}[]`;
10
12
  } else {
11
- if (element.id === "items") {
12
- const previousElement = config.path[i - 1];
13
- if (isCustomTypeModelSlice.isCustomTypeModelSlice(previousElement.model) || isSharedSliceModel.isSharedSliceModel(previousElement.model)) {
14
- return `${element.id}[]`;
13
+ if (element.name === "items") {
14
+ const previousElement = args.path[i - 1];
15
+ if (previousElement.model && "json" in previousElement.model || previousElement.model && "type" in previousElement.model && previousElement.model.type === "SharedSlice") {
16
+ result += `${element.name}[]`;
17
+ continue;
15
18
  }
16
19
  }
17
- return element.id;
20
+ result += element.name;
18
21
  }
19
- }).join(".");
20
- };
22
+ }
23
+ return result;
24
+ }
21
25
  exports.getAPIIDPath = getAPIIDPath;
22
26
  //# sourceMappingURL=getAPIIDPath.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAPIIDPath.cjs","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\nimport { PathElement } from \"../types\";\n\nimport { isCustomTypeModelField } from \"./isCustomTypeModelField\";\nimport { isCustomTypeModelSlice } from \"./isCustomTypeModelSlice\";\nimport { isSharedSliceModel } from \"./isSharedSliceModel\";\n\ntype GetAPIIDPathConfig = {\n\tpath: [\n\t\tPathElement<CustomTypeModel | SharedSliceModel>,\n\t\t...PathElement<CustomTypeModelField | CustomTypeModelSlice>[],\n\t];\n};\n\nexport const getAPIIDPath = (config: GetAPIIDPathConfig): string => {\n\treturn config.path\n\t\t.map((element, i) => {\n\t\t\tif (\n\t\t\t\tisCustomTypeModelField(element.model) &&\n\t\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t\t) {\n\t\t\t\treturn `${element.id}[]`;\n\t\t\t} else {\n\t\t\t\tif (element.id === \"items\") {\n\t\t\t\t\tconst previousElement = config.path[i - 1];\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisCustomTypeModelSlice(previousElement.model) ||\n\t\t\t\t\t\tisSharedSliceModel(previousElement.model)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn `${element.id}[]`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn element.id;\n\t\t\t}\n\t\t})\n\t\t.join(\".\");\n};\n"],"names":["isCustomTypeModelField","isCustomTypeModelSlice","isSharedSliceModel"],"mappings":";;;;;AAoBa,MAAA,eAAe,CAAC,WAAsC;AAClE,SAAO,OAAO,KACZ,IAAI,CAAC,SAAS,MAAK;AAElB,QAAAA,uBAAA,uBAAuB,QAAQ,KAAK,MACnC,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,aAAO,GAAG,QAAQ;AAAA,IAAA,OACZ;AACF,UAAA,QAAQ,OAAO,SAAS;AAC3B,cAAM,kBAAkB,OAAO,KAAK,IAAI,CAAC;AAEzC,YACCC,uBAAAA,uBAAuB,gBAAgB,KAAK,KAC5CC,mBAAAA,mBAAmB,gBAAgB,KAAK,GACvC;AACD,iBAAO,GAAG,QAAQ;AAAA,QAClB;AAAA,MACD;AAED,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,GAAG;AACX;;"}
1
+ {"version":3,"file":"getAPIIDPath.cjs","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\ntype GetAPIIDPathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getAPIIDPath(args: GetAPIIDPathArgs) {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < args.path.length; i++) {\n\t\tif (i > 0) {\n\t\t\tresult += \".\";\n\t\t}\n\n\t\tconst element = args.path[i];\n\n\t\tif (\n\t\t\telement.model &&\n\t\t\t\"type\" in element.model &&\n\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t) {\n\t\t\tresult += `${element.name}[]`;\n\t\t} else {\n\t\t\tif (element.name === \"items\") {\n\t\t\t\tconst previousElement = args.path[i - 1];\n\n\t\t\t\tif (\n\t\t\t\t\t(previousElement.model && \"json\" in previousElement.model) ||\n\t\t\t\t\t(previousElement.model &&\n\t\t\t\t\t\t\"type\" in previousElement.model &&\n\t\t\t\t\t\tpreviousElement.model.type === \"SharedSlice\")\n\t\t\t\t) {\n\t\t\t\t\tresult += `${element.name}[]`;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult += element.name;\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":";;AAMM,SAAU,aAAa,MAAsB;AAClD,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,QAAQ,KAAK;AAC1C,QAAI,IAAI,GAAG;AACA,gBAAA;AAAA,IACV;AAEK,UAAA,UAAU,KAAK,KAAK,CAAC;AAE3B,QACC,QAAQ,SACR,UAAU,QAAQ,UACjB,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,gBAAU,GAAG,QAAQ;AAAA,IAAA,OACf;AACF,UAAA,QAAQ,SAAS,SAAS;AAC7B,cAAM,kBAAkB,KAAK,KAAK,IAAI,CAAC;AAEvC,YACE,gBAAgB,SAAS,UAAU,gBAAgB,SACnD,gBAAgB,SAChB,UAAU,gBAAgB,SAC1B,gBAAgB,MAAM,SAAS,eAC/B;AACD,oBAAU,GAAG,QAAQ;AAErB;AAAA,QACA;AAAA,MACD;AAED,gBAAU,QAAQ;AAAA,IAClB;AAAA,EACD;AAEM,SAAA;AACR;;"}
@@ -1,10 +1,6 @@
1
- import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
2
- import { PathElement } from "../types";
3
- type GetAPIIDPathConfig = {
4
- path: [
5
- PathElement<CustomTypeModel | SharedSliceModel>,
6
- ...PathElement<CustomTypeModelField | CustomTypeModelSlice>[]
7
- ];
1
+ import { FieldPath } from "../types";
2
+ type GetAPIIDPathArgs = {
3
+ path: FieldPath;
8
4
  };
9
- export declare const getAPIIDPath: (config: GetAPIIDPathConfig) => string;
5
+ export declare function getAPIIDPath(args: GetAPIIDPathArgs): string;
10
6
  export {};
@@ -1,21 +1,25 @@
1
- import { isCustomTypeModelField } from "./isCustomTypeModelField.js";
2
- import { isCustomTypeModelSlice } from "./isCustomTypeModelSlice.js";
3
- import { isSharedSliceModel } from "./isSharedSliceModel.js";
4
- const getAPIIDPath = (config) => {
5
- return config.path.map((element, i) => {
6
- if (isCustomTypeModelField(element.model) && (element.model.type === "Group" || element.model.type === "Slices")) {
7
- return `${element.id}[]`;
1
+ function getAPIIDPath(args) {
2
+ let result = "";
3
+ for (let i = 0; i < args.path.length; i++) {
4
+ if (i > 0) {
5
+ result += ".";
6
+ }
7
+ const element = args.path[i];
8
+ if (element.model && "type" in element.model && (element.model.type === "Group" || element.model.type === "Slices")) {
9
+ result += `${element.name}[]`;
8
10
  } else {
9
- if (element.id === "items") {
10
- const previousElement = config.path[i - 1];
11
- if (isCustomTypeModelSlice(previousElement.model) || isSharedSliceModel(previousElement.model)) {
12
- return `${element.id}[]`;
11
+ if (element.name === "items") {
12
+ const previousElement = args.path[i - 1];
13
+ if (previousElement.model && "json" in previousElement.model || previousElement.model && "type" in previousElement.model && previousElement.model.type === "SharedSlice") {
14
+ result += `${element.name}[]`;
15
+ continue;
13
16
  }
14
17
  }
15
- return element.id;
18
+ result += element.name;
16
19
  }
17
- }).join(".");
18
- };
20
+ }
21
+ return result;
22
+ }
19
23
  export {
20
24
  getAPIIDPath
21
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getAPIIDPath.js","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\nimport { PathElement } from \"../types\";\n\nimport { isCustomTypeModelField } from \"./isCustomTypeModelField\";\nimport { isCustomTypeModelSlice } from \"./isCustomTypeModelSlice\";\nimport { isSharedSliceModel } from \"./isSharedSliceModel\";\n\ntype GetAPIIDPathConfig = {\n\tpath: [\n\t\tPathElement<CustomTypeModel | SharedSliceModel>,\n\t\t...PathElement<CustomTypeModelField | CustomTypeModelSlice>[],\n\t];\n};\n\nexport const getAPIIDPath = (config: GetAPIIDPathConfig): string => {\n\treturn config.path\n\t\t.map((element, i) => {\n\t\t\tif (\n\t\t\t\tisCustomTypeModelField(element.model) &&\n\t\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t\t) {\n\t\t\t\treturn `${element.id}[]`;\n\t\t\t} else {\n\t\t\t\tif (element.id === \"items\") {\n\t\t\t\t\tconst previousElement = config.path[i - 1];\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tisCustomTypeModelSlice(previousElement.model) ||\n\t\t\t\t\t\tisSharedSliceModel(previousElement.model)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn `${element.id}[]`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn element.id;\n\t\t\t}\n\t\t})\n\t\t.join(\".\");\n};\n"],"names":[],"mappings":";;;AAoBa,MAAA,eAAe,CAAC,WAAsC;AAClE,SAAO,OAAO,KACZ,IAAI,CAAC,SAAS,MAAK;AAElB,QAAA,uBAAuB,QAAQ,KAAK,MACnC,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,aAAO,GAAG,QAAQ;AAAA,IAAA,OACZ;AACF,UAAA,QAAQ,OAAO,SAAS;AAC3B,cAAM,kBAAkB,OAAO,KAAK,IAAI,CAAC;AAEzC,YACC,uBAAuB,gBAAgB,KAAK,KAC5C,mBAAmB,gBAAgB,KAAK,GACvC;AACD,iBAAO,GAAG,QAAQ;AAAA,QAClB;AAAA,MACD;AAED,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,GAAG;AACX;"}
1
+ {"version":3,"file":"getAPIIDPath.js","sources":["../../../src/lib/getAPIIDPath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\ntype GetAPIIDPathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getAPIIDPath(args: GetAPIIDPathArgs) {\n\tlet result = \"\";\n\n\tfor (let i = 0; i < args.path.length; i++) {\n\t\tif (i > 0) {\n\t\t\tresult += \".\";\n\t\t}\n\n\t\tconst element = args.path[i];\n\n\t\tif (\n\t\t\telement.model &&\n\t\t\t\"type\" in element.model &&\n\t\t\t(element.model.type === \"Group\" || element.model.type === \"Slices\")\n\t\t) {\n\t\t\tresult += `${element.name}[]`;\n\t\t} else {\n\t\t\tif (element.name === \"items\") {\n\t\t\t\tconst previousElement = args.path[i - 1];\n\n\t\t\t\tif (\n\t\t\t\t\t(previousElement.model && \"json\" in previousElement.model) ||\n\t\t\t\t\t(previousElement.model &&\n\t\t\t\t\t\t\"type\" in previousElement.model &&\n\t\t\t\t\t\tpreviousElement.model.type === \"SharedSlice\")\n\t\t\t\t) {\n\t\t\t\t\tresult += `${element.name}[]`;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresult += element.name;\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"names":[],"mappings":"AAMM,SAAU,aAAa,MAAsB;AAClD,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,QAAQ,KAAK;AAC1C,QAAI,IAAI,GAAG;AACA,gBAAA;AAAA,IACV;AAEK,UAAA,UAAU,KAAK,KAAK,CAAC;AAE3B,QACC,QAAQ,SACR,UAAU,QAAQ,UACjB,QAAQ,MAAM,SAAS,WAAW,QAAQ,MAAM,SAAS,WACzD;AACD,gBAAU,GAAG,QAAQ;AAAA,IAAA,OACf;AACF,UAAA,QAAQ,SAAS,SAAS;AAC7B,cAAM,kBAAkB,KAAK,KAAK,IAAI,CAAC;AAEvC,YACE,gBAAgB,SAAS,UAAU,gBAAgB,SACnD,gBAAgB,SAChB,UAAU,gBAAgB,SAC1B,gBAAgB,MAAM,SAAS,eAC/B;AACD,oBAAU,GAAG,QAAQ;AAErB;AAAA,QACA;AAAA,MACD;AAED,gBAAU,QAAQ;AAAA,IAClB;AAAA,EACD;AAEM,SAAA;AACR;"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const crypto = require("node:crypto");
4
+ function _interopNamespaceDefault(e) {
5
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
6
+ if (e) {
7
+ for (const k in e) {
8
+ if (k !== "default") {
9
+ const d = Object.getOwnPropertyDescriptor(e, k);
10
+ Object.defineProperty(n, k, d.get ? d : {
11
+ enumerable: true,
12
+ get: () => e[k]
13
+ });
14
+ }
15
+ }
16
+ }
17
+ n.default = e;
18
+ return Object.freeze(n);
19
+ }
20
+ const crypto__namespace = /* @__PURE__ */ _interopNamespaceDefault(crypto);
21
+ const getCacheKey = (input) => {
22
+ return crypto__namespace.createHash("sha1").update(JSON.stringify(input)).digest("hex");
23
+ };
24
+ exports.getCacheKey = getCacheKey;
25
+ //# sourceMappingURL=getCacheKey.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCacheKey.cjs","sources":["../../../src/lib/getCacheKey.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\n\n/**\n * Returns a key based on the provided input that can be used as a cache\n * identifier.\n *\n * @param input - The value used to create a key.\n *\n * @returns The cache key.\n */\nexport const getCacheKey = (input: unknown): string => {\n\treturn crypto.createHash(\"sha1\").update(JSON.stringify(input)).digest(\"hex\");\n};\n"],"names":["crypto"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUa,MAAA,cAAc,CAAC,UAA0B;AAC9C,SAAAA,kBAAO,WAAW,MAAM,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;AAC5E;;"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a key based on the provided input that can be used as a cache
3
+ * identifier.
4
+ *
5
+ * @param input - The value used to create a key.
6
+ *
7
+ * @returns The cache key.
8
+ */
9
+ export declare const getCacheKey: (input: unknown) => string;
@@ -0,0 +1,8 @@
1
+ import * as crypto from "node:crypto";
2
+ const getCacheKey = (input) => {
3
+ return crypto.createHash("sha1").update(JSON.stringify(input)).digest("hex");
4
+ };
5
+ export {
6
+ getCacheKey
7
+ };
8
+ //# sourceMappingURL=getCacheKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCacheKey.js","sources":["../../../src/lib/getCacheKey.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\n\n/**\n * Returns a key based on the provided input that can be used as a cache\n * identifier.\n *\n * @param input - The value used to create a key.\n *\n * @returns The cache key.\n */\nexport const getCacheKey = (input: unknown): string => {\n\treturn crypto.createHash(\"sha1\").update(JSON.stringify(input)).digest(\"hex\");\n};\n"],"names":[],"mappings":";AAUa,MAAA,cAAc,CAAC,UAA0B;AAC9C,SAAA,OAAO,WAAW,MAAM,EAAE,OAAO,KAAK,UAAU,KAAK,CAAC,EAAE,OAAO,KAAK;AAC5E;"}
@@ -1,24 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const isCustomTypeModel = require("./isCustomTypeModel.cjs");
4
- const isCustomTypeModelField = require("./isCustomTypeModelField.cjs");
5
- const isCustomTypeModelSlice = require("./isCustomTypeModelSlice.cjs");
6
- const isSharedSliceModel = require("./isSharedSliceModel.cjs");
7
- const getHumanReadableModelName = (config) => {
8
- if (isCustomTypeModel.isCustomTypeModel(config.model)) {
9
- return config.model.label || config.model.id;
10
- } else if (isSharedSliceModel.isSharedSliceModel(config.model)) {
11
- return config.model.name;
12
- } else if (isCustomTypeModelField.isCustomTypeModelField(config.model)) {
13
- if (config.model.config && "label" in config.model.config) {
14
- return config.model.config.label || config.id;
15
- } else if (config.model.config && "fieldset" in config.model) {
16
- return config.model.fieldset || config.id;
3
+ const getHumanReadableModelName = (args) => {
4
+ if ("json" in args.model) {
5
+ return args.model.label || args.model.id;
6
+ } else if ("type" in args.model && args.model.type === "SharedSlice") {
7
+ return args.model.name;
8
+ } else if ("type" in args.model && args.model.type === "Slice") {
9
+ return args.model.fieldset || args.name;
10
+ } else if ("type" in args.model) {
11
+ if (args.model.config && "label" in args.model.config) {
12
+ return args.model.config.label || args.name;
13
+ } else if (args.model.config && "fieldset" in args.model) {
14
+ return args.model.fieldset || args.name;
17
15
  }
18
- } else if (isCustomTypeModelSlice.isCustomTypeModelSlice(config.model)) {
19
- return config.model.fieldset || config.id;
20
16
  }
21
- return `\`${config.id}\``;
17
+ return `\`${args.name}\``;
22
18
  };
23
19
  exports.getHumanReadableModelName = getHumanReadableModelName;
24
20
  //# sourceMappingURL=getHumanReadableModelName.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHumanReadableModelName.cjs","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\nimport { isCustomTypeModel } from \"./isCustomTypeModel\";\nimport { isCustomTypeModelField } from \"./isCustomTypeModelField\";\nimport { isCustomTypeModelSlice } from \"./isCustomTypeModelSlice\";\nimport { isSharedSliceModel } from \"./isSharedSliceModel\";\n\ntype GetModelHumanNameConfig = {\n\tid: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\tconfig: GetModelHumanNameConfig,\n): string => {\n\tif (isCustomTypeModel(config.model)) {\n\t\treturn config.model.label || config.model.id;\n\t} else if (isSharedSliceModel(config.model)) {\n\t\treturn config.model.name;\n\t} else if (isCustomTypeModelField(config.model)) {\n\t\tif (config.model.config && \"label\" in config.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn config.model.config.label || config.id;\n\t\t} else if (config.model.config && \"fieldset\" in config.model) {\n\t\t\t// Slice Zone\n\t\t\treturn config.model.fieldset || config.id;\n\t\t}\n\t} else if (isCustomTypeModelSlice(config.model)) {\n\t\treturn config.model.fieldset || config.id;\n\t}\n\n\treturn `\\`${config.id}\\``;\n};\n"],"names":["isCustomTypeModel","isSharedSliceModel","isCustomTypeModelField","isCustomTypeModelSlice"],"mappings":";;;;;;AAqBa,MAAA,4BAA4B,CACxC,WACW;AACP,MAAAA,kBAAA,kBAAkB,OAAO,KAAK,GAAG;AACpC,WAAO,OAAO,MAAM,SAAS,OAAO,MAAM;AAAA,EAChC,WAAAC,mBAAA,mBAAmB,OAAO,KAAK,GAAG;AAC5C,WAAO,OAAO,MAAM;AAAA,EACV,WAAAC,uBAAA,uBAAuB,OAAO,KAAK,GAAG;AAChD,QAAI,OAAO,MAAM,UAAU,WAAW,OAAO,MAAM,QAAQ;AAE1D,aAAO,OAAO,MAAM,OAAO,SAAS,OAAO;AAAA,IAAA,WACjC,OAAO,MAAM,UAAU,cAAc,OAAO,OAAO;AAEtD,aAAA,OAAO,MAAM,YAAY,OAAO;AAAA,IACvC;AAAA,EACS,WAAAC,uBAAA,uBAAuB,OAAO,KAAK,GAAG;AACzC,WAAA,OAAO,MAAM,YAAY,OAAO;AAAA,EACvC;AAED,SAAO,KAAK,OAAO;AACpB;;"}
1
+ {"version":3,"file":"getHumanReadableModelName.cjs","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\ntype GetModelHumanNameArgs = {\n\tname: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\targs: GetModelHumanNameArgs,\n): string => {\n\tif (\"json\" in args.model) {\n\t\t// Custom type model\n\n\t\treturn args.model.label || args.model.id;\n\t} else if (\"type\" in args.model && args.model.type === \"SharedSlice\") {\n\t\t// Shared Slice model\n\n\t\treturn args.model.name;\n\t} else if (\"type\" in args.model && args.model.type === \"Slice\") {\n\t\t// Legacy Slice model\n\n\t\treturn args.model.fieldset || args.name;\n\t} else if (\"type\" in args.model) {\n\t\t// Field model\n\n\t\tif (args.model.config && \"label\" in args.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn args.model.config.label || args.name;\n\t\t} else if (args.model.config && \"fieldset\" in args.model) {\n\t\t\t// Slice Zone\n\t\t\treturn args.model.fieldset || args.name;\n\t\t}\n\t}\n\n\treturn `\\`${args.name}\\``;\n};\n"],"names":[],"mappings":";;AAgBa,MAAA,4BAA4B,CACxC,SACW;AACP,MAAA,UAAU,KAAK,OAAO;AAGzB,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAA,WAC5B,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,eAAe;AAGrE,WAAO,KAAK,MAAM;AAAA,EAAA,WACR,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,SAAS;AAGxD,WAAA,KAAK,MAAM,YAAY,KAAK;AAAA,EAAA,WACzB,UAAU,KAAK,OAAO;AAGhC,QAAI,KAAK,MAAM,UAAU,WAAW,KAAK,MAAM,QAAQ;AAEtD,aAAO,KAAK,MAAM,OAAO,SAAS,KAAK;AAAA,IAAA,WAC7B,KAAK,MAAM,UAAU,cAAc,KAAK,OAAO;AAElD,aAAA,KAAK,MAAM,YAAY,KAAK;AAAA,IACnC;AAAA,EACD;AAED,SAAO,KAAK,KAAK;AAClB;;"}
@@ -1,7 +1,7 @@
1
1
  import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
2
- type GetModelHumanNameConfig = {
3
- id: string;
2
+ type GetModelHumanNameArgs = {
3
+ name: string;
4
4
  model: CustomTypeModel | SharedSliceModel | CustomTypeModelField | CustomTypeModelSlice;
5
5
  };
6
- export declare const getHumanReadableModelName: (config: GetModelHumanNameConfig) => string;
6
+ export declare const getHumanReadableModelName: (args: GetModelHumanNameArgs) => string;
7
7
  export {};
@@ -1,22 +1,18 @@
1
- import { isCustomTypeModel } from "./isCustomTypeModel.js";
2
- import { isCustomTypeModelField } from "./isCustomTypeModelField.js";
3
- import { isCustomTypeModelSlice } from "./isCustomTypeModelSlice.js";
4
- import { isSharedSliceModel } from "./isSharedSliceModel.js";
5
- const getHumanReadableModelName = (config) => {
6
- if (isCustomTypeModel(config.model)) {
7
- return config.model.label || config.model.id;
8
- } else if (isSharedSliceModel(config.model)) {
9
- return config.model.name;
10
- } else if (isCustomTypeModelField(config.model)) {
11
- if (config.model.config && "label" in config.model.config) {
12
- return config.model.config.label || config.id;
13
- } else if (config.model.config && "fieldset" in config.model) {
14
- return config.model.fieldset || config.id;
1
+ const getHumanReadableModelName = (args) => {
2
+ if ("json" in args.model) {
3
+ return args.model.label || args.model.id;
4
+ } else if ("type" in args.model && args.model.type === "SharedSlice") {
5
+ return args.model.name;
6
+ } else if ("type" in args.model && args.model.type === "Slice") {
7
+ return args.model.fieldset || args.name;
8
+ } else if ("type" in args.model) {
9
+ if (args.model.config && "label" in args.model.config) {
10
+ return args.model.config.label || args.name;
11
+ } else if (args.model.config && "fieldset" in args.model) {
12
+ return args.model.fieldset || args.name;
15
13
  }
16
- } else if (isCustomTypeModelSlice(config.model)) {
17
- return config.model.fieldset || config.id;
18
14
  }
19
- return `\`${config.id}\``;
15
+ return `\`${args.name}\``;
20
16
  };
21
17
  export {
22
18
  getHumanReadableModelName
@@ -1 +1 @@
1
- {"version":3,"file":"getHumanReadableModelName.js","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\nimport { isCustomTypeModel } from \"./isCustomTypeModel\";\nimport { isCustomTypeModelField } from \"./isCustomTypeModelField\";\nimport { isCustomTypeModelSlice } from \"./isCustomTypeModelSlice\";\nimport { isSharedSliceModel } from \"./isSharedSliceModel\";\n\ntype GetModelHumanNameConfig = {\n\tid: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\tconfig: GetModelHumanNameConfig,\n): string => {\n\tif (isCustomTypeModel(config.model)) {\n\t\treturn config.model.label || config.model.id;\n\t} else if (isSharedSliceModel(config.model)) {\n\t\treturn config.model.name;\n\t} else if (isCustomTypeModelField(config.model)) {\n\t\tif (config.model.config && \"label\" in config.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn config.model.config.label || config.id;\n\t\t} else if (config.model.config && \"fieldset\" in config.model) {\n\t\t\t// Slice Zone\n\t\t\treturn config.model.fieldset || config.id;\n\t\t}\n\t} else if (isCustomTypeModelSlice(config.model)) {\n\t\treturn config.model.fieldset || config.id;\n\t}\n\n\treturn `\\`${config.id}\\``;\n};\n"],"names":[],"mappings":";;;;AAqBa,MAAA,4BAA4B,CACxC,WACW;AACP,MAAA,kBAAkB,OAAO,KAAK,GAAG;AACpC,WAAO,OAAO,MAAM,SAAS,OAAO,MAAM;AAAA,EAChC,WAAA,mBAAmB,OAAO,KAAK,GAAG;AAC5C,WAAO,OAAO,MAAM;AAAA,EACV,WAAA,uBAAuB,OAAO,KAAK,GAAG;AAChD,QAAI,OAAO,MAAM,UAAU,WAAW,OAAO,MAAM,QAAQ;AAE1D,aAAO,OAAO,MAAM,OAAO,SAAS,OAAO;AAAA,IAAA,WACjC,OAAO,MAAM,UAAU,cAAc,OAAO,OAAO;AAEtD,aAAA,OAAO,MAAM,YAAY,OAAO;AAAA,IACvC;AAAA,EACS,WAAA,uBAAuB,OAAO,KAAK,GAAG;AACzC,WAAA,OAAO,MAAM,YAAY,OAAO;AAAA,EACvC;AAED,SAAO,KAAK,OAAO;AACpB;"}
1
+ {"version":3,"file":"getHumanReadableModelName.js","sources":["../../../src/lib/getHumanReadableModelName.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\n\ntype GetModelHumanNameArgs = {\n\tname: string;\n\tmodel:\n\t\t| CustomTypeModel\n\t\t| SharedSliceModel\n\t\t| CustomTypeModelField\n\t\t| CustomTypeModelSlice;\n};\n\nexport const getHumanReadableModelName = (\n\targs: GetModelHumanNameArgs,\n): string => {\n\tif (\"json\" in args.model) {\n\t\t// Custom type model\n\n\t\treturn args.model.label || args.model.id;\n\t} else if (\"type\" in args.model && args.model.type === \"SharedSlice\") {\n\t\t// Shared Slice model\n\n\t\treturn args.model.name;\n\t} else if (\"type\" in args.model && args.model.type === \"Slice\") {\n\t\t// Legacy Slice model\n\n\t\treturn args.model.fieldset || args.name;\n\t} else if (\"type\" in args.model) {\n\t\t// Field model\n\n\t\tif (args.model.config && \"label\" in args.model.config) {\n\t\t\t// Non-Slice Zone fields\n\t\t\treturn args.model.config.label || args.name;\n\t\t} else if (args.model.config && \"fieldset\" in args.model) {\n\t\t\t// Slice Zone\n\t\t\treturn args.model.fieldset || args.name;\n\t\t}\n\t}\n\n\treturn `\\`${args.name}\\``;\n};\n"],"names":[],"mappings":"AAgBa,MAAA,4BAA4B,CACxC,SACW;AACP,MAAA,UAAU,KAAK,OAAO;AAGzB,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EAAA,WAC5B,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,eAAe;AAGrE,WAAO,KAAK,MAAM;AAAA,EAAA,WACR,UAAU,KAAK,SAAS,KAAK,MAAM,SAAS,SAAS;AAGxD,WAAA,KAAK,MAAM,YAAY,KAAK;AAAA,EAAA,WACzB,UAAU,KAAK,OAAO;AAGhC,QAAI,KAAK,MAAM,UAAU,WAAW,KAAK,MAAM,QAAQ;AAEtD,aAAO,KAAK,MAAM,OAAO,SAAS,KAAK;AAAA,IAAA,WAC7B,KAAK,MAAM,UAAU,cAAc,KAAK,OAAO;AAElD,aAAA,KAAK,MAAM,YAAY,KAAK;AAAA,IACnC;AAAA,EACD;AAED,SAAO,KAAK,KAAK;AAClB;"}
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const getHumanReadableModelName = require("./getHumanReadableModelName.cjs");
4
- const getHumanReadableFieldPath = (config) => {
5
- return config.path.map((element) => {
4
+ function getHumanReadablePath(args) {
5
+ return args.path.map((element) => {
6
6
  if (element.label) {
7
7
  return element.label;
8
8
  } else if (element.model) {
9
9
  return getHumanReadableModelName.getHumanReadableModelName({
10
- id: element.id,
11
- model: element.model
10
+ model: element.model,
11
+ name: element.name
12
12
  });
13
13
  } else {
14
- return element.id;
14
+ return element.name;
15
15
  }
16
16
  }).join(" → ");
17
- };
18
- exports.getHumanReadableFieldPath = getHumanReadableFieldPath;
19
- //# sourceMappingURL=getHumanReadableFieldPath.cjs.map
17
+ }
18
+ exports.getHumanReadablePath = getHumanReadablePath;
19
+ //# sourceMappingURL=getHumanReadablePath.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHumanReadablePath.cjs","sources":["../../../src/lib/getHumanReadablePath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype GetHumanReadablePathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getHumanReadablePath(args: GetHumanReadablePathArgs) {\n\treturn args.path\n\t\t.map((element) => {\n\t\t\tif (element.label) {\n\t\t\t\treturn element.label;\n\t\t\t} else if (element.model) {\n\t\t\t\treturn getHumanReadableModelName({\n\t\t\t\t\tmodel: element.model,\n\t\t\t\t\tname: element.name,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn element.name;\n\t\t\t}\n\t\t})\n\t\t.join(\" → \");\n}\n"],"names":["getHumanReadableModelName"],"mappings":";;;AAQM,SAAU,qBAAqB,MAA8B;AAClE,SAAO,KAAK,KACV,IAAI,CAAC,YAAW;AAChB,QAAI,QAAQ,OAAO;AAClB,aAAO,QAAQ;AAAA,IAAA,WACL,QAAQ,OAAO;AACzB,aAAOA,oDAA0B;AAAA,QAChC,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MAAA,CACd;AAAA,IAAA,OACK;AACN,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,KAAK;AACb;;"}
@@ -0,0 +1,6 @@
1
+ import { FieldPath } from "../types";
2
+ type GetHumanReadablePathArgs = {
3
+ path: FieldPath;
4
+ };
5
+ export declare function getHumanReadablePath(args: GetHumanReadablePathArgs): string;
6
+ export {};
@@ -1,19 +1,19 @@
1
1
  import { getHumanReadableModelName } from "./getHumanReadableModelName.js";
2
- const getHumanReadableFieldPath = (config) => {
3
- return config.path.map((element) => {
2
+ function getHumanReadablePath(args) {
3
+ return args.path.map((element) => {
4
4
  if (element.label) {
5
5
  return element.label;
6
6
  } else if (element.model) {
7
7
  return getHumanReadableModelName({
8
- id: element.id,
9
- model: element.model
8
+ model: element.model,
9
+ name: element.name
10
10
  });
11
11
  } else {
12
- return element.id;
12
+ return element.name;
13
13
  }
14
14
  }).join(" → ");
15
- };
15
+ }
16
16
  export {
17
- getHumanReadableFieldPath
17
+ getHumanReadablePath
18
18
  };
19
- //# sourceMappingURL=getHumanReadableFieldPath.js.map
19
+ //# sourceMappingURL=getHumanReadablePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHumanReadablePath.js","sources":["../../../src/lib/getHumanReadablePath.ts"],"sourcesContent":["import { FieldPath } from \"../types\";\n\nimport { getHumanReadableModelName } from \"./getHumanReadableModelName\";\n\ntype GetHumanReadablePathArgs = {\n\tpath: FieldPath;\n};\n\nexport function getHumanReadablePath(args: GetHumanReadablePathArgs) {\n\treturn args.path\n\t\t.map((element) => {\n\t\t\tif (element.label) {\n\t\t\t\treturn element.label;\n\t\t\t} else if (element.model) {\n\t\t\t\treturn getHumanReadableModelName({\n\t\t\t\t\tmodel: element.model,\n\t\t\t\t\tname: element.name,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn element.name;\n\t\t\t}\n\t\t})\n\t\t.join(\" → \");\n}\n"],"names":[],"mappings":";AAQM,SAAU,qBAAqB,MAA8B;AAClE,SAAO,KAAK,KACV,IAAI,CAAC,YAAW;AAChB,QAAI,QAAQ,OAAO;AAClB,aAAO,QAAQ;AAAA,IAAA,WACL,QAAQ,OAAO;AACzB,aAAO,0BAA0B;AAAA,QAChC,OAAO,QAAQ;AAAA,QACf,MAAM,QAAQ;AAAA,MAAA,CACd;AAAA,IAAA,OACK;AACN,aAAO,QAAQ;AAAA,IACf;AAAA,EAAA,CACD,EACA,KAAK,KAAK;AACb;"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,17 @@
1
1
  import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
2
2
  export type PathElement<Model extends CustomTypeModel | SharedSliceModel | CustomTypeModelField | CustomTypeModelSlice> = {
3
- id: string;
3
+ name: string;
4
4
  model?: Model;
5
5
  label?: string;
6
6
  };
7
+ export type FieldPath = [
8
+ PathElement<CustomTypeModel | SharedSliceModel>,
9
+ ...PathElement<CustomTypeModelField | CustomTypeModelSlice>[]
10
+ ];
11
+ export type AuxiliaryType = {
12
+ code: string;
13
+ name: string;
14
+ };
7
15
  export type FieldConfigs = {
8
16
  embed?: {
9
17
  providerTypes?: Record<string, string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prismic-ts-codegen",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "An experimental Prismic model-to-TypeScript-type generator",
5
5
  "keywords": [
6
6
  "typescript",
@@ -44,7 +44,9 @@
44
44
  "unit": "vitest run --coverage",
45
45
  "unit:watch": "vitest watch",
46
46
  "size": "size-limit",
47
- "test": "npm run lint && npm run types && npm run unit && npm run build && npm run size"
47
+ "test": "npm run lint && npm run types && npm run unit && npm run build && npm run size",
48
+ "bench": "vitest bench --watch=false",
49
+ "bench:watch": "vitest bench"
48
50
  },
49
51
  "dependencies": {
50
52
  "@prismicio/custom-types-client": "^1.1.0",
@@ -55,31 +57,30 @@
55
57
  "meow": "^12.0.1",
56
58
  "node-fetch": "^3.3.1",
57
59
  "pascal-case": "^3.1.2",
58
- "prettier": "^2.8.8",
59
- "ts-morph": "^18.0.0"
60
+ "quick-lru": "^6.1.1"
60
61
  },
61
62
  "devDependencies": {
62
- "@prismicio/client": "^7.0.0",
63
- "@prismicio/mock": "^0.2.0",
64
- "@prismicio/types": "^0.2.8",
65
- "@size-limit/preset-small-lib": "^8.2.4",
63
+ "@prismicio/client": "^7.1.0",
64
+ "@prismicio/mock": "^0.3.1",
65
+ "@size-limit/preset-small-lib": "^8.2.6",
66
66
  "@trivago/prettier-plugin-sort-imports": "^4.1.1",
67
67
  "@types/common-tags": "^1.8.1",
68
- "@types/prettier": "^2.7.2",
69
- "@typescript-eslint/eslint-plugin": "^5.59.6",
70
- "@typescript-eslint/parser": "^5.59.6",
71
- "@vitest/coverage-c8": "^0.31.1",
72
- "eslint": "^8.40.0",
68
+ "@typescript-eslint/eslint-plugin": "^5.60.1",
69
+ "@typescript-eslint/parser": "^5.60.1",
70
+ "@vitest/coverage-c8": "^0.33.0",
71
+ "eslint": "^8.43.0",
73
72
  "eslint-config-prettier": "^8.8.0",
74
73
  "eslint-plugin-prettier": "^4.2.1",
75
74
  "eslint-plugin-tsdoc": "^0.2.17",
75
+ "prettier": "^2.8.8",
76
76
  "prettier-plugin-jsdoc": "^0.4.2",
77
- "size-limit": "^8.2.4",
77
+ "prismic-ts-codegen-v0-1-11": "npm:prismic-ts-codegen@0.1.11",
78
+ "size-limit": "^8.2.6",
78
79
  "standard-version": "^9.5.0",
79
- "typescript": "^5.0.4",
80
- "vite": "^4.3.7",
80
+ "typescript": "^5.1.3",
81
+ "vite": "^4.3.9",
81
82
  "vite-plugin-sdk": "^0.1.1",
82
- "vitest": "^0.31.1"
83
+ "vitest": "^0.33.0"
83
84
  },
84
85
  "peerDependencies": {
85
86
  "@prismicio/client": "^6.6 || ^7",