@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
package/dist/value/index.mjs
DELETED
|
@@ -1,1554 +0,0 @@
|
|
|
1
|
-
import * as fakerLocaleEN from 'faker/lib/locales/en/index.js';
|
|
2
|
-
import Faker from 'faker/lib/index.js';
|
|
3
|
-
import * as prismicT from '@prismicio/types';
|
|
4
|
-
import * as changeCase from 'change-case';
|
|
5
|
-
|
|
6
|
-
const FAKER_SEED = 1984;
|
|
7
|
-
|
|
8
|
-
const createFaker = (seed = FAKER_SEED) => {
|
|
9
|
-
let normalizedSeed;
|
|
10
|
-
if (typeof seed === "string") {
|
|
11
|
-
normalizedSeed = seed.split("").map((char) => char.charCodeAt(0));
|
|
12
|
-
} else {
|
|
13
|
-
normalizedSeed = seed;
|
|
14
|
-
}
|
|
15
|
-
const cacheKey = JSON.stringify(normalizedSeed);
|
|
16
|
-
if (createFaker.cache[cacheKey]) {
|
|
17
|
-
return createFaker.cache[cacheKey];
|
|
18
|
-
}
|
|
19
|
-
const fakerInstance = new Faker();
|
|
20
|
-
fakerInstance.locales["en"] = fakerLocaleEN;
|
|
21
|
-
fakerInstance.seed(normalizedSeed);
|
|
22
|
-
createFaker.cache[cacheKey] = fakerInstance;
|
|
23
|
-
return fakerInstance;
|
|
24
|
-
};
|
|
25
|
-
createFaker.cache = {};
|
|
26
|
-
|
|
27
|
-
const boolean$1 = (config = {}) => {
|
|
28
|
-
const faker = createFaker(config.seed);
|
|
29
|
-
return faker.datatype.boolean();
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const generateTags = (config) => {
|
|
33
|
-
var _a, _b;
|
|
34
|
-
const faker = createFaker(config.seed);
|
|
35
|
-
return Array(faker.datatype.number({
|
|
36
|
-
min: (_a = config.min) != null ? _a : 0,
|
|
37
|
-
max: (_b = config.max) != null ? _b : 2
|
|
38
|
-
})).fill(void 0).map(() => changeCase.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 }))));
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const valueForModel = (config) => {
|
|
42
|
-
const model = config.model;
|
|
43
|
-
switch (model.type) {
|
|
44
|
-
case prismicT.CustomTypeModelFieldType.Boolean: {
|
|
45
|
-
return boolean$1({
|
|
46
|
-
seed: config.seed,
|
|
47
|
-
model,
|
|
48
|
-
...config.config
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
case prismicT.CustomTypeModelFieldType.Color: {
|
|
52
|
-
return color({
|
|
53
|
-
seed: config.seed,
|
|
54
|
-
model,
|
|
55
|
-
...config.config
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
case prismicT.CustomTypeModelFieldType.Link: {
|
|
59
|
-
switch (model.config.select) {
|
|
60
|
-
case prismicT.CustomTypeModelLinkSelectType.Document: {
|
|
61
|
-
return contentRelationship({
|
|
62
|
-
seed: config.seed,
|
|
63
|
-
model,
|
|
64
|
-
...config.config
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
case prismicT.CustomTypeModelLinkSelectType.Media: {
|
|
68
|
-
return linkToMedia({
|
|
69
|
-
seed: config.seed,
|
|
70
|
-
model,
|
|
71
|
-
...config.config
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
default: {
|
|
75
|
-
return link({
|
|
76
|
-
seed: config.seed,
|
|
77
|
-
model,
|
|
78
|
-
...config.config
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
case prismicT.CustomTypeModelFieldType.Date: {
|
|
84
|
-
return date({
|
|
85
|
-
seed: config.seed,
|
|
86
|
-
model,
|
|
87
|
-
...config.config
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
case prismicT.CustomTypeModelFieldType.Embed: {
|
|
91
|
-
return embed$1({
|
|
92
|
-
seed: config.seed,
|
|
93
|
-
model,
|
|
94
|
-
...config.config
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
case prismicT.CustomTypeModelFieldType.GeoPoint: {
|
|
98
|
-
return geoPoint({
|
|
99
|
-
seed: config.seed,
|
|
100
|
-
model,
|
|
101
|
-
...config.config
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
case prismicT.CustomTypeModelFieldType.Image: {
|
|
105
|
-
return image$1({
|
|
106
|
-
seed: config.seed,
|
|
107
|
-
model,
|
|
108
|
-
...config.config
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
case prismicT.CustomTypeModelFieldType.Text: {
|
|
112
|
-
return keyText({
|
|
113
|
-
seed: config.seed,
|
|
114
|
-
model,
|
|
115
|
-
...config.config
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
case prismicT.CustomTypeModelFieldType.Number: {
|
|
119
|
-
return number({
|
|
120
|
-
seed: config.seed,
|
|
121
|
-
model,
|
|
122
|
-
...config.config
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
case prismicT.CustomTypeModelFieldType.Select: {
|
|
126
|
-
return select({
|
|
127
|
-
seed: config.seed,
|
|
128
|
-
model,
|
|
129
|
-
...config.config
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
case prismicT.CustomTypeModelFieldType.Timestamp: {
|
|
133
|
-
return timestamp({
|
|
134
|
-
seed: config.seed,
|
|
135
|
-
model,
|
|
136
|
-
...config.config
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
140
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading[1-6]/.test(element.trim()))) {
|
|
141
|
-
return title({
|
|
142
|
-
seed: config.seed,
|
|
143
|
-
model,
|
|
144
|
-
...config.config
|
|
145
|
-
});
|
|
146
|
-
} else {
|
|
147
|
-
return richText({
|
|
148
|
-
seed: config.seed,
|
|
149
|
-
model,
|
|
150
|
-
...config.config
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
case prismicT.CustomTypeModelFieldType.IntegrationFields: {
|
|
155
|
-
return integrationFields({
|
|
156
|
-
seed: config.seed,
|
|
157
|
-
model,
|
|
158
|
-
...config.config
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
case prismicT.CustomTypeModelFieldType.UID: {
|
|
162
|
-
return uid({
|
|
163
|
-
seed: config.seed,
|
|
164
|
-
model,
|
|
165
|
-
...config.config
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
case prismicT.CustomTypeModelFieldType.Group: {
|
|
169
|
-
return group({
|
|
170
|
-
seed: config.seed,
|
|
171
|
-
model,
|
|
172
|
-
...config.config
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
case prismicT.CustomTypeModelFieldType.Slices: {
|
|
176
|
-
return sliceZone({
|
|
177
|
-
seed: config.seed,
|
|
178
|
-
model,
|
|
179
|
-
...config.config
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
const getValueConfigType = (model) => {
|
|
186
|
-
switch (model.type) {
|
|
187
|
-
case prismicT.CustomTypeModelFieldType.Boolean:
|
|
188
|
-
return "boolean";
|
|
189
|
-
case prismicT.CustomTypeModelFieldType.Color:
|
|
190
|
-
return "color";
|
|
191
|
-
case prismicT.CustomTypeModelFieldType.Date:
|
|
192
|
-
return "date";
|
|
193
|
-
case prismicT.CustomTypeModelFieldType.Embed:
|
|
194
|
-
return "embed";
|
|
195
|
-
case prismicT.CustomTypeModelFieldType.GeoPoint:
|
|
196
|
-
return "geoPoint";
|
|
197
|
-
case prismicT.CustomTypeModelFieldType.Group:
|
|
198
|
-
return "group";
|
|
199
|
-
case prismicT.CustomTypeModelFieldType.Image:
|
|
200
|
-
return "image";
|
|
201
|
-
case prismicT.CustomTypeModelFieldType.Link: {
|
|
202
|
-
switch (model.config.select) {
|
|
203
|
-
case prismicT.CustomTypeModelLinkSelectType.Document:
|
|
204
|
-
return "contentRelationship";
|
|
205
|
-
case prismicT.CustomTypeModelLinkSelectType.Media:
|
|
206
|
-
return "linkToMedia";
|
|
207
|
-
default:
|
|
208
|
-
return "link";
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
case prismicT.CustomTypeModelFieldType.Number:
|
|
212
|
-
return "number";
|
|
213
|
-
case prismicT.CustomTypeModelFieldType.Select:
|
|
214
|
-
return "select";
|
|
215
|
-
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
216
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading{1,6}/.test(element.trim()))) {
|
|
217
|
-
return "title";
|
|
218
|
-
} else {
|
|
219
|
-
return "richText";
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
case prismicT.CustomTypeModelFieldType.Text:
|
|
223
|
-
return "keyText";
|
|
224
|
-
case prismicT.CustomTypeModelFieldType.Timestamp:
|
|
225
|
-
return "timestamp";
|
|
226
|
-
case prismicT.CustomTypeModelFieldType.UID:
|
|
227
|
-
return "uid";
|
|
228
|
-
case prismicT.CustomTypeModelFieldType.IntegrationFields:
|
|
229
|
-
return "integrationFields";
|
|
230
|
-
case prismicT.CustomTypeModelFieldType.Slices:
|
|
231
|
-
return "sliceZone";
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
const valueForModelMap = (config) => {
|
|
235
|
-
var _a;
|
|
236
|
-
const result = {};
|
|
237
|
-
for (const fieldId in config.map) {
|
|
238
|
-
const fieldModel = config.map[fieldId];
|
|
239
|
-
const fieldConfigType = getValueConfigType(fieldModel);
|
|
240
|
-
const fieldConfig = (_a = config.configs) == null ? void 0 : _a[fieldConfigType];
|
|
241
|
-
result[fieldId] = valueForModel({
|
|
242
|
-
seed: config.seed,
|
|
243
|
-
model: fieldModel,
|
|
244
|
-
config: fieldConfig
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
return result;
|
|
248
|
-
};
|
|
249
|
-
|
|
250
|
-
const boolean = (config = {}) => {
|
|
251
|
-
const faker = createFaker(config.seed);
|
|
252
|
-
return {
|
|
253
|
-
type: prismicT.CustomTypeModelFieldType.Boolean,
|
|
254
|
-
config: {
|
|
255
|
-
label: changeCase.capitalCase(faker.company.bsNoun())
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
const color$1 = (config = {}) => {
|
|
261
|
-
const faker = createFaker(config.seed);
|
|
262
|
-
return {
|
|
263
|
-
type: prismicT.CustomTypeModelFieldType.Color,
|
|
264
|
-
config: {
|
|
265
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
266
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
};
|
|
270
|
-
|
|
271
|
-
const generateCustomTypeId = (config) => {
|
|
272
|
-
const faker = createFaker(config.seed);
|
|
273
|
-
return changeCase.snakeCase(faker.company.bsNoun());
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
const contentRelationship$1 = (config = {}) => {
|
|
277
|
-
const faker = createFaker(config.seed);
|
|
278
|
-
return {
|
|
279
|
-
type: prismicT.CustomTypeModelFieldType.Link,
|
|
280
|
-
config: {
|
|
281
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
282
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
283
|
-
select: prismicT.CustomTypeModelLinkSelectType.Document,
|
|
284
|
-
customtypes: config.constrainCustomTypes ? Array(faker.datatype.number({ min: 1, max: 3 })).fill(void 0).map(() => generateCustomTypeId({ seed: config.seed })) : void 0,
|
|
285
|
-
tags: config.constrainTags ? Array(faker.datatype.number({ min: 1, max: 3 })).fill(void 0).map(() => changeCase.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })))) : void 0
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
const date$1 = (config = {}) => {
|
|
291
|
-
const faker = createFaker(config.seed);
|
|
292
|
-
return {
|
|
293
|
-
type: prismicT.CustomTypeModelFieldType.Date,
|
|
294
|
-
config: {
|
|
295
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
296
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
};
|
|
300
|
-
|
|
301
|
-
const embed$2 = (config = {}) => {
|
|
302
|
-
const faker = createFaker(config.seed);
|
|
303
|
-
return {
|
|
304
|
-
type: prismicT.CustomTypeModelFieldType.Embed,
|
|
305
|
-
config: {
|
|
306
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
307
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
308
|
-
}
|
|
309
|
-
};
|
|
310
|
-
};
|
|
311
|
-
|
|
312
|
-
const geoPoint$1 = (config = {}) => {
|
|
313
|
-
const faker = createFaker(config.seed);
|
|
314
|
-
return {
|
|
315
|
-
type: prismicT.CustomTypeModelFieldType.GeoPoint,
|
|
316
|
-
config: {
|
|
317
|
-
label: changeCase.capitalCase(faker.company.bsNoun())
|
|
318
|
-
}
|
|
319
|
-
};
|
|
320
|
-
};
|
|
321
|
-
|
|
322
|
-
const image$2 = (config = {}) => {
|
|
323
|
-
var _a;
|
|
324
|
-
const faker = createFaker(config.seed);
|
|
325
|
-
const thumbnailsCount = (_a = config.thumbnailsCount) != null ? _a : faker.datatype.number(3);
|
|
326
|
-
return {
|
|
327
|
-
type: prismicT.CustomTypeModelFieldType.Image,
|
|
328
|
-
config: {
|
|
329
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
330
|
-
constraint: {
|
|
331
|
-
width: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null,
|
|
332
|
-
height: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null
|
|
333
|
-
},
|
|
334
|
-
thumbnails: Array(thumbnailsCount).fill(void 0).map(() => ({
|
|
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
|
-
}))
|
|
339
|
-
}
|
|
340
|
-
};
|
|
341
|
-
};
|
|
342
|
-
|
|
343
|
-
const integrationFields$1 = (config = {}) => {
|
|
344
|
-
const faker = createFaker(config.seed);
|
|
345
|
-
return {
|
|
346
|
-
type: prismicT.CustomTypeModelFieldType.IntegrationFields,
|
|
347
|
-
config: {
|
|
348
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
349
|
-
catalog: changeCase.snakeCase(faker.lorem.words(4))
|
|
350
|
-
}
|
|
351
|
-
};
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
const keyText$1 = (config = {}) => {
|
|
355
|
-
const faker = createFaker(config.seed);
|
|
356
|
-
return {
|
|
357
|
-
type: prismicT.CustomTypeModelFieldType.Text,
|
|
358
|
-
config: {
|
|
359
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
360
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
361
|
-
}
|
|
362
|
-
};
|
|
363
|
-
};
|
|
364
|
-
|
|
365
|
-
const link$1 = (config = {}) => {
|
|
366
|
-
const faker = createFaker(config.seed);
|
|
367
|
-
return {
|
|
368
|
-
type: prismicT.CustomTypeModelFieldType.Link,
|
|
369
|
-
config: {
|
|
370
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
371
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
372
|
-
select: null,
|
|
373
|
-
allowTargetBlank: ("allowTargetBlank" in config ? config.allowTargetBlank : faker.datatype.boolean()) || void 0
|
|
374
|
-
}
|
|
375
|
-
};
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
const linkToMedia$1 = (config = {}) => {
|
|
379
|
-
const faker = createFaker(config.seed);
|
|
380
|
-
return {
|
|
381
|
-
type: prismicT.CustomTypeModelFieldType.Link,
|
|
382
|
-
config: {
|
|
383
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
384
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
385
|
-
select: prismicT.CustomTypeModelLinkSelectType.Media
|
|
386
|
-
}
|
|
387
|
-
};
|
|
388
|
-
};
|
|
389
|
-
|
|
390
|
-
const number$1 = (config = {}) => {
|
|
391
|
-
const faker = createFaker(config.seed);
|
|
392
|
-
return {
|
|
393
|
-
type: prismicT.CustomTypeModelFieldType.Number,
|
|
394
|
-
config: {
|
|
395
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
396
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
397
|
-
}
|
|
398
|
-
};
|
|
399
|
-
};
|
|
400
|
-
|
|
401
|
-
const richText$1 = (config = {}) => {
|
|
402
|
-
var _a;
|
|
403
|
-
const faker = createFaker(config.seed);
|
|
404
|
-
const blockTypes = faker.random.arrayElements([
|
|
405
|
-
prismicT.RichTextNodeType.heading1,
|
|
406
|
-
prismicT.RichTextNodeType.heading2,
|
|
407
|
-
prismicT.RichTextNodeType.heading3,
|
|
408
|
-
prismicT.RichTextNodeType.heading4,
|
|
409
|
-
prismicT.RichTextNodeType.heading5,
|
|
410
|
-
prismicT.RichTextNodeType.heading6,
|
|
411
|
-
prismicT.RichTextNodeType.paragraph,
|
|
412
|
-
prismicT.RichTextNodeType.preformatted,
|
|
413
|
-
prismicT.RichTextNodeType.strong,
|
|
414
|
-
prismicT.RichTextNodeType.em,
|
|
415
|
-
prismicT.RichTextNodeType.listItem,
|
|
416
|
-
prismicT.RichTextNodeType.oListItem,
|
|
417
|
-
prismicT.RichTextNodeType.image,
|
|
418
|
-
prismicT.RichTextNodeType.embed,
|
|
419
|
-
prismicT.RichTextNodeType.hyperlink
|
|
420
|
-
]).join(",");
|
|
421
|
-
const blockTypeConfig = ((_a = config.withMultipleBlocks) != null ? _a : faker.datatype.boolean()) ? { multi: blockTypes } : { single: blockTypes };
|
|
422
|
-
return {
|
|
423
|
-
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
424
|
-
config: {
|
|
425
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
426
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
427
|
-
allowTargetBlank: faker.datatype.boolean() ? true : void 0,
|
|
428
|
-
...blockTypeConfig
|
|
429
|
-
}
|
|
430
|
-
};
|
|
431
|
-
};
|
|
432
|
-
|
|
433
|
-
const select$1 = (config = {}) => {
|
|
434
|
-
var _a;
|
|
435
|
-
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
|
-
return {
|
|
439
|
-
type: prismicT.CustomTypeModelFieldType.Select,
|
|
440
|
-
config: {
|
|
441
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
442
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
443
|
-
options,
|
|
444
|
-
default_value: config.withDefaultValue ? faker.random.arrayElement(options) : void 0
|
|
445
|
-
}
|
|
446
|
-
};
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
const timestamp$1 = (config = {}) => {
|
|
450
|
-
const faker = createFaker(config.seed);
|
|
451
|
-
return {
|
|
452
|
-
type: prismicT.CustomTypeModelFieldType.Timestamp,
|
|
453
|
-
config: {
|
|
454
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
455
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
456
|
-
}
|
|
457
|
-
};
|
|
458
|
-
};
|
|
459
|
-
|
|
460
|
-
const title$1 = (config = {}) => {
|
|
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(",");
|
|
470
|
-
return {
|
|
471
|
-
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
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
|
-
}
|
|
478
|
-
};
|
|
479
|
-
};
|
|
480
|
-
|
|
481
|
-
const generateFieldId = (config) => {
|
|
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;
|
|
506
|
-
const faker = createFaker(config.seed);
|
|
507
|
-
const configs = config.configs || {};
|
|
508
|
-
const fields = {};
|
|
509
|
-
for (const mockModelType in mockModelFns) {
|
|
510
|
-
const mockModelFn = mockModelFns[mockModelType];
|
|
511
|
-
const mockModelMapConfig = configs[mockModelType] || {};
|
|
512
|
-
const count = (_a = mockModelMapConfig.count) != null ? _a : faker.random.arrayElement([0, 0, 0, 1]);
|
|
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
|
-
}
|
|
520
|
-
}
|
|
521
|
-
return fields;
|
|
522
|
-
};
|
|
523
|
-
|
|
524
|
-
const uid$1 = (config = {}) => {
|
|
525
|
-
const faker = createFaker(config.seed);
|
|
526
|
-
return {
|
|
527
|
-
type: prismicT.CustomTypeModelFieldType.UID,
|
|
528
|
-
config: {
|
|
529
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
530
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
531
|
-
}
|
|
532
|
-
};
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
const sharedSliceChoice = () => {
|
|
536
|
-
return {
|
|
537
|
-
type: prismicT.CustomTypeModelSliceType.SharedSlice
|
|
538
|
-
};
|
|
539
|
-
};
|
|
540
|
-
|
|
541
|
-
const slice$1 = (config = {}) => {
|
|
542
|
-
var _a, _b, _c, _d, _e, _f;
|
|
543
|
-
const faker = createFaker(config.seed);
|
|
544
|
-
return {
|
|
545
|
-
type: prismicT.CustomTypeModelSliceType.Slice,
|
|
546
|
-
icon: changeCase.snakeCase(faker.company.bsNoun()),
|
|
547
|
-
display: faker.datatype.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List,
|
|
548
|
-
fieldset: changeCase.capitalCase(faker.lorem.words()),
|
|
549
|
-
description: faker.lorem.sentence(),
|
|
550
|
-
repeat: buildMockGroupFieldMap({
|
|
551
|
-
seed: (_b = (_a = config.repeatFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
|
|
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
|
-
})
|
|
558
|
-
};
|
|
559
|
-
};
|
|
560
|
-
|
|
561
|
-
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
|
-
const labels = {};
|
|
575
|
-
for (const choiceId in choices) {
|
|
576
|
-
const choice = choices[choiceId];
|
|
577
|
-
if (choice.type === prismicT.CustomTypeModelSliceType.Slice) {
|
|
578
|
-
const labelsCount = faker.datatype.number({ min: 0, max: 3 });
|
|
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
|
-
}));
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
return {
|
|
586
|
-
type: prismicT.CustomTypeModelFieldType.Slices,
|
|
587
|
-
fieldset: "Slice zone",
|
|
588
|
-
config: {
|
|
589
|
-
labels,
|
|
590
|
-
choices
|
|
591
|
-
}
|
|
592
|
-
};
|
|
593
|
-
};
|
|
594
|
-
|
|
595
|
-
const customType$1 = (config = {}) => {
|
|
596
|
-
var _a;
|
|
597
|
-
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
|
-
return {
|
|
620
|
-
id,
|
|
621
|
-
label: changeCase.capitalCase(id),
|
|
622
|
-
status: faker.datatype.boolean(),
|
|
623
|
-
repeatable: faker.datatype.boolean(),
|
|
624
|
-
json
|
|
625
|
-
};
|
|
626
|
-
};
|
|
627
|
-
|
|
628
|
-
const group$1 = (config = {}) => {
|
|
629
|
-
const faker = createFaker(config.seed);
|
|
630
|
-
const fields = buildMockGroupFieldMap({
|
|
631
|
-
seed: config.seed,
|
|
632
|
-
configs: config.configs
|
|
633
|
-
});
|
|
634
|
-
return {
|
|
635
|
-
type: prismicT.CustomTypeModelFieldType.Group,
|
|
636
|
-
config: {
|
|
637
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
638
|
-
fields
|
|
639
|
-
}
|
|
640
|
-
};
|
|
641
|
-
};
|
|
642
|
-
|
|
643
|
-
const sharedSliceVariation$1 = (config = {}) => {
|
|
644
|
-
var _a, _b, _c, _d, _e, _f;
|
|
645
|
-
const faker = createFaker(config.seed);
|
|
646
|
-
const name = changeCase.capitalCase(faker.company.bsNoun());
|
|
647
|
-
return {
|
|
648
|
-
id: changeCase.snakeCase(name),
|
|
649
|
-
name,
|
|
650
|
-
description: faker.lorem.sentence(),
|
|
651
|
-
docURL: faker.internet.url(),
|
|
652
|
-
version: faker.git.shortSha(),
|
|
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
|
-
})
|
|
661
|
-
};
|
|
662
|
-
};
|
|
663
|
-
|
|
664
|
-
const sharedSlice$1 = (config = {}) => {
|
|
665
|
-
var _a;
|
|
666
|
-
const faker = createFaker(config.seed);
|
|
667
|
-
const name = changeCase.capitalCase(faker.company.bsNoun());
|
|
668
|
-
let variations = [];
|
|
669
|
-
if ("variations" in config) {
|
|
670
|
-
variations = config.variations || [];
|
|
671
|
-
} else {
|
|
672
|
-
const variationsCount = (_a = config.variationsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
673
|
-
variations = Array(variationsCount).fill(void 0).map(() => sharedSliceVariation$1({
|
|
674
|
-
seed: config.seed,
|
|
675
|
-
itemsFieldConfig: config.itemsFieldConfig,
|
|
676
|
-
primaryFieldConfig: config.primaryFieldConfig
|
|
677
|
-
}));
|
|
678
|
-
}
|
|
679
|
-
return {
|
|
680
|
-
type: prismicT.CustomTypeModelSliceType.SharedSlice,
|
|
681
|
-
id: changeCase.snakeCase(name),
|
|
682
|
-
name,
|
|
683
|
-
description: faker.lorem.sentence(),
|
|
684
|
-
variations
|
|
685
|
-
};
|
|
686
|
-
};
|
|
687
|
-
|
|
688
|
-
const timestamp = (config = {}) => {
|
|
689
|
-
const faker = createFaker(config.seed);
|
|
690
|
-
const after = config.after || faker.date.past(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
691
|
-
const before = config.before || faker.date.future(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
692
|
-
return faker.date.between(after, before).toISOString();
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
const buildAlternativeLanguage = (config) => {
|
|
696
|
-
return {
|
|
697
|
-
id: config.document.id,
|
|
698
|
-
type: config.document.type,
|
|
699
|
-
lang: config.document.lang,
|
|
700
|
-
uid: config.document.uid || void 0
|
|
701
|
-
};
|
|
702
|
-
};
|
|
703
|
-
|
|
704
|
-
const customType = (config = {}) => {
|
|
705
|
-
var _a;
|
|
706
|
-
const faker = createFaker(config.seed);
|
|
707
|
-
const model = config.model || customType$1({ seed: config.seed });
|
|
708
|
-
const fieldModelsMap = Object.assign({}, ...Object.values(model.json));
|
|
709
|
-
const dataFieldModelsMap = {};
|
|
710
|
-
for (const key in fieldModelsMap) {
|
|
711
|
-
const fieldModel = fieldModelsMap[key];
|
|
712
|
-
if (fieldModel.type !== prismicT.CustomTypeModelFieldType.UID) {
|
|
713
|
-
dataFieldModelsMap[key] = fieldModel;
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
const hasUID = Object.values(fieldModelsMap).some((fieldModel) => fieldModel.type === prismicT.CustomTypeModelFieldType.UID);
|
|
717
|
-
const withURL = (_a = config.withURL) != null ? _a : true;
|
|
718
|
-
const alternateLanguages = (config.alternateLanguages || []).map((alternateLanguageDocument) => buildAlternativeLanguage({
|
|
719
|
-
document: alternateLanguageDocument
|
|
720
|
-
}));
|
|
721
|
-
return {
|
|
722
|
-
type: model.id,
|
|
723
|
-
id: faker.git.shortSha(),
|
|
724
|
-
uid: hasUID ? changeCase.snakeCase(faker.lorem.words(2)) : null,
|
|
725
|
-
url: withURL ? faker.internet.url() : null,
|
|
726
|
-
href: faker.internet.url(),
|
|
727
|
-
lang: faker.lorem.word(),
|
|
728
|
-
tags: generateTags({ seed: config.seed }),
|
|
729
|
-
slugs: [],
|
|
730
|
-
linked_documents: [],
|
|
731
|
-
alternate_languages: alternateLanguages,
|
|
732
|
-
first_publication_date: timestamp({ seed: config.seed }),
|
|
733
|
-
last_publication_date: timestamp({ seed: config.seed }),
|
|
734
|
-
data: valueForModelMap({
|
|
735
|
-
seed: config.seed,
|
|
736
|
-
map: dataFieldModelsMap,
|
|
737
|
-
configs: config.configs
|
|
738
|
-
})
|
|
739
|
-
};
|
|
740
|
-
};
|
|
741
|
-
|
|
742
|
-
const color = (config = {}) => {
|
|
743
|
-
const faker = createFaker(config.seed);
|
|
744
|
-
return faker.internet.color().toUpperCase();
|
|
745
|
-
};
|
|
746
|
-
|
|
747
|
-
const buildContentRelationshipField = (config) => {
|
|
748
|
-
return {
|
|
749
|
-
link_type: prismicT.LinkType.Document,
|
|
750
|
-
id: config.document.id,
|
|
751
|
-
uid: config.document.uid || void 0,
|
|
752
|
-
type: config.document.type,
|
|
753
|
-
tags: config.document.tags,
|
|
754
|
-
lang: config.document.lang,
|
|
755
|
-
url: config.document.url || void 0,
|
|
756
|
-
slug: config.document.slugs[0],
|
|
757
|
-
isBroken: false
|
|
758
|
-
};
|
|
759
|
-
};
|
|
760
|
-
|
|
761
|
-
const contentRelationship = (config = {}) => {
|
|
762
|
-
var _a;
|
|
763
|
-
const faker = createFaker(config.seed);
|
|
764
|
-
const isFilled = (_a = config.isFilled) != null ? _a : true;
|
|
765
|
-
if (isFilled) {
|
|
766
|
-
const model = config.model || contentRelationship$1({ seed: config.seed });
|
|
767
|
-
const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document2) => {
|
|
768
|
-
let shouldKeep = true;
|
|
769
|
-
if (model.config.customtypes) {
|
|
770
|
-
shouldKeep = shouldKeep && model.config.customtypes.includes(document2.type);
|
|
771
|
-
}
|
|
772
|
-
if (model.config.tags) {
|
|
773
|
-
shouldKeep = shouldKeep && model.config.tags.some((tag) => document2.tags.includes(tag));
|
|
774
|
-
}
|
|
775
|
-
return shouldKeep;
|
|
776
|
-
}) : [
|
|
777
|
-
{
|
|
778
|
-
...customType({ seed: config.seed }),
|
|
779
|
-
type: model.config.customtypes ? faker.random.arrayElement(model.config.customtypes) : generateCustomTypeId({ seed: config.seed }),
|
|
780
|
-
tags: model.config.tags ? faker.random.arrayElements(model.config.tags) : generateTags({ seed: config.seed })
|
|
781
|
-
}
|
|
782
|
-
];
|
|
783
|
-
const document = faker.random.arrayElement(linkableDocuments);
|
|
784
|
-
if (!document) {
|
|
785
|
-
throw new Error("A linkable document could not be found.");
|
|
786
|
-
}
|
|
787
|
-
return buildContentRelationshipField({ document });
|
|
788
|
-
} else {
|
|
789
|
-
return {
|
|
790
|
-
link_type: prismicT.LinkType.Document
|
|
791
|
-
};
|
|
792
|
-
}
|
|
793
|
-
};
|
|
794
|
-
|
|
795
|
-
const date = (config = {}) => {
|
|
796
|
-
return timestamp({
|
|
797
|
-
seed: config.seed,
|
|
798
|
-
after: config.after,
|
|
799
|
-
before: config.before
|
|
800
|
-
}).split("T")[0];
|
|
801
|
-
};
|
|
802
|
-
|
|
803
|
-
const buildEmbedField = (config) => {
|
|
804
|
-
const faker = createFaker(config.seed);
|
|
805
|
-
return {
|
|
806
|
-
type: faker.datatype.boolean() ? prismicT.EmbedType.Link : prismicT.EmbedType.Rich,
|
|
807
|
-
url: config.embedData.url,
|
|
808
|
-
html: config.embedData.html,
|
|
809
|
-
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
810
|
-
version: faker.datatype.number({ min: 1, max: 3, precision: 10 }).toString(),
|
|
811
|
-
cache_age: faker.datatype.number(),
|
|
812
|
-
embed_url: config.embedData.embed_url,
|
|
813
|
-
author_url: faker.internet.url(),
|
|
814
|
-
author_name: faker.company.companyName(),
|
|
815
|
-
provider_name: faker.company.companyName(),
|
|
816
|
-
thumbnail_width: config.embedData.thumbnail_width,
|
|
817
|
-
thumbnail_height: config.embedData.thumbnail_height,
|
|
818
|
-
thumbnail_url: config.embedData.thumbnail_url,
|
|
819
|
-
width: faker.datatype.number({ min: 200, max: 500 }),
|
|
820
|
-
height: faker.datatype.number({ min: 200, max: 500 })
|
|
821
|
-
};
|
|
822
|
-
};
|
|
823
|
-
|
|
824
|
-
const dataSet$1 = [
|
|
825
|
-
{
|
|
826
|
-
url: "https://www.youtube.com/watch?v=fiOwHYFkUz0",
|
|
827
|
-
embed_url: "https://www.youtube.com/embed/fiOwHYFkUz0",
|
|
828
|
-
thumbnail_url: "https://i.ytimg.com/vi/fiOwHYFkUz0/hqdefault.jpg",
|
|
829
|
-
thumbnail_height: 360,
|
|
830
|
-
thumbnail_width: 480,
|
|
831
|
-
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>'
|
|
832
|
-
},
|
|
833
|
-
{
|
|
834
|
-
url: "https://www.youtube.com/watch?v=c-ATzcy6VkI",
|
|
835
|
-
embed_url: "https://www.youtube.com/embed/c-ATzcy6VkI",
|
|
836
|
-
thumbnail_url: "https://i.ytimg.com/vi/c-ATzcy6VkI/hqdefault.jpg",
|
|
837
|
-
thumbnail_height: 360,
|
|
838
|
-
thumbnail_width: 480,
|
|
839
|
-
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>'
|
|
840
|
-
},
|
|
841
|
-
{
|
|
842
|
-
url: "https://www.youtube.com/watch?v=iewZXv94XGY",
|
|
843
|
-
embed_url: "https://www.youtube.com/watch?v=fiOwHYFkUz0",
|
|
844
|
-
thumbnail_url: "https://i.ytimg.com/vi/iewZXv94XGY/hqdefault.jpg",
|
|
845
|
-
thumbnail_height: 360,
|
|
846
|
-
thumbnail_width: 480,
|
|
847
|
-
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>'
|
|
848
|
-
},
|
|
849
|
-
{
|
|
850
|
-
url: "https://twitter.com/prismicio/status/1356293316158095361",
|
|
851
|
-
embed_url: "https://www.youtube.com/watch?v=iewZXv94XGY",
|
|
852
|
-
thumbnail_url: null,
|
|
853
|
-
thumbnail_height: null,
|
|
854
|
-
thumbnail_width: null,
|
|
855
|
-
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'
|
|
856
|
-
},
|
|
857
|
-
{
|
|
858
|
-
url: "https://twitter.com/timbenniks/status/1304146886832594944",
|
|
859
|
-
thumbnail_url: null,
|
|
860
|
-
thumbnail_width: null,
|
|
861
|
-
thumbnail_height: null,
|
|
862
|
-
embed_url: "https://twitter.com/timbenniks/status/1304146886832594944",
|
|
863
|
-
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'
|
|
864
|
-
},
|
|
865
|
-
{
|
|
866
|
-
url: "https://twitter.com/prismicio/status/1354112310252630016",
|
|
867
|
-
thumbnail_url: null,
|
|
868
|
-
thumbnail_width: null,
|
|
869
|
-
thumbnail_height: null,
|
|
870
|
-
embed_url: "https://twitter.com/prismicio/status/1354112310252630016",
|
|
871
|
-
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'
|
|
872
|
-
},
|
|
873
|
-
{
|
|
874
|
-
url: "https://twitter.com/prismicio/status/1354835716430319617",
|
|
875
|
-
thumbnail_url: null,
|
|
876
|
-
thumbnail_width: null,
|
|
877
|
-
thumbnail_height: null,
|
|
878
|
-
embed_url: "https://twitter.com/prismicio/status/1354835716430319617",
|
|
879
|
-
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'
|
|
880
|
-
}
|
|
881
|
-
];
|
|
882
|
-
const getMockEmbedData = (config) => {
|
|
883
|
-
const faker = createFaker(config.seed);
|
|
884
|
-
return faker.random.arrayElement(dataSet$1);
|
|
885
|
-
};
|
|
886
|
-
|
|
887
|
-
const embed$1 = (config = {}) => {
|
|
888
|
-
const embedData = getMockEmbedData({ seed: config.seed });
|
|
889
|
-
return buildEmbedField({ seed: config.seed, embedData });
|
|
890
|
-
};
|
|
891
|
-
|
|
892
|
-
const geoPoint = (config = {}) => {
|
|
893
|
-
const faker = createFaker(config.seed);
|
|
894
|
-
const coordinates = faker.address.nearbyGPSCoordinate();
|
|
895
|
-
return {
|
|
896
|
-
longitude: Number.parseFloat(coordinates[0]),
|
|
897
|
-
latitude: Number.parseFloat(coordinates[1])
|
|
898
|
-
};
|
|
899
|
-
};
|
|
900
|
-
|
|
901
|
-
const patterns$9 = {
|
|
902
|
-
short: {
|
|
903
|
-
minItems: 1,
|
|
904
|
-
maxItems: 3
|
|
905
|
-
},
|
|
906
|
-
medium: {
|
|
907
|
-
minItems: 3,
|
|
908
|
-
maxItems: 6
|
|
909
|
-
},
|
|
910
|
-
long: {
|
|
911
|
-
minItems: 6,
|
|
912
|
-
maxItems: 12
|
|
913
|
-
}
|
|
914
|
-
};
|
|
915
|
-
const group = (config = {}) => {
|
|
916
|
-
const faker = createFaker(config.seed);
|
|
917
|
-
const model = config.model || group$1({ seed: config.seed });
|
|
918
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$9));
|
|
919
|
-
const pattern = patterns$9[patternKey];
|
|
920
|
-
const itemsCount = faker.datatype.number({
|
|
921
|
-
min: pattern.minItems,
|
|
922
|
-
max: pattern.maxItems
|
|
923
|
-
});
|
|
924
|
-
return Array(itemsCount).fill(void 0).map(() => {
|
|
925
|
-
return valueForModelMap({
|
|
926
|
-
seed: config.seed,
|
|
927
|
-
map: model.config.fields,
|
|
928
|
-
configs: config.configs
|
|
929
|
-
});
|
|
930
|
-
});
|
|
931
|
-
};
|
|
932
|
-
|
|
933
|
-
const buildImageField = (config) => {
|
|
934
|
-
var _a, _b, _c, _d;
|
|
935
|
-
const faker = createFaker(config.seed);
|
|
936
|
-
const url = new URL(config.imageData.url);
|
|
937
|
-
const dimensions = {
|
|
938
|
-
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
939
|
-
height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
|
|
940
|
-
};
|
|
941
|
-
url.searchParams.set("w", dimensions.width.toString());
|
|
942
|
-
url.searchParams.set("h", dimensions.height.toString());
|
|
943
|
-
url.searchParams.set("fit", "crop");
|
|
944
|
-
return {
|
|
945
|
-
url: url.toString(),
|
|
946
|
-
dimensions,
|
|
947
|
-
alt: faker.lorem.sentence(),
|
|
948
|
-
copyright: faker.lorem.sentence()
|
|
949
|
-
};
|
|
950
|
-
};
|
|
951
|
-
|
|
952
|
-
const dataSet = [
|
|
953
|
-
{
|
|
954
|
-
url: "https://images.unsplash.com/photo-1604537529428-15bcbeecfe4d",
|
|
955
|
-
width: 4240,
|
|
956
|
-
height: 2832
|
|
957
|
-
},
|
|
958
|
-
{
|
|
959
|
-
url: "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05",
|
|
960
|
-
width: 7372,
|
|
961
|
-
height: 4392
|
|
962
|
-
},
|
|
963
|
-
{
|
|
964
|
-
url: "https://images.unsplash.com/photo-1441974231531-c6227db76b6e",
|
|
965
|
-
width: 2560,
|
|
966
|
-
height: 1705
|
|
967
|
-
},
|
|
968
|
-
{
|
|
969
|
-
url: "https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5",
|
|
970
|
-
width: 2200,
|
|
971
|
-
height: 1467
|
|
972
|
-
},
|
|
973
|
-
{
|
|
974
|
-
url: "https://images.unsplash.com/photo-1426604966848-d7adac402bff",
|
|
975
|
-
width: 5616,
|
|
976
|
-
height: 3744
|
|
977
|
-
},
|
|
978
|
-
{
|
|
979
|
-
url: "https://images.unsplash.com/photo-1604537466608-109fa2f16c3b",
|
|
980
|
-
width: 4240,
|
|
981
|
-
height: 2832
|
|
982
|
-
},
|
|
983
|
-
{
|
|
984
|
-
url: "https://images.unsplash.com/photo-1497436072909-60f360e1d4b1",
|
|
985
|
-
width: 2560,
|
|
986
|
-
height: 1440
|
|
987
|
-
},
|
|
988
|
-
{
|
|
989
|
-
url: "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg",
|
|
990
|
-
width: 6373,
|
|
991
|
-
height: 4253
|
|
992
|
-
},
|
|
993
|
-
{
|
|
994
|
-
url: "https://images.unsplash.com/photo-1504198266287-1659872e6590",
|
|
995
|
-
width: 4272,
|
|
996
|
-
height: 2848
|
|
997
|
-
},
|
|
998
|
-
{
|
|
999
|
-
url: "https://images.unsplash.com/photo-1470770903676-69b98201ea1c",
|
|
1000
|
-
width: 4554,
|
|
1001
|
-
height: 3036
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
url: "https://images.unsplash.com/photo-1587502537745-84b86da1204f",
|
|
1005
|
-
width: 6550,
|
|
1006
|
-
height: 4367
|
|
1007
|
-
},
|
|
1008
|
-
{
|
|
1009
|
-
url: "https://images.unsplash.com/photo-1431794062232-2a99a5431c6c",
|
|
1010
|
-
width: 6e3,
|
|
1011
|
-
height: 4e3
|
|
1012
|
-
},
|
|
1013
|
-
{
|
|
1014
|
-
url: "https://images.unsplash.com/photo-1446329813274-7c9036bd9a1f",
|
|
1015
|
-
width: 6e3,
|
|
1016
|
-
height: 4e3
|
|
1017
|
-
},
|
|
1018
|
-
{
|
|
1019
|
-
url: "https://images.unsplash.com/photo-1504567961542-e24d9439a724",
|
|
1020
|
-
width: 4608,
|
|
1021
|
-
height: 3456
|
|
1022
|
-
},
|
|
1023
|
-
{
|
|
1024
|
-
url: "https://images.unsplash.com/photo-1444464666168-49d633b86797",
|
|
1025
|
-
width: 4844,
|
|
1026
|
-
height: 3234
|
|
1027
|
-
},
|
|
1028
|
-
{
|
|
1029
|
-
url: "https://images.unsplash.com/photo-1553531384-397c80973a0b",
|
|
1030
|
-
width: 4335,
|
|
1031
|
-
height: 6502
|
|
1032
|
-
}
|
|
1033
|
-
];
|
|
1034
|
-
const getMockImageData = (config) => {
|
|
1035
|
-
const faker = createFaker(config.seed);
|
|
1036
|
-
return faker.random.arrayElement(dataSet);
|
|
1037
|
-
};
|
|
1038
|
-
|
|
1039
|
-
const image$1 = (config = {}) => {
|
|
1040
|
-
const model = config.model || image$2({ seed: config.seed });
|
|
1041
|
-
const imageData = getMockImageData({ seed: config.seed });
|
|
1042
|
-
const value = buildImageField({
|
|
1043
|
-
seed: config.seed,
|
|
1044
|
-
imageData,
|
|
1045
|
-
constraint: model.config.constraint
|
|
1046
|
-
});
|
|
1047
|
-
for (const thumbnail of model.config.thumbnails) {
|
|
1048
|
-
value[thumbnail.name] = buildImageField({
|
|
1049
|
-
seed: config.seed,
|
|
1050
|
-
imageData,
|
|
1051
|
-
constraint: {
|
|
1052
|
-
width: thumbnail.width,
|
|
1053
|
-
height: thumbnail.height
|
|
1054
|
-
}
|
|
1055
|
-
});
|
|
1056
|
-
}
|
|
1057
|
-
return value;
|
|
1058
|
-
};
|
|
1059
|
-
|
|
1060
|
-
const integrationFields = (config = {}) => {
|
|
1061
|
-
const faker = createFaker(config.seed);
|
|
1062
|
-
const imageData = getMockImageData({ seed: config.seed });
|
|
1063
|
-
return {
|
|
1064
|
-
id: faker.git.shortSha(),
|
|
1065
|
-
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
1066
|
-
description: faker.lorem.sentence(),
|
|
1067
|
-
image_url: imageData.url,
|
|
1068
|
-
last_update: faker.date.past(20, new Date("2021-03-07")).getTime(),
|
|
1069
|
-
blob: config.data
|
|
1070
|
-
};
|
|
1071
|
-
};
|
|
1072
|
-
|
|
1073
|
-
const keyText = (config = {}) => {
|
|
1074
|
-
const faker = createFaker(config.seed);
|
|
1075
|
-
return changeCase.sentenceCase(faker.lorem.words(3));
|
|
1076
|
-
};
|
|
1077
|
-
|
|
1078
|
-
const linkToMedia = (config = {}) => {
|
|
1079
|
-
var _a;
|
|
1080
|
-
const faker = createFaker(config.seed);
|
|
1081
|
-
const isFilled = (_a = config.isFilled) != null ? _a : true;
|
|
1082
|
-
if (isFilled) {
|
|
1083
|
-
return {
|
|
1084
|
-
link_type: prismicT.LinkType.Media,
|
|
1085
|
-
name: faker.system.commonFileName(),
|
|
1086
|
-
kind: faker.system.commonFileType(),
|
|
1087
|
-
url: faker.internet.url(),
|
|
1088
|
-
size: faker.datatype.number().toString(),
|
|
1089
|
-
height: faker.datatype.number().toString(),
|
|
1090
|
-
width: faker.datatype.number().toString()
|
|
1091
|
-
};
|
|
1092
|
-
} else {
|
|
1093
|
-
return {
|
|
1094
|
-
link_type: prismicT.LinkType.Media
|
|
1095
|
-
};
|
|
1096
|
-
}
|
|
1097
|
-
};
|
|
1098
|
-
|
|
1099
|
-
const link = (config = {}) => {
|
|
1100
|
-
var _a, _b;
|
|
1101
|
-
const faker = createFaker(config.seed);
|
|
1102
|
-
const isFilled = (_a = config.isFilled) != null ? _a : true;
|
|
1103
|
-
const type = config.type || faker.random.arrayElement([
|
|
1104
|
-
prismicT.LinkType.Web,
|
|
1105
|
-
prismicT.LinkType.Document,
|
|
1106
|
-
prismicT.LinkType.Media
|
|
1107
|
-
]);
|
|
1108
|
-
if (isFilled) {
|
|
1109
|
-
switch (type) {
|
|
1110
|
-
case prismicT.LinkType.Document: {
|
|
1111
|
-
return contentRelationship({
|
|
1112
|
-
seed: config.seed,
|
|
1113
|
-
isFilled,
|
|
1114
|
-
linkableDocuments: config.linkableDocuments
|
|
1115
|
-
});
|
|
1116
|
-
}
|
|
1117
|
-
case prismicT.LinkType.Media: {
|
|
1118
|
-
return linkToMedia({
|
|
1119
|
-
seed: config.seed,
|
|
1120
|
-
isFilled
|
|
1121
|
-
});
|
|
1122
|
-
}
|
|
1123
|
-
case prismicT.LinkType.Web: {
|
|
1124
|
-
const model = config.model || link$1({ seed: config.seed });
|
|
1125
|
-
return {
|
|
1126
|
-
link_type: prismicT.LinkType.Web,
|
|
1127
|
-
url: faker.internet.url(),
|
|
1128
|
-
target: ((_b = config.withTargetBlank) != null ? _b : model.config.allowTargetBlank && faker.datatype.boolean()) ? "_blank" : void 0
|
|
1129
|
-
};
|
|
1130
|
-
}
|
|
1131
|
-
}
|
|
1132
|
-
}
|
|
1133
|
-
return {
|
|
1134
|
-
link_type: type
|
|
1135
|
-
};
|
|
1136
|
-
};
|
|
1137
|
-
|
|
1138
|
-
const number = (config = {}) => {
|
|
1139
|
-
const faker = createFaker(config.seed);
|
|
1140
|
-
return faker.datatype.number();
|
|
1141
|
-
};
|
|
1142
|
-
|
|
1143
|
-
const patterns$8 = {
|
|
1144
|
-
short: {
|
|
1145
|
-
minWords: 1,
|
|
1146
|
-
maxWords: 3
|
|
1147
|
-
},
|
|
1148
|
-
medium: {
|
|
1149
|
-
minWords: 3,
|
|
1150
|
-
maxWords: 6
|
|
1151
|
-
},
|
|
1152
|
-
long: {
|
|
1153
|
-
minWords: 6,
|
|
1154
|
-
maxWords: 12
|
|
1155
|
-
}
|
|
1156
|
-
};
|
|
1157
|
-
const heading = (config = {}) => {
|
|
1158
|
-
const faker = createFaker(config.seed);
|
|
1159
|
-
const model = config.model || title$1({ seed: config.seed });
|
|
1160
|
-
const types = ("single" in model.config ? model.config.single : model.config.multi).split(",").filter((type2) => [
|
|
1161
|
-
prismicT.RichTextNodeType.heading1,
|
|
1162
|
-
prismicT.RichTextNodeType.heading2,
|
|
1163
|
-
prismicT.RichTextNodeType.heading3,
|
|
1164
|
-
prismicT.RichTextNodeType.heading4,
|
|
1165
|
-
prismicT.RichTextNodeType.heading5,
|
|
1166
|
-
prismicT.RichTextNodeType.heading6
|
|
1167
|
-
].includes(type2));
|
|
1168
|
-
const type = faker.random.arrayElement(types);
|
|
1169
|
-
if (type) {
|
|
1170
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$8));
|
|
1171
|
-
const pattern = patterns$8[patternKey];
|
|
1172
|
-
return {
|
|
1173
|
-
type,
|
|
1174
|
-
text: changeCase.capitalCase(faker.lorem.words(faker.datatype.number({
|
|
1175
|
-
min: pattern.minWords,
|
|
1176
|
-
max: pattern.maxWords
|
|
1177
|
-
}))),
|
|
1178
|
-
spans: []
|
|
1179
|
-
};
|
|
1180
|
-
} else {
|
|
1181
|
-
return void 0;
|
|
1182
|
-
}
|
|
1183
|
-
};
|
|
1184
|
-
|
|
1185
|
-
const patterns$7 = {
|
|
1186
|
-
short: {
|
|
1187
|
-
sentenceCount: 2
|
|
1188
|
-
},
|
|
1189
|
-
medium: {
|
|
1190
|
-
sentenceCount: 6
|
|
1191
|
-
},
|
|
1192
|
-
long: {
|
|
1193
|
-
sentenceCount: 12
|
|
1194
|
-
}
|
|
1195
|
-
};
|
|
1196
|
-
const paragraph = (config = {}) => {
|
|
1197
|
-
const faker = createFaker(config.seed);
|
|
1198
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$7));
|
|
1199
|
-
const pattern = patterns$7[patternKey];
|
|
1200
|
-
return {
|
|
1201
|
-
type: prismicT.RichTextNodeType.paragraph,
|
|
1202
|
-
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
1203
|
-
spans: []
|
|
1204
|
-
};
|
|
1205
|
-
};
|
|
1206
|
-
|
|
1207
|
-
const patterns$6 = {
|
|
1208
|
-
short: {
|
|
1209
|
-
sentenceCount: 2
|
|
1210
|
-
},
|
|
1211
|
-
medium: {
|
|
1212
|
-
sentenceCount: 6
|
|
1213
|
-
},
|
|
1214
|
-
long: {
|
|
1215
|
-
sentenceCount: 12
|
|
1216
|
-
}
|
|
1217
|
-
};
|
|
1218
|
-
const preformatted = (config = {}) => {
|
|
1219
|
-
const faker = createFaker(config.seed);
|
|
1220
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$6));
|
|
1221
|
-
const pattern = patterns$6[patternKey];
|
|
1222
|
-
return {
|
|
1223
|
-
type: prismicT.RichTextNodeType.preformatted,
|
|
1224
|
-
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
1225
|
-
spans: []
|
|
1226
|
-
};
|
|
1227
|
-
};
|
|
1228
|
-
|
|
1229
|
-
const patterns$5 = {
|
|
1230
|
-
short: {
|
|
1231
|
-
minItems: 1,
|
|
1232
|
-
maxItems: 3
|
|
1233
|
-
},
|
|
1234
|
-
medium: {
|
|
1235
|
-
minItems: 3,
|
|
1236
|
-
maxItems: 6
|
|
1237
|
-
},
|
|
1238
|
-
long: {
|
|
1239
|
-
minItems: 6,
|
|
1240
|
-
maxItems: 12
|
|
1241
|
-
}
|
|
1242
|
-
};
|
|
1243
|
-
const list = (config = {}) => {
|
|
1244
|
-
const faker = createFaker(config.seed);
|
|
1245
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$5));
|
|
1246
|
-
const pattern = patterns$5[patternKey];
|
|
1247
|
-
const itemsCount = faker.datatype.number({
|
|
1248
|
-
min: pattern.minItems,
|
|
1249
|
-
max: pattern.maxItems
|
|
1250
|
-
});
|
|
1251
|
-
return Array(itemsCount).fill(void 0).map(() => {
|
|
1252
|
-
return {
|
|
1253
|
-
type: prismicT.RichTextNodeType.listItem,
|
|
1254
|
-
text: faker.lorem.sentence(),
|
|
1255
|
-
spans: []
|
|
1256
|
-
};
|
|
1257
|
-
});
|
|
1258
|
-
};
|
|
1259
|
-
|
|
1260
|
-
const patterns$4 = {
|
|
1261
|
-
short: {
|
|
1262
|
-
minItems: 1,
|
|
1263
|
-
maxItems: 3
|
|
1264
|
-
},
|
|
1265
|
-
medium: {
|
|
1266
|
-
minItems: 3,
|
|
1267
|
-
maxItems: 6
|
|
1268
|
-
},
|
|
1269
|
-
long: {
|
|
1270
|
-
minItems: 6,
|
|
1271
|
-
maxItems: 12
|
|
1272
|
-
}
|
|
1273
|
-
};
|
|
1274
|
-
const oList = (config = {}) => {
|
|
1275
|
-
const faker = createFaker(config.seed);
|
|
1276
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$4));
|
|
1277
|
-
const pattern = patterns$4[patternKey];
|
|
1278
|
-
const itemsCount = faker.datatype.number({
|
|
1279
|
-
min: pattern.minItems,
|
|
1280
|
-
max: pattern.maxItems
|
|
1281
|
-
});
|
|
1282
|
-
return Array(itemsCount).fill(void 0).map(() => {
|
|
1283
|
-
return {
|
|
1284
|
-
type: prismicT.RichTextNodeType.oListItem,
|
|
1285
|
-
text: faker.lorem.sentence(),
|
|
1286
|
-
spans: []
|
|
1287
|
-
};
|
|
1288
|
-
});
|
|
1289
|
-
};
|
|
1290
|
-
|
|
1291
|
-
const image = (config = {}) => {
|
|
1292
|
-
const imageData = getMockImageData({ seed: config.seed });
|
|
1293
|
-
const imageField = buildImageField({ seed: config.seed, imageData });
|
|
1294
|
-
return {
|
|
1295
|
-
type: prismicT.RichTextNodeType.image,
|
|
1296
|
-
alt: imageField.alt,
|
|
1297
|
-
url: imageField.url,
|
|
1298
|
-
copyright: imageField.copyright,
|
|
1299
|
-
dimensions: imageField.dimensions
|
|
1300
|
-
};
|
|
1301
|
-
};
|
|
1302
|
-
|
|
1303
|
-
const embed = (config = {}) => {
|
|
1304
|
-
const embedData = getMockEmbedData({ seed: config.seed });
|
|
1305
|
-
const embedField = buildEmbedField({ seed: config.seed, embedData });
|
|
1306
|
-
return {
|
|
1307
|
-
type: prismicT.RichTextNodeType.embed,
|
|
1308
|
-
oembed: embedField
|
|
1309
|
-
};
|
|
1310
|
-
};
|
|
1311
|
-
|
|
1312
|
-
const patterns$3 = {
|
|
1313
|
-
short: {
|
|
1314
|
-
blockCountMin: 1,
|
|
1315
|
-
blockCountMax: 2
|
|
1316
|
-
},
|
|
1317
|
-
medium: {
|
|
1318
|
-
blockCountMin: 2,
|
|
1319
|
-
blockCountMax: 4
|
|
1320
|
-
},
|
|
1321
|
-
long: {
|
|
1322
|
-
blockCountMin: 4,
|
|
1323
|
-
blockCountMax: 8
|
|
1324
|
-
}
|
|
1325
|
-
};
|
|
1326
|
-
const generators = {
|
|
1327
|
-
[prismicT.RichTextNodeType.heading1]: heading,
|
|
1328
|
-
[prismicT.RichTextNodeType.heading2]: heading,
|
|
1329
|
-
[prismicT.RichTextNodeType.heading3]: heading,
|
|
1330
|
-
[prismicT.RichTextNodeType.heading4]: heading,
|
|
1331
|
-
[prismicT.RichTextNodeType.heading5]: heading,
|
|
1332
|
-
[prismicT.RichTextNodeType.heading6]: heading,
|
|
1333
|
-
[prismicT.RichTextNodeType.paragraph]: paragraph,
|
|
1334
|
-
[prismicT.RichTextNodeType.preformatted]: preformatted,
|
|
1335
|
-
[prismicT.RichTextNodeType.listItem]: list,
|
|
1336
|
-
[prismicT.RichTextNodeType.oListItem]: oList,
|
|
1337
|
-
[prismicT.RichTextNodeType.image]: image,
|
|
1338
|
-
[prismicT.RichTextNodeType.embed]: embed
|
|
1339
|
-
};
|
|
1340
|
-
const richText = (config = {}) => {
|
|
1341
|
-
const faker = createFaker(config.seed);
|
|
1342
|
-
const model = config.model || richText$1({
|
|
1343
|
-
seed: config.seed,
|
|
1344
|
-
withMultipleBlocks: true
|
|
1345
|
-
});
|
|
1346
|
-
const supportsMultipleBlocks = "multi" in model.config;
|
|
1347
|
-
const types = ("multi" in model.config ? model.config.multi : model.config.single).split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1348
|
-
if (types.length > 0) {
|
|
1349
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$3));
|
|
1350
|
-
const pattern = patterns$3[patternKey];
|
|
1351
|
-
const blockCount = supportsMultipleBlocks ? faker.datatype.number({
|
|
1352
|
-
min: pattern.blockCountMin,
|
|
1353
|
-
max: pattern.blockCountMax
|
|
1354
|
-
}) : 1;
|
|
1355
|
-
return Array(blockCount).fill(void 0).map(() => {
|
|
1356
|
-
const type = faker.random.arrayElement(types);
|
|
1357
|
-
const generator = generators[type];
|
|
1358
|
-
return generator({ seed: config.seed, model });
|
|
1359
|
-
}).flat().filter((block) => block !== void 0).slice(0, blockCount);
|
|
1360
|
-
} else {
|
|
1361
|
-
return [];
|
|
1362
|
-
}
|
|
1363
|
-
};
|
|
1364
|
-
|
|
1365
|
-
const select = (config = {}) => {
|
|
1366
|
-
const faker = createFaker(config.seed);
|
|
1367
|
-
const model = config.model || select$1({ seed: config.seed });
|
|
1368
|
-
const defaultValue = model.config.default_value;
|
|
1369
|
-
return typeof defaultValue === "string" && faker.datatype.boolean() ? defaultValue : faker.random.arrayElement(model.config.options);
|
|
1370
|
-
};
|
|
1371
|
-
|
|
1372
|
-
const patterns$2 = {
|
|
1373
|
-
none: {
|
|
1374
|
-
minItems: 0,
|
|
1375
|
-
maxItems: 0
|
|
1376
|
-
},
|
|
1377
|
-
short: {
|
|
1378
|
-
minItems: 1,
|
|
1379
|
-
maxItems: 3
|
|
1380
|
-
},
|
|
1381
|
-
medium: {
|
|
1382
|
-
minItems: 3,
|
|
1383
|
-
maxItems: 6
|
|
1384
|
-
},
|
|
1385
|
-
long: {
|
|
1386
|
-
minItems: 6,
|
|
1387
|
-
maxItems: 12
|
|
1388
|
-
}
|
|
1389
|
-
};
|
|
1390
|
-
const slice = (config = {}) => {
|
|
1391
|
-
var _a;
|
|
1392
|
-
const faker = createFaker(config.seed);
|
|
1393
|
-
const model = config.model || slice$1({ seed: config.seed });
|
|
1394
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
|
|
1395
|
-
const pattern = patterns$2[patternKey];
|
|
1396
|
-
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1397
|
-
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.company.bsNoun());
|
|
1398
|
-
const itemsCount = Object.keys(model.repeat).length > 0 ? faker.datatype.number({
|
|
1399
|
-
min: pattern.minItems,
|
|
1400
|
-
max: pattern.maxItems
|
|
1401
|
-
}) : 0;
|
|
1402
|
-
return {
|
|
1403
|
-
slice_type: sliceType,
|
|
1404
|
-
slice_label: sliceLabel,
|
|
1405
|
-
primary: valueForModelMap({
|
|
1406
|
-
seed: config.seed,
|
|
1407
|
-
map: model["non-repeat"],
|
|
1408
|
-
configs: config.primaryFieldConfigs
|
|
1409
|
-
}),
|
|
1410
|
-
items: Array(itemsCount).fill(void 0).map(() => {
|
|
1411
|
-
return valueForModelMap({
|
|
1412
|
-
seed: config.seed,
|
|
1413
|
-
map: model.repeat,
|
|
1414
|
-
configs: config.itemsFieldConfigs
|
|
1415
|
-
});
|
|
1416
|
-
})
|
|
1417
|
-
};
|
|
1418
|
-
};
|
|
1419
|
-
|
|
1420
|
-
const patterns$1 = {
|
|
1421
|
-
none: {
|
|
1422
|
-
minItems: 0,
|
|
1423
|
-
maxItems: 0
|
|
1424
|
-
},
|
|
1425
|
-
short: {
|
|
1426
|
-
minItems: 1,
|
|
1427
|
-
maxItems: 3
|
|
1428
|
-
},
|
|
1429
|
-
medium: {
|
|
1430
|
-
minItems: 3,
|
|
1431
|
-
maxItems: 6
|
|
1432
|
-
},
|
|
1433
|
-
long: {
|
|
1434
|
-
minItems: 6,
|
|
1435
|
-
maxItems: 12
|
|
1436
|
-
}
|
|
1437
|
-
};
|
|
1438
|
-
const sharedSliceVariation = (config = {}) => {
|
|
1439
|
-
var _a, _b;
|
|
1440
|
-
const faker = createFaker(config.seed);
|
|
1441
|
-
const model = config.model || sharedSliceVariation$1({ seed: config.seed });
|
|
1442
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
|
|
1443
|
-
const pattern = patterns$1[patternKey];
|
|
1444
|
-
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1445
|
-
const sliceLabel = (_b = config.label) != null ? _b : changeCase.capitalCase(faker.company.bsNoun());
|
|
1446
|
-
const itemsCount = Object.keys(model.items).length > 0 ? faker.datatype.number({
|
|
1447
|
-
min: pattern.minItems,
|
|
1448
|
-
max: pattern.maxItems
|
|
1449
|
-
}) : 0;
|
|
1450
|
-
return {
|
|
1451
|
-
slice_type: sliceType,
|
|
1452
|
-
slice_label: sliceLabel,
|
|
1453
|
-
variation: model.id,
|
|
1454
|
-
version: faker.git.shortSha(),
|
|
1455
|
-
primary: valueForModelMap({
|
|
1456
|
-
seed: config.seed,
|
|
1457
|
-
map: model.primary,
|
|
1458
|
-
configs: config.primaryFieldConfigs
|
|
1459
|
-
}),
|
|
1460
|
-
items: Array(itemsCount).fill(void 0).map(() => {
|
|
1461
|
-
return valueForModelMap({
|
|
1462
|
-
seed: config.seed,
|
|
1463
|
-
map: model.items,
|
|
1464
|
-
configs: config.itemsFieldConfigs
|
|
1465
|
-
});
|
|
1466
|
-
})
|
|
1467
|
-
};
|
|
1468
|
-
};
|
|
1469
|
-
|
|
1470
|
-
const sharedSlice = (config = {}) => {
|
|
1471
|
-
const faker = createFaker(config.seed);
|
|
1472
|
-
const model = config.model || sharedSlice$1({ seed: config.seed });
|
|
1473
|
-
const variationModel = faker.random.arrayElement(model.variations);
|
|
1474
|
-
return sharedSliceVariation({
|
|
1475
|
-
seed: config.seed,
|
|
1476
|
-
model: variationModel,
|
|
1477
|
-
pattern: config.pattern,
|
|
1478
|
-
type: model.id,
|
|
1479
|
-
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1480
|
-
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1481
|
-
});
|
|
1482
|
-
};
|
|
1483
|
-
|
|
1484
|
-
const patterns = {
|
|
1485
|
-
short: {
|
|
1486
|
-
minItems: 1,
|
|
1487
|
-
maxItems: 3
|
|
1488
|
-
},
|
|
1489
|
-
medium: {
|
|
1490
|
-
minItems: 3,
|
|
1491
|
-
maxItems: 6
|
|
1492
|
-
},
|
|
1493
|
-
long: {
|
|
1494
|
-
minItems: 6,
|
|
1495
|
-
maxItems: 12
|
|
1496
|
-
}
|
|
1497
|
-
};
|
|
1498
|
-
const sliceZone = (config = {}) => {
|
|
1499
|
-
const faker = createFaker(config.seed);
|
|
1500
|
-
const model = config.model || sliceZone$1({ seed: config.seed });
|
|
1501
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns));
|
|
1502
|
-
const pattern = patterns[patternKey];
|
|
1503
|
-
const itemsCount = faker.datatype.number({
|
|
1504
|
-
min: pattern.minItems,
|
|
1505
|
-
max: pattern.maxItems
|
|
1506
|
-
});
|
|
1507
|
-
return Array(itemsCount).fill(void 0).map(() => {
|
|
1508
|
-
var _a;
|
|
1509
|
-
const choices = Object.entries(model.config.choices);
|
|
1510
|
-
const [choiceType, choiceModel] = faker.random.arrayElement(choices);
|
|
1511
|
-
const choiceLabels = model.config.labels[choiceType] || [];
|
|
1512
|
-
const choiceLabel = faker.random.arrayElement(choiceLabels);
|
|
1513
|
-
switch (choiceModel.type) {
|
|
1514
|
-
case prismicT.CustomTypeModelSliceType.Slice: {
|
|
1515
|
-
return slice({
|
|
1516
|
-
seed: config.seed,
|
|
1517
|
-
model: choiceModel,
|
|
1518
|
-
type: choiceType,
|
|
1519
|
-
label: choiceLabel ? choiceLabel.name : null,
|
|
1520
|
-
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1521
|
-
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1522
|
-
});
|
|
1523
|
-
}
|
|
1524
|
-
case prismicT.CustomTypeModelSliceType.SharedSlice: {
|
|
1525
|
-
const sharedSliceModel = (_a = config.sharedSliceModels) == null ? void 0 : _a.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
|
|
1526
|
-
if (sharedSliceModel) {
|
|
1527
|
-
return sharedSlice({
|
|
1528
|
-
seed: config.seed,
|
|
1529
|
-
model: sharedSliceModel,
|
|
1530
|
-
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1531
|
-
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1532
|
-
});
|
|
1533
|
-
}
|
|
1534
|
-
}
|
|
1535
|
-
}
|
|
1536
|
-
}).filter((slice2) => slice2 !== void 0);
|
|
1537
|
-
};
|
|
1538
|
-
|
|
1539
|
-
const title = (config = {}) => {
|
|
1540
|
-
return [
|
|
1541
|
-
heading({
|
|
1542
|
-
seed: config.seed,
|
|
1543
|
-
model: config.model,
|
|
1544
|
-
pattern: config.pattern
|
|
1545
|
-
})
|
|
1546
|
-
];
|
|
1547
|
-
};
|
|
1548
|
-
|
|
1549
|
-
const uid = (config = {}) => {
|
|
1550
|
-
const faker = createFaker(config.seed);
|
|
1551
|
-
return changeCase.snakeCase(faker.lorem.words(2));
|
|
1552
|
-
};
|
|
1553
|
-
|
|
1554
|
-
export { boolean$1 as boolean, color, contentRelationship, customType, date, customType as document, embed$1 as embed, geoPoint, group, image$1 as image, integrationFields, keyText, link, linkToMedia, number, richText, select, sharedSlice, sharedSliceVariation, slice, sliceZone, timestamp, title, uid };
|