@prismicio/mock 0.0.6 → 0.0.9
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 +242 -122
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.d.ts +3 -2
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +669 -0
- package/dist/api/index.js.map +1 -0
- package/dist/index.cjs +581 -571
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +155 -247
- package/dist/{index.mjs → index.js} +574 -561
- package/dist/index.js.map +1 -0
- package/dist/model/index.cjs +294 -257
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.ts +72 -106
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +556 -0
- package/dist/model/index.js.map +1 -0
- package/dist/value/index.cjs +500 -647
- package/dist/value/index.cjs.map +1 -0
- package/dist/value/index.d.ts +71 -129
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/index.js +1461 -0
- package/dist/value/index.js.map +1 -0
- package/package.json +30 -27
- package/src/api/query.ts +2 -2
- package/src/api/ref.ts +3 -3
- package/src/api/repository.ts +5 -5
- package/src/lib/buildContentRelationshipField.ts +6 -1
- package/src/lib/buildEmbedField.ts +16 -27
- package/src/lib/buildImageFieldImage.ts +49 -0
- package/src/lib/createFaker.ts +98 -20
- package/src/lib/generateCustomTypeId.ts +1 -1
- package/src/lib/generateFieldId.ts +1 -3
- package/src/lib/generateTags.ts +4 -12
- package/src/lib/getMockEmbedData.ts +33 -12
- package/src/lib/getMockImageData.ts +1 -1
- package/src/lib/lorem.ts +112 -0
- package/src/model/boolean.ts +1 -1
- package/src/model/buildMockGroupFieldMap.ts +65 -0
- package/src/model/color.ts +2 -2
- package/src/model/contentRelationship.ts +16 -23
- package/src/model/customType.ts +49 -48
- package/src/model/date.ts +2 -2
- package/src/model/embed.ts +2 -2
- package/src/model/geoPoint.ts +1 -1
- package/src/model/group.ts +9 -16
- package/src/model/image.ts +16 -20
- package/src/model/index.ts +2 -0
- package/src/model/integrationFields.ts +5 -3
- package/src/model/keyText.ts +2 -2
- package/src/model/link.ts +3 -3
- package/src/model/linkToMedia.ts +2 -2
- package/src/model/number.ts +2 -2
- package/src/model/richText.ts +6 -6
- package/src/model/select.ts +13 -18
- package/src/model/sharedSlice.ts +15 -42
- package/src/model/sharedSliceVariation.ts +36 -24
- package/src/model/slice.ts +19 -23
- package/src/model/sliceZone.ts +23 -59
- package/src/model/timestamp.ts +2 -2
- package/src/model/title.ts +5 -5
- package/src/model/uid.ts +2 -2
- package/src/types.ts +130 -88
- package/src/value/boolean.ts +1 -1
- package/src/value/color.ts +16 -6
- package/src/value/contentRelationship.ts +54 -39
- package/src/value/customType.ts +5 -5
- package/src/value/date.ts +25 -9
- package/src/value/embed.ts +32 -7
- package/src/value/geoPoint.ts +21 -11
- package/src/value/group.ts +31 -45
- package/src/value/image.ts +22 -9
- package/src/value/integrationFields.ts +26 -14
- package/src/value/keyText.ts +16 -6
- package/src/value/link.ts +36 -37
- package/src/value/linkToMedia.ts +19 -23
- package/src/value/number.ts +16 -6
- package/src/value/richText/embed.ts +2 -2
- package/src/value/richText/heading.ts +10 -17
- package/src/value/richText/image.ts +8 -6
- package/src/value/richText/index.ts +4 -9
- package/src/value/richText/list.ts +4 -8
- package/src/value/richText/oList.ts +4 -8
- package/src/value/richText/paragraph.ts +8 -4
- package/src/value/richText/preformatted.ts +9 -5
- package/src/value/select.ts +23 -8
- package/src/value/sharedSlice.ts +3 -3
- package/src/value/sharedSliceVariation.ts +4 -36
- package/src/value/slice.ts +3 -32
- package/src/value/sliceZone.ts +54 -69
- package/src/value/timestamp.ts +42 -16
- package/src/value/title.ts +26 -13
- package/src/value/uid.ts +2 -2
- package/dist/api/index.mjs +0 -515
- package/dist/model/index.mjs +0 -465
- package/dist/value/index.mjs +0 -1554
- package/src/lib/buildImageField.ts +0 -34
- package/src/lib/buildMockGroupFieldMap.ts +0 -84
|
@@ -1,41 +1,133 @@
|
|
|
1
1
|
import * as changeCase from 'change-case';
|
|
2
|
-
import
|
|
3
|
-
import Faker from 'faker/lib/index.js';
|
|
2
|
+
import Rand from 'rand-seed';
|
|
4
3
|
import * as prismicT from '@prismicio/types';
|
|
5
4
|
|
|
6
5
|
const FAKER_SEED = 1984;
|
|
7
6
|
|
|
7
|
+
const wordsString = "lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim sodales ut eu sem integer vitae justo eget magna fermentum iaculis eu non diam phasellus vestibulum lorem sed risus ultricies tristique nulla aliquet enim tortor, at auctor urna nunc id cursus metus aliquam eleifend mi in nulla posuere sollicitudin aliquam ultrices sagittis orci, a scelerisque purus semper eget duis at tellus at urna condimentum mattis pellentesque id nibh tortor, id aliquet lectus proin nibh nisl, condimentum id venenatis a, condimentum vitae sapien pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas sed tempus, urna et pharetra pharetra, massa massa ultricies mi, quis hendrerit dolor magna eget est lorem ipsum dolor sit amet, consectetur adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas integer eget aliquet nibh praesent tristique magna sit amet purus gravida quis blandit turpis cursus in hac habitasse platea dictumst quisque sagittis, purus sit amet volutpat consequat, mauris nunc congue nisi, vitae suscipit tellus mauris a diam maecenas sed enim ut sem viverra aliquet eget sit amet tellus cras adipiscing enim eu turpis egestas pretium aenean pharetra, magna ac placerat vestibulum, lectus mauris ultrices eros, in cursus turpis massa tincidunt dui ut ornare lectus sit amet est placerat in egestas erat imperdiet sed euismod nisi porta lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor id eu nisl nunc mi ipsum, faucibus vitae aliquet nec, ullamcorper sit amet risus nullam eget felis eget nunc lobortis mattis aliquam faucibus purus in massa tempor nec feugiat nisl pretium fusce id velit ut tortor pretium viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare suspendisse sed nisi lacus, sed viverra tellus in hac habitasse platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus at augue eget arcu dictum varius duis at consectetur lorem donec massa sapien, faucibus et molestie ac, feugiat sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare massa, eget egestas purus viverra accumsan in nisl nisi, scelerisque eu ultrices vitae, auctor eu augue ut lectus arcu, bibendum at varius vel, pharetra vel turpis nunc eget lorem dolor, sed viverra ipsum nunc aliquet bibendum enim, facilisis gravida neque convallis a cras semper auctor neque, vitae tempus quam pellentesque nec nam aliquam sem et tortor consequat id porta nibh venenatis cras sed felis eget velit aliquet sagittis id consectetur purus ut faucibus pulvinar elementum integer enim neque, volutpat ac tincidunt vitae, semper quis lectus nulla at volutpat diam ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet proin fermentum leo vel orci porta non pulvinar neque laoreet suspendisse interdum consectetur libero, id faucibus nisl tincidunt eget nullam non nisi est, sit amet facilisis magna etiam tempor, orci eu lobortis elementum, nibh tellus molestie nunc, non blandit massa enim nec dui nunc mattis enim ut tellus elementum sagittis vitae et leo duis ut diam quam nulla porttitor massa id neque aliquam vestibulum morbi blandit cursus risus, at ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus mauris vitae ultricies leo integer malesuada nunc vel risus commodo viverra maecenas accumsan, lacus vel facilisis volutpat, est velit egestas dui, id ornare arcu odio ut sem nulla pharetra diam sit amet nisl suscipit adipiscing bibendum est ultricies integer quis auctor elit sed vulputate mi sit amet mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero nunc, consequat interdum varius sit amet, mattis vulputate enim nulla aliquet porttitor lacus, luctus accumsan tortor posuere ac ut consequat semper viverra nam libero justo, laoreet sit amet cursus sit amet, dictum sit amet justo donec enim diam, vulputate ut pharetra sit amet, aliquam id diam maecenas ultricies mi eget mauris pharetra et ultrices neque ornare aenean euismod elementum nisi, quis eleifend quam adipiscing vitae proin sagittis, nisl rhoncus mattis rhoncus, urna neque viverra justo, nec ultrices dui sapien eget mi proin sed libero enim, sed faucibus turpis in eu mi bibendum neque egestas congue quisque egestas diam in arcu cursus euismod quis viverra nibh cras pulvinar mattis nunc, sed blandit libero volutpat sed cras ornare arcu dui vivamus arcu felis, bibendum ut tristique et, egestas quis ipsum suspendisse ultrices gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim, sit amet venenatis urna cursus eget nunc scelerisque viverra mauris, in aliquam sem fringilla ut morbi tincidunt augue interdum velit euismod in pellentesque massa placerat duis ultricies lacus sed turpis tincidunt id aliquet risus feugiat in ante metus, dictum at tempor commodo, ullamcorper a lacus vestibulum sed arcu non odio euismod lacinia at quis risus sed vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam etiam erat velit, scelerisque in dictum non, consectetur a erat nam at lectus urna duis convallis convallis tellus, id interdum velit laoreet id donec ultrices tincidunt arcu, non sodales neque sodales ut etiam sit amet nisl purus, in mollis nunc sed id semper risus in hendrerit gravida rutrum quisque non tellus orci, ac auctor augue mauris augue neque, gravida in fermentum et, sollicitudin ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum, odio eu feugiat pretium, nibh ipsum consequat nisl, vel pretium lectus quam id leo in vitae turpis massa sed elementum tempus egestas sed sed risus pretium quam vulputate dignissim suspendisse in est ante in nibh mauris, cursus mattis molestie a, iaculis at erat pellentesque adipiscing commodo elit, at imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis urna, id volutpat lacus laoreet non curabitur gravida arcu ac tortor dignissim convallis aenean et tortor at risus viverra adipiscing at in tellus integer feugiat scelerisque varius morbi enim nunc, faucibus a pellentesque sit amet, porttitor eget dolor morbi non arcu risus, quis varius quam quisque id diam vel quam elementum pulvinar etiam non quam lacus suspendisse faucibus interdum posuere lorem ipsum dolor sit amet, consectetur adipiscing elit duis tristique sollicitudin nibh sit amet commodo nulla facilisi nullam vehicula ipsum a arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas maecenas pharetra convallis posuere morbi leo urna, molestie at elementum eu, facilisis sed odio morbi quis commodo odio aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat in fermentum posuere urna nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a molestie";
|
|
8
|
+
const loremWords = wordsString.split(" ");
|
|
9
|
+
const lorem = (length, wordOffset = 0) => {
|
|
10
|
+
const count = parseInt(length.substring(0, length.length - 1));
|
|
11
|
+
const countType = length.charAt(length.length - 1);
|
|
12
|
+
if (!isNaN(count) && (countType === "w" || countType === "c")) {
|
|
13
|
+
if (!lorem.spaceIndices.length) {
|
|
14
|
+
let startIndex = -1;
|
|
15
|
+
do {
|
|
16
|
+
const index = wordsString.indexOf(" ", startIndex + 1);
|
|
17
|
+
lorem.spaceIndices.push(index);
|
|
18
|
+
startIndex = index;
|
|
19
|
+
} while (startIndex !== -1);
|
|
20
|
+
}
|
|
21
|
+
if (countType === "c") {
|
|
22
|
+
return wordsString.substring(0, count);
|
|
23
|
+
} else {
|
|
24
|
+
let sentence = "";
|
|
25
|
+
const startSpaceIndex = lorem.spaceIndices[wordOffset % lorem.spaceIndices.length - 1];
|
|
26
|
+
const endSpaceIndex = lorem.spaceIndices[(wordOffset % lorem.spaceIndices.length + count) % lorem.spaceIndices.length - 1];
|
|
27
|
+
if (count + wordOffset % lorem.spaceIndices.length > lorem.spaceIndices.length) {
|
|
28
|
+
sentence += wordsString.substring(startSpaceIndex + 1) + " ";
|
|
29
|
+
const wraparoundCounts = Math.floor(count / lorem.spaceIndices.length) - 1;
|
|
30
|
+
for (let i = 0; i < wraparoundCounts; i++) {
|
|
31
|
+
sentence += wordsString + " ";
|
|
32
|
+
}
|
|
33
|
+
sentence += wordsString.substring(0, endSpaceIndex);
|
|
34
|
+
} else {
|
|
35
|
+
sentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);
|
|
36
|
+
}
|
|
37
|
+
if (sentence.charAt(sentence.length - 1) === ",") {
|
|
38
|
+
return sentence.substring(0, sentence.length - 1);
|
|
39
|
+
} else {
|
|
40
|
+
return sentence.substring(0, sentence.length);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
throw new Error("Length must be of the form `${number}w` or `${number}c`");
|
|
45
|
+
};
|
|
46
|
+
lorem.spaceIndices = [];
|
|
47
|
+
|
|
8
48
|
const createFaker = (seed = FAKER_SEED) => {
|
|
9
|
-
|
|
10
|
-
if (
|
|
11
|
-
|
|
49
|
+
const normalizedSeed = seed.toString();
|
|
50
|
+
if (createFaker.cache[normalizedSeed]) {
|
|
51
|
+
return createFaker.cache[normalizedSeed];
|
|
12
52
|
} else {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const cacheKey = JSON.stringify(normalizedSeed);
|
|
16
|
-
if (createFaker.cache[cacheKey]) {
|
|
17
|
-
return createFaker.cache[cacheKey];
|
|
53
|
+
const faker = new Faker(normalizedSeed);
|
|
54
|
+
return createFaker.cache[normalizedSeed] = faker;
|
|
18
55
|
}
|
|
19
|
-
const fakerInstance = new Faker();
|
|
20
|
-
fakerInstance.locales["en"] = fakerLocaleEN;
|
|
21
|
-
fakerInstance.seed(normalizedSeed);
|
|
22
|
-
createFaker.cache[cacheKey] = fakerInstance;
|
|
23
|
-
return fakerInstance;
|
|
24
56
|
};
|
|
25
57
|
createFaker.cache = {};
|
|
58
|
+
const DAY_MS = 1e3 * 60 * 60 * 24;
|
|
59
|
+
const YEAR_MS = DAY_MS * 365;
|
|
60
|
+
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
61
|
+
class Faker {
|
|
62
|
+
constructor(seed) {
|
|
63
|
+
this.rand = new Rand(seed);
|
|
64
|
+
}
|
|
65
|
+
boolean() {
|
|
66
|
+
return this.random() >= 0.5;
|
|
67
|
+
}
|
|
68
|
+
random() {
|
|
69
|
+
return this.rand.next();
|
|
70
|
+
}
|
|
71
|
+
randomElement(elements) {
|
|
72
|
+
return elements[this.range(0, elements.length)];
|
|
73
|
+
}
|
|
74
|
+
randomElements(elements) {
|
|
75
|
+
return elements.filter(() => this.boolean());
|
|
76
|
+
}
|
|
77
|
+
range(min, max) {
|
|
78
|
+
return Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));
|
|
79
|
+
}
|
|
80
|
+
rangeFloat(min, max) {
|
|
81
|
+
return this.random() * (max - min) + min;
|
|
82
|
+
}
|
|
83
|
+
words(length, wordOffset = this.range(0, loremWords.length)) {
|
|
84
|
+
return lorem(`${length}w`, wordOffset);
|
|
85
|
+
}
|
|
86
|
+
word() {
|
|
87
|
+
return this.randomElement(loremWords);
|
|
88
|
+
}
|
|
89
|
+
lorem(length, wordOffset = this.range(0, loremWords.length)) {
|
|
90
|
+
return lorem(length, wordOffset);
|
|
91
|
+
}
|
|
92
|
+
url() {
|
|
93
|
+
return `https://${this.word()}.example`;
|
|
94
|
+
}
|
|
95
|
+
hexColor() {
|
|
96
|
+
return `#${this.hash(6)}`;
|
|
97
|
+
}
|
|
98
|
+
hash(length) {
|
|
99
|
+
let hash = "";
|
|
100
|
+
for (let i = 0; i < length; i++) {
|
|
101
|
+
const chars = this.boolean() ? "abcdef" : "0123456789";
|
|
102
|
+
hash += chars[this.range(0, chars.length)];
|
|
103
|
+
}
|
|
104
|
+
return hash;
|
|
105
|
+
}
|
|
106
|
+
date() {
|
|
107
|
+
return new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));
|
|
108
|
+
}
|
|
109
|
+
dateAfter(date) {
|
|
110
|
+
const timestamp = date.getTime();
|
|
111
|
+
return new Date(this.range(timestamp, timestamp + YEAR_MS * 3));
|
|
112
|
+
}
|
|
113
|
+
dateBefore(date) {
|
|
114
|
+
const timestamp = date.getTime();
|
|
115
|
+
return new Date(this.range(timestamp - YEAR_MS * 3, timestamp));
|
|
116
|
+
}
|
|
117
|
+
dateBetween(min, max) {
|
|
118
|
+
return new Date(this.range(min.getTime(), max.getTime()));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
26
121
|
|
|
27
122
|
const generateTags = (config) => {
|
|
28
123
|
var _a, _b;
|
|
29
124
|
const faker = createFaker(config.seed);
|
|
30
|
-
return Array(faker.
|
|
31
|
-
min: (_a = config.min) != null ? _a : 0,
|
|
32
|
-
max: (_b = config.max) != null ? _b : 2
|
|
33
|
-
})).fill(void 0).map(() => changeCase.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 }))));
|
|
125
|
+
return Array.from({ length: faker.range((_a = config.min) != null ? _a : 0, (_b = config.max) != null ? _b : 2) }, () => changeCase.capitalCase(faker.words(faker.range(1, 3))));
|
|
34
126
|
};
|
|
35
127
|
|
|
36
128
|
const boolean$1 = (config = {}) => {
|
|
37
129
|
const faker = createFaker(config.seed);
|
|
38
|
-
return faker.
|
|
130
|
+
return faker.boolean();
|
|
39
131
|
};
|
|
40
132
|
|
|
41
133
|
const valueForModel = (config) => {
|
|
@@ -252,7 +344,7 @@ const boolean = (config = {}) => {
|
|
|
252
344
|
return {
|
|
253
345
|
type: prismicT.CustomTypeModelFieldType.Boolean,
|
|
254
346
|
config: {
|
|
255
|
-
label: changeCase.capitalCase(faker.
|
|
347
|
+
label: changeCase.capitalCase(faker.word())
|
|
256
348
|
}
|
|
257
349
|
};
|
|
258
350
|
};
|
|
@@ -262,38 +354,58 @@ const color$1 = (config = {}) => {
|
|
|
262
354
|
return {
|
|
263
355
|
type: prismicT.CustomTypeModelFieldType.Color,
|
|
264
356
|
config: {
|
|
265
|
-
label: changeCase.capitalCase(faker.
|
|
266
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
357
|
+
label: changeCase.capitalCase(faker.word()),
|
|
358
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
267
359
|
}
|
|
268
360
|
};
|
|
269
361
|
};
|
|
270
362
|
|
|
271
|
-
const generateCustomTypeId = (config) => {
|
|
272
|
-
const faker = createFaker(config.seed);
|
|
273
|
-
return changeCase.snakeCase(faker.company.bsNoun());
|
|
274
|
-
};
|
|
275
|
-
|
|
276
363
|
const contentRelationship$1 = (config = {}) => {
|
|
277
364
|
const faker = createFaker(config.seed);
|
|
278
365
|
return {
|
|
279
366
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
280
367
|
config: {
|
|
281
|
-
label: changeCase.capitalCase(faker.
|
|
282
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
368
|
+
label: changeCase.capitalCase(faker.word()),
|
|
369
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
283
370
|
select: prismicT.CustomTypeModelLinkSelectType.Document,
|
|
284
|
-
customtypes: config.
|
|
285
|
-
tags: config.
|
|
371
|
+
customtypes: config.customTypeIDs,
|
|
372
|
+
tags: config.tags
|
|
286
373
|
}
|
|
287
374
|
};
|
|
288
375
|
};
|
|
289
376
|
|
|
377
|
+
const customType$1 = (config = {}) => {
|
|
378
|
+
var _a, _b;
|
|
379
|
+
const faker = createFaker(config.seed);
|
|
380
|
+
let label = config.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
381
|
+
let id = config.id || changeCase.snakeCase(label);
|
|
382
|
+
if (config.id && !config.label) {
|
|
383
|
+
label = changeCase.capitalCase(config.id);
|
|
384
|
+
} else if (config.label && !config.label) {
|
|
385
|
+
id = changeCase.snakeCase(config.label);
|
|
386
|
+
}
|
|
387
|
+
let json = {};
|
|
388
|
+
if ("fields" in config && config.fields) {
|
|
389
|
+
json = { Main: config.fields };
|
|
390
|
+
} else if ("tabs" in config && config.tabs) {
|
|
391
|
+
json = config.tabs;
|
|
392
|
+
}
|
|
393
|
+
return {
|
|
394
|
+
id,
|
|
395
|
+
label,
|
|
396
|
+
status: (_a = config.status) != null ? _a : faker.boolean(),
|
|
397
|
+
repeatable: (_b = config.repeatable) != null ? _b : faker.boolean(),
|
|
398
|
+
json
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
|
|
290
402
|
const date$1 = (config = {}) => {
|
|
291
403
|
const faker = createFaker(config.seed);
|
|
292
404
|
return {
|
|
293
405
|
type: prismicT.CustomTypeModelFieldType.Date,
|
|
294
406
|
config: {
|
|
295
|
-
label: changeCase.capitalCase(faker.
|
|
296
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
407
|
+
label: changeCase.capitalCase(faker.word()),
|
|
408
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
297
409
|
}
|
|
298
410
|
};
|
|
299
411
|
};
|
|
@@ -303,8 +415,8 @@ const embed$2 = (config = {}) => {
|
|
|
303
415
|
return {
|
|
304
416
|
type: prismicT.CustomTypeModelFieldType.Embed,
|
|
305
417
|
config: {
|
|
306
|
-
label: changeCase.capitalCase(faker.
|
|
307
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
418
|
+
label: changeCase.capitalCase(faker.word()),
|
|
419
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
308
420
|
}
|
|
309
421
|
};
|
|
310
422
|
};
|
|
@@ -314,28 +426,40 @@ const geoPoint$1 = (config = {}) => {
|
|
|
314
426
|
return {
|
|
315
427
|
type: prismicT.CustomTypeModelFieldType.GeoPoint,
|
|
316
428
|
config: {
|
|
317
|
-
label: changeCase.capitalCase(faker.
|
|
429
|
+
label: changeCase.capitalCase(faker.word())
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
const group$1 = (config = {}) => {
|
|
435
|
+
const faker = createFaker(config.seed);
|
|
436
|
+
return {
|
|
437
|
+
type: prismicT.CustomTypeModelFieldType.Group,
|
|
438
|
+
config: {
|
|
439
|
+
label: changeCase.capitalCase(faker.word()),
|
|
440
|
+
fields: config.fields || {}
|
|
318
441
|
}
|
|
319
442
|
};
|
|
320
443
|
};
|
|
321
444
|
|
|
322
445
|
const image$2 = (config = {}) => {
|
|
323
|
-
var _a;
|
|
324
446
|
const faker = createFaker(config.seed);
|
|
325
|
-
const
|
|
447
|
+
const thumbnails = (config.thumbnailNames || []).map((name) => {
|
|
448
|
+
return {
|
|
449
|
+
name,
|
|
450
|
+
width: faker.range(500, 2e3),
|
|
451
|
+
height: faker.range(500, 2e3)
|
|
452
|
+
};
|
|
453
|
+
});
|
|
326
454
|
return {
|
|
327
455
|
type: prismicT.CustomTypeModelFieldType.Image,
|
|
328
456
|
config: {
|
|
329
|
-
label: changeCase.capitalCase(faker.
|
|
457
|
+
label: changeCase.capitalCase(faker.word()),
|
|
330
458
|
constraint: {
|
|
331
|
-
width: config.withConstraint ? faker.
|
|
332
|
-
height: config.withConstraint ? faker.
|
|
459
|
+
width: config.withConstraint ? faker.range(500, 2e3) : null,
|
|
460
|
+
height: config.withConstraint ? faker.range(500, 2e3) : null
|
|
333
461
|
},
|
|
334
|
-
thumbnails
|
|
335
|
-
name: changeCase.pascalCase(faker.company.bsNoun()),
|
|
336
|
-
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
337
|
-
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
338
|
-
}))
|
|
462
|
+
thumbnails
|
|
339
463
|
}
|
|
340
464
|
};
|
|
341
465
|
};
|
|
@@ -345,8 +469,8 @@ const integrationFields$1 = (config = {}) => {
|
|
|
345
469
|
return {
|
|
346
470
|
type: prismicT.CustomTypeModelFieldType.IntegrationFields,
|
|
347
471
|
config: {
|
|
348
|
-
label: changeCase.capitalCase(faker.
|
|
349
|
-
catalog: changeCase.snakeCase(faker.
|
|
472
|
+
label: changeCase.capitalCase(faker.word()),
|
|
473
|
+
catalog: config.catalog || changeCase.snakeCase(faker.words(2))
|
|
350
474
|
}
|
|
351
475
|
};
|
|
352
476
|
};
|
|
@@ -356,8 +480,8 @@ const keyText$1 = (config = {}) => {
|
|
|
356
480
|
return {
|
|
357
481
|
type: prismicT.CustomTypeModelFieldType.Text,
|
|
358
482
|
config: {
|
|
359
|
-
label: changeCase.capitalCase(faker.
|
|
360
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
483
|
+
label: changeCase.capitalCase(faker.word()),
|
|
484
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
361
485
|
}
|
|
362
486
|
};
|
|
363
487
|
};
|
|
@@ -367,10 +491,10 @@ const link$1 = (config = {}) => {
|
|
|
367
491
|
return {
|
|
368
492
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
369
493
|
config: {
|
|
370
|
-
label: changeCase.capitalCase(faker.
|
|
371
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
494
|
+
label: changeCase.capitalCase(faker.word()),
|
|
495
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
372
496
|
select: null,
|
|
373
|
-
allowTargetBlank: ("allowTargetBlank" in config ? config.allowTargetBlank : faker.
|
|
497
|
+
allowTargetBlank: ("allowTargetBlank" in config ? config.allowTargetBlank : faker.boolean()) || void 0
|
|
374
498
|
}
|
|
375
499
|
};
|
|
376
500
|
};
|
|
@@ -380,8 +504,8 @@ const linkToMedia$1 = (config = {}) => {
|
|
|
380
504
|
return {
|
|
381
505
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
382
506
|
config: {
|
|
383
|
-
label: changeCase.capitalCase(faker.
|
|
384
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
507
|
+
label: changeCase.capitalCase(faker.word()),
|
|
508
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
385
509
|
select: prismicT.CustomTypeModelLinkSelectType.Media
|
|
386
510
|
}
|
|
387
511
|
};
|
|
@@ -392,8 +516,8 @@ const number$1 = (config = {}) => {
|
|
|
392
516
|
return {
|
|
393
517
|
type: prismicT.CustomTypeModelFieldType.Number,
|
|
394
518
|
config: {
|
|
395
|
-
label: changeCase.capitalCase(faker.
|
|
396
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
519
|
+
label: changeCase.capitalCase(faker.word()),
|
|
520
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
397
521
|
}
|
|
398
522
|
};
|
|
399
523
|
};
|
|
@@ -401,7 +525,7 @@ const number$1 = (config = {}) => {
|
|
|
401
525
|
const richText$1 = (config = {}) => {
|
|
402
526
|
var _a;
|
|
403
527
|
const faker = createFaker(config.seed);
|
|
404
|
-
const blockTypes = faker.
|
|
528
|
+
const blockTypes = faker.randomElements([
|
|
405
529
|
prismicT.RichTextNodeType.heading1,
|
|
406
530
|
prismicT.RichTextNodeType.heading2,
|
|
407
531
|
prismicT.RichTextNodeType.heading3,
|
|
@@ -418,168 +542,94 @@ const richText$1 = (config = {}) => {
|
|
|
418
542
|
prismicT.RichTextNodeType.embed,
|
|
419
543
|
prismicT.RichTextNodeType.hyperlink
|
|
420
544
|
]).join(",");
|
|
421
|
-
const blockTypeConfig = ((_a = config.withMultipleBlocks) != null ? _a : faker.
|
|
545
|
+
const blockTypeConfig = ((_a = config.withMultipleBlocks) != null ? _a : faker.boolean()) ? { multi: blockTypes } : { single: blockTypes };
|
|
422
546
|
return {
|
|
423
547
|
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
424
548
|
config: {
|
|
425
|
-
label: changeCase.capitalCase(faker.
|
|
426
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
427
|
-
allowTargetBlank: faker.
|
|
549
|
+
label: changeCase.capitalCase(faker.word()),
|
|
550
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
551
|
+
allowTargetBlank: faker.boolean() ? true : void 0,
|
|
428
552
|
...blockTypeConfig
|
|
429
553
|
}
|
|
430
554
|
};
|
|
431
555
|
};
|
|
432
556
|
|
|
433
557
|
const select$1 = (config = {}) => {
|
|
434
|
-
var _a;
|
|
435
558
|
const faker = createFaker(config.seed);
|
|
436
|
-
const optionsCount = (_a = config.optionsCount) != null ? _a : faker.datatype.number({ min: 1, max: 5 });
|
|
437
|
-
const options = Array(optionsCount).fill(void 0).map(() => changeCase.capitalCase(faker.company.bsBuzz()));
|
|
438
559
|
return {
|
|
439
560
|
type: prismicT.CustomTypeModelFieldType.Select,
|
|
440
561
|
config: {
|
|
441
|
-
label: changeCase.capitalCase(faker.
|
|
442
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
443
|
-
options,
|
|
444
|
-
default_value: config.
|
|
562
|
+
label: changeCase.capitalCase(faker.word()),
|
|
563
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
564
|
+
options: config.options || [],
|
|
565
|
+
default_value: config.defaultValue || void 0
|
|
445
566
|
}
|
|
446
567
|
};
|
|
447
568
|
};
|
|
448
569
|
|
|
449
|
-
const
|
|
570
|
+
const sharedSlice$1 = (config = {}) => {
|
|
450
571
|
const faker = createFaker(config.seed);
|
|
572
|
+
let name = config.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
573
|
+
let id = config.id || changeCase.snakeCase(name);
|
|
574
|
+
if (config.id && !config.name) {
|
|
575
|
+
name = changeCase.pascalCase(config.id);
|
|
576
|
+
} else if (config.name && !config.name) {
|
|
577
|
+
id = changeCase.snakeCase(config.name);
|
|
578
|
+
}
|
|
451
579
|
return {
|
|
452
|
-
type: prismicT.
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
580
|
+
type: prismicT.CustomTypeModelSliceType.SharedSlice,
|
|
581
|
+
id,
|
|
582
|
+
name,
|
|
583
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
584
|
+
variations: config.variations || []
|
|
457
585
|
};
|
|
458
586
|
};
|
|
459
587
|
|
|
460
|
-
const
|
|
461
|
-
const faker = createFaker(config.seed);
|
|
462
|
-
const single = faker.random.arrayElements([
|
|
463
|
-
"heading1",
|
|
464
|
-
"heading2",
|
|
465
|
-
"heading3",
|
|
466
|
-
"heading4",
|
|
467
|
-
"heading5",
|
|
468
|
-
"heading6"
|
|
469
|
-
]).join(",");
|
|
588
|
+
const sharedSliceChoice = () => {
|
|
470
589
|
return {
|
|
471
|
-
type: prismicT.
|
|
472
|
-
config: {
|
|
473
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
474
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
475
|
-
single,
|
|
476
|
-
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
477
|
-
}
|
|
590
|
+
type: prismicT.CustomTypeModelSliceType.SharedSlice
|
|
478
591
|
};
|
|
479
592
|
};
|
|
480
593
|
|
|
481
|
-
const
|
|
482
|
-
const faker = createFaker(config.seed);
|
|
483
|
-
return changeCase.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
484
|
-
};
|
|
485
|
-
|
|
486
|
-
const mockModelFns = {
|
|
487
|
-
boolean,
|
|
488
|
-
color: color$1,
|
|
489
|
-
contentRelationship: contentRelationship$1,
|
|
490
|
-
date: date$1,
|
|
491
|
-
embed: embed$2,
|
|
492
|
-
geoPoint: geoPoint$1,
|
|
493
|
-
image: image$2,
|
|
494
|
-
integrationFields: integrationFields$1,
|
|
495
|
-
keyText: keyText$1,
|
|
496
|
-
link: link$1,
|
|
497
|
-
linkToMedia: linkToMedia$1,
|
|
498
|
-
number: number$1,
|
|
499
|
-
richText: richText$1,
|
|
500
|
-
select: select$1,
|
|
501
|
-
timestamp: timestamp$1,
|
|
502
|
-
title: title$1
|
|
503
|
-
};
|
|
504
|
-
const buildMockGroupFieldMap = (config = {}) => {
|
|
505
|
-
var _a;
|
|
594
|
+
const sharedSliceVariation$1 = (config = {}) => {
|
|
506
595
|
const faker = createFaker(config.seed);
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
for (let i = 0; i < count; i++) {
|
|
514
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
515
|
-
fields[fieldId] = mockModelFn({
|
|
516
|
-
seed: config.seed,
|
|
517
|
-
...mockModelMapConfig.config
|
|
518
|
-
});
|
|
519
|
-
}
|
|
596
|
+
let name = config.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
597
|
+
let id = config.id || changeCase.snakeCase(name);
|
|
598
|
+
if (config.id && !config.name) {
|
|
599
|
+
name = changeCase.pascalCase(config.id);
|
|
600
|
+
} else if (config.name && !config.name) {
|
|
601
|
+
id = changeCase.snakeCase(config.name);
|
|
520
602
|
}
|
|
521
|
-
return fields;
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
const uid$1 = (config = {}) => {
|
|
525
|
-
const faker = createFaker(config.seed);
|
|
526
603
|
return {
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
const sharedSliceChoice = () => {
|
|
536
|
-
return {
|
|
537
|
-
type: prismicT.CustomTypeModelSliceType.SharedSlice
|
|
604
|
+
id,
|
|
605
|
+
name,
|
|
606
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
607
|
+
docURL: faker.url(),
|
|
608
|
+
version: faker.hash(7),
|
|
609
|
+
primary: config.primaryFields || {},
|
|
610
|
+
items: config.itemsFields || {}
|
|
538
611
|
};
|
|
539
612
|
};
|
|
540
613
|
|
|
541
614
|
const slice$1 = (config = {}) => {
|
|
542
|
-
var _a, _b, _c, _d, _e, _f;
|
|
543
615
|
const faker = createFaker(config.seed);
|
|
544
616
|
return {
|
|
545
617
|
type: prismicT.CustomTypeModelSliceType.Slice,
|
|
546
|
-
icon: changeCase.snakeCase(faker.
|
|
547
|
-
display: faker.
|
|
548
|
-
fieldset: changeCase.capitalCase(faker.
|
|
549
|
-
description: faker.
|
|
550
|
-
repeat:
|
|
551
|
-
|
|
552
|
-
configs: (_c = config.repeatFieldConfig) == null ? void 0 : _c.configs
|
|
553
|
-
}),
|
|
554
|
-
"non-repeat": buildMockGroupFieldMap({
|
|
555
|
-
seed: (_e = (_d = config.nonRepeatFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
556
|
-
configs: (_f = config.nonRepeatFieldConfig) == null ? void 0 : _f.configs
|
|
557
|
-
})
|
|
618
|
+
icon: changeCase.snakeCase(faker.word()),
|
|
619
|
+
display: faker.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List,
|
|
620
|
+
fieldset: changeCase.capitalCase(faker.words(2)),
|
|
621
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
622
|
+
repeat: config.repeatFields || {},
|
|
623
|
+
"non-repeat": config.nonRepeatFields || {}
|
|
558
624
|
};
|
|
559
625
|
};
|
|
560
626
|
|
|
561
627
|
const sliceZone$1 = (config = {}) => {
|
|
562
|
-
var _a;
|
|
563
|
-
const faker = createFaker(config.seed);
|
|
564
|
-
let choices = {};
|
|
565
|
-
if ("choices" in config) {
|
|
566
|
-
choices = config.choices || {};
|
|
567
|
-
} else {
|
|
568
|
-
const choicesCount = (_a = config.choicesCount) != null ? _a : faker.datatype.number({ min: 2, max: 6 });
|
|
569
|
-
for (let i = 0; i < choicesCount; i++) {
|
|
570
|
-
const choiceId = generateFieldId({ seed: config.seed });
|
|
571
|
-
choices[choiceId] = config.withSharedSlices ? sharedSliceChoice() : slice$1({ seed: config.seed });
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
628
|
const labels = {};
|
|
575
|
-
for (const choiceId in choices) {
|
|
576
|
-
const choice = choices[choiceId];
|
|
629
|
+
for (const choiceId in config.choices) {
|
|
630
|
+
const choice = config.choices[choiceId];
|
|
577
631
|
if (choice.type === prismicT.CustomTypeModelSliceType.Slice) {
|
|
578
|
-
|
|
579
|
-
labels[choiceId] = Array(labelsCount).fill(void 0).map(() => ({
|
|
580
|
-
name: changeCase.capitalCase(faker.company.bsNoun()),
|
|
581
|
-
display: faker.datatype.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List
|
|
582
|
-
}));
|
|
632
|
+
labels[choiceId] = [];
|
|
583
633
|
}
|
|
584
634
|
}
|
|
585
635
|
return {
|
|
@@ -587,102 +637,87 @@ const sliceZone$1 = (config = {}) => {
|
|
|
587
637
|
fieldset: "Slice zone",
|
|
588
638
|
config: {
|
|
589
639
|
labels,
|
|
590
|
-
choices
|
|
640
|
+
choices: config.choices || {}
|
|
591
641
|
}
|
|
592
642
|
};
|
|
593
643
|
};
|
|
594
644
|
|
|
595
|
-
const
|
|
596
|
-
var _a;
|
|
645
|
+
const timestamp$1 = (config = {}) => {
|
|
597
646
|
const faker = createFaker(config.seed);
|
|
598
|
-
const tabsCount = (_a = config.tabsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
599
|
-
const json = {};
|
|
600
|
-
for (let i = 0; i < tabsCount; i++) {
|
|
601
|
-
const tabName = changeCase.capitalCase(faker.lorem.word());
|
|
602
|
-
const tabFields = buildMockGroupFieldMap({
|
|
603
|
-
seed: config.seed,
|
|
604
|
-
configs: config.configs
|
|
605
|
-
});
|
|
606
|
-
if (i === 0 && config.withUID) {
|
|
607
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
608
|
-
tabFields[fieldId] = uid$1();
|
|
609
|
-
}
|
|
610
|
-
if (config.withSliceZones) {
|
|
611
|
-
const sliceZoneId = generateFieldId({ seed: config.seed });
|
|
612
|
-
tabFields[sliceZoneId] = sliceZone$1({
|
|
613
|
-
withSharedSlices: config.withSharedSlices
|
|
614
|
-
});
|
|
615
|
-
}
|
|
616
|
-
json[tabName] = tabFields;
|
|
617
|
-
}
|
|
618
|
-
const id = generateCustomTypeId({ seed: config.seed });
|
|
619
647
|
return {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
648
|
+
type: prismicT.CustomTypeModelFieldType.Timestamp,
|
|
649
|
+
config: {
|
|
650
|
+
label: changeCase.capitalCase(faker.word()),
|
|
651
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
652
|
+
}
|
|
625
653
|
};
|
|
626
654
|
};
|
|
627
655
|
|
|
628
|
-
const
|
|
656
|
+
const title$1 = (config = {}) => {
|
|
629
657
|
const faker = createFaker(config.seed);
|
|
630
|
-
const
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
658
|
+
const single = faker.randomElements([
|
|
659
|
+
"heading1",
|
|
660
|
+
"heading2",
|
|
661
|
+
"heading3",
|
|
662
|
+
"heading4",
|
|
663
|
+
"heading5",
|
|
664
|
+
"heading6"
|
|
665
|
+
]).join(",");
|
|
634
666
|
return {
|
|
635
|
-
type: prismicT.CustomTypeModelFieldType.
|
|
667
|
+
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
636
668
|
config: {
|
|
637
|
-
label: changeCase.capitalCase(faker.
|
|
638
|
-
|
|
669
|
+
label: changeCase.capitalCase(faker.word()),
|
|
670
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
671
|
+
single,
|
|
672
|
+
allowTargetBlank: faker.boolean() || void 0
|
|
639
673
|
}
|
|
640
674
|
};
|
|
641
675
|
};
|
|
642
676
|
|
|
643
|
-
const
|
|
644
|
-
var _a, _b, _c, _d, _e, _f;
|
|
677
|
+
const uid$1 = (config = {}) => {
|
|
645
678
|
const faker = createFaker(config.seed);
|
|
646
|
-
const name = changeCase.capitalCase(faker.company.bsNoun());
|
|
647
679
|
return {
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
primary: buildMockGroupFieldMap({
|
|
654
|
-
seed: (_b = (_a = config.primaryFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
|
|
655
|
-
configs: (_c = config.primaryFieldConfig) == null ? void 0 : _c.configs
|
|
656
|
-
}),
|
|
657
|
-
items: buildMockGroupFieldMap({
|
|
658
|
-
seed: (_e = (_d = config.itemsFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
659
|
-
configs: (_f = config.itemsFieldConfig) == null ? void 0 : _f.configs
|
|
660
|
-
})
|
|
680
|
+
type: prismicT.CustomTypeModelFieldType.UID,
|
|
681
|
+
config: {
|
|
682
|
+
label: changeCase.capitalCase(faker.word()),
|
|
683
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
684
|
+
}
|
|
661
685
|
};
|
|
662
686
|
};
|
|
663
687
|
|
|
664
|
-
const
|
|
665
|
-
var _a;
|
|
688
|
+
const generateFieldId = (config) => {
|
|
666
689
|
const faker = createFaker(config.seed);
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
690
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
691
|
+
};
|
|
692
|
+
|
|
693
|
+
const mockModelFns = {
|
|
694
|
+
boolean,
|
|
695
|
+
color: color$1,
|
|
696
|
+
contentRelationship: contentRelationship$1,
|
|
697
|
+
date: date$1,
|
|
698
|
+
embed: embed$2,
|
|
699
|
+
geoPoint: geoPoint$1,
|
|
700
|
+
image: image$2,
|
|
701
|
+
integrationFields: integrationFields$1,
|
|
702
|
+
keyText: keyText$1,
|
|
703
|
+
link: link$1,
|
|
704
|
+
linkToMedia: linkToMedia$1,
|
|
705
|
+
number: number$1,
|
|
706
|
+
richText: richText$1,
|
|
707
|
+
select: select$1,
|
|
708
|
+
timestamp: timestamp$1,
|
|
709
|
+
title: title$1
|
|
710
|
+
};
|
|
711
|
+
const buildMockGroupFieldMap = (config = {}) => {
|
|
712
|
+
const faker = createFaker(config.seed);
|
|
713
|
+
const fields = {};
|
|
714
|
+
const fieldTypes = faker.randomElements(Object.keys(mockModelFns));
|
|
715
|
+
for (const fieldType of fieldTypes) {
|
|
716
|
+
const fieldId = generateFieldId({ seed: config.seed });
|
|
717
|
+
const mockModelFn = mockModelFns[fieldType];
|
|
718
|
+
fields[fieldId] = mockModelFn({ seed: config.seed });
|
|
678
719
|
}
|
|
679
|
-
return
|
|
680
|
-
type: prismicT.CustomTypeModelSliceType.SharedSlice,
|
|
681
|
-
id: changeCase.snakeCase(name),
|
|
682
|
-
name,
|
|
683
|
-
description: faker.lorem.sentence(),
|
|
684
|
-
variations
|
|
685
|
-
};
|
|
720
|
+
return fields;
|
|
686
721
|
};
|
|
687
722
|
|
|
688
723
|
var index$2 = /*#__PURE__*/Object.freeze({
|
|
@@ -710,14 +745,29 @@ var index$2 = /*#__PURE__*/Object.freeze({
|
|
|
710
745
|
sliceZone: sliceZone$1,
|
|
711
746
|
timestamp: timestamp$1,
|
|
712
747
|
title: title$1,
|
|
713
|
-
uid: uid$1
|
|
748
|
+
uid: uid$1,
|
|
749
|
+
buildMockGroupFieldMap: buildMockGroupFieldMap
|
|
714
750
|
});
|
|
715
751
|
|
|
716
752
|
const timestamp = (config = {}) => {
|
|
717
753
|
const faker = createFaker(config.seed);
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
754
|
+
if (config.state === "empty") {
|
|
755
|
+
return null;
|
|
756
|
+
} else {
|
|
757
|
+
let date;
|
|
758
|
+
const after = config.after ? new Date(config.after.toISOString().split("T")[0]) : void 0;
|
|
759
|
+
const before = config.before ? new Date(config.before.toISOString().split("T")[0]) : void 0;
|
|
760
|
+
if (after && before) {
|
|
761
|
+
date = faker.dateBetween(after, before);
|
|
762
|
+
} else if (after) {
|
|
763
|
+
date = faker.dateAfter(after);
|
|
764
|
+
} else if (before) {
|
|
765
|
+
date = faker.dateBefore(before);
|
|
766
|
+
} else {
|
|
767
|
+
date = faker.date();
|
|
768
|
+
}
|
|
769
|
+
return date.toISOString();
|
|
770
|
+
}
|
|
721
771
|
};
|
|
722
772
|
|
|
723
773
|
const buildAlternativeLanguage = (config) => {
|
|
@@ -748,11 +798,11 @@ const customType = (config = {}) => {
|
|
|
748
798
|
}));
|
|
749
799
|
return {
|
|
750
800
|
type: model.id,
|
|
751
|
-
id: faker.
|
|
752
|
-
uid: hasUID ? changeCase.snakeCase(faker.
|
|
753
|
-
url: withURL ? faker.
|
|
754
|
-
href: faker.
|
|
755
|
-
lang: faker.
|
|
801
|
+
id: faker.hash(7),
|
|
802
|
+
uid: hasUID ? changeCase.snakeCase(faker.words(faker.range(1, 3))) : null,
|
|
803
|
+
url: withURL ? faker.url() : null,
|
|
804
|
+
href: faker.url(),
|
|
805
|
+
lang: faker.word(),
|
|
756
806
|
tags: generateTags({ seed: config.seed }),
|
|
757
807
|
slugs: [],
|
|
758
808
|
linked_documents: [],
|
|
@@ -769,7 +819,7 @@ const customType = (config = {}) => {
|
|
|
769
819
|
|
|
770
820
|
const color = (config = {}) => {
|
|
771
821
|
const faker = createFaker(config.seed);
|
|
772
|
-
return faker.
|
|
822
|
+
return config.state === "empty" ? null : faker.hexColor().toUpperCase();
|
|
773
823
|
};
|
|
774
824
|
|
|
775
825
|
const buildContentRelationshipField = (config) => {
|
|
@@ -786,11 +836,18 @@ const buildContentRelationshipField = (config) => {
|
|
|
786
836
|
};
|
|
787
837
|
};
|
|
788
838
|
|
|
839
|
+
const generateCustomTypeId = (config) => {
|
|
840
|
+
const faker = createFaker(config.seed);
|
|
841
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
842
|
+
};
|
|
843
|
+
|
|
789
844
|
const contentRelationship = (config = {}) => {
|
|
790
|
-
var _a;
|
|
791
845
|
const faker = createFaker(config.seed);
|
|
792
|
-
|
|
793
|
-
|
|
846
|
+
if (config.state === "empty") {
|
|
847
|
+
return {
|
|
848
|
+
link_type: prismicT.LinkType.Document
|
|
849
|
+
};
|
|
850
|
+
} else {
|
|
794
851
|
const model = config.model || contentRelationship$1({ seed: config.seed });
|
|
795
852
|
const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document2) => {
|
|
796
853
|
let shouldKeep = true;
|
|
@@ -804,177 +861,186 @@ const contentRelationship = (config = {}) => {
|
|
|
804
861
|
}) : [
|
|
805
862
|
{
|
|
806
863
|
...customType({ seed: config.seed }),
|
|
807
|
-
type: model.config.customtypes ? faker.
|
|
808
|
-
tags: model.config.tags ? faker.
|
|
864
|
+
type: model.config.customtypes ? faker.randomElement(model.config.customtypes) : generateCustomTypeId({ seed: config.seed }),
|
|
865
|
+
tags: model.config.tags ? faker.randomElements(model.config.tags) : generateTags({ seed: config.seed })
|
|
809
866
|
}
|
|
810
867
|
];
|
|
811
|
-
const document = faker.
|
|
868
|
+
const document = faker.randomElement(linkableDocuments);
|
|
812
869
|
if (!document) {
|
|
813
870
|
throw new Error("A linkable document could not be found.");
|
|
814
871
|
}
|
|
815
|
-
return buildContentRelationshipField({
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
link_type: prismicT.LinkType.Document
|
|
819
|
-
};
|
|
872
|
+
return buildContentRelationshipField({
|
|
873
|
+
document
|
|
874
|
+
});
|
|
820
875
|
}
|
|
821
876
|
};
|
|
822
877
|
|
|
823
878
|
const date = (config = {}) => {
|
|
824
|
-
return timestamp({
|
|
879
|
+
return config.state === "empty" ? null : timestamp({
|
|
825
880
|
seed: config.seed,
|
|
826
881
|
after: config.after,
|
|
827
|
-
before: config.before
|
|
882
|
+
before: config.before,
|
|
883
|
+
state: "filled"
|
|
828
884
|
}).split("T")[0];
|
|
829
885
|
};
|
|
830
886
|
|
|
831
887
|
const buildEmbedField = (config) => {
|
|
888
|
+
var _a;
|
|
832
889
|
const faker = createFaker(config.seed);
|
|
833
890
|
return {
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
838
|
-
version: faker.datatype.number({ min: 1, max: 3, precision: 10 }).toString(),
|
|
839
|
-
cache_age: faker.datatype.number(),
|
|
840
|
-
embed_url: config.embedData.embed_url,
|
|
841
|
-
author_url: faker.internet.url(),
|
|
842
|
-
author_name: faker.company.companyName(),
|
|
843
|
-
provider_name: faker.company.companyName(),
|
|
844
|
-
thumbnail_width: config.embedData.thumbnail_width,
|
|
845
|
-
thumbnail_height: config.embedData.thumbnail_height,
|
|
846
|
-
thumbnail_url: config.embedData.thumbnail_url,
|
|
847
|
-
width: faker.datatype.number({ min: 200, max: 500 }),
|
|
848
|
-
height: faker.datatype.number({ min: 200, max: 500 })
|
|
891
|
+
embed_url: (_a = config.url) != null ? _a : faker.url(),
|
|
892
|
+
html: `<div>embed html</div>`,
|
|
893
|
+
...config.data
|
|
849
894
|
};
|
|
850
895
|
};
|
|
851
896
|
|
|
852
897
|
const dataSet$1 = [
|
|
853
898
|
{
|
|
854
|
-
|
|
899
|
+
version: "1.0",
|
|
900
|
+
type: "video",
|
|
855
901
|
embed_url: "https://www.youtube.com/embed/fiOwHYFkUz0",
|
|
856
902
|
thumbnail_url: "https://i.ytimg.com/vi/fiOwHYFkUz0/hqdefault.jpg",
|
|
857
903
|
thumbnail_height: 360,
|
|
858
904
|
thumbnail_width: 480,
|
|
859
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/fiOwHYFkUz0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
905
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/fiOwHYFkUz0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
906
|
+
width: 200,
|
|
907
|
+
height: 113
|
|
860
908
|
},
|
|
861
909
|
{
|
|
862
|
-
|
|
910
|
+
version: "1.0",
|
|
911
|
+
type: "video",
|
|
863
912
|
embed_url: "https://www.youtube.com/embed/c-ATzcy6VkI",
|
|
864
913
|
thumbnail_url: "https://i.ytimg.com/vi/c-ATzcy6VkI/hqdefault.jpg",
|
|
865
914
|
thumbnail_height: 360,
|
|
866
915
|
thumbnail_width: 480,
|
|
867
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/c-ATzcy6VkI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
916
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/c-ATzcy6VkI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
917
|
+
width: 200,
|
|
918
|
+
height: 113
|
|
868
919
|
},
|
|
869
920
|
{
|
|
870
|
-
|
|
921
|
+
version: "1.0",
|
|
922
|
+
type: "video",
|
|
871
923
|
embed_url: "https://www.youtube.com/watch?v=fiOwHYFkUz0",
|
|
872
924
|
thumbnail_url: "https://i.ytimg.com/vi/iewZXv94XGY/hqdefault.jpg",
|
|
873
925
|
thumbnail_height: 360,
|
|
874
926
|
thumbnail_width: 480,
|
|
875
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/iewZXv94XGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
927
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/iewZXv94XGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
928
|
+
width: 200,
|
|
929
|
+
height: 113
|
|
876
930
|
},
|
|
877
931
|
{
|
|
878
|
-
|
|
879
|
-
|
|
932
|
+
version: "1.0",
|
|
933
|
+
type: "rich",
|
|
934
|
+
embed_url: "https://twitter.com/prismicio/status/1356293316158095361",
|
|
880
935
|
thumbnail_url: null,
|
|
881
936
|
thumbnail_height: null,
|
|
882
937
|
thumbnail_width: null,
|
|
883
|
-
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Gatsby is a popular choice for Prismic users and we work hard on delivering a CMS that plays to its strengths.<br><br>But, what makes <a href="https://twitter.com/GatsbyJS?ref_src=twsrc%5Etfw">@GatsbyJS</a> so popular?<br><br>Here are some of <a href="https://twitter.com/mxstbr?ref_src=twsrc%5Etfw">@mxstbr</a>'s thoughts on Gatsby's success and how they're improving developer experience.<a href="https://t.co/ZjCPvsWWUD">https://t.co/ZjCPvsWWUD</a> <a href="https://t.co/EQqzJpeNKl">pic.twitter.com/EQqzJpeNKl</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1356293316158095361?ref_src=twsrc%5Etfw">February 1, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n'
|
|
938
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Gatsby is a popular choice for Prismic users and we work hard on delivering a CMS that plays to its strengths.<br><br>But, what makes <a href="https://twitter.com/GatsbyJS?ref_src=twsrc%5Etfw">@GatsbyJS</a> so popular?<br><br>Here are some of <a href="https://twitter.com/mxstbr?ref_src=twsrc%5Etfw">@mxstbr</a>'s thoughts on Gatsby's success and how they're improving developer experience.<a href="https://t.co/ZjCPvsWWUD">https://t.co/ZjCPvsWWUD</a> <a href="https://t.co/EQqzJpeNKl">pic.twitter.com/EQqzJpeNKl</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1356293316158095361?ref_src=twsrc%5Etfw">February 1, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
939
|
+
width: 200,
|
|
940
|
+
height: 113
|
|
884
941
|
},
|
|
885
942
|
{
|
|
886
|
-
|
|
943
|
+
type: "rich",
|
|
944
|
+
version: "1.0",
|
|
945
|
+
embed_url: "https://twitter.com/timbenniks/status/1304146886832594944",
|
|
887
946
|
thumbnail_url: null,
|
|
888
947
|
thumbnail_width: null,
|
|
889
948
|
thumbnail_height: null,
|
|
890
|
-
|
|
891
|
-
|
|
949
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I\u2019ve been diving deep on <a href="https://twitter.com/prismicio?ref_src=twsrc%5Etfw">@prismicio</a> <a href="https://twitter.com/hashtag/slicemachine?src=hash&ref_src=twsrc%5Etfw">#slicemachine</a> today. I made all my own components and I used custom slices. It works like a charm with <a href="https://twitter.com/nuxt_js?ref_src=twsrc%5Etfw">@nuxt_js</a>. Also: I\u2019m coding with this view. <a href="https://t.co/F0I8X9gz39">pic.twitter.com/F0I8X9gz39</a></p>— Tim Benniks (@timbenniks) <a href="https://twitter.com/timbenniks/status/1304146886832594944?ref_src=twsrc%5Etfw">September 10, 2020</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
950
|
+
width: 200,
|
|
951
|
+
height: 113
|
|
892
952
|
},
|
|
893
953
|
{
|
|
894
|
-
|
|
954
|
+
version: "1.0",
|
|
955
|
+
type: "rich",
|
|
956
|
+
embed_url: "https://twitter.com/prismicio/status/1354112310252630016",
|
|
895
957
|
thumbnail_url: null,
|
|
896
958
|
thumbnail_width: null,
|
|
897
959
|
thumbnail_height: null,
|
|
898
|
-
|
|
899
|
-
|
|
960
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We're launching a new <a href="https://twitter.com/hashtag/SliceContest?src=hash&ref_src=twsrc%5Etfw">#SliceContest</a> tomorrow along with Slice Machine upgrades.<br><br>Want to know more? Join us at tomorrow's Product Meet-up\u{1F447}<a href="https://t.co/prYSypiAvB">https://t.co/prYSypiAvB</a><br><br>We can't tell you any further details for now, but here's a sneak peek at the prizes\u{1F440} <a href="https://t.co/fV1eoGlEBh">pic.twitter.com/fV1eoGlEBh</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1354112310252630016?ref_src=twsrc%5Etfw">January 26, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
961
|
+
width: 200,
|
|
962
|
+
height: 113
|
|
900
963
|
},
|
|
901
964
|
{
|
|
902
|
-
|
|
965
|
+
version: "1.0",
|
|
966
|
+
type: "rich",
|
|
967
|
+
embed_url: "https://twitter.com/prismicio/status/1354835716430319617",
|
|
903
968
|
thumbnail_url: null,
|
|
904
969
|
thumbnail_width: null,
|
|
905
970
|
thumbnail_height: null,
|
|
906
|
-
|
|
907
|
-
|
|
971
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Does anyone want to create a wildly popular website for discussing 'Wall Street Bets' using Prismic?<br><br>It may or may not have to look a lot like <a href="https://twitter.com/hashtag/reddit?src=hash&ref_src=twsrc%5Etfw">#reddit</a> and we won't make it private.<br><br>Just asking for some friends...</p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1354835716430319617?ref_src=twsrc%5Etfw">January 28, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
972
|
+
width: 200,
|
|
973
|
+
height: 113
|
|
908
974
|
}
|
|
909
975
|
];
|
|
910
976
|
const getMockEmbedData = (config) => {
|
|
911
977
|
const faker = createFaker(config.seed);
|
|
912
|
-
return faker.
|
|
978
|
+
return faker.randomElement(dataSet$1);
|
|
913
979
|
};
|
|
914
980
|
|
|
915
981
|
const embed$1 = (config = {}) => {
|
|
916
|
-
|
|
917
|
-
|
|
982
|
+
var _a, _b, _c;
|
|
983
|
+
const data = (_a = config.data) != null ? _a : getMockEmbedData({ seed: config.seed });
|
|
984
|
+
return config.state === "empty" ? {} : buildEmbedField({
|
|
985
|
+
seed: config.seed,
|
|
986
|
+
url: (_b = config.url) != null ? _b : "embed_url" in data ? data.embed_url : void 0,
|
|
987
|
+
html: (_c = config.html) != null ? _c : "html" in data ? data.html : void 0,
|
|
988
|
+
data
|
|
989
|
+
});
|
|
918
990
|
};
|
|
919
991
|
|
|
920
992
|
const geoPoint = (config = {}) => {
|
|
921
993
|
const faker = createFaker(config.seed);
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
latitude: Number.parseFloat(coordinates[1])
|
|
994
|
+
return config.state === "empty" ? {} : {
|
|
995
|
+
longitude: faker.rangeFloat(-180, 180),
|
|
996
|
+
latitude: faker.rangeFloat(-90, 90)
|
|
926
997
|
};
|
|
927
998
|
};
|
|
928
999
|
|
|
929
|
-
const patterns$9 = {
|
|
930
|
-
short: {
|
|
931
|
-
minItems: 1,
|
|
932
|
-
maxItems: 3
|
|
933
|
-
},
|
|
934
|
-
medium: {
|
|
935
|
-
minItems: 3,
|
|
936
|
-
maxItems: 6
|
|
937
|
-
},
|
|
938
|
-
long: {
|
|
939
|
-
minItems: 6,
|
|
940
|
-
maxItems: 12
|
|
941
|
-
}
|
|
942
|
-
};
|
|
943
1000
|
const group = (config = {}) => {
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1001
|
+
var _a;
|
|
1002
|
+
if (config.state === "empty") {
|
|
1003
|
+
return [];
|
|
1004
|
+
} else {
|
|
1005
|
+
const faker = createFaker(config.seed);
|
|
1006
|
+
const model = config.model || group$1({ seed: config.seed });
|
|
1007
|
+
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.range(1, 6);
|
|
1008
|
+
return Array(itemsCount).fill(void 0).map(() => {
|
|
1009
|
+
return valueForModelMap({
|
|
1010
|
+
seed: config.seed,
|
|
1011
|
+
map: model.config.fields,
|
|
1012
|
+
configs: config.configs
|
|
1013
|
+
});
|
|
957
1014
|
});
|
|
958
|
-
}
|
|
1015
|
+
}
|
|
959
1016
|
};
|
|
960
1017
|
|
|
961
|
-
const
|
|
1018
|
+
const buildImageFieldImage = (config) => {
|
|
962
1019
|
var _a, _b, _c, _d;
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
1020
|
+
if (config.state === "empty") {
|
|
1021
|
+
return {
|
|
1022
|
+
url: null,
|
|
1023
|
+
dimensions: null,
|
|
1024
|
+
alt: null,
|
|
1025
|
+
copyright: null
|
|
1026
|
+
};
|
|
1027
|
+
} else {
|
|
1028
|
+
const faker = createFaker(config.seed);
|
|
1029
|
+
const url = new URL(config.imageData.url);
|
|
1030
|
+
const dimensions = {
|
|
1031
|
+
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
1032
|
+
height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
|
|
1033
|
+
};
|
|
1034
|
+
url.searchParams.set("w", dimensions.width.toString());
|
|
1035
|
+
url.searchParams.set("h", dimensions.height.toString());
|
|
1036
|
+
url.searchParams.set("fit", "crop");
|
|
1037
|
+
return {
|
|
1038
|
+
url: url.toString(),
|
|
1039
|
+
dimensions,
|
|
1040
|
+
alt: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1041
|
+
copyright: changeCase.sentenceCase(faker.words(faker.range(5, 15)))
|
|
1042
|
+
};
|
|
1043
|
+
}
|
|
978
1044
|
};
|
|
979
1045
|
|
|
980
1046
|
const dataSet = [
|
|
@@ -1061,25 +1127,27 @@ const dataSet = [
|
|
|
1061
1127
|
];
|
|
1062
1128
|
const getMockImageData = (config) => {
|
|
1063
1129
|
const faker = createFaker(config.seed);
|
|
1064
|
-
return faker.
|
|
1130
|
+
return faker.randomElement(dataSet);
|
|
1065
1131
|
};
|
|
1066
1132
|
|
|
1067
1133
|
const image$1 = (config = {}) => {
|
|
1068
1134
|
const model = config.model || image$2({ seed: config.seed });
|
|
1069
1135
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1070
|
-
const value =
|
|
1136
|
+
const value = buildImageFieldImage({
|
|
1071
1137
|
seed: config.seed,
|
|
1072
1138
|
imageData,
|
|
1073
|
-
constraint: model.config.constraint
|
|
1139
|
+
constraint: model.config.constraint,
|
|
1140
|
+
state: config.state
|
|
1074
1141
|
});
|
|
1075
1142
|
for (const thumbnail of model.config.thumbnails) {
|
|
1076
|
-
value[thumbnail.name] =
|
|
1143
|
+
value[thumbnail.name] = buildImageFieldImage({
|
|
1077
1144
|
seed: config.seed,
|
|
1078
1145
|
imageData,
|
|
1079
1146
|
constraint: {
|
|
1080
1147
|
width: thumbnail.width,
|
|
1081
1148
|
height: thumbnail.height
|
|
1082
|
-
}
|
|
1149
|
+
},
|
|
1150
|
+
state: config.state
|
|
1083
1151
|
});
|
|
1084
1152
|
}
|
|
1085
1153
|
return value;
|
|
@@ -1088,87 +1156,86 @@ const image$1 = (config = {}) => {
|
|
|
1088
1156
|
const integrationFields = (config = {}) => {
|
|
1089
1157
|
const faker = createFaker(config.seed);
|
|
1090
1158
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1091
|
-
return {
|
|
1092
|
-
id: faker.
|
|
1093
|
-
title: changeCase.capitalCase(faker.
|
|
1094
|
-
description: faker.
|
|
1159
|
+
return config.state === "empty" ? null : {
|
|
1160
|
+
id: faker.hash(7),
|
|
1161
|
+
title: changeCase.capitalCase(faker.words(faker.range(1, 3))),
|
|
1162
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
1095
1163
|
image_url: imageData.url,
|
|
1096
|
-
last_update: faker.date
|
|
1164
|
+
last_update: faker.date().getTime(),
|
|
1097
1165
|
blob: config.data
|
|
1098
1166
|
};
|
|
1099
1167
|
};
|
|
1100
1168
|
|
|
1101
1169
|
const keyText = (config = {}) => {
|
|
1102
1170
|
const faker = createFaker(config.seed);
|
|
1103
|
-
return changeCase.sentenceCase(faker.
|
|
1171
|
+
return config.state === "empty" ? null : changeCase.sentenceCase(faker.words(3));
|
|
1104
1172
|
};
|
|
1105
1173
|
|
|
1106
1174
|
const linkToMedia = (config = {}) => {
|
|
1107
|
-
var _a;
|
|
1108
1175
|
const faker = createFaker(config.seed);
|
|
1109
|
-
|
|
1110
|
-
if (isFilled) {
|
|
1176
|
+
if (config.state === "empty") {
|
|
1111
1177
|
return {
|
|
1112
|
-
link_type: prismicT.LinkType.Media
|
|
1113
|
-
name: faker.system.commonFileName(),
|
|
1114
|
-
kind: faker.system.commonFileType(),
|
|
1115
|
-
url: faker.internet.url(),
|
|
1116
|
-
size: faker.datatype.number().toString(),
|
|
1117
|
-
height: faker.datatype.number().toString(),
|
|
1118
|
-
width: faker.datatype.number().toString()
|
|
1178
|
+
link_type: prismicT.LinkType.Media
|
|
1119
1179
|
};
|
|
1120
1180
|
} else {
|
|
1121
1181
|
return {
|
|
1122
|
-
link_type: prismicT.LinkType.Media
|
|
1182
|
+
link_type: prismicT.LinkType.Media,
|
|
1183
|
+
name: `${changeCase.snakeCase(faker.words(faker.range(1, 2)))}.example`,
|
|
1184
|
+
kind: changeCase.snakeCase(faker.word()),
|
|
1185
|
+
url: faker.url(),
|
|
1186
|
+
size: faker.range(500, 3e3).toString(),
|
|
1187
|
+
height: faker.range(500, 3e3).toString(),
|
|
1188
|
+
width: faker.range(500, 3e3).toString()
|
|
1123
1189
|
};
|
|
1124
1190
|
}
|
|
1125
1191
|
};
|
|
1126
1192
|
|
|
1127
1193
|
const link = (config = {}) => {
|
|
1128
|
-
var _a
|
|
1194
|
+
var _a;
|
|
1129
1195
|
const faker = createFaker(config.seed);
|
|
1130
|
-
const
|
|
1131
|
-
const type = config.type || faker.random.arrayElement([
|
|
1196
|
+
const type = config.type || faker.randomElement([
|
|
1132
1197
|
prismicT.LinkType.Web,
|
|
1133
1198
|
prismicT.LinkType.Document,
|
|
1134
1199
|
prismicT.LinkType.Media
|
|
1135
1200
|
]);
|
|
1136
|
-
if (
|
|
1201
|
+
if (config.state === "empty") {
|
|
1202
|
+
return {
|
|
1203
|
+
link_type: type
|
|
1204
|
+
};
|
|
1205
|
+
} else {
|
|
1137
1206
|
switch (type) {
|
|
1138
1207
|
case prismicT.LinkType.Document: {
|
|
1139
1208
|
return contentRelationship({
|
|
1140
1209
|
seed: config.seed,
|
|
1141
|
-
|
|
1210
|
+
state: config.state,
|
|
1142
1211
|
linkableDocuments: config.linkableDocuments
|
|
1143
1212
|
});
|
|
1144
1213
|
}
|
|
1145
1214
|
case prismicT.LinkType.Media: {
|
|
1146
1215
|
return linkToMedia({
|
|
1147
1216
|
seed: config.seed,
|
|
1148
|
-
|
|
1217
|
+
state: config.state
|
|
1149
1218
|
});
|
|
1150
1219
|
}
|
|
1151
|
-
case prismicT.LinkType.Web:
|
|
1220
|
+
case prismicT.LinkType.Web:
|
|
1221
|
+
default: {
|
|
1152
1222
|
const model = config.model || link$1({ seed: config.seed });
|
|
1153
1223
|
return {
|
|
1154
1224
|
link_type: prismicT.LinkType.Web,
|
|
1155
|
-
url: faker.
|
|
1156
|
-
target: ((
|
|
1225
|
+
url: faker.url(),
|
|
1226
|
+
target: ((_a = config.withTargetBlank) != null ? _a : model.config.allowTargetBlank && faker.boolean()) ? "_blank" : void 0
|
|
1157
1227
|
};
|
|
1158
1228
|
}
|
|
1159
1229
|
}
|
|
1160
1230
|
}
|
|
1161
|
-
return {
|
|
1162
|
-
link_type: type
|
|
1163
|
-
};
|
|
1164
1231
|
};
|
|
1165
1232
|
|
|
1166
1233
|
const number = (config = {}) => {
|
|
1167
1234
|
const faker = createFaker(config.seed);
|
|
1168
|
-
return faker.
|
|
1235
|
+
return config.state === "empty" ? null : faker.range(1, 100);
|
|
1169
1236
|
};
|
|
1170
1237
|
|
|
1171
|
-
const patterns$
|
|
1238
|
+
const patterns$5 = {
|
|
1172
1239
|
short: {
|
|
1173
1240
|
minWords: 1,
|
|
1174
1241
|
maxWords: 3
|
|
@@ -1193,16 +1260,13 @@ const heading = (config = {}) => {
|
|
|
1193
1260
|
prismicT.RichTextNodeType.heading5,
|
|
1194
1261
|
prismicT.RichTextNodeType.heading6
|
|
1195
1262
|
].includes(type2));
|
|
1196
|
-
const type = faker.
|
|
1263
|
+
const type = faker.randomElement(types);
|
|
1197
1264
|
if (type) {
|
|
1198
|
-
const patternKey = config.pattern || faker.
|
|
1199
|
-
const pattern = patterns$
|
|
1265
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$5));
|
|
1266
|
+
const pattern = patterns$5[patternKey];
|
|
1200
1267
|
return {
|
|
1201
1268
|
type,
|
|
1202
|
-
text: changeCase.capitalCase(faker.
|
|
1203
|
-
min: pattern.minWords,
|
|
1204
|
-
max: pattern.maxWords
|
|
1205
|
-
}))),
|
|
1269
|
+
text: changeCase.capitalCase(faker.words(faker.range(pattern.minWords, pattern.maxWords))),
|
|
1206
1270
|
spans: []
|
|
1207
1271
|
};
|
|
1208
1272
|
} else {
|
|
@@ -1210,7 +1274,7 @@ const heading = (config = {}) => {
|
|
|
1210
1274
|
}
|
|
1211
1275
|
};
|
|
1212
1276
|
|
|
1213
|
-
const patterns$
|
|
1277
|
+
const patterns$4 = {
|
|
1214
1278
|
short: {
|
|
1215
1279
|
sentenceCount: 2
|
|
1216
1280
|
},
|
|
@@ -1223,16 +1287,17 @@ const patterns$7 = {
|
|
|
1223
1287
|
};
|
|
1224
1288
|
const paragraph = (config = {}) => {
|
|
1225
1289
|
const faker = createFaker(config.seed);
|
|
1226
|
-
const patternKey = config.pattern || faker.
|
|
1227
|
-
const pattern = patterns$
|
|
1290
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$4));
|
|
1291
|
+
const pattern = patterns$4[patternKey];
|
|
1292
|
+
const text = Array.from({ length: pattern.sentenceCount }, () => changeCase.sentenceCase(faker.words(faker.range(5, 15))) + ".").join(" ");
|
|
1228
1293
|
return {
|
|
1229
1294
|
type: prismicT.RichTextNodeType.paragraph,
|
|
1230
|
-
text
|
|
1295
|
+
text,
|
|
1231
1296
|
spans: []
|
|
1232
1297
|
};
|
|
1233
1298
|
};
|
|
1234
1299
|
|
|
1235
|
-
const patterns$
|
|
1300
|
+
const patterns$3 = {
|
|
1236
1301
|
short: {
|
|
1237
1302
|
sentenceCount: 2
|
|
1238
1303
|
},
|
|
@@ -1245,16 +1310,17 @@ const patterns$6 = {
|
|
|
1245
1310
|
};
|
|
1246
1311
|
const preformatted = (config = {}) => {
|
|
1247
1312
|
const faker = createFaker(config.seed);
|
|
1248
|
-
const patternKey = config.pattern || faker.
|
|
1249
|
-
const pattern = patterns$
|
|
1313
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$3));
|
|
1314
|
+
const pattern = patterns$3[patternKey];
|
|
1315
|
+
const text = Array.from({ length: pattern.sentenceCount }, () => changeCase.sentenceCase(faker.words(faker.range(5, 15))) + ".").join(" ");
|
|
1250
1316
|
return {
|
|
1251
1317
|
type: prismicT.RichTextNodeType.preformatted,
|
|
1252
|
-
text
|
|
1318
|
+
text,
|
|
1253
1319
|
spans: []
|
|
1254
1320
|
};
|
|
1255
1321
|
};
|
|
1256
1322
|
|
|
1257
|
-
const patterns$
|
|
1323
|
+
const patterns$2 = {
|
|
1258
1324
|
short: {
|
|
1259
1325
|
minItems: 1,
|
|
1260
1326
|
maxItems: 3
|
|
@@ -1270,22 +1336,19 @@ const patterns$5 = {
|
|
|
1270
1336
|
};
|
|
1271
1337
|
const list = (config = {}) => {
|
|
1272
1338
|
const faker = createFaker(config.seed);
|
|
1273
|
-
const patternKey = config.pattern || faker.
|
|
1274
|
-
const pattern = patterns$
|
|
1275
|
-
const itemsCount = faker.
|
|
1276
|
-
min: pattern.minItems,
|
|
1277
|
-
max: pattern.maxItems
|
|
1278
|
-
});
|
|
1339
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$2));
|
|
1340
|
+
const pattern = patterns$2[patternKey];
|
|
1341
|
+
const itemsCount = faker.range(pattern.minItems, pattern.maxItems);
|
|
1279
1342
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1280
1343
|
return {
|
|
1281
1344
|
type: prismicT.RichTextNodeType.listItem,
|
|
1282
|
-
text: faker.
|
|
1345
|
+
text: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1283
1346
|
spans: []
|
|
1284
1347
|
};
|
|
1285
1348
|
});
|
|
1286
1349
|
};
|
|
1287
1350
|
|
|
1288
|
-
const patterns$
|
|
1351
|
+
const patterns$1 = {
|
|
1289
1352
|
short: {
|
|
1290
1353
|
minItems: 1,
|
|
1291
1354
|
maxItems: 3
|
|
@@ -1301,16 +1364,13 @@ const patterns$4 = {
|
|
|
1301
1364
|
};
|
|
1302
1365
|
const oList = (config = {}) => {
|
|
1303
1366
|
const faker = createFaker(config.seed);
|
|
1304
|
-
const patternKey = config.pattern || faker.
|
|
1305
|
-
const pattern = patterns$
|
|
1306
|
-
const itemsCount = faker.
|
|
1307
|
-
min: pattern.minItems,
|
|
1308
|
-
max: pattern.maxItems
|
|
1309
|
-
});
|
|
1367
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$1));
|
|
1368
|
+
const pattern = patterns$1[patternKey];
|
|
1369
|
+
const itemsCount = faker.range(pattern.minItems, pattern.maxItems);
|
|
1310
1370
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1311
1371
|
return {
|
|
1312
1372
|
type: prismicT.RichTextNodeType.oListItem,
|
|
1313
|
-
text: faker.
|
|
1373
|
+
text: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1314
1374
|
spans: []
|
|
1315
1375
|
};
|
|
1316
1376
|
});
|
|
@@ -1318,7 +1378,11 @@ const oList = (config = {}) => {
|
|
|
1318
1378
|
|
|
1319
1379
|
const image = (config = {}) => {
|
|
1320
1380
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1321
|
-
const imageField =
|
|
1381
|
+
const imageField = buildImageFieldImage({
|
|
1382
|
+
seed: config.seed,
|
|
1383
|
+
imageData,
|
|
1384
|
+
state: "filled"
|
|
1385
|
+
});
|
|
1322
1386
|
return {
|
|
1323
1387
|
type: prismicT.RichTextNodeType.image,
|
|
1324
1388
|
alt: imageField.alt,
|
|
@@ -1329,15 +1393,15 @@ const image = (config = {}) => {
|
|
|
1329
1393
|
};
|
|
1330
1394
|
|
|
1331
1395
|
const embed = (config = {}) => {
|
|
1332
|
-
const
|
|
1333
|
-
const embedField = buildEmbedField({ seed: config.seed,
|
|
1396
|
+
const data = getMockEmbedData({ seed: config.seed });
|
|
1397
|
+
const embedField = buildEmbedField({ seed: config.seed, data });
|
|
1334
1398
|
return {
|
|
1335
1399
|
type: prismicT.RichTextNodeType.embed,
|
|
1336
1400
|
oembed: embedField
|
|
1337
1401
|
};
|
|
1338
1402
|
};
|
|
1339
1403
|
|
|
1340
|
-
const patterns
|
|
1404
|
+
const patterns = {
|
|
1341
1405
|
short: {
|
|
1342
1406
|
blockCountMin: 1,
|
|
1343
1407
|
blockCountMax: 2
|
|
@@ -1374,14 +1438,11 @@ const richText = (config = {}) => {
|
|
|
1374
1438
|
const supportsMultipleBlocks = "multi" in model.config;
|
|
1375
1439
|
const types = ("multi" in model.config ? model.config.multi : model.config.single).split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1376
1440
|
if (types.length > 0) {
|
|
1377
|
-
const patternKey = config.pattern || faker.
|
|
1378
|
-
const pattern = patterns
|
|
1379
|
-
const blockCount = supportsMultipleBlocks ? faker.
|
|
1380
|
-
min: pattern.blockCountMin,
|
|
1381
|
-
max: pattern.blockCountMax
|
|
1382
|
-
}) : 1;
|
|
1441
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns));
|
|
1442
|
+
const pattern = patterns[patternKey];
|
|
1443
|
+
const blockCount = supportsMultipleBlocks ? faker.range(pattern.blockCountMin, pattern.blockCountMax) : 1;
|
|
1383
1444
|
return Array(blockCount).fill(void 0).map(() => {
|
|
1384
|
-
const type = faker.
|
|
1445
|
+
const type = faker.randomElement(types);
|
|
1385
1446
|
const generator = generators[type];
|
|
1386
1447
|
return generator({ seed: config.seed, model });
|
|
1387
1448
|
}).flat().filter((block) => block !== void 0).slice(0, blockCount);
|
|
@@ -1394,39 +1455,20 @@ const select = (config = {}) => {
|
|
|
1394
1455
|
const faker = createFaker(config.seed);
|
|
1395
1456
|
const model = config.model || select$1({ seed: config.seed });
|
|
1396
1457
|
const defaultValue = model.config.default_value;
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
none: {
|
|
1402
|
-
minItems: 0,
|
|
1403
|
-
maxItems: 0
|
|
1404
|
-
},
|
|
1405
|
-
short: {
|
|
1406
|
-
minItems: 1,
|
|
1407
|
-
maxItems: 3
|
|
1408
|
-
},
|
|
1409
|
-
medium: {
|
|
1410
|
-
minItems: 3,
|
|
1411
|
-
maxItems: 6
|
|
1412
|
-
},
|
|
1413
|
-
long: {
|
|
1414
|
-
minItems: 6,
|
|
1415
|
-
maxItems: 12
|
|
1458
|
+
if (config.state === "empty") {
|
|
1459
|
+
return null;
|
|
1460
|
+
} else {
|
|
1461
|
+
return typeof defaultValue === "string" && faker.boolean() ? defaultValue : faker.randomElement(model.config.options);
|
|
1416
1462
|
}
|
|
1417
1463
|
};
|
|
1464
|
+
|
|
1418
1465
|
const slice = (config = {}) => {
|
|
1419
|
-
var _a;
|
|
1466
|
+
var _a, _b;
|
|
1420
1467
|
const faker = createFaker(config.seed);
|
|
1421
1468
|
const model = config.model || slice$1({ seed: config.seed });
|
|
1422
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
|
|
1423
|
-
const pattern = patterns$2[patternKey];
|
|
1424
1469
|
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1425
|
-
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.
|
|
1426
|
-
const itemsCount = Object.keys(model.repeat).length > 0 ? faker.
|
|
1427
|
-
min: pattern.minItems,
|
|
1428
|
-
max: pattern.maxItems
|
|
1429
|
-
}) : 0;
|
|
1470
|
+
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
1471
|
+
const itemsCount = Object.keys(model.repeat).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.range(1, 6) : 0;
|
|
1430
1472
|
return {
|
|
1431
1473
|
slice_type: sliceType,
|
|
1432
1474
|
slice_label: sliceLabel,
|
|
@@ -1445,41 +1487,17 @@ const slice = (config = {}) => {
|
|
|
1445
1487
|
};
|
|
1446
1488
|
};
|
|
1447
1489
|
|
|
1448
|
-
const patterns$1 = {
|
|
1449
|
-
none: {
|
|
1450
|
-
minItems: 0,
|
|
1451
|
-
maxItems: 0
|
|
1452
|
-
},
|
|
1453
|
-
short: {
|
|
1454
|
-
minItems: 1,
|
|
1455
|
-
maxItems: 3
|
|
1456
|
-
},
|
|
1457
|
-
medium: {
|
|
1458
|
-
minItems: 3,
|
|
1459
|
-
maxItems: 6
|
|
1460
|
-
},
|
|
1461
|
-
long: {
|
|
1462
|
-
minItems: 6,
|
|
1463
|
-
maxItems: 12
|
|
1464
|
-
}
|
|
1465
|
-
};
|
|
1466
1490
|
const sharedSliceVariation = (config = {}) => {
|
|
1467
1491
|
var _a, _b;
|
|
1468
1492
|
const faker = createFaker(config.seed);
|
|
1469
1493
|
const model = config.model || sharedSliceVariation$1({ seed: config.seed });
|
|
1470
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
|
|
1471
|
-
const pattern = patterns$1[patternKey];
|
|
1472
1494
|
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1473
|
-
const
|
|
1474
|
-
const itemsCount = Object.keys(model.items).length > 0 ? faker.datatype.number({
|
|
1475
|
-
min: pattern.minItems,
|
|
1476
|
-
max: pattern.maxItems
|
|
1477
|
-
}) : 0;
|
|
1495
|
+
const itemsCount = Object.keys(model.items).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.range(1, 6) : 0;
|
|
1478
1496
|
return {
|
|
1479
1497
|
slice_type: sliceType,
|
|
1480
|
-
slice_label:
|
|
1498
|
+
slice_label: null,
|
|
1481
1499
|
variation: model.id,
|
|
1482
|
-
version: faker.
|
|
1500
|
+
version: faker.hash(7),
|
|
1483
1501
|
primary: valueForModelMap({
|
|
1484
1502
|
seed: config.seed,
|
|
1485
1503
|
map: model.primary,
|
|
@@ -1498,85 +1516,79 @@ const sharedSliceVariation = (config = {}) => {
|
|
|
1498
1516
|
const sharedSlice = (config = {}) => {
|
|
1499
1517
|
const faker = createFaker(config.seed);
|
|
1500
1518
|
const model = config.model || sharedSlice$1({ seed: config.seed });
|
|
1501
|
-
const variationModel = faker.
|
|
1519
|
+
const variationModel = faker.randomElement(model.variations);
|
|
1502
1520
|
return sharedSliceVariation({
|
|
1503
1521
|
seed: config.seed,
|
|
1504
1522
|
model: variationModel,
|
|
1505
|
-
|
|
1523
|
+
itemsCount: config.itemsCount,
|
|
1506
1524
|
type: model.id,
|
|
1507
1525
|
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1508
1526
|
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1509
1527
|
});
|
|
1510
1528
|
};
|
|
1511
1529
|
|
|
1512
|
-
const patterns = {
|
|
1513
|
-
short: {
|
|
1514
|
-
minItems: 1,
|
|
1515
|
-
maxItems: 3
|
|
1516
|
-
},
|
|
1517
|
-
medium: {
|
|
1518
|
-
minItems: 3,
|
|
1519
|
-
maxItems: 6
|
|
1520
|
-
},
|
|
1521
|
-
long: {
|
|
1522
|
-
minItems: 6,
|
|
1523
|
-
maxItems: 12
|
|
1524
|
-
}
|
|
1525
|
-
};
|
|
1526
1530
|
const sliceZone = (config = {}) => {
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1531
|
+
var _a;
|
|
1532
|
+
if (config.state === "empty") {
|
|
1533
|
+
return [];
|
|
1534
|
+
} else {
|
|
1535
|
+
const faker = createFaker(config.seed);
|
|
1536
|
+
const model = config.model || sliceZone$1({ seed: config.seed });
|
|
1537
|
+
if (Object.keys(model.config.choices).length > 0) {
|
|
1538
|
+
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.range(1, 6);
|
|
1539
|
+
return Array(itemsCount).fill(void 0).map(() => {
|
|
1540
|
+
var _a2;
|
|
1541
|
+
const choices = Object.entries(model.config.choices);
|
|
1542
|
+
const [choiceType, choiceModel] = faker.randomElement(choices);
|
|
1543
|
+
const choiceLabels = model.config.labels[choiceType] || [];
|
|
1544
|
+
const choiceLabel = faker.randomElement(choiceLabels);
|
|
1545
|
+
switch (choiceModel.type) {
|
|
1546
|
+
case prismicT.CustomTypeModelSliceType.Slice: {
|
|
1547
|
+
return slice({
|
|
1548
|
+
seed: config.seed,
|
|
1549
|
+
model: choiceModel,
|
|
1550
|
+
type: choiceType,
|
|
1551
|
+
label: choiceLabel ? choiceLabel.name : null,
|
|
1552
|
+
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1553
|
+
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1554
|
+
});
|
|
1555
|
+
}
|
|
1556
|
+
case prismicT.CustomTypeModelSliceType.SharedSlice: {
|
|
1557
|
+
const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
|
|
1558
|
+
if (sharedSliceModel) {
|
|
1559
|
+
return sharedSlice({
|
|
1560
|
+
seed: config.seed,
|
|
1561
|
+
model: sharedSliceModel,
|
|
1562
|
+
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1563
|
+
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1564
|
+
});
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1561
1567
|
}
|
|
1562
|
-
}
|
|
1568
|
+
}).filter((slice2) => slice2 !== void 0);
|
|
1569
|
+
} else {
|
|
1570
|
+
return [];
|
|
1563
1571
|
}
|
|
1564
|
-
}
|
|
1572
|
+
}
|
|
1565
1573
|
};
|
|
1566
1574
|
|
|
1567
1575
|
const title = (config = {}) => {
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1576
|
+
if (config.state === "empty") {
|
|
1577
|
+
return [];
|
|
1578
|
+
} else {
|
|
1579
|
+
return [
|
|
1580
|
+
heading({
|
|
1581
|
+
seed: config.seed,
|
|
1582
|
+
model: config.model,
|
|
1583
|
+
pattern: config.pattern
|
|
1584
|
+
})
|
|
1585
|
+
];
|
|
1586
|
+
}
|
|
1575
1587
|
};
|
|
1576
1588
|
|
|
1577
1589
|
const uid = (config = {}) => {
|
|
1578
1590
|
const faker = createFaker(config.seed);
|
|
1579
|
-
return changeCase.snakeCase(faker.
|
|
1591
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
1580
1592
|
};
|
|
1581
1593
|
|
|
1582
1594
|
var index$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -1611,10 +1623,10 @@ const ref = (config = {}) => {
|
|
|
1611
1623
|
var _a;
|
|
1612
1624
|
const faker = createFaker(config.seed);
|
|
1613
1625
|
const value = {
|
|
1614
|
-
id: faker.
|
|
1615
|
-
ref: faker.
|
|
1626
|
+
id: faker.hash(16),
|
|
1627
|
+
ref: faker.hash(16),
|
|
1616
1628
|
isMasterRef: (_a = config.isMasterRef) != null ? _a : false,
|
|
1617
|
-
label: config.isMasterRef ? "Master" : changeCase.capitalCase(faker.
|
|
1629
|
+
label: config.isMasterRef ? "Master" : changeCase.capitalCase(faker.words(faker.range(1, 3)))
|
|
1618
1630
|
};
|
|
1619
1631
|
if (config.isScheduled) {
|
|
1620
1632
|
value.scheduledAt = timestamp({ seed: config.seed });
|
|
@@ -1637,8 +1649,8 @@ const repository = (config = {}) => {
|
|
|
1637
1649
|
types,
|
|
1638
1650
|
languages: [
|
|
1639
1651
|
{
|
|
1640
|
-
id: faker.
|
|
1641
|
-
name: changeCase.capitalCase(faker.
|
|
1652
|
+
id: faker.word(),
|
|
1653
|
+
name: changeCase.capitalCase(faker.word())
|
|
1642
1654
|
}
|
|
1643
1655
|
],
|
|
1644
1656
|
tags: generateTags({
|
|
@@ -1648,11 +1660,11 @@ const repository = (config = {}) => {
|
|
|
1648
1660
|
}),
|
|
1649
1661
|
forms: {},
|
|
1650
1662
|
license: "All Rights Reserved",
|
|
1651
|
-
version: faker.
|
|
1663
|
+
version: faker.hash(7),
|
|
1652
1664
|
bookmarks: {},
|
|
1653
1665
|
experiments: {},
|
|
1654
|
-
oauth_token: faker.
|
|
1655
|
-
oauth_initiate: faker.
|
|
1666
|
+
oauth_token: faker.url(),
|
|
1667
|
+
oauth_initiate: faker.url()
|
|
1656
1668
|
};
|
|
1657
1669
|
};
|
|
1658
1670
|
|
|
@@ -1666,8 +1678,8 @@ const query = (config = {}) => {
|
|
|
1666
1678
|
const results = documents.slice((page - 1) * pageSize, page * pageSize);
|
|
1667
1679
|
return {
|
|
1668
1680
|
page,
|
|
1669
|
-
next_page: page < totalPages ? faker.
|
|
1670
|
-
prev_page: page > 1 ? faker.
|
|
1681
|
+
next_page: page < totalPages ? faker.url() : null,
|
|
1682
|
+
prev_page: page > 1 ? faker.url() : null,
|
|
1671
1683
|
total_pages: totalPages,
|
|
1672
1684
|
results_size: results.length,
|
|
1673
1685
|
results_per_page: pageSize,
|
|
@@ -1693,3 +1705,4 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
1693
1705
|
});
|
|
1694
1706
|
|
|
1695
1707
|
export { index as api, index$2 as model, index$1 as value };
|
|
1708
|
+
//# sourceMappingURL=index.js.map
|