@prismicio/mock 0.0.6 → 0.0.7
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.
- package/README.md +4 -1
- package/dist/api/index.cjs +39 -27
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/{index.mjs → index.js} +104 -58
- package/dist/api/index.js.map +1 -0
- package/dist/index.cjs +293 -393
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +132 -230
- package/dist/{index.mjs → index.js} +286 -384
- package/dist/index.js.map +1 -0
- package/dist/model/index.cjs +148 -205
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.ts +68 -104
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +462 -0
- package/dist/model/index.js.map +1 -0
- package/dist/value/index.cjs +238 -495
- package/dist/value/index.cjs.map +1 -0
- package/dist/value/index.d.ts +54 -116
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/{index.mjs → index.js} +407 -610
- package/dist/value/index.js.map +1 -0
- package/package.json +21 -21
- package/src/lib/buildContentRelationshipField.ts +6 -1
- package/src/lib/buildEmbedField.ts +1 -1
- package/src/lib/buildImageFieldImage.ts +48 -0
- package/src/model/buildMockGroupFieldMap.ts +65 -0
- package/src/model/contentRelationship.ts +14 -21
- package/src/model/customType.ts +49 -48
- package/src/model/group.ts +8 -15
- package/src/model/image.ts +13 -13
- package/src/model/index.ts +2 -0
- package/src/model/select.ts +11 -16
- package/src/model/sharedSlice.ts +14 -41
- package/src/model/sharedSliceVariation.ts +33 -21
- package/src/model/slice.ts +15 -19
- package/src/model/sliceZone.ts +23 -59
- package/src/types.ts +41 -12
- package/src/value/color.ts +16 -6
- package/src/value/contentRelationship.ts +51 -36
- package/src/value/date.ts +25 -9
- package/src/value/embed.ts +18 -6
- package/src/value/geoPoint.ts +21 -9
- package/src/value/group.ts +7 -27
- package/src/value/image.ts +22 -9
- package/src/value/integrationFields.ts +26 -14
- package/src/value/keyText.ts +18 -6
- package/src/value/link.ts +33 -34
- package/src/value/linkToMedia.ts +15 -20
- package/src/value/number.ts +16 -6
- package/src/value/richText/heading.ts +7 -7
- package/src/value/richText/image.ts +6 -2
- package/src/value/richText/index.ts +1 -1
- package/src/value/select.ts +23 -8
- package/src/value/sharedSlice.ts +2 -2
- package/src/value/sharedSliceVariation.ts +6 -34
- package/src/value/slice.ts +5 -30
- package/src/value/sliceZone.ts +44 -60
- package/src/value/timestamp.ts +19 -6
- package/src/value/title.ts +1 -1
- package/src/value/uid.ts +1 -1
- package/dist/model/index.mjs +0 -465
- package/src/lib/buildImageField.ts +0 -34
- package/src/lib/buildMockGroupFieldMap.ts +0 -84
package/dist/model/index.cjs
CHANGED
|
@@ -11,21 +11,19 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
11
11
|
|
|
12
12
|
function _interopNamespace(e) {
|
|
13
13
|
if (e && e.__esModule) return e;
|
|
14
|
-
|
|
14
|
+
const n = Object.create(null);
|
|
15
15
|
if (e) {
|
|
16
|
-
|
|
16
|
+
for (const k in e) {
|
|
17
17
|
if (k !== 'default') {
|
|
18
|
-
|
|
18
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
19
|
Object.defineProperty(n, k, d.get ? d : {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () {
|
|
22
|
-
return e[k];
|
|
23
|
-
}
|
|
21
|
+
get: function () { return e[k]; }
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
}
|
|
24
|
+
}
|
|
27
25
|
}
|
|
28
|
-
n[
|
|
26
|
+
n["default"] = e;
|
|
29
27
|
return Object.freeze(n);
|
|
30
28
|
}
|
|
31
29
|
|
|
@@ -47,7 +45,7 @@ const createFaker = (seed = FAKER_SEED) => {
|
|
|
47
45
|
if (createFaker.cache[cacheKey]) {
|
|
48
46
|
return createFaker.cache[cacheKey];
|
|
49
47
|
}
|
|
50
|
-
const fakerInstance = new Faker__default[
|
|
48
|
+
const fakerInstance = new Faker__default["default"]();
|
|
51
49
|
fakerInstance.locales["en"] = fakerLocaleEN__namespace;
|
|
52
50
|
fakerInstance.seed(normalizedSeed);
|
|
53
51
|
createFaker.cache[cacheKey] = fakerInstance;
|
|
@@ -76,11 +74,6 @@ const color = (config = {}) => {
|
|
|
76
74
|
};
|
|
77
75
|
};
|
|
78
76
|
|
|
79
|
-
const generateCustomTypeId = (config) => {
|
|
80
|
-
const faker = createFaker(config.seed);
|
|
81
|
-
return changeCase__namespace.snakeCase(faker.company.bsNoun());
|
|
82
|
-
};
|
|
83
|
-
|
|
84
77
|
const contentRelationship = (config = {}) => {
|
|
85
78
|
const faker = createFaker(config.seed);
|
|
86
79
|
return {
|
|
@@ -89,12 +82,37 @@ const contentRelationship = (config = {}) => {
|
|
|
89
82
|
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
90
83
|
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
91
84
|
select: prismicT__namespace.CustomTypeModelLinkSelectType.Document,
|
|
92
|
-
customtypes: config.
|
|
93
|
-
tags: config.
|
|
85
|
+
customtypes: config.customTypeIDs,
|
|
86
|
+
tags: config.tags
|
|
94
87
|
}
|
|
95
88
|
};
|
|
96
89
|
};
|
|
97
90
|
|
|
91
|
+
const customType = (config = {}) => {
|
|
92
|
+
var _a, _b;
|
|
93
|
+
const faker = createFaker(config.seed);
|
|
94
|
+
let label = config.label || changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
95
|
+
let id = config.id || changeCase__namespace.snakeCase(label);
|
|
96
|
+
if (config.id && !config.label) {
|
|
97
|
+
label = changeCase__namespace.capitalCase(config.id);
|
|
98
|
+
} else if (config.label && !config.label) {
|
|
99
|
+
id = changeCase__namespace.snakeCase(config.label);
|
|
100
|
+
}
|
|
101
|
+
let json = {};
|
|
102
|
+
if ("fields" in config && config.fields) {
|
|
103
|
+
json = { Main: config.fields };
|
|
104
|
+
} else if ("tabs" in config && config.tabs) {
|
|
105
|
+
json = config.tabs;
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
id,
|
|
109
|
+
label,
|
|
110
|
+
status: (_a = config.status) != null ? _a : faker.datatype.boolean(),
|
|
111
|
+
repeatable: (_b = config.repeatable) != null ? _b : faker.datatype.boolean(),
|
|
112
|
+
json
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
98
116
|
const date = (config = {}) => {
|
|
99
117
|
const faker = createFaker(config.seed);
|
|
100
118
|
return {
|
|
@@ -127,10 +145,26 @@ const geoPoint = (config = {}) => {
|
|
|
127
145
|
};
|
|
128
146
|
};
|
|
129
147
|
|
|
148
|
+
const group = (config = {}) => {
|
|
149
|
+
const faker = createFaker(config.seed);
|
|
150
|
+
return {
|
|
151
|
+
type: prismicT__namespace.CustomTypeModelFieldType.Group,
|
|
152
|
+
config: {
|
|
153
|
+
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
154
|
+
fields: config.fields || {}
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
|
|
130
159
|
const image = (config = {}) => {
|
|
131
|
-
var _a;
|
|
132
160
|
const faker = createFaker(config.seed);
|
|
133
|
-
const
|
|
161
|
+
const thumbnails = (config.thumbnailNames || []).map((name) => {
|
|
162
|
+
return {
|
|
163
|
+
name,
|
|
164
|
+
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
165
|
+
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
166
|
+
};
|
|
167
|
+
});
|
|
134
168
|
return {
|
|
135
169
|
type: prismicT__namespace.CustomTypeModelFieldType.Image,
|
|
136
170
|
config: {
|
|
@@ -139,11 +173,7 @@ const image = (config = {}) => {
|
|
|
139
173
|
width: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null,
|
|
140
174
|
height: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null
|
|
141
175
|
},
|
|
142
|
-
thumbnails
|
|
143
|
-
name: changeCase__namespace.pascalCase(faker.company.bsNoun()),
|
|
144
|
-
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
145
|
-
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
146
|
-
}))
|
|
176
|
+
thumbnails
|
|
147
177
|
}
|
|
148
178
|
};
|
|
149
179
|
};
|
|
@@ -239,115 +269,63 @@ const richText = (config = {}) => {
|
|
|
239
269
|
};
|
|
240
270
|
|
|
241
271
|
const select = (config = {}) => {
|
|
242
|
-
var _a;
|
|
243
272
|
const faker = createFaker(config.seed);
|
|
244
|
-
const optionsCount = (_a = config.optionsCount) != null ? _a : faker.datatype.number({ min: 1, max: 5 });
|
|
245
|
-
const options = Array(optionsCount).fill(void 0).map(() => changeCase__namespace.capitalCase(faker.company.bsBuzz()));
|
|
246
273
|
return {
|
|
247
274
|
type: prismicT__namespace.CustomTypeModelFieldType.Select,
|
|
248
275
|
config: {
|
|
249
276
|
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
250
277
|
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
251
|
-
options,
|
|
252
|
-
default_value: config.
|
|
278
|
+
options: config.options || [],
|
|
279
|
+
default_value: config.defaultValue || void 0
|
|
253
280
|
}
|
|
254
281
|
};
|
|
255
282
|
};
|
|
256
283
|
|
|
257
|
-
const
|
|
284
|
+
const sharedSlice = (config = {}) => {
|
|
258
285
|
const faker = createFaker(config.seed);
|
|
286
|
+
let name = config.name || changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
287
|
+
let id = config.id || changeCase__namespace.snakeCase(name);
|
|
288
|
+
if (config.id && !config.name) {
|
|
289
|
+
name = changeCase__namespace.pascalCase(config.id);
|
|
290
|
+
} else if (config.name && !config.name) {
|
|
291
|
+
id = changeCase__namespace.snakeCase(config.name);
|
|
292
|
+
}
|
|
259
293
|
return {
|
|
260
|
-
type: prismicT__namespace.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
294
|
+
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
|
|
295
|
+
id,
|
|
296
|
+
name,
|
|
297
|
+
description: faker.lorem.sentence(),
|
|
298
|
+
variations: config.variations || []
|
|
265
299
|
};
|
|
266
300
|
};
|
|
267
301
|
|
|
268
|
-
const
|
|
269
|
-
const faker = createFaker(config.seed);
|
|
270
|
-
const single = faker.random.arrayElements([
|
|
271
|
-
"heading1",
|
|
272
|
-
"heading2",
|
|
273
|
-
"heading3",
|
|
274
|
-
"heading4",
|
|
275
|
-
"heading5",
|
|
276
|
-
"heading6"
|
|
277
|
-
]).join(",");
|
|
302
|
+
const sharedSliceChoice = () => {
|
|
278
303
|
return {
|
|
279
|
-
type: prismicT__namespace.
|
|
280
|
-
config: {
|
|
281
|
-
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
282
|
-
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
283
|
-
single,
|
|
284
|
-
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
285
|
-
}
|
|
304
|
+
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice
|
|
286
305
|
};
|
|
287
306
|
};
|
|
288
307
|
|
|
289
|
-
const
|
|
290
|
-
const faker = createFaker(config.seed);
|
|
291
|
-
return changeCase__namespace.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
const mockModelFns = {
|
|
295
|
-
boolean,
|
|
296
|
-
color,
|
|
297
|
-
contentRelationship,
|
|
298
|
-
date,
|
|
299
|
-
embed,
|
|
300
|
-
geoPoint,
|
|
301
|
-
image,
|
|
302
|
-
integrationFields,
|
|
303
|
-
keyText,
|
|
304
|
-
link,
|
|
305
|
-
linkToMedia,
|
|
306
|
-
number,
|
|
307
|
-
richText,
|
|
308
|
-
select,
|
|
309
|
-
timestamp,
|
|
310
|
-
title
|
|
311
|
-
};
|
|
312
|
-
const buildMockGroupFieldMap = (config = {}) => {
|
|
313
|
-
var _a;
|
|
308
|
+
const sharedSliceVariation = (config = {}) => {
|
|
314
309
|
const faker = createFaker(config.seed);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
for (let i = 0; i < count; i++) {
|
|
322
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
323
|
-
fields[fieldId] = mockModelFn({
|
|
324
|
-
seed: config.seed,
|
|
325
|
-
...mockModelMapConfig.config
|
|
326
|
-
});
|
|
327
|
-
}
|
|
310
|
+
let name = config.name || changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
311
|
+
let id = config.id || changeCase__namespace.snakeCase(name);
|
|
312
|
+
if (config.id && !config.name) {
|
|
313
|
+
name = changeCase__namespace.pascalCase(config.id);
|
|
314
|
+
} else if (config.name && !config.name) {
|
|
315
|
+
id = changeCase__namespace.snakeCase(config.name);
|
|
328
316
|
}
|
|
329
|
-
return fields;
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
const uid = (config = {}) => {
|
|
333
|
-
const faker = createFaker(config.seed);
|
|
334
317
|
return {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
const sharedSliceChoice = () => {
|
|
344
|
-
return {
|
|
345
|
-
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice
|
|
318
|
+
id,
|
|
319
|
+
name,
|
|
320
|
+
description: faker.lorem.sentence(),
|
|
321
|
+
docURL: faker.internet.url(),
|
|
322
|
+
version: faker.git.shortSha(),
|
|
323
|
+
primary: config.primaryFields || {},
|
|
324
|
+
items: config.itemsFields || {}
|
|
346
325
|
};
|
|
347
326
|
};
|
|
348
327
|
|
|
349
328
|
const slice = (config = {}) => {
|
|
350
|
-
var _a, _b, _c, _d, _e, _f;
|
|
351
329
|
const faker = createFaker(config.seed);
|
|
352
330
|
return {
|
|
353
331
|
type: prismicT__namespace.CustomTypeModelSliceType.Slice,
|
|
@@ -355,39 +333,17 @@ const slice = (config = {}) => {
|
|
|
355
333
|
display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List,
|
|
356
334
|
fieldset: changeCase__namespace.capitalCase(faker.lorem.words()),
|
|
357
335
|
description: faker.lorem.sentence(),
|
|
358
|
-
repeat:
|
|
359
|
-
|
|
360
|
-
configs: (_c = config.repeatFieldConfig) == null ? void 0 : _c.configs
|
|
361
|
-
}),
|
|
362
|
-
"non-repeat": buildMockGroupFieldMap({
|
|
363
|
-
seed: (_e = (_d = config.nonRepeatFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
364
|
-
configs: (_f = config.nonRepeatFieldConfig) == null ? void 0 : _f.configs
|
|
365
|
-
})
|
|
336
|
+
repeat: config.repeatFields || {},
|
|
337
|
+
"non-repeat": config.nonRepeatFields || {}
|
|
366
338
|
};
|
|
367
339
|
};
|
|
368
340
|
|
|
369
341
|
const sliceZone = (config = {}) => {
|
|
370
|
-
var _a;
|
|
371
|
-
const faker = createFaker(config.seed);
|
|
372
|
-
let choices = {};
|
|
373
|
-
if ("choices" in config) {
|
|
374
|
-
choices = config.choices || {};
|
|
375
|
-
} else {
|
|
376
|
-
const choicesCount = (_a = config.choicesCount) != null ? _a : faker.datatype.number({ min: 2, max: 6 });
|
|
377
|
-
for (let i = 0; i < choicesCount; i++) {
|
|
378
|
-
const choiceId = generateFieldId({ seed: config.seed });
|
|
379
|
-
choices[choiceId] = config.withSharedSlices ? sharedSliceChoice() : slice({ seed: config.seed });
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
342
|
const labels = {};
|
|
383
|
-
for (const choiceId in choices) {
|
|
384
|
-
const choice = choices[choiceId];
|
|
343
|
+
for (const choiceId in config.choices) {
|
|
344
|
+
const choice = config.choices[choiceId];
|
|
385
345
|
if (choice.type === prismicT__namespace.CustomTypeModelSliceType.Slice) {
|
|
386
|
-
|
|
387
|
-
labels[choiceId] = Array(labelsCount).fill(void 0).map(() => ({
|
|
388
|
-
name: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
389
|
-
display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List
|
|
390
|
-
}));
|
|
346
|
+
labels[choiceId] = [];
|
|
391
347
|
}
|
|
392
348
|
}
|
|
393
349
|
return {
|
|
@@ -395,105 +351,91 @@ const sliceZone = (config = {}) => {
|
|
|
395
351
|
fieldset: "Slice zone",
|
|
396
352
|
config: {
|
|
397
353
|
labels,
|
|
398
|
-
choices
|
|
354
|
+
choices: config.choices || {}
|
|
399
355
|
}
|
|
400
356
|
};
|
|
401
357
|
};
|
|
402
358
|
|
|
403
|
-
const
|
|
404
|
-
var _a;
|
|
359
|
+
const timestamp = (config = {}) => {
|
|
405
360
|
const faker = createFaker(config.seed);
|
|
406
|
-
const tabsCount = (_a = config.tabsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
407
|
-
const json = {};
|
|
408
|
-
for (let i = 0; i < tabsCount; i++) {
|
|
409
|
-
const tabName = changeCase__namespace.capitalCase(faker.lorem.word());
|
|
410
|
-
const tabFields = buildMockGroupFieldMap({
|
|
411
|
-
seed: config.seed,
|
|
412
|
-
configs: config.configs
|
|
413
|
-
});
|
|
414
|
-
if (i === 0 && config.withUID) {
|
|
415
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
416
|
-
tabFields[fieldId] = uid();
|
|
417
|
-
}
|
|
418
|
-
if (config.withSliceZones) {
|
|
419
|
-
const sliceZoneId = generateFieldId({ seed: config.seed });
|
|
420
|
-
tabFields[sliceZoneId] = sliceZone({
|
|
421
|
-
withSharedSlices: config.withSharedSlices
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
json[tabName] = tabFields;
|
|
425
|
-
}
|
|
426
|
-
const id = generateCustomTypeId({ seed: config.seed });
|
|
427
361
|
return {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
362
|
+
type: prismicT__namespace.CustomTypeModelFieldType.Timestamp,
|
|
363
|
+
config: {
|
|
364
|
+
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
365
|
+
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
|
|
366
|
+
}
|
|
433
367
|
};
|
|
434
368
|
};
|
|
435
369
|
|
|
436
|
-
const
|
|
370
|
+
const title = (config = {}) => {
|
|
437
371
|
const faker = createFaker(config.seed);
|
|
438
|
-
const
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
372
|
+
const single = faker.random.arrayElements([
|
|
373
|
+
"heading1",
|
|
374
|
+
"heading2",
|
|
375
|
+
"heading3",
|
|
376
|
+
"heading4",
|
|
377
|
+
"heading5",
|
|
378
|
+
"heading6"
|
|
379
|
+
]).join(",");
|
|
442
380
|
return {
|
|
443
|
-
type: prismicT__namespace.CustomTypeModelFieldType.
|
|
381
|
+
type: prismicT__namespace.CustomTypeModelFieldType.StructuredText,
|
|
444
382
|
config: {
|
|
445
383
|
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
446
|
-
|
|
384
|
+
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
385
|
+
single,
|
|
386
|
+
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
447
387
|
}
|
|
448
388
|
};
|
|
449
389
|
};
|
|
450
390
|
|
|
451
|
-
const
|
|
452
|
-
var _a, _b, _c, _d, _e, _f;
|
|
391
|
+
const uid = (config = {}) => {
|
|
453
392
|
const faker = createFaker(config.seed);
|
|
454
|
-
const name = changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
455
393
|
return {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
primary: buildMockGroupFieldMap({
|
|
462
|
-
seed: (_b = (_a = config.primaryFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
|
|
463
|
-
configs: (_c = config.primaryFieldConfig) == null ? void 0 : _c.configs
|
|
464
|
-
}),
|
|
465
|
-
items: buildMockGroupFieldMap({
|
|
466
|
-
seed: (_e = (_d = config.itemsFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
467
|
-
configs: (_f = config.itemsFieldConfig) == null ? void 0 : _f.configs
|
|
468
|
-
})
|
|
394
|
+
type: prismicT__namespace.CustomTypeModelFieldType.UID,
|
|
395
|
+
config: {
|
|
396
|
+
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
397
|
+
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
|
|
398
|
+
}
|
|
469
399
|
};
|
|
470
400
|
};
|
|
471
401
|
|
|
472
|
-
const
|
|
473
|
-
var _a;
|
|
402
|
+
const generateFieldId = (config) => {
|
|
474
403
|
const faker = createFaker(config.seed);
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
404
|
+
return changeCase__namespace.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
const mockModelFns = {
|
|
408
|
+
boolean,
|
|
409
|
+
color,
|
|
410
|
+
contentRelationship,
|
|
411
|
+
date,
|
|
412
|
+
embed,
|
|
413
|
+
geoPoint,
|
|
414
|
+
image,
|
|
415
|
+
integrationFields,
|
|
416
|
+
keyText,
|
|
417
|
+
link,
|
|
418
|
+
linkToMedia,
|
|
419
|
+
number,
|
|
420
|
+
richText,
|
|
421
|
+
select,
|
|
422
|
+
timestamp,
|
|
423
|
+
title
|
|
424
|
+
};
|
|
425
|
+
const buildMockGroupFieldMap = (config = {}) => {
|
|
426
|
+
const faker = createFaker(config.seed);
|
|
427
|
+
const fields = {};
|
|
428
|
+
const fieldTypes = faker.random.arrayElements(Object.keys(mockModelFns));
|
|
429
|
+
for (const fieldType of fieldTypes) {
|
|
430
|
+
const fieldId = generateFieldId({ seed: config.seed });
|
|
431
|
+
const mockModelFn = mockModelFns[fieldType];
|
|
432
|
+
fields[fieldId] = mockModelFn({ seed: config.seed });
|
|
486
433
|
}
|
|
487
|
-
return
|
|
488
|
-
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
|
|
489
|
-
id: changeCase__namespace.snakeCase(name),
|
|
490
|
-
name,
|
|
491
|
-
description: faker.lorem.sentence(),
|
|
492
|
-
variations
|
|
493
|
-
};
|
|
434
|
+
return fields;
|
|
494
435
|
};
|
|
495
436
|
|
|
496
437
|
exports.boolean = boolean;
|
|
438
|
+
exports.buildMockGroupFieldMap = buildMockGroupFieldMap;
|
|
497
439
|
exports.color = color;
|
|
498
440
|
exports.contentRelationship = contentRelationship;
|
|
499
441
|
exports.customType = customType;
|
|
@@ -517,3 +459,4 @@ exports.sliceZone = sliceZone;
|
|
|
517
459
|
exports.timestamp = timestamp;
|
|
518
460
|
exports.title = title;
|
|
519
461
|
exports.uid = uid;
|
|
462
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/model/boolean.ts","../../src/model/color.ts","../../src/model/contentRelationship.ts","../../src/model/customType.ts","../../src/model/date.ts","../../src/model/embed.ts","../../src/model/geoPoint.ts","../../src/model/group.ts","../../src/model/image.ts","../../src/model/integrationFields.ts","../../src/model/keyText.ts","../../src/model/link.ts","../../src/model/linkToMedia.ts","../../src/model/number.ts","../../src/model/richText.ts","../../src/model/select.ts","../../src/model/sharedSlice.ts","../../src/model/sharedSliceChoice.ts","../../src/model/sharedSliceVariation.ts","../../src/model/slice.ts","../../src/model/sliceZone.ts","../../src/model/timestamp.ts","../../src/model/title.ts","../../src/model/uid.ts","../../src/lib/generateFieldId.ts","../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockBooleanModelConfig = MockModelConfig;\n\nexport const boolean = (\n\tconfig: MockBooleanModelConfig = {},\n): prismicT.CustomTypeModelBooleanField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Boolean,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockColorModelConfig = MockModelConfig;\n\nexport const color = (\n\tconfig: MockColorModelConfig = {},\n): prismicT.CustomTypeModelColorField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Color,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockContentRelationshipModelConfig<\n\tCustomTypeIDs extends string = string,\n\tTags extends string = string,\n> = {\n\tcustomTypeIDs?: readonly CustomTypeIDs[];\n\ttags?: readonly Tags[];\n} & MockModelConfig;\n\nexport const contentRelationship = <\n\tCustomTypeIDs extends string,\n\tTags extends string,\n>(\n\tconfig: MockContentRelationshipModelConfig<CustomTypeIDs, Tags> = {},\n): prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Document,\n\t\t\tcustomtypes: config.customTypeIDs,\n\t\t\ttags: config.tags,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition =\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\n} & (\n\t| {\n\t\t\tfields?: Definition;\n\t\t\ttabs?: never;\n\t }\n\t| {\n\t\t\ttabs?: Definition;\n\t\t\tfields?: never;\n\t }\n) &\n\tMockModelConfig;\n\ntype MockCustomTypeModel<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = Definition extends prismicT.CustomTypeModelTab\n\t? prismicT.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismicT.CustomTypeModelDefinition\n\t? prismicT.CustomTypeModel<string, Definition>\n\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition> = {},\n): MockCustomTypeModel<Definition> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(label);\n\n\tif (config.id && !config.label) {\n\t\tlabel = changeCase.capitalCase(config.id);\n\t} else if (config.label && !config.label) {\n\t\tid = changeCase.snakeCase(config.label);\n\t}\n\n\tlet json = {} as MockCustomTypeModel<Definition>[\"json\"];\n\n\tif (\"fields\" in config && config.fields) {\n\t\tjson = { Main: config.fields } as typeof json;\n\t} else if (\"tabs\" in config && config.tabs) {\n\t\tjson = config.tabs as typeof json;\n\t}\n\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tstatus: config.status ?? faker.datatype.boolean(),\n\t\trepeatable: config.repeatable ?? faker.datatype.boolean(),\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockDateModelConfig = MockModelConfig;\n\nexport const date = (\n\tconfig: MockDateModelConfig = {},\n): prismicT.CustomTypeModelDateField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Date,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockEmbedModelConfig = MockModelConfig;\n\nexport const embed = (\n\tconfig: MockEmbedModelConfig = {},\n): prismicT.CustomTypeModelEmbedField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Embed,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockGeoPointModelConfig = MockModelConfig;\n\nexport const geoPoint = (\n\tconfig: MockGeoPointModelConfig = {},\n): prismicT.CustomTypeModelGeoPointField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.GeoPoint,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockGroupModelConfig<Fields extends GroupFieldModelMap> = {\n\tfields?: Fields;\n} & MockModelConfig;\n\nexport const group = <Fields extends GroupFieldModelMap>(\n\tconfig: MockGroupModelConfig<Fields> = {},\n): prismicT.CustomTypeModelGroupField<Fields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Group,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tfields: config.fields || ({} as Fields),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames> = {},\n): prismicT.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t\theight: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t\theight: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockIntegrationFieldsModelConfig = MockModelConfig;\n\nexport const integrationFields = (\n\tconfig: MockIntegrationFieldsModelConfig = {},\n): prismicT.CustomTypeModelIntegrationFieldsField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.IntegrationFields,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tcatalog: changeCase.snakeCase(faker.lorem.words(4)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockKeyTextModelConfig = MockModelConfig;\n\nexport const keyText = (\n\tconfig: MockKeyTextModelConfig = {},\n): prismicT.CustomTypeModelKeyTextField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Text,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkModel<AllowTargetBlank extends boolean = boolean> =\n\tprismicT.CustomTypeModelLinkField & {\n\t\tconfig: AllowTargetBlank extends true\n\t\t\t? {\n\t\t\t\t\tallowTargetBlank: true;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tallowTargetBlank?: undefined;\n\t\t\t };\n\t};\n\nexport type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {\n\tallowTargetBlank?: AllowTargetBlank;\n} & MockModelConfig;\n\nexport const link = <AllowTargetBlank extends boolean = boolean>(\n\tconfig: MockLinkModelConfig<AllowTargetBlank> = {},\n): MockLinkModel<AllowTargetBlank> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: null,\n\t\t\tallowTargetBlank:\n\t\t\t\t(\"allowTargetBlank\" in config\n\t\t\t\t\t? config.allowTargetBlank\n\t\t\t\t\t: faker.datatype.boolean()) || undefined,\n\t\t},\n\t} as MockLinkModel<AllowTargetBlank>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockLinkTomediaModelConfig = MockModelConfig;\n\nexport const linkToMedia = (\n\tconfig: MockLinkTomediaModelConfig = {},\n): prismicT.CustomTypeModelLinkToMediaField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Media,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockNumberModelConfig = MockModelConfig;\n\nexport const number = (\n\tconfig: MockNumberModelConfig = {},\n): prismicT.CustomTypeModelNumberField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Number,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockRichTextModelConfig<\n\tWithMultipleBlocks extends boolean = boolean,\n> = {\n\twithMultipleBlocks?: WithMultipleBlocks;\n} & MockModelConfig;\n\nexport const richText = <WithMultipleBlocks extends boolean = boolean>(\n\tconfig: MockRichTextModelConfig<WithMultipleBlocks> = {},\n): WithMultipleBlocks extends true\n\t? prismicT.CustomTypeModelRichTextMultiField\n\t: prismicT.CustomTypeModelRichTextSingleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst blockTypes = faker.random\n\t\t.arrayElements([\n\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\tprismicT.RichTextNodeType.paragraph,\n\t\t\tprismicT.RichTextNodeType.preformatted,\n\t\t\tprismicT.RichTextNodeType.strong,\n\t\t\tprismicT.RichTextNodeType.em,\n\t\t\tprismicT.RichTextNodeType.listItem,\n\t\t\tprismicT.RichTextNodeType.oListItem,\n\t\t\tprismicT.RichTextNodeType.image,\n\t\t\tprismicT.RichTextNodeType.embed,\n\t\t\tprismicT.RichTextNodeType.hyperlink,\n\t\t])\n\t\t.join(\",\");\n\n\tconst blockTypeConfig =\n\t\tconfig.withMultipleBlocks ?? faker.datatype.boolean()\n\t\t\t? { multi: blockTypes }\n\t\t\t: { single: blockTypes };\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t\t...blockTypeConfig,\n\t\t},\n\t} as WithMultipleBlocks extends true\n\t\t? prismicT.CustomTypeModelRichTextMultiField\n\t\t: prismicT.CustomTypeModelRichTextSingleField;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[];\n\tdefaultValue?: DefaultOption;\n} & MockModelConfig;\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption> = {},\n): prismicT.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSharedSliceModelConfig<\n\tVariation extends prismicT.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismicT.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceModelConfig<Variation> = {},\n): prismicT.SharedSliceModel<string, Variation> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(name);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name);\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nexport const sharedSliceChoice = (): prismicT.CustomTypeModelSharedSlice => {\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<\n\t\tID,\n\t\tPrimaryFields,\n\t\tItemsFields\n\t> = {},\n): prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: ID = config.id || (changeCase.snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name) as ID;\n\t}\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tdocURL: faker.internet.url(),\n\t\tversion: faker.git.shortSha(),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockSliceModelConfig<\n\tNonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields> = {},\n): prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.company.bsNoun()),\n\t\tdisplay: faker.datatype.boolean()\n\t\t\t? prismicT.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismicT.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.lorem.words()),\n\t\tdescription: faker.lorem.sentence(),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSliceZoneModelConfig<\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t> = Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n> = {\n\tchoices?: Slices;\n} & MockModelConfig;\n\nexport const sliceZone = <\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n>(\n\tconfig: MockSliceZoneModelConfig<Slices> = {},\n): prismicT.CustomTypeModelSliceZoneField<Slices> => {\n\tconst labels =\n\t\t{} as prismicT.CustomTypeModelSliceZoneField<Slices>[\"config\"][\"labels\"];\n\n\tfor (const choiceId in config.choices) {\n\t\tconst choice = config.choices[choiceId];\n\n\t\tif (choice.type === prismicT.CustomTypeModelSliceType.Slice) {\n\t\t\tlabels[choiceId as unknown as keyof typeof labels] = [];\n\t\t}\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Slices,\n\t\tfieldset: \"Slice zone\",\n\t\tconfig: {\n\t\t\tlabels,\n\t\t\tchoices: config.choices || ({} as Slices),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTimestampModelConfig = MockModelConfig;\n\nexport const timestamp = (\n\tconfig: MockTimestampModelConfig = {},\n): prismicT.CustomTypeModelTimestampField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Timestamp,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockUIDModelConfig = MockModelConfig;\n\nexport const uid = (\n\tconfig: MockUIDModelConfig = {},\n): prismicT.CustomTypeModelUIDField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.UID,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype GenerateFieldIdConfig = Pick<MockModelConfig, \"seed\">;\n\nexport const generateFieldId = (config: GenerateFieldIdConfig): string => {\n\tconst faker = createFaker(config.seed);\n\n\treturn changeCase.snakeCase(\n\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t);\n};\n","import { GroupFieldModelMap, MockModelConfig, ValueOf } from \"../types\";\n\nimport { boolean } from \"../model/boolean\";\nimport { color } from \"../model/color\";\nimport { contentRelationship } from \"../model/contentRelationship\";\nimport { date } from \"../model/date\";\nimport { embed } from \"../model/embed\";\nimport { geoPoint } from \"../model/geoPoint\";\nimport { image } from \"../model/image\";\nimport { integrationFields } from \"../model/integrationFields\";\nimport { keyText } from \"../model/keyText\";\nimport { link } from \"../model/link\";\nimport { linkToMedia } from \"../model/linkToMedia\";\nimport { number } from \"../model/number\";\nimport { richText } from \"../model/richText\";\nimport { select } from \"../model/select\";\nimport { timestamp } from \"../model/timestamp\";\nimport { title } from \"../model/title\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\n\nconst mockModelFns = {\n\tboolean,\n\tcolor,\n\tcontentRelationship,\n\tdate,\n\tembed,\n\tgeoPoint,\n\timage,\n\tintegrationFields,\n\tkeyText,\n\tlink,\n\tlinkToMedia,\n\tnumber,\n\trichText,\n\tselect,\n\ttimestamp,\n\ttitle,\n};\n\nexport type BuildMockGroupFieldMapConfig = MockModelConfig;\n\nexport const buildMockGroupFieldMap = (\n\tconfig: BuildMockGroupFieldMapConfig = {},\n): GroupFieldModelMap => {\n\tconst faker = createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.random.arrayElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ seed: config.seed });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ seed: config.seed });\n\t}\n\n\treturn fields;\n};\n"],"names":["Faker","fakerLocaleEN","prismicT","changeCase"],"mappings":"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"}
|