@prismicio/mock 0.0.3 → 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 +561 -0
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.d.ts +36 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +561 -0
- package/dist/api/index.js.map +1 -0
- package/dist/index.cjs +672 -644
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +228 -262
- package/dist/{index.mjs → index.js} +663 -634
- package/dist/index.js.map +1 -0
- package/dist/model/index.cjs +163 -203
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.ts +70 -96
- 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 +284 -499
- package/dist/value/index.cjs.map +1 -0
- package/dist/value/index.d.ts +60 -120
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/{index.mjs → index.js} +447 -608
- package/dist/value/index.js.map +1 -0
- package/package.json +25 -20
- package/src/api/index.ts +11 -0
- package/src/api/query.ts +38 -0
- package/src/api/ref.ts +41 -0
- package/src/api/repository.ts +54 -0
- package/src/api/tags.ts +15 -0
- package/src/constants.ts +3 -1
- package/src/index.ts +1 -0
- package/src/lib/buildAlternativeLanguage.ts +18 -0
- package/src/lib/buildContentRelationshipField.ts +12 -5
- package/src/lib/buildEmbedField.ts +1 -1
- package/src/lib/buildImageFieldImage.ts +48 -0
- package/src/lib/createFaker.ts +19 -10
- package/src/lib/generateTags.ts +10 -2
- package/src/lib/valueForModelMap.ts +2 -2
- 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 +23 -30
- package/src/model/sharedSliceVariation.ts +33 -21
- package/src/model/slice.ts +15 -19
- package/src/model/sliceZone.ts +25 -42
- package/src/types.ts +50 -15
- package/src/value/color.ts +16 -6
- package/src/value/contentRelationship.ts +52 -36
- package/src/value/customType.ts +27 -4
- 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 -448
- package/src/lib/buildImageField.ts +0 -34
- package/src/lib/buildMockGroupFieldMap.ts +0 -84
package/dist/model/index.cjs
CHANGED
|
@@ -4,28 +4,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const prismicT = require('@prismicio/types');
|
|
6
6
|
const changeCase = require('change-case');
|
|
7
|
-
const fakerLocaleEN = require('faker/lib/locales/en');
|
|
8
|
-
const Faker = require('faker/lib');
|
|
7
|
+
const fakerLocaleEN = require('faker/lib/locales/en/index.js');
|
|
8
|
+
const Faker = require('faker/lib/index.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
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
|
|
|
@@ -37,14 +35,21 @@ const Faker__default = /*#__PURE__*/_interopDefaultLegacy(Faker);
|
|
|
37
35
|
const FAKER_SEED = 1984;
|
|
38
36
|
|
|
39
37
|
const createFaker = (seed = FAKER_SEED) => {
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
let normalizedSeed;
|
|
39
|
+
if (typeof seed === "string") {
|
|
40
|
+
normalizedSeed = seed.split("").map((char) => char.charCodeAt(0));
|
|
41
|
+
} else {
|
|
42
|
+
normalizedSeed = seed;
|
|
42
43
|
}
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
const cacheKey = JSON.stringify(normalizedSeed);
|
|
45
|
+
if (createFaker.cache[cacheKey]) {
|
|
46
|
+
return createFaker.cache[cacheKey];
|
|
47
|
+
}
|
|
48
|
+
const fakerInstance = new Faker__default["default"]();
|
|
49
|
+
fakerInstance.locales["en"] = fakerLocaleEN__namespace;
|
|
50
|
+
fakerInstance.seed(normalizedSeed);
|
|
51
|
+
createFaker.cache[cacheKey] = fakerInstance;
|
|
52
|
+
return fakerInstance;
|
|
48
53
|
};
|
|
49
54
|
createFaker.cache = {};
|
|
50
55
|
|
|
@@ -69,11 +74,6 @@ const color = (config = {}) => {
|
|
|
69
74
|
};
|
|
70
75
|
};
|
|
71
76
|
|
|
72
|
-
const generateCustomTypeId = (config) => {
|
|
73
|
-
const faker = createFaker(config.seed);
|
|
74
|
-
return changeCase__namespace.snakeCase(faker.company.bsNoun());
|
|
75
|
-
};
|
|
76
|
-
|
|
77
77
|
const contentRelationship = (config = {}) => {
|
|
78
78
|
const faker = createFaker(config.seed);
|
|
79
79
|
return {
|
|
@@ -82,12 +82,37 @@ const contentRelationship = (config = {}) => {
|
|
|
82
82
|
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
83
83
|
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
84
84
|
select: prismicT__namespace.CustomTypeModelLinkSelectType.Document,
|
|
85
|
-
customtypes: config.
|
|
86
|
-
tags: config.
|
|
85
|
+
customtypes: config.customTypeIDs,
|
|
86
|
+
tags: config.tags
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
};
|
|
90
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
|
+
|
|
91
116
|
const date = (config = {}) => {
|
|
92
117
|
const faker = createFaker(config.seed);
|
|
93
118
|
return {
|
|
@@ -120,10 +145,26 @@ const geoPoint = (config = {}) => {
|
|
|
120
145
|
};
|
|
121
146
|
};
|
|
122
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
|
+
|
|
123
159
|
const image = (config = {}) => {
|
|
124
|
-
var _a;
|
|
125
160
|
const faker = createFaker(config.seed);
|
|
126
|
-
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
|
+
});
|
|
127
168
|
return {
|
|
128
169
|
type: prismicT__namespace.CustomTypeModelFieldType.Image,
|
|
129
170
|
config: {
|
|
@@ -132,11 +173,7 @@ const image = (config = {}) => {
|
|
|
132
173
|
width: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null,
|
|
133
174
|
height: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null
|
|
134
175
|
},
|
|
135
|
-
thumbnails
|
|
136
|
-
name: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
137
|
-
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
138
|
-
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
139
|
-
}))
|
|
176
|
+
thumbnails
|
|
140
177
|
}
|
|
141
178
|
};
|
|
142
179
|
};
|
|
@@ -232,17 +269,89 @@ const richText = (config = {}) => {
|
|
|
232
269
|
};
|
|
233
270
|
|
|
234
271
|
const select = (config = {}) => {
|
|
235
|
-
var _a;
|
|
236
272
|
const faker = createFaker(config.seed);
|
|
237
|
-
const optionsCount = (_a = config.optionsCount) != null ? _a : faker.datatype.number({ min: 1, max: 5 });
|
|
238
|
-
const options = Array(optionsCount).fill(void 0).map(() => changeCase__namespace.capitalCase(faker.company.bsBuzz()));
|
|
239
273
|
return {
|
|
240
274
|
type: prismicT__namespace.CustomTypeModelFieldType.Select,
|
|
241
275
|
config: {
|
|
242
276
|
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
243
277
|
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
244
|
-
options,
|
|
245
|
-
default_value: config.
|
|
278
|
+
options: config.options || [],
|
|
279
|
+
default_value: config.defaultValue || void 0
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
const sharedSlice = (config = {}) => {
|
|
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
|
+
}
|
|
293
|
+
return {
|
|
294
|
+
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
|
|
295
|
+
id,
|
|
296
|
+
name,
|
|
297
|
+
description: faker.lorem.sentence(),
|
|
298
|
+
variations: config.variations || []
|
|
299
|
+
};
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
const sharedSliceChoice = () => {
|
|
303
|
+
return {
|
|
304
|
+
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const sharedSliceVariation = (config = {}) => {
|
|
309
|
+
const faker = createFaker(config.seed);
|
|
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);
|
|
316
|
+
}
|
|
317
|
+
return {
|
|
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 || {}
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
const slice = (config = {}) => {
|
|
329
|
+
const faker = createFaker(config.seed);
|
|
330
|
+
return {
|
|
331
|
+
type: prismicT__namespace.CustomTypeModelSliceType.Slice,
|
|
332
|
+
icon: changeCase__namespace.snakeCase(faker.company.bsNoun()),
|
|
333
|
+
display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List,
|
|
334
|
+
fieldset: changeCase__namespace.capitalCase(faker.lorem.words()),
|
|
335
|
+
description: faker.lorem.sentence(),
|
|
336
|
+
repeat: config.repeatFields || {},
|
|
337
|
+
"non-repeat": config.nonRepeatFields || {}
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
const sliceZone = (config = {}) => {
|
|
342
|
+
const labels = {};
|
|
343
|
+
for (const choiceId in config.choices) {
|
|
344
|
+
const choice = config.choices[choiceId];
|
|
345
|
+
if (choice.type === prismicT__namespace.CustomTypeModelSliceType.Slice) {
|
|
346
|
+
labels[choiceId] = [];
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return {
|
|
350
|
+
type: prismicT__namespace.CustomTypeModelFieldType.Slices,
|
|
351
|
+
fieldset: "Slice zone",
|
|
352
|
+
config: {
|
|
353
|
+
labels,
|
|
354
|
+
choices: config.choices || {}
|
|
246
355
|
}
|
|
247
356
|
};
|
|
248
357
|
};
|
|
@@ -279,6 +388,17 @@ const title = (config = {}) => {
|
|
|
279
388
|
};
|
|
280
389
|
};
|
|
281
390
|
|
|
391
|
+
const uid = (config = {}) => {
|
|
392
|
+
const faker = createFaker(config.seed);
|
|
393
|
+
return {
|
|
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
|
+
}
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
|
|
282
402
|
const generateFieldId = (config) => {
|
|
283
403
|
const faker = createFaker(config.seed);
|
|
284
404
|
return changeCase__namespace.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
@@ -303,180 +423,19 @@ const mockModelFns = {
|
|
|
303
423
|
title
|
|
304
424
|
};
|
|
305
425
|
const buildMockGroupFieldMap = (config = {}) => {
|
|
306
|
-
var _a;
|
|
307
426
|
const faker = createFaker(config.seed);
|
|
308
|
-
const configs = config.configs || {};
|
|
309
427
|
const fields = {};
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
const
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
316
|
-
fields[fieldId] = mockModelFn({
|
|
317
|
-
seed: config.seed,
|
|
318
|
-
...mockModelMapConfig.config
|
|
319
|
-
});
|
|
320
|
-
}
|
|
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 });
|
|
321
433
|
}
|
|
322
434
|
return fields;
|
|
323
435
|
};
|
|
324
436
|
|
|
325
|
-
const uid = (config = {}) => {
|
|
326
|
-
const faker = createFaker(config.seed);
|
|
327
|
-
return {
|
|
328
|
-
type: prismicT__namespace.CustomTypeModelFieldType.UID,
|
|
329
|
-
config: {
|
|
330
|
-
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
331
|
-
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
|
|
332
|
-
}
|
|
333
|
-
};
|
|
334
|
-
};
|
|
335
|
-
|
|
336
|
-
const sharedSliceChoice = () => {
|
|
337
|
-
return {
|
|
338
|
-
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice
|
|
339
|
-
};
|
|
340
|
-
};
|
|
341
|
-
|
|
342
|
-
const slice = (config = {}) => {
|
|
343
|
-
var _a, _b, _c, _d, _e, _f;
|
|
344
|
-
const faker = createFaker(config.seed);
|
|
345
|
-
return {
|
|
346
|
-
type: prismicT__namespace.CustomTypeModelSliceType.Slice,
|
|
347
|
-
icon: changeCase__namespace.snakeCase(faker.company.bsNoun()),
|
|
348
|
-
display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List,
|
|
349
|
-
fieldset: changeCase__namespace.capitalCase(faker.lorem.words()),
|
|
350
|
-
description: faker.lorem.sentence(),
|
|
351
|
-
repeat: buildMockGroupFieldMap({
|
|
352
|
-
seed: (_b = (_a = config.repeatFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
|
|
353
|
-
configs: (_c = config.repeatFieldConfig) == null ? void 0 : _c.configs
|
|
354
|
-
}),
|
|
355
|
-
"non-repeat": buildMockGroupFieldMap({
|
|
356
|
-
seed: (_e = (_d = config.nonRepeatFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
357
|
-
configs: (_f = config.nonRepeatFieldConfig) == null ? void 0 : _f.configs
|
|
358
|
-
})
|
|
359
|
-
};
|
|
360
|
-
};
|
|
361
|
-
|
|
362
|
-
const sliceZone = (config = {}) => {
|
|
363
|
-
var _a;
|
|
364
|
-
const faker = createFaker(config.seed);
|
|
365
|
-
const choicesCount = (_a = config.choicesCount) != null ? _a : faker.datatype.number({ min: 2, max: 6 });
|
|
366
|
-
const choices = {};
|
|
367
|
-
for (let i = 0; i < choicesCount; i++) {
|
|
368
|
-
const choiceId = generateFieldId({ seed: config.seed });
|
|
369
|
-
choices[choiceId] = config.withSharedSlices ? sharedSliceChoice() : slice({ seed: config.seed });
|
|
370
|
-
}
|
|
371
|
-
const labels = {};
|
|
372
|
-
if (!config.withSharedSlices) {
|
|
373
|
-
for (const choiceId in choices) {
|
|
374
|
-
const labelsCount = faker.datatype.number({ min: 0, max: 3 });
|
|
375
|
-
labels[choiceId] = Array(labelsCount).fill(void 0).map(() => ({
|
|
376
|
-
name: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
377
|
-
display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List
|
|
378
|
-
}));
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
return {
|
|
382
|
-
type: prismicT__namespace.CustomTypeModelFieldType.Slices,
|
|
383
|
-
fieldset: "Slice zone",
|
|
384
|
-
config: {
|
|
385
|
-
labels,
|
|
386
|
-
choices
|
|
387
|
-
}
|
|
388
|
-
};
|
|
389
|
-
};
|
|
390
|
-
|
|
391
|
-
const customType = (config = {}) => {
|
|
392
|
-
var _a;
|
|
393
|
-
const faker = createFaker(config.seed);
|
|
394
|
-
const tabsCount = (_a = config.tabsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
395
|
-
const json = {};
|
|
396
|
-
for (let i = 0; i < tabsCount; i++) {
|
|
397
|
-
const tabName = changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
398
|
-
const tabFields = buildMockGroupFieldMap({
|
|
399
|
-
seed: config.seed,
|
|
400
|
-
configs: config.configs
|
|
401
|
-
});
|
|
402
|
-
if (i === 0 && config.withUID) {
|
|
403
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
404
|
-
tabFields[fieldId] = uid();
|
|
405
|
-
}
|
|
406
|
-
if (config.withSliceZones) {
|
|
407
|
-
const sliceZoneId = generateFieldId({ seed: config.seed });
|
|
408
|
-
tabFields[sliceZoneId] = sliceZone({
|
|
409
|
-
withSharedSlices: config.withSharedSlices
|
|
410
|
-
});
|
|
411
|
-
}
|
|
412
|
-
json[tabName] = tabFields;
|
|
413
|
-
}
|
|
414
|
-
const id = generateCustomTypeId({ seed: config.seed });
|
|
415
|
-
return {
|
|
416
|
-
id,
|
|
417
|
-
label: changeCase__namespace.capitalCase(id),
|
|
418
|
-
status: faker.datatype.boolean(),
|
|
419
|
-
repeatable: faker.datatype.boolean(),
|
|
420
|
-
json
|
|
421
|
-
};
|
|
422
|
-
};
|
|
423
|
-
|
|
424
|
-
const group = (config = {}) => {
|
|
425
|
-
const faker = createFaker(config.seed);
|
|
426
|
-
const fields = buildMockGroupFieldMap({
|
|
427
|
-
seed: config.seed,
|
|
428
|
-
configs: config.configs
|
|
429
|
-
});
|
|
430
|
-
return {
|
|
431
|
-
type: prismicT__namespace.CustomTypeModelFieldType.Group,
|
|
432
|
-
config: {
|
|
433
|
-
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
434
|
-
fields
|
|
435
|
-
}
|
|
436
|
-
};
|
|
437
|
-
};
|
|
438
|
-
|
|
439
|
-
const sharedSliceVariation = (config = {}) => {
|
|
440
|
-
var _a, _b, _c, _d, _e, _f;
|
|
441
|
-
const faker = createFaker(config.seed);
|
|
442
|
-
const name = changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
443
|
-
return {
|
|
444
|
-
id: changeCase__namespace.snakeCase(name),
|
|
445
|
-
name,
|
|
446
|
-
description: faker.lorem.sentence(),
|
|
447
|
-
docURL: faker.internet.url(),
|
|
448
|
-
version: faker.git.shortSha(),
|
|
449
|
-
primary: buildMockGroupFieldMap({
|
|
450
|
-
seed: (_b = (_a = config.primaryFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
|
|
451
|
-
configs: (_c = config.primaryFieldConfig) == null ? void 0 : _c.configs
|
|
452
|
-
}),
|
|
453
|
-
items: buildMockGroupFieldMap({
|
|
454
|
-
seed: (_e = (_d = config.itemsFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
455
|
-
configs: (_f = config.itemsFieldConfig) == null ? void 0 : _f.configs
|
|
456
|
-
})
|
|
457
|
-
};
|
|
458
|
-
};
|
|
459
|
-
|
|
460
|
-
const sharedSlice = (config = {}) => {
|
|
461
|
-
var _a;
|
|
462
|
-
const faker = createFaker(config.seed);
|
|
463
|
-
const variationsCount = (_a = config.variationsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
464
|
-
const name = changeCase__namespace.capitalCase(faker.company.bsNoun());
|
|
465
|
-
const variations = Array(variationsCount).fill(void 0).map(() => sharedSliceVariation({
|
|
466
|
-
seed: config.seed,
|
|
467
|
-
itemsFieldConfig: config.itemsFieldConfig,
|
|
468
|
-
primaryFieldConfig: config.primaryFieldConfig
|
|
469
|
-
}));
|
|
470
|
-
return {
|
|
471
|
-
type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
|
|
472
|
-
id: changeCase__namespace.snakeCase(name),
|
|
473
|
-
name,
|
|
474
|
-
description: faker.lorem.sentence(),
|
|
475
|
-
variations
|
|
476
|
-
};
|
|
477
|
-
};
|
|
478
|
-
|
|
479
437
|
exports.boolean = boolean;
|
|
438
|
+
exports.buildMockGroupFieldMap = buildMockGroupFieldMap;
|
|
480
439
|
exports.color = color;
|
|
481
440
|
exports.contentRelationship = contentRelationship;
|
|
482
441
|
exports.customType = customType;
|
|
@@ -500,3 +459,4 @@ exports.sliceZone = sliceZone;
|
|
|
500
459
|
exports.timestamp = timestamp;
|
|
501
460
|
exports.title = title;
|
|
502
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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"}
|