prismic-ts-codegen 0.1.11 → 0.1.13

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 (202) hide show
  1. package/dist/_node_modules/quick-lru/index.cjs +234 -0
  2. package/dist/_node_modules/quick-lru/index.cjs.map +1 -0
  3. package/dist/_node_modules/quick-lru/index.js +235 -0
  4. package/dist/_node_modules/quick-lru/index.js.map +1 -0
  5. package/dist/constants.cjs +19 -21
  6. package/dist/constants.cjs.map +1 -1
  7. package/dist/constants.d.ts +2 -3
  8. package/dist/constants.js +19 -21
  9. package/dist/constants.js.map +1 -1
  10. package/dist/generateTypes.cjs +71 -90
  11. package/dist/generateTypes.cjs.map +1 -1
  12. package/dist/generateTypes.d.ts +2 -1
  13. package/dist/generateTypes.js +71 -90
  14. package/dist/generateTypes.js.map +1 -1
  15. package/dist/lib/addBlankLine.cjs +12 -0
  16. package/dist/lib/addBlankLine.cjs.map +1 -0
  17. package/dist/lib/addBlankLine.d.ts +5 -0
  18. package/dist/lib/addBlankLine.js +12 -0
  19. package/dist/lib/addBlankLine.js.map +1 -0
  20. package/dist/lib/addLine.cjs +8 -0
  21. package/dist/lib/addLine.cjs.map +1 -0
  22. package/dist/lib/addLine.d.ts +1 -0
  23. package/dist/lib/addLine.js +8 -0
  24. package/dist/lib/addLine.js.map +1 -0
  25. package/dist/lib/addSection.cjs +8 -0
  26. package/dist/lib/addSection.cjs.map +1 -0
  27. package/dist/lib/addSection.d.ts +1 -0
  28. package/dist/lib/addSection.js +8 -0
  29. package/dist/lib/addSection.js.map +1 -0
  30. package/dist/lib/addTrailingNewLine.cjs +11 -0
  31. package/dist/lib/addTrailingNewLine.cjs.map +1 -0
  32. package/dist/lib/addTrailingNewLine.d.ts +5 -0
  33. package/dist/lib/addTrailingNewLine.js +11 -0
  34. package/dist/lib/addTrailingNewLine.js.map +1 -0
  35. package/dist/lib/buildCustomTypeDataType.cjs +51 -0
  36. package/dist/lib/buildCustomTypeDataType.cjs.map +1 -0
  37. package/dist/lib/buildCustomTypeDataType.d.ts +13 -0
  38. package/dist/lib/buildCustomTypeDataType.js +51 -0
  39. package/dist/lib/buildCustomTypeDataType.js.map +1 -0
  40. package/dist/lib/buildCustomTypeType.cjs +60 -0
  41. package/dist/lib/buildCustomTypeType.cjs.map +1 -0
  42. package/dist/lib/buildCustomTypeType.d.ts +17 -0
  43. package/dist/lib/buildCustomTypeType.js +60 -0
  44. package/dist/lib/buildCustomTypeType.js.map +1 -0
  45. package/dist/lib/buildFieldDocs.cjs +67 -35
  46. package/dist/lib/buildFieldDocs.cjs.map +1 -1
  47. package/dist/lib/buildFieldDocs.d.ts +7 -11
  48. package/dist/lib/buildFieldDocs.js +67 -35
  49. package/dist/lib/buildFieldDocs.js.map +1 -1
  50. package/dist/lib/buildFieldProperties.cjs +300 -0
  51. package/dist/lib/buildFieldProperties.cjs.map +1 -0
  52. package/dist/lib/buildFieldProperties.d.ts +14 -0
  53. package/dist/lib/buildFieldProperties.js +300 -0
  54. package/dist/lib/buildFieldProperties.js.map +1 -0
  55. package/dist/lib/buildSharedSliceType.cjs +140 -0
  56. package/dist/lib/buildSharedSliceType.cjs.map +1 -0
  57. package/dist/lib/buildSharedSliceType.d.ts +16 -0
  58. package/dist/lib/buildSharedSliceType.js +140 -0
  59. package/dist/lib/buildSharedSliceType.js.map +1 -0
  60. package/dist/lib/buildTypeName.cjs +4 -2
  61. package/dist/lib/buildTypeName.cjs.map +1 -1
  62. package/dist/lib/buildTypeName.js +4 -2
  63. package/dist/lib/buildTypeName.js.map +1 -1
  64. package/dist/lib/buildUnion.cjs +7 -0
  65. package/dist/lib/buildUnion.cjs.map +1 -0
  66. package/dist/lib/buildUnion.d.ts +1 -0
  67. package/dist/lib/buildUnion.js +7 -0
  68. package/dist/lib/buildUnion.js.map +1 -0
  69. package/dist/lib/checkHasUIDFIeld.cjs +7 -0
  70. package/dist/lib/checkHasUIDFIeld.cjs.map +1 -0
  71. package/dist/lib/checkHasUIDFIeld.d.ts +2 -0
  72. package/dist/lib/checkHasUIDFIeld.js +7 -0
  73. package/dist/lib/checkHasUIDFIeld.js.map +1 -0
  74. package/dist/lib/getAPIIDPath.cjs +18 -14
  75. package/dist/lib/getAPIIDPath.cjs.map +1 -1
  76. package/dist/lib/getAPIIDPath.d.ts +4 -8
  77. package/dist/lib/getAPIIDPath.js +18 -14
  78. package/dist/lib/getAPIIDPath.js.map +1 -1
  79. package/dist/lib/getCacheKey.cjs +25 -0
  80. package/dist/lib/getCacheKey.cjs.map +1 -0
  81. package/dist/lib/getCacheKey.d.ts +9 -0
  82. package/dist/lib/getCacheKey.js +8 -0
  83. package/dist/lib/getCacheKey.js.map +1 -0
  84. package/dist/lib/getHumanReadableModelName.cjs +13 -17
  85. package/dist/lib/getHumanReadableModelName.cjs.map +1 -1
  86. package/dist/lib/getHumanReadableModelName.d.ts +3 -3
  87. package/dist/lib/getHumanReadableModelName.js +13 -17
  88. package/dist/lib/getHumanReadableModelName.js.map +1 -1
  89. package/dist/lib/{getHumanReadableFieldPath.cjs → getHumanReadablePath.cjs} +8 -8
  90. package/dist/lib/getHumanReadablePath.cjs.map +1 -0
  91. package/dist/lib/getHumanReadablePath.d.ts +6 -0
  92. package/dist/lib/{getHumanReadableFieldPath.js → getHumanReadablePath.js} +8 -8
  93. package/dist/lib/getHumanReadablePath.js.map +1 -0
  94. package/dist/types.d.ts +9 -1
  95. package/package.json +18 -17
  96. package/src/constants.ts +19 -22
  97. package/src/generateTypes.ts +109 -108
  98. package/src/lib/addBlankLine.ts +13 -0
  99. package/src/lib/addLine.ts +5 -0
  100. package/src/lib/addSection.ts +5 -0
  101. package/src/lib/addTrailingNewLine.ts +14 -0
  102. package/src/lib/buildCustomTypeDataType.ts +74 -0
  103. package/src/lib/buildCustomTypeType.ts +101 -0
  104. package/src/lib/buildFieldDocs.ts +128 -68
  105. package/src/lib/buildFieldProperties.ts +513 -0
  106. package/src/lib/buildSharedSliceType.ts +213 -0
  107. package/src/lib/buildTypeName.ts +4 -2
  108. package/src/lib/buildUnion.ts +3 -0
  109. package/src/lib/checkHasUIDFIeld.ts +5 -0
  110. package/src/lib/getAPIIDPath.ts +40 -41
  111. package/src/lib/getCacheKey.ts +13 -0
  112. package/src/lib/getHumanReadableModelName.ts +23 -20
  113. package/src/lib/getHumanReadablePath.ts +24 -0
  114. package/src/types.ts +11 -1
  115. package/dist/lib/addInterfacePropertiesForFields.cjs +0 -489
  116. package/dist/lib/addInterfacePropertiesForFields.cjs.map +0 -1
  117. package/dist/lib/addInterfacePropertiesForFields.d.ts +0 -21
  118. package/dist/lib/addInterfacePropertiesForFields.js +0 -489
  119. package/dist/lib/addInterfacePropertiesForFields.js.map +0 -1
  120. package/dist/lib/addTypeAliasForCustomType.cjs +0 -81
  121. package/dist/lib/addTypeAliasForCustomType.cjs.map +0 -1
  122. package/dist/lib/addTypeAliasForCustomType.d.ts +0 -11
  123. package/dist/lib/addTypeAliasForCustomType.js +0 -81
  124. package/dist/lib/addTypeAliasForCustomType.js.map +0 -1
  125. package/dist/lib/addTypeAliasForSharedSlice.cjs +0 -149
  126. package/dist/lib/addTypeAliasForSharedSlice.cjs.map +0 -1
  127. package/dist/lib/addTypeAliasForSharedSlice.d.ts +0 -10
  128. package/dist/lib/addTypeAliasForSharedSlice.js +0 -149
  129. package/dist/lib/addTypeAliasForSharedSlice.js.map +0 -1
  130. package/dist/lib/buildSharedSliceInterfaceNamePart.cjs +0 -8
  131. package/dist/lib/buildSharedSliceInterfaceNamePart.cjs.map +0 -1
  132. package/dist/lib/buildSharedSliceInterfaceNamePart.d.ts +0 -5
  133. package/dist/lib/buildSharedSliceInterfaceNamePart.js +0 -8
  134. package/dist/lib/buildSharedSliceInterfaceNamePart.js.map +0 -1
  135. package/dist/lib/getFieldDocumentationURL.cjs +0 -8
  136. package/dist/lib/getFieldDocumentationURL.cjs.map +0 -1
  137. package/dist/lib/getFieldDocumentationURL.d.ts +0 -6
  138. package/dist/lib/getFieldDocumentationURL.js +0 -8
  139. package/dist/lib/getFieldDocumentationURL.js.map +0 -1
  140. package/dist/lib/getHumanReadableFieldPath.cjs.map +0 -1
  141. package/dist/lib/getHumanReadableFieldPath.d.ts +0 -10
  142. package/dist/lib/getHumanReadableFieldPath.js.map +0 -1
  143. package/dist/lib/getHumanReadableFieldType.cjs +0 -36
  144. package/dist/lib/getHumanReadableFieldType.cjs.map +0 -1
  145. package/dist/lib/getHumanReadableFieldType.d.ts +0 -6
  146. package/dist/lib/getHumanReadableFieldType.js +0 -36
  147. package/dist/lib/getHumanReadableFieldType.js.map +0 -1
  148. package/dist/lib/getSourceFileText.cjs +0 -9
  149. package/dist/lib/getSourceFileText.cjs.map +0 -1
  150. package/dist/lib/getSourceFileText.d.ts +0 -2
  151. package/dist/lib/getSourceFileText.js +0 -9
  152. package/dist/lib/getSourceFileText.js.map +0 -1
  153. package/dist/lib/hasOwnProperty.cjs +0 -7
  154. package/dist/lib/hasOwnProperty.cjs.map +0 -1
  155. package/dist/lib/hasOwnProperty.d.ts +0 -10
  156. package/dist/lib/hasOwnProperty.js +0 -7
  157. package/dist/lib/hasOwnProperty.js.map +0 -1
  158. package/dist/lib/isCustomTypeModel.cjs +0 -7
  159. package/dist/lib/isCustomTypeModel.cjs.map +0 -1
  160. package/dist/lib/isCustomTypeModel.d.ts +0 -2
  161. package/dist/lib/isCustomTypeModel.js +0 -7
  162. package/dist/lib/isCustomTypeModel.js.map +0 -1
  163. package/dist/lib/isCustomTypeModelField.cjs +0 -7
  164. package/dist/lib/isCustomTypeModelField.cjs.map +0 -1
  165. package/dist/lib/isCustomTypeModelField.d.ts +0 -2
  166. package/dist/lib/isCustomTypeModelField.js +0 -7
  167. package/dist/lib/isCustomTypeModelField.js.map +0 -1
  168. package/dist/lib/isCustomTypeModelSlice.cjs +0 -8
  169. package/dist/lib/isCustomTypeModelSlice.cjs.map +0 -1
  170. package/dist/lib/isCustomTypeModelSlice.d.ts +0 -2
  171. package/dist/lib/isCustomTypeModelSlice.js +0 -8
  172. package/dist/lib/isCustomTypeModelSlice.js.map +0 -1
  173. package/dist/lib/isSharedSliceModel.cjs +0 -8
  174. package/dist/lib/isSharedSliceModel.cjs.map +0 -1
  175. package/dist/lib/isSharedSliceModel.d.ts +0 -2
  176. package/dist/lib/isSharedSliceModel.js +0 -8
  177. package/dist/lib/isSharedSliceModel.js.map +0 -1
  178. package/dist/lib/pascalCase.cjs +0 -8
  179. package/dist/lib/pascalCase.cjs.map +0 -1
  180. package/dist/lib/pascalCase.d.ts +0 -1
  181. package/dist/lib/pascalCase.js +0 -8
  182. package/dist/lib/pascalCase.js.map +0 -1
  183. package/dist/lib/writeFieldDocsDescription.cjs +0 -29
  184. package/dist/lib/writeFieldDocsDescription.cjs.map +0 -1
  185. package/dist/lib/writeFieldDocsDescription.d.ts +0 -13
  186. package/dist/lib/writeFieldDocsDescription.js +0 -29
  187. package/dist/lib/writeFieldDocsDescription.js.map +0 -1
  188. package/src/lib/addInterfacePropertiesForFields.ts +0 -665
  189. package/src/lib/addTypeAliasForCustomType.ts +0 -120
  190. package/src/lib/addTypeAliasForSharedSlice.ts +0 -201
  191. package/src/lib/buildSharedSliceInterfaceNamePart.ts +0 -11
  192. package/src/lib/getFieldDocumentationURL.ts +0 -15
  193. package/src/lib/getHumanReadableFieldPath.ts +0 -36
  194. package/src/lib/getHumanReadableFieldType.ts +0 -55
  195. package/src/lib/getSourceFileText.ts +0 -14
  196. package/src/lib/hasOwnProperty.ts +0 -15
  197. package/src/lib/isCustomTypeModel.ts +0 -5
  198. package/src/lib/isCustomTypeModelField.ts +0 -7
  199. package/src/lib/isCustomTypeModelSlice.ts +0 -14
  200. package/src/lib/isSharedSliceModel.ts +0 -14
  201. package/src/lib/pascalCase.ts +0 -9
  202. package/src/lib/writeFieldDocsDescription.ts +0 -51
