@prismicio/mock 0.0.3 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/api/index.cjs +561 -0
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.d.ts +36 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +561 -0
- package/dist/api/index.js.map +1 -0
- package/dist/index.cjs +672 -644
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +228 -262
- package/dist/{index.mjs → index.js} +663 -634
- package/dist/index.js.map +1 -0
- package/dist/model/index.cjs +163 -203
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.ts +70 -96
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +462 -0
- package/dist/model/index.js.map +1 -0
- package/dist/value/index.cjs +284 -499
- package/dist/value/index.cjs.map +1 -0
- package/dist/value/index.d.ts +60 -120
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/{index.mjs → index.js} +447 -608
- package/dist/value/index.js.map +1 -0
- package/package.json +25 -20
- package/src/api/index.ts +11 -0
- package/src/api/query.ts +38 -0
- package/src/api/ref.ts +41 -0
- package/src/api/repository.ts +54 -0
- package/src/api/tags.ts +15 -0
- package/src/constants.ts +3 -1
- package/src/index.ts +1 -0
- package/src/lib/buildAlternativeLanguage.ts +18 -0
- package/src/lib/buildContentRelationshipField.ts +12 -5
- package/src/lib/buildEmbedField.ts +1 -1
- package/src/lib/buildImageFieldImage.ts +48 -0
- package/src/lib/createFaker.ts +19 -10
- package/src/lib/generateTags.ts +10 -2
- package/src/lib/valueForModelMap.ts +2 -2
- package/src/model/buildMockGroupFieldMap.ts +65 -0
- package/src/model/contentRelationship.ts +14 -21
- package/src/model/customType.ts +49 -48
- package/src/model/group.ts +8 -15
- package/src/model/image.ts +13 -13
- package/src/model/index.ts +2 -0
- package/src/model/select.ts +11 -16
- package/src/model/sharedSlice.ts +23 -30
- package/src/model/sharedSliceVariation.ts +33 -21
- package/src/model/slice.ts +15 -19
- package/src/model/sliceZone.ts +25 -42
- package/src/types.ts +50 -15
- package/src/value/color.ts +16 -6
- package/src/value/contentRelationship.ts +52 -36
- package/src/value/customType.ts +27 -4
- package/src/value/date.ts +25 -9
- package/src/value/embed.ts +18 -6
- package/src/value/geoPoint.ts +21 -9
- package/src/value/group.ts +7 -27
- package/src/value/image.ts +22 -9
- package/src/value/integrationFields.ts +26 -14
- package/src/value/keyText.ts +18 -6
- package/src/value/link.ts +33 -34
- package/src/value/linkToMedia.ts +15 -20
- package/src/value/number.ts +16 -6
- package/src/value/richText/heading.ts +7 -7
- package/src/value/richText/image.ts +6 -2
- package/src/value/richText/index.ts +1 -1
- package/src/value/select.ts +23 -8
- package/src/value/sharedSlice.ts +2 -2
- package/src/value/sharedSliceVariation.ts +6 -34
- package/src/value/slice.ts +5 -30
- package/src/value/sliceZone.ts +44 -60
- package/src/value/timestamp.ts +19 -6
- package/src/value/title.ts +1 -1
- package/src/value/uid.ts +1 -1
- package/dist/model/index.mjs +0 -448
- package/src/lib/buildImageField.ts +0 -34
- package/src/lib/buildMockGroupFieldMap.ts +0 -84
|
@@ -1,23 +1,253 @@
|
|
|
1
|
-
import * as prismicT from '@prismicio/types';
|
|
2
1
|
import * as changeCase from 'change-case';
|
|
3
|
-
import * as fakerLocaleEN from 'faker/lib/locales/en';
|
|
4
|
-
import Faker from 'faker/lib';
|
|
2
|
+
import * as fakerLocaleEN from 'faker/lib/locales/en/index.js';
|
|
3
|
+
import Faker from 'faker/lib/index.js';
|
|
4
|
+
import * as prismicT from '@prismicio/types';
|
|
5
5
|
|
|
6
6
|
const FAKER_SEED = 1984;
|
|
7
7
|
|
|
8
8
|
const createFaker = (seed = FAKER_SEED) => {
|
|
9
|
-
|
|
10
|
-
|
|
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];
|
|
11
18
|
}
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
createFaker.cache[
|
|
16
|
-
return
|
|
19
|
+
const fakerInstance = new Faker();
|
|
20
|
+
fakerInstance.locales["en"] = fakerLocaleEN;
|
|
21
|
+
fakerInstance.seed(normalizedSeed);
|
|
22
|
+
createFaker.cache[cacheKey] = fakerInstance;
|
|
23
|
+
return fakerInstance;
|
|
17
24
|
};
|
|
18
25
|
createFaker.cache = {};
|
|
19
26
|
|
|
27
|
+
const generateTags = (config) => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const faker = createFaker(config.seed);
|
|
30
|
+
return Array(faker.datatype.number({
|
|
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 }))));
|
|
34
|
+
};
|
|
35
|
+
|
|
20
36
|
const boolean$1 = (config = {}) => {
|
|
37
|
+
const faker = createFaker(config.seed);
|
|
38
|
+
return faker.datatype.boolean();
|
|
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 = {}) => {
|
|
21
251
|
const faker = createFaker(config.seed);
|
|
22
252
|
return {
|
|
23
253
|
type: prismicT.CustomTypeModelFieldType.Boolean,
|
|
@@ -38,11 +268,6 @@ const color$1 = (config = {}) => {
|
|
|
38
268
|
};
|
|
39
269
|
};
|
|
40
270
|
|
|
41
|
-
const generateCustomTypeId = (config) => {
|
|
42
|
-
const faker = createFaker(config.seed);
|
|
43
|
-
return changeCase.snakeCase(faker.company.bsNoun());
|
|
44
|
-
};
|
|
45
|
-
|
|
46
271
|
const contentRelationship$1 = (config = {}) => {
|
|
47
272
|
const faker = createFaker(config.seed);
|
|
48
273
|
return {
|
|
@@ -51,12 +276,37 @@ const contentRelationship$1 = (config = {}) => {
|
|
|
51
276
|
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
52
277
|
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
53
278
|
select: prismicT.CustomTypeModelLinkSelectType.Document,
|
|
54
|
-
customtypes: config.
|
|
55
|
-
tags: config.
|
|
279
|
+
customtypes: config.customTypeIDs,
|
|
280
|
+
tags: config.tags
|
|
56
281
|
}
|
|
57
282
|
};
|
|
58
283
|
};
|
|
59
284
|
|
|
285
|
+
const customType$1 = (config = {}) => {
|
|
286
|
+
var _a, _b;
|
|
287
|
+
const faker = createFaker(config.seed);
|
|
288
|
+
let label = config.label || changeCase.capitalCase(faker.company.bsNoun());
|
|
289
|
+
let id = config.id || changeCase.snakeCase(label);
|
|
290
|
+
if (config.id && !config.label) {
|
|
291
|
+
label = changeCase.capitalCase(config.id);
|
|
292
|
+
} else if (config.label && !config.label) {
|
|
293
|
+
id = changeCase.snakeCase(config.label);
|
|
294
|
+
}
|
|
295
|
+
let json = {};
|
|
296
|
+
if ("fields" in config && config.fields) {
|
|
297
|
+
json = { Main: config.fields };
|
|
298
|
+
} else if ("tabs" in config && config.tabs) {
|
|
299
|
+
json = config.tabs;
|
|
300
|
+
}
|
|
301
|
+
return {
|
|
302
|
+
id,
|
|
303
|
+
label,
|
|
304
|
+
status: (_a = config.status) != null ? _a : faker.datatype.boolean(),
|
|
305
|
+
repeatable: (_b = config.repeatable) != null ? _b : faker.datatype.boolean(),
|
|
306
|
+
json
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
|
|
60
310
|
const date$1 = (config = {}) => {
|
|
61
311
|
const faker = createFaker(config.seed);
|
|
62
312
|
return {
|
|
@@ -89,10 +339,26 @@ const geoPoint$1 = (config = {}) => {
|
|
|
89
339
|
};
|
|
90
340
|
};
|
|
91
341
|
|
|
342
|
+
const group$1 = (config = {}) => {
|
|
343
|
+
const faker = createFaker(config.seed);
|
|
344
|
+
return {
|
|
345
|
+
type: prismicT.CustomTypeModelFieldType.Group,
|
|
346
|
+
config: {
|
|
347
|
+
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
348
|
+
fields: config.fields || {}
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
|
|
92
353
|
const image$2 = (config = {}) => {
|
|
93
|
-
var _a;
|
|
94
354
|
const faker = createFaker(config.seed);
|
|
95
|
-
const
|
|
355
|
+
const thumbnails = (config.thumbnailNames || []).map((name) => {
|
|
356
|
+
return {
|
|
357
|
+
name,
|
|
358
|
+
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
359
|
+
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
360
|
+
};
|
|
361
|
+
});
|
|
96
362
|
return {
|
|
97
363
|
type: prismicT.CustomTypeModelFieldType.Image,
|
|
98
364
|
config: {
|
|
@@ -101,11 +367,7 @@ const image$2 = (config = {}) => {
|
|
|
101
367
|
width: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null,
|
|
102
368
|
height: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null
|
|
103
369
|
},
|
|
104
|
-
thumbnails
|
|
105
|
-
name: changeCase.capitalCase(faker.company.bsNoun()),
|
|
106
|
-
width: faker.datatype.number({ min: 500, max: 2e3 }),
|
|
107
|
-
height: faker.datatype.number({ min: 500, max: 2e3 })
|
|
108
|
-
}))
|
|
370
|
+
thumbnails
|
|
109
371
|
}
|
|
110
372
|
};
|
|
111
373
|
};
|
|
@@ -201,115 +463,63 @@ const richText$1 = (config = {}) => {
|
|
|
201
463
|
};
|
|
202
464
|
|
|
203
465
|
const select$1 = (config = {}) => {
|
|
204
|
-
var _a;
|
|
205
466
|
const faker = createFaker(config.seed);
|
|
206
|
-
const optionsCount = (_a = config.optionsCount) != null ? _a : faker.datatype.number({ min: 1, max: 5 });
|
|
207
|
-
const options = Array(optionsCount).fill(void 0).map(() => changeCase.capitalCase(faker.company.bsBuzz()));
|
|
208
467
|
return {
|
|
209
468
|
type: prismicT.CustomTypeModelFieldType.Select,
|
|
210
469
|
config: {
|
|
211
470
|
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
212
471
|
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
213
|
-
options,
|
|
214
|
-
default_value: config.
|
|
472
|
+
options: config.options || [],
|
|
473
|
+
default_value: config.defaultValue || void 0
|
|
215
474
|
}
|
|
216
475
|
};
|
|
217
476
|
};
|
|
218
477
|
|
|
219
|
-
const
|
|
478
|
+
const sharedSlice$1 = (config = {}) => {
|
|
220
479
|
const faker = createFaker(config.seed);
|
|
480
|
+
let name = config.name || changeCase.capitalCase(faker.company.bsNoun());
|
|
481
|
+
let id = config.id || changeCase.snakeCase(name);
|
|
482
|
+
if (config.id && !config.name) {
|
|
483
|
+
name = changeCase.pascalCase(config.id);
|
|
484
|
+
} else if (config.name && !config.name) {
|
|
485
|
+
id = changeCase.snakeCase(config.name);
|
|
486
|
+
}
|
|
221
487
|
return {
|
|
222
|
-
type: prismicT.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
488
|
+
type: prismicT.CustomTypeModelSliceType.SharedSlice,
|
|
489
|
+
id,
|
|
490
|
+
name,
|
|
491
|
+
description: faker.lorem.sentence(),
|
|
492
|
+
variations: config.variations || []
|
|
227
493
|
};
|
|
228
494
|
};
|
|
229
495
|
|
|
230
|
-
const
|
|
231
|
-
const faker = createFaker(config.seed);
|
|
232
|
-
const single = faker.random.arrayElements([
|
|
233
|
-
"heading1",
|
|
234
|
-
"heading2",
|
|
235
|
-
"heading3",
|
|
236
|
-
"heading4",
|
|
237
|
-
"heading5",
|
|
238
|
-
"heading6"
|
|
239
|
-
]).join(",");
|
|
496
|
+
const sharedSliceChoice = () => {
|
|
240
497
|
return {
|
|
241
|
-
type: prismicT.
|
|
242
|
-
config: {
|
|
243
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
244
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
245
|
-
single,
|
|
246
|
-
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
247
|
-
}
|
|
498
|
+
type: prismicT.CustomTypeModelSliceType.SharedSlice
|
|
248
499
|
};
|
|
249
500
|
};
|
|
250
501
|
|
|
251
|
-
const
|
|
252
|
-
const faker = createFaker(config.seed);
|
|
253
|
-
return changeCase.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
const mockModelFns = {
|
|
257
|
-
boolean: boolean$1,
|
|
258
|
-
color: color$1,
|
|
259
|
-
contentRelationship: contentRelationship$1,
|
|
260
|
-
date: date$1,
|
|
261
|
-
embed: embed$2,
|
|
262
|
-
geoPoint: geoPoint$1,
|
|
263
|
-
image: image$2,
|
|
264
|
-
integrationFields: integrationFields$1,
|
|
265
|
-
keyText: keyText$1,
|
|
266
|
-
link: link$1,
|
|
267
|
-
linkToMedia: linkToMedia$1,
|
|
268
|
-
number: number$1,
|
|
269
|
-
richText: richText$1,
|
|
270
|
-
select: select$1,
|
|
271
|
-
timestamp: timestamp$1,
|
|
272
|
-
title: title$1
|
|
273
|
-
};
|
|
274
|
-
const buildMockGroupFieldMap = (config = {}) => {
|
|
275
|
-
var _a;
|
|
502
|
+
const sharedSliceVariation$1 = (config = {}) => {
|
|
276
503
|
const faker = createFaker(config.seed);
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
for (let i = 0; i < count; i++) {
|
|
284
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
285
|
-
fields[fieldId] = mockModelFn({
|
|
286
|
-
seed: config.seed,
|
|
287
|
-
...mockModelMapConfig.config
|
|
288
|
-
});
|
|
289
|
-
}
|
|
504
|
+
let name = config.name || changeCase.capitalCase(faker.company.bsNoun());
|
|
505
|
+
let id = config.id || changeCase.snakeCase(name);
|
|
506
|
+
if (config.id && !config.name) {
|
|
507
|
+
name = changeCase.pascalCase(config.id);
|
|
508
|
+
} else if (config.name && !config.name) {
|
|
509
|
+
id = changeCase.snakeCase(config.name);
|
|
290
510
|
}
|
|
291
|
-
return fields;
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
const uid$1 = (config = {}) => {
|
|
295
|
-
const faker = createFaker(config.seed);
|
|
296
|
-
return {
|
|
297
|
-
type: prismicT.CustomTypeModelFieldType.UID,
|
|
298
|
-
config: {
|
|
299
|
-
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
300
|
-
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
const sharedSliceChoice = () => {
|
|
306
511
|
return {
|
|
307
|
-
|
|
512
|
+
id,
|
|
513
|
+
name,
|
|
514
|
+
description: faker.lorem.sentence(),
|
|
515
|
+
docURL: faker.internet.url(),
|
|
516
|
+
version: faker.git.shortSha(),
|
|
517
|
+
primary: config.primaryFields || {},
|
|
518
|
+
items: config.itemsFields || {}
|
|
308
519
|
};
|
|
309
520
|
};
|
|
310
521
|
|
|
311
522
|
const slice$1 = (config = {}) => {
|
|
312
|
-
var _a, _b, _c, _d, _e, _f;
|
|
313
523
|
const faker = createFaker(config.seed);
|
|
314
524
|
return {
|
|
315
525
|
type: prismicT.CustomTypeModelSliceType.Slice,
|
|
@@ -317,34 +527,17 @@ const slice$1 = (config = {}) => {
|
|
|
317
527
|
display: faker.datatype.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List,
|
|
318
528
|
fieldset: changeCase.capitalCase(faker.lorem.words()),
|
|
319
529
|
description: faker.lorem.sentence(),
|
|
320
|
-
repeat:
|
|
321
|
-
|
|
322
|
-
configs: (_c = config.repeatFieldConfig) == null ? void 0 : _c.configs
|
|
323
|
-
}),
|
|
324
|
-
"non-repeat": buildMockGroupFieldMap({
|
|
325
|
-
seed: (_e = (_d = config.nonRepeatFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
326
|
-
configs: (_f = config.nonRepeatFieldConfig) == null ? void 0 : _f.configs
|
|
327
|
-
})
|
|
530
|
+
repeat: config.repeatFields || {},
|
|
531
|
+
"non-repeat": config.nonRepeatFields || {}
|
|
328
532
|
};
|
|
329
533
|
};
|
|
330
534
|
|
|
331
535
|
const sliceZone$1 = (config = {}) => {
|
|
332
|
-
var _a;
|
|
333
|
-
const faker = createFaker(config.seed);
|
|
334
|
-
const choicesCount = (_a = config.choicesCount) != null ? _a : faker.datatype.number({ min: 2, max: 6 });
|
|
335
|
-
const choices = {};
|
|
336
|
-
for (let i = 0; i < choicesCount; i++) {
|
|
337
|
-
const choiceId = generateFieldId({ seed: config.seed });
|
|
338
|
-
choices[choiceId] = config.withSharedSlices ? sharedSliceChoice() : slice$1({ seed: config.seed });
|
|
339
|
-
}
|
|
340
536
|
const labels = {};
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
labels[choiceId] =
|
|
345
|
-
name: changeCase.capitalCase(faker.company.bsNoun()),
|
|
346
|
-
display: faker.datatype.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List
|
|
347
|
-
}));
|
|
537
|
+
for (const choiceId in config.choices) {
|
|
538
|
+
const choice = config.choices[choiceId];
|
|
539
|
+
if (choice.type === prismicT.CustomTypeModelSliceType.Slice) {
|
|
540
|
+
labels[choiceId] = [];
|
|
348
541
|
}
|
|
349
542
|
}
|
|
350
543
|
return {
|
|
@@ -352,374 +545,167 @@ const sliceZone$1 = (config = {}) => {
|
|
|
352
545
|
fieldset: "Slice zone",
|
|
353
546
|
config: {
|
|
354
547
|
labels,
|
|
355
|
-
choices
|
|
356
|
-
}
|
|
357
|
-
};
|
|
358
|
-
};
|
|
359
|
-
|
|
360
|
-
const customType$1 = (config = {}) => {
|
|
361
|
-
var _a;
|
|
362
|
-
const faker = createFaker(config.seed);
|
|
363
|
-
const tabsCount = (_a = config.tabsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
364
|
-
const json = {};
|
|
365
|
-
for (let i = 0; i < tabsCount; i++) {
|
|
366
|
-
const tabName = changeCase.capitalCase(faker.company.bsNoun());
|
|
367
|
-
const tabFields = buildMockGroupFieldMap({
|
|
368
|
-
seed: config.seed,
|
|
369
|
-
configs: config.configs
|
|
370
|
-
});
|
|
371
|
-
if (i === 0 && config.withUID) {
|
|
372
|
-
const fieldId = generateFieldId({ seed: config.seed });
|
|
373
|
-
tabFields[fieldId] = uid$1();
|
|
374
|
-
}
|
|
375
|
-
if (config.withSliceZones) {
|
|
376
|
-
const sliceZoneId = generateFieldId({ seed: config.seed });
|
|
377
|
-
tabFields[sliceZoneId] = sliceZone$1({
|
|
378
|
-
withSharedSlices: config.withSharedSlices
|
|
379
|
-
});
|
|
548
|
+
choices: config.choices || {}
|
|
380
549
|
}
|
|
381
|
-
json[tabName] = tabFields;
|
|
382
|
-
}
|
|
383
|
-
const id = generateCustomTypeId({ seed: config.seed });
|
|
384
|
-
return {
|
|
385
|
-
id,
|
|
386
|
-
label: changeCase.capitalCase(id),
|
|
387
|
-
status: faker.datatype.boolean(),
|
|
388
|
-
repeatable: faker.datatype.boolean(),
|
|
389
|
-
json
|
|
390
550
|
};
|
|
391
551
|
};
|
|
392
552
|
|
|
393
|
-
const
|
|
553
|
+
const timestamp$1 = (config = {}) => {
|
|
394
554
|
const faker = createFaker(config.seed);
|
|
395
|
-
const fields = buildMockGroupFieldMap({
|
|
396
|
-
seed: config.seed,
|
|
397
|
-
configs: config.configs
|
|
398
|
-
});
|
|
399
555
|
return {
|
|
400
|
-
type: prismicT.CustomTypeModelFieldType.
|
|
556
|
+
type: prismicT.CustomTypeModelFieldType.Timestamp,
|
|
401
557
|
config: {
|
|
402
558
|
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
403
|
-
|
|
559
|
+
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
404
560
|
}
|
|
405
561
|
};
|
|
406
562
|
};
|
|
407
563
|
|
|
408
|
-
const
|
|
409
|
-
var _a, _b, _c, _d, _e, _f;
|
|
564
|
+
const title$1 = (config = {}) => {
|
|
410
565
|
const faker = createFaker(config.seed);
|
|
411
|
-
const
|
|
566
|
+
const single = faker.random.arrayElements([
|
|
567
|
+
"heading1",
|
|
568
|
+
"heading2",
|
|
569
|
+
"heading3",
|
|
570
|
+
"heading4",
|
|
571
|
+
"heading5",
|
|
572
|
+
"heading6"
|
|
573
|
+
]).join(",");
|
|
412
574
|
return {
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
configs: (_c = config.primaryFieldConfig) == null ? void 0 : _c.configs
|
|
421
|
-
}),
|
|
422
|
-
items: buildMockGroupFieldMap({
|
|
423
|
-
seed: (_e = (_d = config.itemsFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
|
|
424
|
-
configs: (_f = config.itemsFieldConfig) == null ? void 0 : _f.configs
|
|
425
|
-
})
|
|
575
|
+
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
576
|
+
config: {
|
|
577
|
+
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
578
|
+
placeholder: changeCase.sentenceCase(faker.lorem.words(3)),
|
|
579
|
+
single,
|
|
580
|
+
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
581
|
+
}
|
|
426
582
|
};
|
|
427
583
|
};
|
|
428
584
|
|
|
429
|
-
const
|
|
430
|
-
var _a;
|
|
585
|
+
const uid$1 = (config = {}) => {
|
|
431
586
|
const faker = createFaker(config.seed);
|
|
432
|
-
const variationsCount = (_a = config.variationsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
|
|
433
|
-
const name = changeCase.capitalCase(faker.company.bsNoun());
|
|
434
|
-
const variations = Array(variationsCount).fill(void 0).map(() => sharedSliceVariation$1({
|
|
435
|
-
seed: config.seed,
|
|
436
|
-
itemsFieldConfig: config.itemsFieldConfig,
|
|
437
|
-
primaryFieldConfig: config.primaryFieldConfig
|
|
438
|
-
}));
|
|
439
587
|
return {
|
|
440
|
-
type: prismicT.
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
588
|
+
type: prismicT.CustomTypeModelFieldType.UID,
|
|
589
|
+
config: {
|
|
590
|
+
label: changeCase.capitalCase(faker.company.bsNoun()),
|
|
591
|
+
placeholder: changeCase.sentenceCase(faker.lorem.words(3))
|
|
592
|
+
}
|
|
445
593
|
};
|
|
446
594
|
};
|
|
447
595
|
|
|
448
|
-
|
|
449
|
-
__proto__: null,
|
|
450
|
-
boolean: boolean$1,
|
|
451
|
-
color: color$1,
|
|
452
|
-
contentRelationship: contentRelationship$1,
|
|
453
|
-
customType: customType$1,
|
|
454
|
-
date: date$1,
|
|
455
|
-
embed: embed$2,
|
|
456
|
-
geoPoint: geoPoint$1,
|
|
457
|
-
group: group$1,
|
|
458
|
-
image: image$2,
|
|
459
|
-
integrationFields: integrationFields$1,
|
|
460
|
-
keyText: keyText$1,
|
|
461
|
-
link: link$1,
|
|
462
|
-
linkToMedia: linkToMedia$1,
|
|
463
|
-
number: number$1,
|
|
464
|
-
richText: richText$1,
|
|
465
|
-
select: select$1,
|
|
466
|
-
sharedSlice: sharedSlice$1,
|
|
467
|
-
sharedSliceChoice: sharedSliceChoice,
|
|
468
|
-
sharedSliceVariation: sharedSliceVariation$1,
|
|
469
|
-
slice: slice$1,
|
|
470
|
-
sliceZone: sliceZone$1,
|
|
471
|
-
timestamp: timestamp$1,
|
|
472
|
-
title: title$1,
|
|
473
|
-
uid: uid$1
|
|
474
|
-
});
|
|
475
|
-
|
|
476
|
-
const boolean = (config = {}) => {
|
|
477
|
-
const faker = createFaker(config.seed);
|
|
478
|
-
return faker.datatype.boolean();
|
|
479
|
-
};
|
|
480
|
-
|
|
481
|
-
const generateTags = (config) => {
|
|
596
|
+
const generateFieldId = (config) => {
|
|
482
597
|
const faker = createFaker(config.seed);
|
|
483
|
-
return
|
|
484
|
-
};
|
|
485
|
-
|
|
486
|
-
const valueForModel = (config) => {
|
|
487
|
-
const model = config.model;
|
|
488
|
-
switch (model.type) {
|
|
489
|
-
case prismicT.CustomTypeModelFieldType.Boolean: {
|
|
490
|
-
return boolean({
|
|
491
|
-
seed: config.seed,
|
|
492
|
-
model,
|
|
493
|
-
...config.config
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
|
-
case prismicT.CustomTypeModelFieldType.Color: {
|
|
497
|
-
return color({
|
|
498
|
-
seed: config.seed,
|
|
499
|
-
model,
|
|
500
|
-
...config.config
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
case prismicT.CustomTypeModelFieldType.Link: {
|
|
504
|
-
switch (model.config.select) {
|
|
505
|
-
case prismicT.CustomTypeModelLinkSelectType.Document: {
|
|
506
|
-
return contentRelationship({
|
|
507
|
-
seed: config.seed,
|
|
508
|
-
model,
|
|
509
|
-
...config.config
|
|
510
|
-
});
|
|
511
|
-
}
|
|
512
|
-
case prismicT.CustomTypeModelLinkSelectType.Media: {
|
|
513
|
-
return linkToMedia({
|
|
514
|
-
seed: config.seed,
|
|
515
|
-
model,
|
|
516
|
-
...config.config
|
|
517
|
-
});
|
|
518
|
-
}
|
|
519
|
-
default: {
|
|
520
|
-
return link({
|
|
521
|
-
seed: config.seed,
|
|
522
|
-
model,
|
|
523
|
-
...config.config
|
|
524
|
-
});
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
}
|
|
528
|
-
case prismicT.CustomTypeModelFieldType.Date: {
|
|
529
|
-
return date({
|
|
530
|
-
seed: config.seed,
|
|
531
|
-
model,
|
|
532
|
-
...config.config
|
|
533
|
-
});
|
|
534
|
-
}
|
|
535
|
-
case prismicT.CustomTypeModelFieldType.Embed: {
|
|
536
|
-
return embed$1({
|
|
537
|
-
seed: config.seed,
|
|
538
|
-
model,
|
|
539
|
-
...config.config
|
|
540
|
-
});
|
|
541
|
-
}
|
|
542
|
-
case prismicT.CustomTypeModelFieldType.GeoPoint: {
|
|
543
|
-
return geoPoint({
|
|
544
|
-
seed: config.seed,
|
|
545
|
-
model,
|
|
546
|
-
...config.config
|
|
547
|
-
});
|
|
548
|
-
}
|
|
549
|
-
case prismicT.CustomTypeModelFieldType.Image: {
|
|
550
|
-
return image$1({
|
|
551
|
-
seed: config.seed,
|
|
552
|
-
model,
|
|
553
|
-
...config.config
|
|
554
|
-
});
|
|
555
|
-
}
|
|
556
|
-
case prismicT.CustomTypeModelFieldType.Text: {
|
|
557
|
-
return keyText({
|
|
558
|
-
seed: config.seed,
|
|
559
|
-
model,
|
|
560
|
-
...config.config
|
|
561
|
-
});
|
|
562
|
-
}
|
|
563
|
-
case prismicT.CustomTypeModelFieldType.Number: {
|
|
564
|
-
return number({
|
|
565
|
-
seed: config.seed,
|
|
566
|
-
model,
|
|
567
|
-
...config.config
|
|
568
|
-
});
|
|
569
|
-
}
|
|
570
|
-
case prismicT.CustomTypeModelFieldType.Select: {
|
|
571
|
-
return select({
|
|
572
|
-
seed: config.seed,
|
|
573
|
-
model,
|
|
574
|
-
...config.config
|
|
575
|
-
});
|
|
576
|
-
}
|
|
577
|
-
case prismicT.CustomTypeModelFieldType.Timestamp: {
|
|
578
|
-
return timestamp({
|
|
579
|
-
seed: config.seed,
|
|
580
|
-
model,
|
|
581
|
-
...config.config
|
|
582
|
-
});
|
|
583
|
-
}
|
|
584
|
-
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
585
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading[1-6]/.test(element.trim()))) {
|
|
586
|
-
return title({
|
|
587
|
-
seed: config.seed,
|
|
588
|
-
model,
|
|
589
|
-
...config.config
|
|
590
|
-
});
|
|
591
|
-
} else {
|
|
592
|
-
return richText({
|
|
593
|
-
seed: config.seed,
|
|
594
|
-
model,
|
|
595
|
-
...config.config
|
|
596
|
-
});
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
case prismicT.CustomTypeModelFieldType.IntegrationFields: {
|
|
600
|
-
return integrationFields({
|
|
601
|
-
seed: config.seed,
|
|
602
|
-
model,
|
|
603
|
-
...config.config
|
|
604
|
-
});
|
|
605
|
-
}
|
|
606
|
-
case prismicT.CustomTypeModelFieldType.UID: {
|
|
607
|
-
return uid({
|
|
608
|
-
seed: config.seed,
|
|
609
|
-
model,
|
|
610
|
-
...config.config
|
|
611
|
-
});
|
|
612
|
-
}
|
|
613
|
-
case prismicT.CustomTypeModelFieldType.Group: {
|
|
614
|
-
return group({
|
|
615
|
-
seed: config.seed,
|
|
616
|
-
model,
|
|
617
|
-
...config.config
|
|
618
|
-
});
|
|
619
|
-
}
|
|
620
|
-
case prismicT.CustomTypeModelFieldType.Slices: {
|
|
621
|
-
return sliceZone({
|
|
622
|
-
seed: config.seed,
|
|
623
|
-
model,
|
|
624
|
-
...config.config
|
|
625
|
-
});
|
|
626
|
-
}
|
|
627
|
-
}
|
|
598
|
+
return changeCase.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
|
|
628
599
|
};
|
|
629
600
|
|
|
630
|
-
const
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
switch (model.config.select) {
|
|
648
|
-
case prismicT.CustomTypeModelLinkSelectType.Document:
|
|
649
|
-
return "contentRelationship";
|
|
650
|
-
case prismicT.CustomTypeModelLinkSelectType.Media:
|
|
651
|
-
return "linkToMedia";
|
|
652
|
-
default:
|
|
653
|
-
return "link";
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
case prismicT.CustomTypeModelFieldType.Number:
|
|
657
|
-
return "number";
|
|
658
|
-
case prismicT.CustomTypeModelFieldType.Select:
|
|
659
|
-
return "select";
|
|
660
|
-
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
661
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading{1,6}/.test(element.trim()))) {
|
|
662
|
-
return "title";
|
|
663
|
-
} else {
|
|
664
|
-
return "richText";
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
case prismicT.CustomTypeModelFieldType.Text:
|
|
668
|
-
return "keyText";
|
|
669
|
-
case prismicT.CustomTypeModelFieldType.Timestamp:
|
|
670
|
-
return "timestamp";
|
|
671
|
-
case prismicT.CustomTypeModelFieldType.UID:
|
|
672
|
-
return "uid";
|
|
673
|
-
case prismicT.CustomTypeModelFieldType.IntegrationFields:
|
|
674
|
-
return "integrationFields";
|
|
675
|
-
case prismicT.CustomTypeModelFieldType.Slices:
|
|
676
|
-
return "slices";
|
|
677
|
-
}
|
|
601
|
+
const mockModelFns = {
|
|
602
|
+
boolean,
|
|
603
|
+
color: color$1,
|
|
604
|
+
contentRelationship: contentRelationship$1,
|
|
605
|
+
date: date$1,
|
|
606
|
+
embed: embed$2,
|
|
607
|
+
geoPoint: geoPoint$1,
|
|
608
|
+
image: image$2,
|
|
609
|
+
integrationFields: integrationFields$1,
|
|
610
|
+
keyText: keyText$1,
|
|
611
|
+
link: link$1,
|
|
612
|
+
linkToMedia: linkToMedia$1,
|
|
613
|
+
number: number$1,
|
|
614
|
+
richText: richText$1,
|
|
615
|
+
select: select$1,
|
|
616
|
+
timestamp: timestamp$1,
|
|
617
|
+
title: title$1
|
|
678
618
|
};
|
|
679
|
-
const
|
|
680
|
-
|
|
681
|
-
const
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
const
|
|
685
|
-
const
|
|
686
|
-
|
|
687
|
-
seed: config.seed,
|
|
688
|
-
model: fieldModel,
|
|
689
|
-
config: fieldConfig
|
|
690
|
-
});
|
|
619
|
+
const buildMockGroupFieldMap = (config = {}) => {
|
|
620
|
+
const faker = createFaker(config.seed);
|
|
621
|
+
const fields = {};
|
|
622
|
+
const fieldTypes = faker.random.arrayElements(Object.keys(mockModelFns));
|
|
623
|
+
for (const fieldType of fieldTypes) {
|
|
624
|
+
const fieldId = generateFieldId({ seed: config.seed });
|
|
625
|
+
const mockModelFn = mockModelFns[fieldType];
|
|
626
|
+
fields[fieldId] = mockModelFn({ seed: config.seed });
|
|
691
627
|
}
|
|
692
|
-
return
|
|
628
|
+
return fields;
|
|
693
629
|
};
|
|
694
630
|
|
|
631
|
+
var index$2 = /*#__PURE__*/Object.freeze({
|
|
632
|
+
__proto__: null,
|
|
633
|
+
boolean: boolean,
|
|
634
|
+
color: color$1,
|
|
635
|
+
contentRelationship: contentRelationship$1,
|
|
636
|
+
customType: customType$1,
|
|
637
|
+
date: date$1,
|
|
638
|
+
embed: embed$2,
|
|
639
|
+
geoPoint: geoPoint$1,
|
|
640
|
+
group: group$1,
|
|
641
|
+
image: image$2,
|
|
642
|
+
integrationFields: integrationFields$1,
|
|
643
|
+
keyText: keyText$1,
|
|
644
|
+
link: link$1,
|
|
645
|
+
linkToMedia: linkToMedia$1,
|
|
646
|
+
number: number$1,
|
|
647
|
+
richText: richText$1,
|
|
648
|
+
select: select$1,
|
|
649
|
+
sharedSlice: sharedSlice$1,
|
|
650
|
+
sharedSliceChoice: sharedSliceChoice,
|
|
651
|
+
sharedSliceVariation: sharedSliceVariation$1,
|
|
652
|
+
slice: slice$1,
|
|
653
|
+
sliceZone: sliceZone$1,
|
|
654
|
+
timestamp: timestamp$1,
|
|
655
|
+
title: title$1,
|
|
656
|
+
uid: uid$1,
|
|
657
|
+
buildMockGroupFieldMap: buildMockGroupFieldMap
|
|
658
|
+
});
|
|
659
|
+
|
|
695
660
|
const timestamp = (config = {}) => {
|
|
696
661
|
const faker = createFaker(config.seed);
|
|
697
662
|
const after = config.after || faker.date.past(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
698
663
|
const before = config.before || faker.date.future(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
699
|
-
return faker.date.between(after, before).toISOString();
|
|
664
|
+
return config.state === "empty" ? null : faker.date.between(after, before).toISOString();
|
|
665
|
+
};
|
|
666
|
+
|
|
667
|
+
const buildAlternativeLanguage = (config) => {
|
|
668
|
+
return {
|
|
669
|
+
id: config.document.id,
|
|
670
|
+
type: config.document.type,
|
|
671
|
+
lang: config.document.lang,
|
|
672
|
+
uid: config.document.uid || void 0
|
|
673
|
+
};
|
|
700
674
|
};
|
|
701
675
|
|
|
702
676
|
const customType = (config = {}) => {
|
|
677
|
+
var _a;
|
|
703
678
|
const faker = createFaker(config.seed);
|
|
704
679
|
const model = config.model || customType$1({ seed: config.seed });
|
|
705
680
|
const fieldModelsMap = Object.assign({}, ...Object.values(model.json));
|
|
681
|
+
const dataFieldModelsMap = {};
|
|
682
|
+
for (const key in fieldModelsMap) {
|
|
683
|
+
const fieldModel = fieldModelsMap[key];
|
|
684
|
+
if (fieldModel.type !== prismicT.CustomTypeModelFieldType.UID) {
|
|
685
|
+
dataFieldModelsMap[key] = fieldModel;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
706
688
|
const hasUID = Object.values(fieldModelsMap).some((fieldModel) => fieldModel.type === prismicT.CustomTypeModelFieldType.UID);
|
|
689
|
+
const withURL = (_a = config.withURL) != null ? _a : true;
|
|
690
|
+
const alternateLanguages = (config.alternateLanguages || []).map((alternateLanguageDocument) => buildAlternativeLanguage({
|
|
691
|
+
document: alternateLanguageDocument
|
|
692
|
+
}));
|
|
707
693
|
return {
|
|
708
694
|
type: model.id,
|
|
709
695
|
id: faker.git.shortSha(),
|
|
710
696
|
uid: hasUID ? changeCase.snakeCase(faker.lorem.words(2)) : null,
|
|
711
|
-
url: faker.internet.url(),
|
|
697
|
+
url: withURL ? faker.internet.url() : null,
|
|
712
698
|
href: faker.internet.url(),
|
|
713
699
|
lang: faker.lorem.word(),
|
|
714
700
|
tags: generateTags({ seed: config.seed }),
|
|
715
701
|
slugs: [],
|
|
716
702
|
linked_documents: [],
|
|
717
|
-
alternate_languages:
|
|
703
|
+
alternate_languages: alternateLanguages,
|
|
718
704
|
first_publication_date: timestamp({ seed: config.seed }),
|
|
719
705
|
last_publication_date: timestamp({ seed: config.seed }),
|
|
720
706
|
data: valueForModelMap({
|
|
721
707
|
seed: config.seed,
|
|
722
|
-
map:
|
|
708
|
+
map: dataFieldModelsMap,
|
|
723
709
|
configs: config.configs
|
|
724
710
|
})
|
|
725
711
|
};
|
|
@@ -727,7 +713,7 @@ const customType = (config = {}) => {
|
|
|
727
713
|
|
|
728
714
|
const color = (config = {}) => {
|
|
729
715
|
const faker = createFaker(config.seed);
|
|
730
|
-
return faker.internet.color().toUpperCase();
|
|
716
|
+
return config.state === "empty" ? null : faker.internet.color().toUpperCase();
|
|
731
717
|
};
|
|
732
718
|
|
|
733
719
|
const buildContentRelationshipField = (config) => {
|
|
@@ -744,11 +730,18 @@ const buildContentRelationshipField = (config) => {
|
|
|
744
730
|
};
|
|
745
731
|
};
|
|
746
732
|
|
|
733
|
+
const generateCustomTypeId = (config) => {
|
|
734
|
+
const faker = createFaker(config.seed);
|
|
735
|
+
return changeCase.snakeCase(faker.company.bsNoun());
|
|
736
|
+
};
|
|
737
|
+
|
|
747
738
|
const contentRelationship = (config = {}) => {
|
|
748
|
-
var _a;
|
|
749
739
|
const faker = createFaker(config.seed);
|
|
750
|
-
|
|
751
|
-
|
|
740
|
+
if (config.state === "empty") {
|
|
741
|
+
return {
|
|
742
|
+
link_type: prismicT.LinkType.Document
|
|
743
|
+
};
|
|
744
|
+
} else {
|
|
752
745
|
const model = config.model || contentRelationship$1({ seed: config.seed });
|
|
753
746
|
const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document2) => {
|
|
754
747
|
let shouldKeep = true;
|
|
@@ -770,19 +763,18 @@ const contentRelationship = (config = {}) => {
|
|
|
770
763
|
if (!document) {
|
|
771
764
|
throw new Error("A linkable document could not be found.");
|
|
772
765
|
}
|
|
773
|
-
return buildContentRelationshipField({
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
link_type: prismicT.LinkType.Document
|
|
777
|
-
};
|
|
766
|
+
return buildContentRelationshipField({
|
|
767
|
+
document
|
|
768
|
+
});
|
|
778
769
|
}
|
|
779
770
|
};
|
|
780
771
|
|
|
781
772
|
const date = (config = {}) => {
|
|
782
|
-
return timestamp({
|
|
773
|
+
return config.state === "empty" ? null : timestamp({
|
|
783
774
|
seed: config.seed,
|
|
784
775
|
after: config.after,
|
|
785
|
-
before: config.before
|
|
776
|
+
before: config.before,
|
|
777
|
+
state: "filled"
|
|
786
778
|
}).split("T")[0];
|
|
787
779
|
};
|
|
788
780
|
|
|
@@ -872,40 +864,25 @@ const getMockEmbedData = (config) => {
|
|
|
872
864
|
|
|
873
865
|
const embed$1 = (config = {}) => {
|
|
874
866
|
const embedData = getMockEmbedData({ seed: config.seed });
|
|
875
|
-
return buildEmbedField({ seed: config.seed, embedData });
|
|
867
|
+
return config.state === "empty" ? {} : buildEmbedField({ seed: config.seed, embedData });
|
|
876
868
|
};
|
|
877
869
|
|
|
878
870
|
const geoPoint = (config = {}) => {
|
|
879
871
|
const faker = createFaker(config.seed);
|
|
880
872
|
const coordinates = faker.address.nearbyGPSCoordinate();
|
|
881
|
-
return {
|
|
873
|
+
return config.state === "empty" ? {} : {
|
|
882
874
|
longitude: Number.parseFloat(coordinates[0]),
|
|
883
875
|
latitude: Number.parseFloat(coordinates[1])
|
|
884
876
|
};
|
|
885
877
|
};
|
|
886
878
|
|
|
887
|
-
const patterns$9 = {
|
|
888
|
-
short: {
|
|
889
|
-
minItems: 1,
|
|
890
|
-
maxItems: 3
|
|
891
|
-
},
|
|
892
|
-
medium: {
|
|
893
|
-
minItems: 3,
|
|
894
|
-
maxItems: 6
|
|
895
|
-
},
|
|
896
|
-
long: {
|
|
897
|
-
minItems: 6,
|
|
898
|
-
maxItems: 12
|
|
899
|
-
}
|
|
900
|
-
};
|
|
901
879
|
const group = (config = {}) => {
|
|
880
|
+
var _a;
|
|
902
881
|
const faker = createFaker(config.seed);
|
|
903
882
|
const model = config.model || group$1({ seed: config.seed });
|
|
904
|
-
const
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
min: pattern.minItems,
|
|
908
|
-
max: pattern.maxItems
|
|
883
|
+
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
|
|
884
|
+
min: 1,
|
|
885
|
+
max: 6
|
|
909
886
|
});
|
|
910
887
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
911
888
|
return valueForModelMap({
|
|
@@ -916,23 +893,32 @@ const group = (config = {}) => {
|
|
|
916
893
|
});
|
|
917
894
|
};
|
|
918
895
|
|
|
919
|
-
const
|
|
896
|
+
const buildImageFieldImage = (config) => {
|
|
920
897
|
var _a, _b, _c, _d;
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
898
|
+
if (config.state === "empty") {
|
|
899
|
+
return {
|
|
900
|
+
url: null,
|
|
901
|
+
dimensions: null,
|
|
902
|
+
alt: null,
|
|
903
|
+
copyright: null
|
|
904
|
+
};
|
|
905
|
+
} else {
|
|
906
|
+
const faker = createFaker(config.seed);
|
|
907
|
+
const url = new URL(config.imageData.url);
|
|
908
|
+
const dimensions = {
|
|
909
|
+
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
910
|
+
height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
|
|
911
|
+
};
|
|
912
|
+
url.searchParams.set("w", dimensions.width.toString());
|
|
913
|
+
url.searchParams.set("h", dimensions.height.toString());
|
|
914
|
+
url.searchParams.set("fit", "crop");
|
|
915
|
+
return {
|
|
916
|
+
url: url.toString(),
|
|
917
|
+
dimensions,
|
|
918
|
+
alt: faker.lorem.sentence(),
|
|
919
|
+
copyright: faker.lorem.sentence()
|
|
920
|
+
};
|
|
921
|
+
}
|
|
936
922
|
};
|
|
937
923
|
|
|
938
924
|
const dataSet = [
|
|
@@ -1025,19 +1011,21 @@ const getMockImageData = (config) => {
|
|
|
1025
1011
|
const image$1 = (config = {}) => {
|
|
1026
1012
|
const model = config.model || image$2({ seed: config.seed });
|
|
1027
1013
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1028
|
-
const value =
|
|
1014
|
+
const value = buildImageFieldImage({
|
|
1029
1015
|
seed: config.seed,
|
|
1030
1016
|
imageData,
|
|
1031
|
-
constraint: model.config.constraint
|
|
1017
|
+
constraint: model.config.constraint,
|
|
1018
|
+
state: config.state
|
|
1032
1019
|
});
|
|
1033
1020
|
for (const thumbnail of model.config.thumbnails) {
|
|
1034
|
-
value[thumbnail.name] =
|
|
1021
|
+
value[thumbnail.name] = buildImageFieldImage({
|
|
1035
1022
|
seed: config.seed,
|
|
1036
1023
|
imageData,
|
|
1037
1024
|
constraint: {
|
|
1038
1025
|
width: thumbnail.width,
|
|
1039
1026
|
height: thumbnail.height
|
|
1040
|
-
}
|
|
1027
|
+
},
|
|
1028
|
+
state: config.state
|
|
1041
1029
|
});
|
|
1042
1030
|
}
|
|
1043
1031
|
return value;
|
|
@@ -1046,7 +1034,7 @@ const image$1 = (config = {}) => {
|
|
|
1046
1034
|
const integrationFields = (config = {}) => {
|
|
1047
1035
|
const faker = createFaker(config.seed);
|
|
1048
1036
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1049
|
-
return {
|
|
1037
|
+
return config.state === "empty" ? null : {
|
|
1050
1038
|
id: faker.git.shortSha(),
|
|
1051
1039
|
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
1052
1040
|
description: faker.lorem.sentence(),
|
|
@@ -1058,14 +1046,16 @@ const integrationFields = (config = {}) => {
|
|
|
1058
1046
|
|
|
1059
1047
|
const keyText = (config = {}) => {
|
|
1060
1048
|
const faker = createFaker(config.seed);
|
|
1061
|
-
return changeCase.sentenceCase(faker.lorem.words(3));
|
|
1049
|
+
return config.state === "empty" ? null : changeCase.sentenceCase(faker.lorem.words(3));
|
|
1062
1050
|
};
|
|
1063
1051
|
|
|
1064
1052
|
const linkToMedia = (config = {}) => {
|
|
1065
|
-
var _a;
|
|
1066
1053
|
const faker = createFaker(config.seed);
|
|
1067
|
-
|
|
1068
|
-
|
|
1054
|
+
if (config.state === "empty") {
|
|
1055
|
+
return {
|
|
1056
|
+
link_type: prismicT.LinkType.Media
|
|
1057
|
+
};
|
|
1058
|
+
} else {
|
|
1069
1059
|
return {
|
|
1070
1060
|
link_type: prismicT.LinkType.Media,
|
|
1071
1061
|
name: faker.system.commonFileName(),
|
|
@@ -1075,58 +1065,55 @@ const linkToMedia = (config = {}) => {
|
|
|
1075
1065
|
height: faker.datatype.number().toString(),
|
|
1076
1066
|
width: faker.datatype.number().toString()
|
|
1077
1067
|
};
|
|
1078
|
-
} else {
|
|
1079
|
-
return {
|
|
1080
|
-
link_type: prismicT.LinkType.Media
|
|
1081
|
-
};
|
|
1082
1068
|
}
|
|
1083
1069
|
};
|
|
1084
1070
|
|
|
1085
1071
|
const link = (config = {}) => {
|
|
1086
|
-
var _a
|
|
1072
|
+
var _a;
|
|
1087
1073
|
const faker = createFaker(config.seed);
|
|
1088
|
-
const isFilled = (_a = config.isFilled) != null ? _a : true;
|
|
1089
1074
|
const type = config.type || faker.random.arrayElement([
|
|
1090
1075
|
prismicT.LinkType.Web,
|
|
1091
1076
|
prismicT.LinkType.Document,
|
|
1092
1077
|
prismicT.LinkType.Media
|
|
1093
1078
|
]);
|
|
1094
|
-
if (
|
|
1079
|
+
if (config.state === "empty") {
|
|
1080
|
+
return {
|
|
1081
|
+
link_type: type
|
|
1082
|
+
};
|
|
1083
|
+
} else {
|
|
1095
1084
|
switch (type) {
|
|
1096
1085
|
case prismicT.LinkType.Document: {
|
|
1097
1086
|
return contentRelationship({
|
|
1098
1087
|
seed: config.seed,
|
|
1099
|
-
|
|
1088
|
+
state: config.state,
|
|
1100
1089
|
linkableDocuments: config.linkableDocuments
|
|
1101
1090
|
});
|
|
1102
1091
|
}
|
|
1103
1092
|
case prismicT.LinkType.Media: {
|
|
1104
1093
|
return linkToMedia({
|
|
1105
1094
|
seed: config.seed,
|
|
1106
|
-
|
|
1095
|
+
state: config.state
|
|
1107
1096
|
});
|
|
1108
1097
|
}
|
|
1109
|
-
case prismicT.LinkType.Web:
|
|
1098
|
+
case prismicT.LinkType.Web:
|
|
1099
|
+
default: {
|
|
1110
1100
|
const model = config.model || link$1({ seed: config.seed });
|
|
1111
1101
|
return {
|
|
1112
1102
|
link_type: prismicT.LinkType.Web,
|
|
1113
1103
|
url: faker.internet.url(),
|
|
1114
|
-
target: ((
|
|
1104
|
+
target: ((_a = config.withTargetBlank) != null ? _a : model.config.allowTargetBlank && faker.datatype.boolean()) ? "_blank" : void 0
|
|
1115
1105
|
};
|
|
1116
1106
|
}
|
|
1117
1107
|
}
|
|
1118
1108
|
}
|
|
1119
|
-
return {
|
|
1120
|
-
link_type: type
|
|
1121
|
-
};
|
|
1122
1109
|
};
|
|
1123
1110
|
|
|
1124
1111
|
const number = (config = {}) => {
|
|
1125
1112
|
const faker = createFaker(config.seed);
|
|
1126
|
-
return faker.datatype.number();
|
|
1113
|
+
return config.state === "empty" ? null : faker.datatype.number();
|
|
1127
1114
|
};
|
|
1128
1115
|
|
|
1129
|
-
const patterns$
|
|
1116
|
+
const patterns$5 = {
|
|
1130
1117
|
short: {
|
|
1131
1118
|
minWords: 1,
|
|
1132
1119
|
maxWords: 3
|
|
@@ -1153,8 +1140,8 @@ const heading = (config = {}) => {
|
|
|
1153
1140
|
].includes(type2));
|
|
1154
1141
|
const type = faker.random.arrayElement(types);
|
|
1155
1142
|
if (type) {
|
|
1156
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$
|
|
1157
|
-
const pattern = patterns$
|
|
1143
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$5));
|
|
1144
|
+
const pattern = patterns$5[patternKey];
|
|
1158
1145
|
return {
|
|
1159
1146
|
type,
|
|
1160
1147
|
text: changeCase.capitalCase(faker.lorem.words(faker.datatype.number({
|
|
@@ -1168,7 +1155,7 @@ const heading = (config = {}) => {
|
|
|
1168
1155
|
}
|
|
1169
1156
|
};
|
|
1170
1157
|
|
|
1171
|
-
const patterns$
|
|
1158
|
+
const patterns$4 = {
|
|
1172
1159
|
short: {
|
|
1173
1160
|
sentenceCount: 2
|
|
1174
1161
|
},
|
|
@@ -1181,8 +1168,8 @@ const patterns$7 = {
|
|
|
1181
1168
|
};
|
|
1182
1169
|
const paragraph = (config = {}) => {
|
|
1183
1170
|
const faker = createFaker(config.seed);
|
|
1184
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$
|
|
1185
|
-
const pattern = patterns$
|
|
1171
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$4));
|
|
1172
|
+
const pattern = patterns$4[patternKey];
|
|
1186
1173
|
return {
|
|
1187
1174
|
type: prismicT.RichTextNodeType.paragraph,
|
|
1188
1175
|
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
@@ -1190,7 +1177,7 @@ const paragraph = (config = {}) => {
|
|
|
1190
1177
|
};
|
|
1191
1178
|
};
|
|
1192
1179
|
|
|
1193
|
-
const patterns$
|
|
1180
|
+
const patterns$3 = {
|
|
1194
1181
|
short: {
|
|
1195
1182
|
sentenceCount: 2
|
|
1196
1183
|
},
|
|
@@ -1203,8 +1190,8 @@ const patterns$6 = {
|
|
|
1203
1190
|
};
|
|
1204
1191
|
const preformatted = (config = {}) => {
|
|
1205
1192
|
const faker = createFaker(config.seed);
|
|
1206
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$
|
|
1207
|
-
const pattern = patterns$
|
|
1193
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$3));
|
|
1194
|
+
const pattern = patterns$3[patternKey];
|
|
1208
1195
|
return {
|
|
1209
1196
|
type: prismicT.RichTextNodeType.preformatted,
|
|
1210
1197
|
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
@@ -1212,7 +1199,7 @@ const preformatted = (config = {}) => {
|
|
|
1212
1199
|
};
|
|
1213
1200
|
};
|
|
1214
1201
|
|
|
1215
|
-
const patterns$
|
|
1202
|
+
const patterns$2 = {
|
|
1216
1203
|
short: {
|
|
1217
1204
|
minItems: 1,
|
|
1218
1205
|
maxItems: 3
|
|
@@ -1228,8 +1215,8 @@ const patterns$5 = {
|
|
|
1228
1215
|
};
|
|
1229
1216
|
const list = (config = {}) => {
|
|
1230
1217
|
const faker = createFaker(config.seed);
|
|
1231
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$
|
|
1232
|
-
const pattern = patterns$
|
|
1218
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
|
|
1219
|
+
const pattern = patterns$2[patternKey];
|
|
1233
1220
|
const itemsCount = faker.datatype.number({
|
|
1234
1221
|
min: pattern.minItems,
|
|
1235
1222
|
max: pattern.maxItems
|
|
@@ -1243,7 +1230,7 @@ const list = (config = {}) => {
|
|
|
1243
1230
|
});
|
|
1244
1231
|
};
|
|
1245
1232
|
|
|
1246
|
-
const patterns$
|
|
1233
|
+
const patterns$1 = {
|
|
1247
1234
|
short: {
|
|
1248
1235
|
minItems: 1,
|
|
1249
1236
|
maxItems: 3
|
|
@@ -1259,8 +1246,8 @@ const patterns$4 = {
|
|
|
1259
1246
|
};
|
|
1260
1247
|
const oList = (config = {}) => {
|
|
1261
1248
|
const faker = createFaker(config.seed);
|
|
1262
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$
|
|
1263
|
-
const pattern = patterns$
|
|
1249
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
|
|
1250
|
+
const pattern = patterns$1[patternKey];
|
|
1264
1251
|
const itemsCount = faker.datatype.number({
|
|
1265
1252
|
min: pattern.minItems,
|
|
1266
1253
|
max: pattern.maxItems
|
|
@@ -1276,7 +1263,11 @@ const oList = (config = {}) => {
|
|
|
1276
1263
|
|
|
1277
1264
|
const image = (config = {}) => {
|
|
1278
1265
|
const imageData = getMockImageData({ seed: config.seed });
|
|
1279
|
-
const imageField =
|
|
1266
|
+
const imageField = buildImageFieldImage({
|
|
1267
|
+
seed: config.seed,
|
|
1268
|
+
imageData,
|
|
1269
|
+
state: false
|
|
1270
|
+
});
|
|
1280
1271
|
return {
|
|
1281
1272
|
type: prismicT.RichTextNodeType.image,
|
|
1282
1273
|
alt: imageField.alt,
|
|
@@ -1295,7 +1286,7 @@ const embed = (config = {}) => {
|
|
|
1295
1286
|
};
|
|
1296
1287
|
};
|
|
1297
1288
|
|
|
1298
|
-
const patterns
|
|
1289
|
+
const patterns = {
|
|
1299
1290
|
short: {
|
|
1300
1291
|
blockCountMin: 1,
|
|
1301
1292
|
blockCountMax: 2
|
|
@@ -1332,8 +1323,8 @@ const richText = (config = {}) => {
|
|
|
1332
1323
|
const supportsMultipleBlocks = "multi" in model.config;
|
|
1333
1324
|
const types = ("multi" in model.config ? model.config.multi : model.config.single).split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1334
1325
|
if (types.length > 0) {
|
|
1335
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns
|
|
1336
|
-
const pattern = patterns
|
|
1326
|
+
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns));
|
|
1327
|
+
const pattern = patterns[patternKey];
|
|
1337
1328
|
const blockCount = supportsMultipleBlocks ? faker.datatype.number({
|
|
1338
1329
|
min: pattern.blockCountMin,
|
|
1339
1330
|
max: pattern.blockCountMax
|
|
@@ -1352,38 +1343,22 @@ const select = (config = {}) => {
|
|
|
1352
1343
|
const faker = createFaker(config.seed);
|
|
1353
1344
|
const model = config.model || select$1({ seed: config.seed });
|
|
1354
1345
|
const defaultValue = model.config.default_value;
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
none: {
|
|
1360
|
-
minItems: 0,
|
|
1361
|
-
maxItems: 0
|
|
1362
|
-
},
|
|
1363
|
-
short: {
|
|
1364
|
-
minItems: 1,
|
|
1365
|
-
maxItems: 3
|
|
1366
|
-
},
|
|
1367
|
-
medium: {
|
|
1368
|
-
minItems: 3,
|
|
1369
|
-
maxItems: 6
|
|
1370
|
-
},
|
|
1371
|
-
long: {
|
|
1372
|
-
minItems: 6,
|
|
1373
|
-
maxItems: 12
|
|
1346
|
+
if (config.state === "empty") {
|
|
1347
|
+
return null;
|
|
1348
|
+
} else {
|
|
1349
|
+
return typeof defaultValue === "string" && faker.datatype.boolean() ? defaultValue : faker.random.arrayElement(model.config.options);
|
|
1374
1350
|
}
|
|
1375
1351
|
};
|
|
1352
|
+
|
|
1376
1353
|
const slice = (config = {}) => {
|
|
1377
|
-
var _a;
|
|
1354
|
+
var _a, _b;
|
|
1378
1355
|
const faker = createFaker(config.seed);
|
|
1379
1356
|
const model = config.model || slice$1({ seed: config.seed });
|
|
1380
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
|
|
1381
|
-
const pattern = patterns$2[patternKey];
|
|
1382
1357
|
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1383
1358
|
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.company.bsNoun());
|
|
1384
|
-
const itemsCount = Object.keys(model.repeat).length > 0 ? faker.datatype.number({
|
|
1385
|
-
min:
|
|
1386
|
-
max:
|
|
1359
|
+
const itemsCount = Object.keys(model.repeat).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.datatype.number({
|
|
1360
|
+
min: 1,
|
|
1361
|
+
max: 6
|
|
1387
1362
|
}) : 0;
|
|
1388
1363
|
return {
|
|
1389
1364
|
slice_type: sliceType,
|
|
@@ -1403,39 +1378,18 @@ const slice = (config = {}) => {
|
|
|
1403
1378
|
};
|
|
1404
1379
|
};
|
|
1405
1380
|
|
|
1406
|
-
const patterns$1 = {
|
|
1407
|
-
none: {
|
|
1408
|
-
minItems: 0,
|
|
1409
|
-
maxItems: 0
|
|
1410
|
-
},
|
|
1411
|
-
short: {
|
|
1412
|
-
minItems: 1,
|
|
1413
|
-
maxItems: 3
|
|
1414
|
-
},
|
|
1415
|
-
medium: {
|
|
1416
|
-
minItems: 3,
|
|
1417
|
-
maxItems: 6
|
|
1418
|
-
},
|
|
1419
|
-
long: {
|
|
1420
|
-
minItems: 6,
|
|
1421
|
-
maxItems: 12
|
|
1422
|
-
}
|
|
1423
|
-
};
|
|
1424
1381
|
const sharedSliceVariation = (config = {}) => {
|
|
1425
1382
|
var _a, _b;
|
|
1426
1383
|
const faker = createFaker(config.seed);
|
|
1427
1384
|
const model = config.model || sharedSliceVariation$1({ seed: config.seed });
|
|
1428
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
|
|
1429
|
-
const pattern = patterns$1[patternKey];
|
|
1430
1385
|
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
|
|
1431
|
-
const
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
max: pattern.maxItems
|
|
1386
|
+
const itemsCount = Object.keys(model.items).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.datatype.number({
|
|
1387
|
+
min: 1,
|
|
1388
|
+
max: 6
|
|
1435
1389
|
}) : 0;
|
|
1436
1390
|
return {
|
|
1437
1391
|
slice_type: sliceType,
|
|
1438
|
-
slice_label:
|
|
1392
|
+
slice_label: null,
|
|
1439
1393
|
variation: model.id,
|
|
1440
1394
|
version: faker.git.shortSha(),
|
|
1441
1395
|
primary: valueForModelMap({
|
|
@@ -1460,66 +1414,55 @@ const sharedSlice = (config = {}) => {
|
|
|
1460
1414
|
return sharedSliceVariation({
|
|
1461
1415
|
seed: config.seed,
|
|
1462
1416
|
model: variationModel,
|
|
1463
|
-
|
|
1417
|
+
itemsCount: config.itemsCount,
|
|
1464
1418
|
type: model.id,
|
|
1465
1419
|
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1466
1420
|
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1467
1421
|
});
|
|
1468
1422
|
};
|
|
1469
1423
|
|
|
1470
|
-
const patterns = {
|
|
1471
|
-
short: {
|
|
1472
|
-
minItems: 1,
|
|
1473
|
-
maxItems: 3
|
|
1474
|
-
},
|
|
1475
|
-
medium: {
|
|
1476
|
-
minItems: 3,
|
|
1477
|
-
maxItems: 6
|
|
1478
|
-
},
|
|
1479
|
-
long: {
|
|
1480
|
-
minItems: 6,
|
|
1481
|
-
maxItems: 12
|
|
1482
|
-
}
|
|
1483
|
-
};
|
|
1484
1424
|
const sliceZone = (config = {}) => {
|
|
1425
|
+
var _a;
|
|
1485
1426
|
const faker = createFaker(config.seed);
|
|
1486
1427
|
const model = config.model || sliceZone$1({ seed: config.seed });
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
return slice({
|
|
1502
|
-
seed: config.seed,
|
|
1503
|
-
model: choiceModel,
|
|
1504
|
-
type: choiceType,
|
|
1505
|
-
label: choiceLabel ? choiceLabel.name : null,
|
|
1506
|
-
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1507
|
-
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1508
|
-
});
|
|
1509
|
-
}
|
|
1510
|
-
case prismicT.CustomTypeModelSliceType.SharedSlice: {
|
|
1511
|
-
const sharedSliceModel = (_a = config.sharedSliceModels) == null ? void 0 : _a.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
|
|
1512
|
-
if (sharedSliceModel) {
|
|
1513
|
-
return sharedSlice({
|
|
1428
|
+
if (Object.keys(model.config.choices).length > 0) {
|
|
1429
|
+
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
|
|
1430
|
+
min: 1,
|
|
1431
|
+
max: 6
|
|
1432
|
+
});
|
|
1433
|
+
return Array(itemsCount).fill(void 0).map(() => {
|
|
1434
|
+
var _a2;
|
|
1435
|
+
const choices = Object.entries(model.config.choices);
|
|
1436
|
+
const [choiceType, choiceModel] = faker.random.arrayElement(choices);
|
|
1437
|
+
const choiceLabels = model.config.labels[choiceType] || [];
|
|
1438
|
+
const choiceLabel = faker.random.arrayElement(choiceLabels);
|
|
1439
|
+
switch (choiceModel.type) {
|
|
1440
|
+
case prismicT.CustomTypeModelSliceType.Slice: {
|
|
1441
|
+
return slice({
|
|
1514
1442
|
seed: config.seed,
|
|
1515
|
-
model:
|
|
1443
|
+
model: choiceModel,
|
|
1444
|
+
type: choiceType,
|
|
1445
|
+
label: choiceLabel ? choiceLabel.name : null,
|
|
1516
1446
|
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1517
1447
|
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1518
1448
|
});
|
|
1519
1449
|
}
|
|
1450
|
+
case prismicT.CustomTypeModelSliceType.SharedSlice: {
|
|
1451
|
+
const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
|
|
1452
|
+
if (sharedSliceModel) {
|
|
1453
|
+
return sharedSlice({
|
|
1454
|
+
seed: config.seed,
|
|
1455
|
+
model: sharedSliceModel,
|
|
1456
|
+
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1457
|
+
itemsFieldConfigs: config.itemsFieldConfigs
|
|
1458
|
+
});
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1520
1461
|
}
|
|
1521
|
-
}
|
|
1522
|
-
}
|
|
1462
|
+
}).filter((slice2) => slice2 !== void 0);
|
|
1463
|
+
} else {
|
|
1464
|
+
return [];
|
|
1465
|
+
}
|
|
1523
1466
|
};
|
|
1524
1467
|
|
|
1525
1468
|
const title = (config = {}) => {
|
|
@@ -1537,9 +1480,9 @@ const uid = (config = {}) => {
|
|
|
1537
1480
|
return changeCase.snakeCase(faker.lorem.words(2));
|
|
1538
1481
|
};
|
|
1539
1482
|
|
|
1540
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
1483
|
+
var index$1 = /*#__PURE__*/Object.freeze({
|
|
1541
1484
|
__proto__: null,
|
|
1542
|
-
boolean: boolean,
|
|
1485
|
+
boolean: boolean$1,
|
|
1543
1486
|
customType: customType,
|
|
1544
1487
|
color: color,
|
|
1545
1488
|
contentRelationship: contentRelationship,
|
|
@@ -1565,4 +1508,90 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
1565
1508
|
uid: uid
|
|
1566
1509
|
});
|
|
1567
1510
|
|
|
1568
|
-
|
|
1511
|
+
const ref = (config = {}) => {
|
|
1512
|
+
var _a;
|
|
1513
|
+
const faker = createFaker(config.seed);
|
|
1514
|
+
const value = {
|
|
1515
|
+
id: faker.git.shortSha(),
|
|
1516
|
+
ref: faker.git.shortSha(),
|
|
1517
|
+
isMasterRef: (_a = config.isMasterRef) != null ? _a : false,
|
|
1518
|
+
label: config.isMasterRef ? "Master" : changeCase.capitalCase(faker.company.bsNoun())
|
|
1519
|
+
};
|
|
1520
|
+
if (config.isScheduled) {
|
|
1521
|
+
value.scheduledAt = timestamp({ seed: config.seed });
|
|
1522
|
+
}
|
|
1523
|
+
return value;
|
|
1524
|
+
};
|
|
1525
|
+
|
|
1526
|
+
const repository = (config = {}) => {
|
|
1527
|
+
const faker = createFaker(config.seed);
|
|
1528
|
+
const types = (config.customTypeModels || []).reduce((acc, model) => {
|
|
1529
|
+
acc[model.id] = model.label;
|
|
1530
|
+
return acc;
|
|
1531
|
+
}, {});
|
|
1532
|
+
return {
|
|
1533
|
+
refs: [
|
|
1534
|
+
ref({ seed: config.seed, isMasterRef: true }),
|
|
1535
|
+
...config.withReleases ? [ref({ seed: config.seed }), ref({ seed: config.seed })] : []
|
|
1536
|
+
],
|
|
1537
|
+
integrationFieldsRef: ref({ seed: config.seed }).ref,
|
|
1538
|
+
types,
|
|
1539
|
+
languages: [
|
|
1540
|
+
{
|
|
1541
|
+
id: faker.lorem.word(),
|
|
1542
|
+
name: changeCase.capitalCase(faker.lorem.word())
|
|
1543
|
+
}
|
|
1544
|
+
],
|
|
1545
|
+
tags: generateTags({
|
|
1546
|
+
seed: config.seed,
|
|
1547
|
+
min: 1,
|
|
1548
|
+
max: 10
|
|
1549
|
+
}),
|
|
1550
|
+
forms: {},
|
|
1551
|
+
license: "All Rights Reserved",
|
|
1552
|
+
version: faker.git.shortSha(),
|
|
1553
|
+
bookmarks: {},
|
|
1554
|
+
experiments: {},
|
|
1555
|
+
oauth_token: faker.internet.url(),
|
|
1556
|
+
oauth_initiate: faker.internet.url()
|
|
1557
|
+
};
|
|
1558
|
+
};
|
|
1559
|
+
|
|
1560
|
+
const query = (config = {}) => {
|
|
1561
|
+
var _a, _b;
|
|
1562
|
+
const faker = createFaker(config.seed);
|
|
1563
|
+
const documents = config.documents || [];
|
|
1564
|
+
const page = Math.max(1, (_a = config.page) != null ? _a : 1);
|
|
1565
|
+
const pageSize = Math.min(100, Math.max(1, (_b = config.pageSize) != null ? _b : 100));
|
|
1566
|
+
const totalPages = Math.ceil(documents.length / pageSize);
|
|
1567
|
+
const results = documents.slice((page - 1) * pageSize, page * pageSize);
|
|
1568
|
+
return {
|
|
1569
|
+
page,
|
|
1570
|
+
next_page: page < totalPages ? faker.internet.url() : null,
|
|
1571
|
+
prev_page: page > 1 ? faker.internet.url() : null,
|
|
1572
|
+
total_pages: totalPages,
|
|
1573
|
+
results_size: results.length,
|
|
1574
|
+
results_per_page: pageSize,
|
|
1575
|
+
total_results_size: documents.length,
|
|
1576
|
+
results
|
|
1577
|
+
};
|
|
1578
|
+
};
|
|
1579
|
+
|
|
1580
|
+
const tags = (config = {}) => {
|
|
1581
|
+
return generateTags({
|
|
1582
|
+
seed: config.seed,
|
|
1583
|
+
min: 1,
|
|
1584
|
+
max: 10
|
|
1585
|
+
});
|
|
1586
|
+
};
|
|
1587
|
+
|
|
1588
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
1589
|
+
__proto__: null,
|
|
1590
|
+
repository: repository,
|
|
1591
|
+
ref: ref,
|
|
1592
|
+
query: query,
|
|
1593
|
+
tags: tags
|
|
1594
|
+
});
|
|
1595
|
+
|
|
1596
|
+
export { index as api, index$2 as model, index$1 as value };
|
|
1597
|
+
//# sourceMappingURL=index.js.map
|