@@ -1,489 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const buildFieldDocs = require("./buildFieldDocs.cjs");
4
- const buildSharedSliceInterfaceNamePart = require("./buildSharedSliceInterfaceNamePart.cjs");
5
- const buildTypeName = require("./buildTypeName.cjs");
6
- const getHumanReadableFieldPath = require("./getHumanReadableFieldPath.cjs");
7
- const addInterfacePropertyForField = (config) => {
8
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
9
- switch (config.model.type) {
10
- case "UID": {
11
- break;
12
- }
13
- case "Boolean": {
14
- config.interface.addProperty({
15
- name: config.id,
16
- type: "prismic.BooleanField",
17
- docs: buildFieldDocs.buildFieldDocs({
18
- id: config.id,
19
- model: config.model,
20
- path: config.path,
21
- tabName: config.tabName
22
- })
23
- });
24
- break;
25
- }
26
- case "Color": {
27
- config.interface.addProperty({
28
- name: config.id,
29
- type: "prismic.ColorField",
30
- docs: buildFieldDocs.buildFieldDocs({
31
- id: config.id,
32
- model: config.model,
33
- path: config.path,
34
- tabName: config.tabName
35
- })
36
- });
37
- break;
38
- }
39
- case "Date": {
40
- config.interface.addProperty({
41
- name: config.id,
42
- type: "prismic.DateField",
43
- docs: buildFieldDocs.buildFieldDocs({
44
- id: config.id,
45
- model: config.model,
46
- path: config.path,
47
- tabName: config.tabName
48
- })
49
- });
50
- break;
51
- }
52
- case "Embed": {
53
- const providerTypes = [];
54
- if ((_a = config.fieldConfigs.embed) == null ? void 0 : _a.providerTypes) {
55
- for (const providerType in (_b = config.fieldConfigs.embed) == null ? void 0 : _b.providerTypes) {
56
- const configuredProviderType = (_c = config.fieldConfigs.embed) == null ? void 0 : _c.providerTypes[providerType];
57
- providerTypes.push(`({ provider_name: "${providerType}" } & ${configuredProviderType})`);
58
- }
59
- }
60
- config.interface.addProperty({
61
- name: config.id,
62
- type: providerTypes.length > 0 ? `prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${providerTypes.join(" | ")})>` : "prismic.EmbedField",
63
- docs: buildFieldDocs.buildFieldDocs({
64
- id: config.id,
65
- model: config.model,
66
- path: config.path,
67
- tabName: config.tabName
68
- })
69
- });
70
- break;
71
- }
72
- case "GeoPoint": {
73
- config.interface.addProperty({
74
- name: config.id,
75
- type: "prismic.GeoPointField",
76
- docs: buildFieldDocs.buildFieldDocs({
77
- id: config.id,
78
- model: config.model,
79
- path: config.path,
80
- tabName: config.tabName
81
- })
82
- });
83
- break;
84
- }
85
- case "Image": {
86
- if (((_d = config.model.config) == null ? void 0 : _d.thumbnails) && config.model.config.thumbnails.length > 0) {
87
- const thumbnailNames = config.model.config.thumbnails.map((thumbnail) => `"${thumbnail.name}"`).join(" | ");
88
- config.interface.addProperty({
89
- name: config.id,
90
- type: `prismic.ImageField<${thumbnailNames}>`,
91
- docs: buildFieldDocs.buildFieldDocs({
92
- id: config.id,
93
- model: config.model,
94
- path: config.path,
95
- tabName: config.tabName
96
- })
97
- });
98
- } else {
99
- config.interface.addProperty({
100
- name: config.id,
101
- type: "prismic.ImageField<never>",
102
- docs: buildFieldDocs.buildFieldDocs({
103
- id: config.id,
104
- model: config.model,
105
- path: config.path,
106
- tabName: config.tabName
107
- })
108
- });
109
- }
110
- break;
111
- }
112
- case "IntegrationFields": {
113
- const catalogType = ((_e = config.model.config) == null ? void 0 : _e.catalog) ? (_g = (_f = config.fieldConfigs.integrationFields) == null ? void 0 : _f.catalogTypes) == null ? void 0 : _g[config.model.config.catalog] : void 0;
114
- config.interface.addProperty({
115
- name: config.id,
116
- type: catalogType ? `prismic.IntegrationField<${catalogType}>` : "prismic.IntegrationField",
117
- docs: buildFieldDocs.buildFieldDocs({
118
- id: config.id,
119
- model: config.model,
120
- path: config.path,
121
- tabName: config.tabName
122
- })
123
- });
124
- break;
125
- }
126
- case "Link": {
127
- switch ((_h = config.model.config) == null ? void 0 : _h.select) {
128
- case "document": {
129
- config.model.config;
130
- config.interface.addProperty({
131
- name: config.id,
132
- type: "customtypes" in config.model.config && config.model.config.customtypes && config.model.config.customtypes.length > 0 ? `prismic.ContentRelationshipField<${config.model.config.customtypes.map((type) => `"${type}"`).join(" | ")}>` : "prismic.ContentRelationshipField",
133
- docs: buildFieldDocs.buildFieldDocs({
134
- id: config.id,
135
- model: config.model,
136
- path: config.path,
137
- tabName: config.tabName
138
- })
139
- });
140
- break;
141
- }
142
- case "media": {
143
- config.interface.addProperty({
144
- name: config.id,
145
- type: "prismic.LinkToMediaField",
146
- docs: buildFieldDocs.buildFieldDocs({
147
- id: config.id,
148
- model: config.model,
149
- path: config.path,
150
- tabName: config.tabName
151
- })
152
- });
153
- break;
154
- }
155
- default: {
156
- config.interface.addProperty({
157
- name: config.id,
158
- type: "prismic.LinkField",
159
- docs: buildFieldDocs.buildFieldDocs({
160
- id: config.id,
161
- model: config.model,
162
- path: config.path,
163
- tabName: config.tabName
164
- })
165
- });
166
- }
167
- }
168
- break;
169
- }
170
- case "Number": {
171
- config.interface.addProperty({
172
- name: config.id,
173
- type: "prismic.NumberField",
174
- docs: buildFieldDocs.buildFieldDocs({
175
- id: config.id,
176
- model: config.model,
177
- path: config.path,
178
- tabName: config.tabName
179
- })
180
- });
181
- break;
182
- }
183
- case "StructuredText": {
184
- const isTitleField = config.model.config && "single" in config.model.config && config.model.config.single && config.model.config.single.split(",").every((blockType) => /heading/.test(blockType));
185
- if (isTitleField) {
186
- config.interface.addProperty({
187
- name: config.id,
188
- type: "prismic.TitleField",
189
- docs: buildFieldDocs.buildFieldDocs({
190
- id: config.id,
191
- model: config.model,
192
- path: config.path,
193
- tabName: config.tabName
194
- })
195
- });
196
- } else {
197
- config.interface.addProperty({
198
- name: config.id,
199
- type: "prismic.RichTextField",
200
- docs: buildFieldDocs.buildFieldDocs({
201
- id: config.id,
202
- model: config.model,
203
- path: config.path,
204
- tabName: config.tabName
205
- })
206
- });
207
- }
208
- break;
209
- }
210
- case "Select": {
211
- const options = (_j = (_i = config.model.config) == null ? void 0 : _i.options) == null ? void 0 : _j.map((option) => `"${option}"`).join(" | ");
212
- const hasDefault = Boolean((_k = config.model.config) == null ? void 0 : _k.default_value);
213
- if (hasDefault) {
214
- config.interface.addProperty({
215
- name: config.id,
216
- type: `prismic.SelectField<${options || "string"}, "filled">`,
217
- docs: buildFieldDocs.buildFieldDocs({
218
- id: config.id,
219
- model: config.model,
220
- path: config.path,
221
- tabName: config.tabName
222
- })
223
- });
224
- } else {
225
- config.interface.addProperty({
226
- name: config.id,
227
- type: `prismic.SelectField<${options}>`,
228
- docs: buildFieldDocs.buildFieldDocs({
229
- id: config.id,
230
- model: config.model,
231
- path: config.path,
232
- tabName: config.tabName
233
- })
234
- });
235
- }
236
- break;
237
- }
238
- case "Text": {
239
- config.interface.addProperty({
240
- name: config.id,
241
- type: "prismic.KeyTextField",
242
- docs: buildFieldDocs.buildFieldDocs({
243
- id: config.id,
244
- model: config.model,
245
- path: config.path,
246
- tabName: config.tabName
247
- })
248
- });
249
- break;
250
- }
251
- case "Timestamp": {
252
- config.interface.addProperty({
253
- name: config.id,
254
- type: "prismic.TimestampField",
255
- docs: buildFieldDocs.buildFieldDocs({
256
- id: config.id,
257
- model: config.model,
258
- path: config.path,
259
- tabName: config.tabName
260
- })
261
- });
262
- break;
263
- }
264
- case "Group": {
265
- const itemInterface = config.sourceFile.addInterface({
266
- name: buildTypeName.buildTypeName(config.path[0].id, "Document", "Data", config.id, "Item"),
267
- docs: [
268
- {
269
- description: (writer) => {
270
- const humanReadablePath = getHumanReadableFieldPath.getHumanReadableFieldPath({
271
- path: [
272
- ...config.path,
273
- {
274
- id: config.id,
275
- model: config.model
276
- }
277
- ]
278
- });
279
- writer.writeLine(`Item in ${humanReadablePath}`);
280
- }
281
- }
282
- ],
283
- isExported: true
284
- });
285
- if ((_l = config.model.config) == null ? void 0 : _l.fields) {
286
- addInterfacePropertiesForFields({
287
- interface: itemInterface,
288
- sourceFile: config.sourceFile,
289
- fields: config.model.config.fields,
290
- path: [
291
- ...config.path,
292
- {
293
- id: config.id,
294
- model: config.model
295
- }
296
- ],
297
- fieldConfigs: config.fieldConfigs
298
- });
299
- }
300
- config.interface.addProperty({
301
- name: config.id,
302
- type: `prismic.GroupField<Simplify<${itemInterface.getName()}>>`,
303
- docs: buildFieldDocs.buildFieldDocs({
304
- id: config.id,
305
- model: config.model,
306
- path: config.path,
307
- tabName: config.tabName
308
- })
309
- });
310
- break;
311
- }
312
- case "Slices": {
313
- const choiceInterfaceNames = [];
314
- if ((_m = config.model.config) == null ? void 0 : _m.choices) {
315
- for (const choiceId in config.model.config.choices) {
316
- const choice = config.model.config.choices[choiceId];
317
- if (choice.type === "SharedSlice") {
318
- choiceInterfaceNames.push(buildSharedSliceInterfaceNamePart.buildSharedSliceInterfaceNamePart({ id: choiceId }));
319
- } else if (choice.type === "Slice") {
320
- let primaryInterface;
321
- if (choice["non-repeat"] && Object.keys(choice["non-repeat"]).length > 0) {
322
- primaryInterface = config.sourceFile.addInterface({
323
- name: buildTypeName.buildTypeName(config.path[0].id, "Document", "Data", config.id, choiceId, "Slice", "Primary"),
324
- docs: [
325
- {
326
- description: (writer) => {
327
- const humanReadablePath = getHumanReadableFieldPath.getHumanReadableFieldPath({
328
- path: [
329
- ...config.path,
330
- {
331
- id: config.id,
332
- model: config.model
333
- },
334
- {
335
- id: choiceId,
336
- model: choice
337
- },
338
- {
339
- id: "primary",
340
- label: "Primary"
341
- }
342
- ]
343
- });
344
- writer.writeLine(`Primary content in ${humanReadablePath}`);
345
- }
346
- }
347
- ]
348
- });
349
- addInterfacePropertiesForFields({
350
- interface: primaryInterface,
351
- sourceFile: config.sourceFile,
352
- fields: choice["non-repeat"],
353
- path: [
354
- ...config.path,
355
- {
356
- id: config.id,
357
- model: config.model
358
- },
359
- {
360
- id: choiceId,
361
- model: choice
362
- },
363
- {
364
- id: "primary",
365
- label: "Primary"
366
- }
367
- ],
368
- fieldConfigs: config.fieldConfigs
369
- });
370
- }
371
- let itemInterface;
372
- if (choice.repeat && Object.keys(choice.repeat).length > 0) {
373
- itemInterface = config.sourceFile.addInterface({
374
- name: buildTypeName.buildTypeName(config.path[0].id, "Document", "Data", config.id, choiceId, "Slice", "Item"),
375
- docs: [
376
- {
377
- description: (writer) => {
378
- const humanReadablePath = getHumanReadableFieldPath.getHumanReadableFieldPath({
379
- path: [
380
- ...config.path,
381
- {
382
- id: config.id,
383
- model: config.model
384
- },
385
- {
386
- id: choiceId,
387
- model: choice
388
- },
389
- {
390
- id: "items",
391
- label: "Items"
392
- }
393
- ]
394
- });
395
- writer.writeLine(`Item in ${humanReadablePath}`);
396
- }
397
- }
398
- ],
399
- isExported: true
400
- });
401
- addInterfacePropertiesForFields({
402
- interface: itemInterface,
403
- sourceFile: config.sourceFile,
404
- fields: choice.repeat,
405
- path: [
406
- ...config.path,
407
- {
408
- id: config.id,
409
- model: config.model
410
- },
411
- {
412
- id: choiceId,
413
- model: choice
414
- },
415
- {
416
- id: "items",
417
- label: "Items"
418
- }
419
- ],
420
- fieldConfigs: config.fieldConfigs
421
- });
422
- }
423
- const sliceType = config.sourceFile.addTypeAlias({
424
- name: buildTypeName.buildTypeName(config.path[0].id, "Document", "Data", config.id, choiceId, "Slice"),
425
- type: `prismic.Slice<"${choiceId}", ${primaryInterface ? `Simplify<${primaryInterface.getName()}>` : "Record<string, never>"}, ${itemInterface ? `Simplify<${itemInterface.getName()}>` : "never"}>`,
426
- isExported: true
427
- });
428
- choiceInterfaceNames.push(sliceType.getName());
429
- }
430
- }
431
- }
432
- const slicesType = config.sourceFile.addTypeAlias({
433
- name: buildTypeName.buildTypeName(config.path[0].id, "Document", "Data", config.id, "Slice"),
434
- type: choiceInterfaceNames.length > 0 ? choiceInterfaceNames.join(" | ") : "never",
435
- docs: [
436
- {
437
- description: (writer) => {
438
- const humanReadablePath = getHumanReadableFieldPath.getHumanReadableFieldPath({
439
- path: [
440
- ...config.path,
441
- {
442
- id: config.id,
443
- model: config.model
444
- }
445
- ]
446
- });
447
- writer.writeLine(`Slice for *${humanReadablePath}*`);
448
- }
449
- }
450
- ]
451
- });
452
- config.interface.addProperty({
453
- name: config.id,
454
- type: `prismic.SliceZone<${slicesType.getName()}>`,
455
- docs: buildFieldDocs.buildFieldDocs({
456
- id: config.id,
457
- model: config.model,
458
- path: config.path,
459
- tabName: config.tabName
460
- })
461
- });
462
- break;
463
- }
464
- default: {
465
- config.interface.addProperty({
466
- name: config.id,
467
- type: "unknown",
468
- docs: buildFieldDocs.buildFieldDocs({
469
- id: config.id,
470
- model: config.model,
471
- path: config.path,
472
- tabName: config.tabName
473
- })
474
- });
475
- }
476
- }
477
- };
478
- const addInterfacePropertiesForFields = (config) => {
479
- for (const name in config.fields) {
480
- addInterfacePropertyForField({
481
- ...config,
482
- id: name.includes("-") || name.includes(":") || /^[0-9]/.test(name) ? `"${name}"` : name,
483
- model: config.fields[name],
484
- tabName: config.tabName
485
- });
486
- }
487
- };
488
- exports.addInterfacePropertiesForFields = addInterfacePropertiesForFields;
489
- //# sourceMappingURL=addInterfacePropertiesForFields.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addInterfacePropertiesForFields.cjs","sources":["../../../src/lib/addInterfacePropertiesForFields.ts"],"sourcesContent":["import type {\n\tCustomTypeModel,\n\tCustomTypeModelField,\n\tCustomTypeModelSlice,\n\tSharedSliceModel,\n} from \"@prismicio/client\";\nimport type { InterfaceDeclaration, SourceFile } from \"ts-morph\";\n\nimport { FieldConfigs, PathElement } from \"../types\";\n\nimport { buildFieldDocs } from \"./buildFieldDocs\";\nimport { buildSharedSliceInterfaceNamePart } from \"./buildSharedSliceInterfaceNamePart\";\nimport { buildTypeName } from \"./buildTypeName\";\nimport { getHumanReadableFieldPath } from \"./getHumanReadableFieldPath\";\n\ntype AddInterfacePropertyFromFieldConfig = {\n\tid: string;\n\tmodel: CustomTypeModelField;\n\tinterface: InterfaceDeclaration;\n\tsourceFile: SourceFile;\n\tpath: [\n\t\tPathElement<CustomTypeModel | SharedSliceModel>,\n\t\t...PathElement<CustomTypeModelField | CustomTypeModelSlice>[],\n\t];\n\tfieldConfigs: FieldConfigs;\n\ttabName?: string;\n};\n\nconst addInterfacePropertyForField = (\n\tconfig: AddInterfacePropertyFromFieldConfig,\n) => {\n\tswitch (config.model.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\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.BooleanField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Color\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.ColorField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Date\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.DateField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Embed\": {\n\t\t\tconst providerTypes: string[] = [];\n\n\t\t\tif (config.fieldConfigs.embed?.providerTypes) {\n\t\t\t\tfor (const providerType in config.fieldConfigs.embed?.providerTypes) {\n\t\t\t\t\tconst configuredProviderType =\n\t\t\t\t\t\tconfig.fieldConfigs.embed?.providerTypes[providerType];\n\n\t\t\t\t\tproviderTypes.push(\n\t\t\t\t\t\t`({ provider_name: \"${providerType}\" } & ${configuredProviderType})`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype:\n\t\t\t\t\tproviderTypes.length > 0\n\t\t\t\t\t\t? `prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra & (${providerTypes.join(\n\t\t\t\t\t\t\t\t\" | \",\n\t\t\t\t\t\t )})>`\n\t\t\t\t\t\t: \"prismic.EmbedField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"GeoPoint\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.GeoPointField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Image\": {\n\t\t\tif (\n\t\t\t\tconfig.model.config?.thumbnails &&\n\t\t\t\tconfig.model.config.thumbnails.length > 0\n\t\t\t) {\n\t\t\t\tconst thumbnailNames = config.model.config.thumbnails\n\t\t\t\t\t.map((thumbnail) => `\"${thumbnail.name}\"`)\n\t\t\t\t\t.join(\" | \");\n\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: `prismic.ImageField<${thumbnailNames}>`,\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: \"prismic.ImageField<never>\",\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"IntegrationFields\": {\n\t\t\tconst catalogType = config.model.config?.catalog\n\t\t\t\t? config.fieldConfigs.integrationFields?.catalogTypes?.[\n\t\t\t\t\t\tconfig.model.config.catalog\n\t\t\t\t ]\n\t\t\t\t: undefined;\n\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: catalogType\n\t\t\t\t\t? `prismic.IntegrationField<${catalogType}>`\n\t\t\t\t\t: \"prismic.IntegrationField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Link\": {\n\t\t\tswitch (config.model.config?.select) {\n\t\t\t\tcase \"document\": {\n\t\t\t\t\tconfig.model.config;\n\t\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\t\tname: config.id,\n\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\"customtypes\" in config.model.config &&\n\t\t\t\t\t\t\tconfig.model.config.customtypes &&\n\t\t\t\t\t\t\tconfig.model.config.customtypes.length > 0\n\t\t\t\t\t\t\t\t? `prismic.ContentRelationshipField<${config.model.config.customtypes\n\t\t\t\t\t\t\t\t\t\t.map((type) => `\"${type}\"`)\n\t\t\t\t\t\t\t\t\t\t.join(\" | \")}>`\n\t\t\t\t\t\t\t\t: \"prismic.ContentRelationshipField\",\n\t\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t\t}),\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\tconfig.interface.addProperty({\n\t\t\t\t\t\tname: config.id,\n\t\t\t\t\t\ttype: \"prismic.LinkToMediaField\",\n\t\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdefault: {\n\t\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\t\tname: config.id,\n\t\t\t\t\t\ttype: \"prismic.LinkField\",\n\t\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Number\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.NumberField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"StructuredText\": {\n\t\t\tconst isTitleField =\n\t\t\t\tconfig.model.config &&\n\t\t\t\t\"single\" in config.model.config &&\n\t\t\t\tconfig.model.config.single &&\n\t\t\t\tconfig.model.config.single\n\t\t\t\t\t.split(\",\")\n\t\t\t\t\t.every((blockType) => /heading/.test(blockType));\n\n\t\t\tif (isTitleField) {\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: \"prismic.TitleField\",\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: \"prismic.RichTextField\",\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Select\": {\n\t\t\tconst options = config.model.config?.options\n\t\t\t\t?.map((option) => `\"${option}\"`)\n\t\t\t\t.join(\" | \");\n\t\t\tconst hasDefault = Boolean(config.model.config?.default_value);\n\n\t\t\tif (hasDefault) {\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: `prismic.SelectField<${options || \"string\"}, \"filled\">`,\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconfig.interface.addProperty({\n\t\t\t\t\tname: config.id,\n\t\t\t\t\ttype: `prismic.SelectField<${options}>`,\n\t\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\tpath: config.path,\n\t\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Text\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.KeyTextField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Timestamp\": {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"prismic.TimestampField\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Group\": {\n\t\t\tconst itemInterface = config.sourceFile.addInterface({\n\t\t\t\tname: buildTypeName(\n\t\t\t\t\tconfig.path[0].id,\n\t\t\t\t\t\"Document\",\n\t\t\t\t\t\"Data\",\n\t\t\t\t\tconfig.id,\n\t\t\t\t\t\"Item\",\n\t\t\t\t),\n\t\t\t\tdocs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: (writer) => {\n\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadableFieldPath({\n\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\twriter.writeLine(`Item in ${humanReadablePath}`);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tisExported: true,\n\t\t\t});\n\n\t\t\tif (config.model.config?.fields) {\n\t\t\t\taddInterfacePropertiesForFields({\n\t\t\t\t\tinterface: itemInterface,\n\t\t\t\t\tsourceFile: config.sourceFile,\n\t\t\t\t\tfields: config.model.config.fields,\n\t\t\t\t\tpath: [\n\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tfieldConfigs: config.fieldConfigs,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: `prismic.GroupField<Simplify<${itemInterface.getName()}>>`,\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase \"Slices\": {\n\t\t\tconst choiceInterfaceNames: string[] = [];\n\n\t\t\tif (config.model.config?.choices) {\n\t\t\t\tfor (const choiceId in config.model.config.choices) {\n\t\t\t\t\tconst choice = config.model.config.choices[choiceId];\n\n\t\t\t\t\tif (choice.type === \"SharedSlice\") {\n\t\t\t\t\t\tchoiceInterfaceNames.push(\n\t\t\t\t\t\t\tbuildSharedSliceInterfaceNamePart({ id: choiceId }),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (choice.type === \"Slice\") {\n\t\t\t\t\t\tlet primaryInterface: InterfaceDeclaration | undefined;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tchoice[\"non-repeat\"] &&\n\t\t\t\t\t\t\tObject.keys(choice[\"non-repeat\"]).length > 0\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tprimaryInterface = config.sourceFile.addInterface({\n\t\t\t\t\t\t\t\tname: buildTypeName(\n\t\t\t\t\t\t\t\t\tconfig.path[0].id,\n\t\t\t\t\t\t\t\t\t\"Document\",\n\t\t\t\t\t\t\t\t\t\"Data\",\n\t\t\t\t\t\t\t\t\tconfig.id,\n\t\t\t\t\t\t\t\t\tchoiceId,\n\t\t\t\t\t\t\t\t\t\"Slice\",\n\t\t\t\t\t\t\t\t\t\"Primary\",\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdocs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdescription: (writer) => {\n\t\t\t\t\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadableFieldPath({\n\t\t\t\t\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: choiceId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel: choice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: \"primary\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Primary\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\twriter.writeLine(\n\t\t\t\t\t\t\t\t\t\t\t\t`Primary content in ${humanReadablePath}`,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\taddInterfacePropertiesForFields({\n\t\t\t\t\t\t\t\tinterface: primaryInterface,\n\t\t\t\t\t\t\t\tsourceFile: config.sourceFile,\n\t\t\t\t\t\t\t\tfields: choice[\"non-repeat\"],\n\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\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\t\tid: choiceId,\n\t\t\t\t\t\t\t\t\t\tmodel: choice,\n\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\t\tid: \"primary\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Primary\",\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\tfieldConfigs: config.fieldConfigs,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet itemInterface: InterfaceDeclaration | undefined;\n\t\t\t\t\t\tif (choice.repeat && Object.keys(choice.repeat).length > 0) {\n\t\t\t\t\t\t\titemInterface = config.sourceFile.addInterface({\n\t\t\t\t\t\t\t\tname: buildTypeName(\n\t\t\t\t\t\t\t\t\tconfig.path[0].id,\n\t\t\t\t\t\t\t\t\t\"Document\",\n\t\t\t\t\t\t\t\t\t\"Data\",\n\t\t\t\t\t\t\t\t\tconfig.id,\n\t\t\t\t\t\t\t\t\tchoiceId,\n\t\t\t\t\t\t\t\t\t\"Slice\",\n\t\t\t\t\t\t\t\t\t\"Item\",\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdocs: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tdescription: (writer) => {\n\t\t\t\t\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadableFieldPath({\n\t\t\t\t\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: choiceId,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodel: choice,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid: \"items\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: \"Items\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\twriter.writeLine(`Item in ${humanReadablePath}`);\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\tisExported: true,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\taddInterfacePropertiesForFields({\n\t\t\t\t\t\t\t\tinterface: itemInterface,\n\t\t\t\t\t\t\t\tsourceFile: config.sourceFile,\n\t\t\t\t\t\t\t\tfields: choice.repeat,\n\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\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\t\tid: choiceId,\n\t\t\t\t\t\t\t\t\t\tmodel: choice,\n\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\t\tid: \"items\",\n\t\t\t\t\t\t\t\t\t\tlabel: \"Items\",\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\tfieldConfigs: config.fieldConfigs,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst sliceType = config.sourceFile.addTypeAlias({\n\t\t\t\t\t\t\tname: buildTypeName(\n\t\t\t\t\t\t\t\tconfig.path[0].id,\n\t\t\t\t\t\t\t\t\"Document\",\n\t\t\t\t\t\t\t\t\"Data\",\n\t\t\t\t\t\t\t\tconfig.id,\n\t\t\t\t\t\t\t\tchoiceId,\n\t\t\t\t\t\t\t\t\"Slice\",\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttype: `prismic.Slice<\"${choiceId}\", ${\n\t\t\t\t\t\t\t\tprimaryInterface\n\t\t\t\t\t\t\t\t\t? `Simplify<${primaryInterface.getName()}>`\n\t\t\t\t\t\t\t\t\t: \"Record<string, never>\"\n\t\t\t\t\t\t\t}, ${\n\t\t\t\t\t\t\t\titemInterface ? `Simplify<${itemInterface.getName()}>` : \"never\"\n\t\t\t\t\t\t\t}>`,\n\t\t\t\t\t\t\tisExported: true,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tchoiceInterfaceNames.push(sliceType.getName());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst slicesType = config.sourceFile.addTypeAlias({\n\t\t\t\tname: buildTypeName(\n\t\t\t\t\tconfig.path[0].id,\n\t\t\t\t\t\"Document\",\n\t\t\t\t\t\"Data\",\n\t\t\t\t\tconfig.id,\n\t\t\t\t\t\"Slice\",\n\t\t\t\t),\n\t\t\t\ttype:\n\t\t\t\t\tchoiceInterfaceNames.length > 0\n\t\t\t\t\t\t? choiceInterfaceNames.join(\" | \")\n\t\t\t\t\t\t: \"never\",\n\t\t\t\tdocs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdescription: (writer) => {\n\t\t\t\t\t\t\tconst humanReadablePath = getHumanReadableFieldPath({\n\t\t\t\t\t\t\t\tpath: [\n\t\t\t\t\t\t\t\t\t...config.path,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: config.id,\n\t\t\t\t\t\t\t\t\t\tmodel: config.model,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\twriter.writeLine(`Slice for *${humanReadablePath}*`);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: `prismic.SliceZone<${slicesType.getName()}>`,\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\n\t\t\tbreak;\n\t\t}\n\n\t\tdefault: {\n\t\t\tconfig.interface.addProperty({\n\t\t\t\tname: config.id,\n\t\t\t\ttype: \"unknown\",\n\t\t\t\tdocs: buildFieldDocs({\n\t\t\t\t\tid: config.id,\n\t\t\t\t\tmodel: config.model,\n\t\t\t\t\tpath: config.path,\n\t\t\t\t\ttabName: config.tabName,\n\t\t\t\t}),\n\t\t\t});\n\t\t}\n\t}\n};\n\ntype AddInterfacePropertiesForFieldsConfig = Omit<\n\tAddInterfacePropertyFromFieldConfig,\n\t\"id\" | \"model\"\n> & {\n\tfields: Record<string, AddInterfacePropertyFromFieldConfig[\"model\"]>;\n\ttabName?: string;\n};\n\nexport const addInterfacePropertiesForFields = (\n\tconfig: AddInterfacePropertiesForFieldsConfig,\n) => {\n\tfor (const name in config.fields) {\n\t\taddInterfacePropertyForField({\n\t\t\t...config,\n\t\t\tid:\n\t\t\t\tname.includes(\"-\") || name.includes(\":\") || /^[0-9]/.test(name)\n\t\t\t\t\t? `\"${name}\"`\n\t\t\t\t\t: name,\n\t\t\tmodel: config.fields[name],\n\t\t\ttabName: config.tabName,\n\t\t});\n\t}\n};\n"],"names":["buildFieldDocs","buildTypeName","getHumanReadableFieldPath","buildSharedSliceInterfaceNamePart"],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { CustomTypeModel, CustomTypeModelField, CustomTypeModelSlice, SharedSliceModel } from "@prismicio/client";
2
- import type { InterfaceDeclaration, SourceFile } from "ts-morph";
3
- import { FieldConfigs, PathElement } from "../types";
4
- type AddInterfacePropertyFromFieldConfig = {
5
- id: string;
6
- model: CustomTypeModelField;
7
- interface: InterfaceDeclaration;
8
- sourceFile: SourceFile;
9
- path: [
10
- PathElement<CustomTypeModel | SharedSliceModel>,
11
- ...PathElement<CustomTypeModelField | CustomTypeModelSlice>[]
12
- ];
13
- fieldConfigs: FieldConfigs;
14
- tabName?: string;
15
- };
16
- type AddInterfacePropertiesForFieldsConfig = Omit<AddInterfacePropertyFromFieldConfig, "id" | "model"> & {
17
- fields: Record<string, AddInterfacePropertyFromFieldConfig["model"]>;
18
- tabName?: string;
19
- };
20
- export declare const addInterfacePropertiesForFields: (config: AddInterfacePropertiesForFieldsConfig) => void;
21
- export {};