@prismicio/mock 0.0.9 → 0.1.1
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/dist/api/index.cjs +153 -149
- package/dist/api/index.cjs.map +1 -1
- package/dist/api/index.d.ts +51 -5
- package/dist/api/index.js +153 -149
- package/dist/api/index.js.map +1 -1
- package/dist/index.cjs +609 -357
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +240 -70
- package/dist/index.js +602 -358
- package/dist/index.js.map +1 -1
- package/dist/model/index.cjs +236 -66
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.ts +113 -27
- package/dist/model/index.js +236 -66
- package/dist/model/index.js.map +1 -1
- package/dist/value/index.cjs +347 -315
- package/dist/value/index.cjs.map +1 -1
- package/dist/value/index.d.ts +90 -38
- package/dist/value/index.js +347 -315
- package/dist/value/index.js.map +1 -1
- package/package.json +14 -15
- package/src/api/createAPIMockFactory.ts +56 -0
- package/src/api/query.ts +2 -2
- package/src/api/ref.ts +3 -3
- package/src/api/repository.ts +7 -9
- package/src/api/tags.ts +5 -2
- package/src/createMockFactory.ts +52 -0
- package/src/index.ts +15 -0
- package/src/lib/buildEmbedField.ts +13 -4
- package/src/lib/buildImageFieldImage.ts +16 -5
- package/src/lib/createFaker.ts +14 -15
- package/src/lib/generateCustomTypeId.ts +12 -4
- package/src/lib/generateFieldId.ts +12 -4
- package/src/lib/generateTags.ts +13 -4
- package/src/lib/getMockEmbedData.ts +12 -4
- package/src/lib/getMockImageData.ts +12 -4
- package/src/lib/valueForModel.ts +47 -30
- package/src/lib/valueForModelMap.ts +24 -4
- package/src/model/boolean.ts +5 -5
- package/src/model/buildMockGroupFieldMap.ts +4 -4
- package/src/model/color.ts +2 -2
- package/src/model/contentRelationship.ts +2 -2
- package/src/model/createModelMockFactory.ts +213 -0
- package/src/model/customType.ts +3 -3
- package/src/model/date.ts +2 -2
- package/src/model/embed.ts +2 -2
- package/src/model/geoPoint.ts +2 -2
- package/src/model/group.ts +6 -6
- package/src/model/image.ts +3 -3
- package/src/model/index.ts +2 -0
- package/src/model/integrationFields.ts +2 -2
- package/src/model/keyText.ts +2 -2
- package/src/model/link.ts +3 -3
- package/src/model/linkToMedia.ts +3 -3
- package/src/model/number.ts +2 -2
- package/src/model/richText.ts +2 -2
- package/src/model/select.ts +3 -3
- package/src/model/sharedSlice.ts +3 -3
- package/src/model/sharedSliceVariation.ts +6 -6
- package/src/model/slice.ts +3 -3
- package/src/model/sliceZone.ts +7 -4
- package/src/model/timestamp.ts +2 -2
- package/src/model/title.ts +2 -2
- package/src/model/uid.ts +2 -2
- package/src/types.ts +67 -25
- package/src/value/boolean.ts +3 -5
- package/src/value/color.ts +2 -2
- package/src/value/contentRelationship.ts +18 -15
- package/src/value/createValueMockFactory.ts +236 -0
- package/src/value/customType.ts +7 -7
- package/src/value/date.ts +6 -2
- package/src/value/embed.ts +6 -3
- package/src/value/geoPoint.ts +2 -2
- package/src/value/group.ts +5 -5
- package/src/value/image.ts +26 -18
- package/src/value/integrationFields.ts +12 -26
- package/src/value/keyText.ts +2 -2
- package/src/value/link.ts +9 -7
- package/src/value/linkToMedia.ts +2 -2
- package/src/value/number.ts +2 -2
- package/src/value/richText/embed.ts +6 -3
- package/src/value/richText/heading.ts +29 -17
- package/src/value/richText/image.ts +6 -3
- package/src/value/richText/index.ts +71 -43
- package/src/value/richText/list.ts +2 -2
- package/src/value/richText/oList.ts +2 -2
- package/src/value/richText/paragraph.ts +2 -2
- package/src/value/richText/preformatted.ts +2 -2
- package/src/value/select.ts +10 -6
- package/src/value/sharedSlice.ts +4 -4
- package/src/value/sharedSliceVariation.ts +9 -10
- package/src/value/slice.ts +9 -9
- package/src/value/sliceZone.ts +10 -8
- package/src/value/timestamp.ts +2 -2
- package/src/value/title.ts +7 -3
- package/src/value/uid.ts +5 -3
package/dist/model/index.cjs
CHANGED
|
@@ -30,8 +30,6 @@ const prismicT__namespace = /*#__PURE__*/_interopNamespace(prismicT);
|
|
|
30
30
|
const changeCase__namespace = /*#__PURE__*/_interopNamespace(changeCase);
|
|
31
31
|
const Rand__default = /*#__PURE__*/_interopDefaultLegacy(Rand);
|
|
32
32
|
|
|
33
|
-
const FAKER_SEED = 1984;
|
|
34
|
-
|
|
35
33
|
const wordsString = "lorem ipsum dolor sit amet, consectetur adipiscing elit ut aliquam, purus sit amet luctus venenatis, lectus magna fringilla urna, porttitor rhoncus dolor purus non enim praesent elementum facilisis leo, vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis mauris sit amet massa vitae tortor condimentum lacinia quis vel eros donec ac odio tempor orci dapibus ultrices in iaculis nunc sed augue lacus, viverra vitae congue eu, consequat ac felis donec et odio pellentesque diam volutpat commodo sed egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur vitae nunc sed velit dignissim sodales ut eu sem integer vitae justo eget magna fermentum iaculis eu non diam phasellus vestibulum lorem sed risus ultricies tristique nulla aliquet enim tortor, at auctor urna nunc id cursus metus aliquam eleifend mi in nulla posuere sollicitudin aliquam ultrices sagittis orci, a scelerisque purus semper eget duis at tellus at urna condimentum mattis pellentesque id nibh tortor, id aliquet lectus proin nibh nisl, condimentum id venenatis a, condimentum vitae sapien pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas sed tempus, urna et pharetra pharetra, massa massa ultricies mi, quis hendrerit dolor magna eget est lorem ipsum dolor sit amet, consectetur adipiscing elit pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas integer eget aliquet nibh praesent tristique magna sit amet purus gravida quis blandit turpis cursus in hac habitasse platea dictumst quisque sagittis, purus sit amet volutpat consequat, mauris nunc congue nisi, vitae suscipit tellus mauris a diam maecenas sed enim ut sem viverra aliquet eget sit amet tellus cras adipiscing enim eu turpis egestas pretium aenean pharetra, magna ac placerat vestibulum, lectus mauris ultrices eros, in cursus turpis massa tincidunt dui ut ornare lectus sit amet est placerat in egestas erat imperdiet sed euismod nisi porta lorem mollis aliquam ut porttitor leo a diam sollicitudin tempor id eu nisl nunc mi ipsum, faucibus vitae aliquet nec, ullamcorper sit amet risus nullam eget felis eget nunc lobortis mattis aliquam faucibus purus in massa tempor nec feugiat nisl pretium fusce id velit ut tortor pretium viverra suspendisse potenti nullam ac tortor vitae purus faucibus ornare suspendisse sed nisi lacus, sed viverra tellus in hac habitasse platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras tincidunt lobortis feugiat vivamus at augue eget arcu dictum varius duis at consectetur lorem donec massa sapien, faucibus et molestie ac, feugiat sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare massa, eget egestas purus viverra accumsan in nisl nisi, scelerisque eu ultrices vitae, auctor eu augue ut lectus arcu, bibendum at varius vel, pharetra vel turpis nunc eget lorem dolor, sed viverra ipsum nunc aliquet bibendum enim, facilisis gravida neque convallis a cras semper auctor neque, vitae tempus quam pellentesque nec nam aliquam sem et tortor consequat id porta nibh venenatis cras sed felis eget velit aliquet sagittis id consectetur purus ut faucibus pulvinar elementum integer enim neque, volutpat ac tincidunt vitae, semper quis lectus nulla at volutpat diam ut venenatis tellus in metus vulputate eu scelerisque felis imperdiet proin fermentum leo vel orci porta non pulvinar neque laoreet suspendisse interdum consectetur libero, id faucibus nisl tincidunt eget nullam non nisi est, sit amet facilisis magna etiam tempor, orci eu lobortis elementum, nibh tellus molestie nunc, non blandit massa enim nec dui nunc mattis enim ut tellus elementum sagittis vitae et leo duis ut diam quam nulla porttitor massa id neque aliquam vestibulum morbi blandit cursus risus, at ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget gravida cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus mauris vitae ultricies leo integer malesuada nunc vel risus commodo viverra maecenas accumsan, lacus vel facilisis volutpat, est velit egestas dui, id ornare arcu odio ut sem nulla pharetra diam sit amet nisl suscipit adipiscing bibendum est ultricies integer quis auctor elit sed vulputate mi sit amet mauris commodo quis imperdiet massa tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero nunc, consequat interdum varius sit amet, mattis vulputate enim nulla aliquet porttitor lacus, luctus accumsan tortor posuere ac ut consequat semper viverra nam libero justo, laoreet sit amet cursus sit amet, dictum sit amet justo donec enim diam, vulputate ut pharetra sit amet, aliquam id diam maecenas ultricies mi eget mauris pharetra et ultrices neque ornare aenean euismod elementum nisi, quis eleifend quam adipiscing vitae proin sagittis, nisl rhoncus mattis rhoncus, urna neque viverra justo, nec ultrices dui sapien eget mi proin sed libero enim, sed faucibus turpis in eu mi bibendum neque egestas congue quisque egestas diam in arcu cursus euismod quis viverra nibh cras pulvinar mattis nunc, sed blandit libero volutpat sed cras ornare arcu dui vivamus arcu felis, bibendum ut tristique et, egestas quis ipsum suspendisse ultrices gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim, sit amet venenatis urna cursus eget nunc scelerisque viverra mauris, in aliquam sem fringilla ut morbi tincidunt augue interdum velit euismod in pellentesque massa placerat duis ultricies lacus sed turpis tincidunt id aliquet risus feugiat in ante metus, dictum at tempor commodo, ullamcorper a lacus vestibulum sed arcu non odio euismod lacinia at quis risus sed vulputate odio ut enim blandit volutpat maecenas volutpat blandit aliquam etiam erat velit, scelerisque in dictum non, consectetur a erat nam at lectus urna duis convallis convallis tellus, id interdum velit laoreet id donec ultrices tincidunt arcu, non sodales neque sodales ut etiam sit amet nisl purus, in mollis nunc sed id semper risus in hendrerit gravida rutrum quisque non tellus orci, ac auctor augue mauris augue neque, gravida in fermentum et, sollicitudin ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt tortor aliquam nulla facilisi cras fermentum, odio eu feugiat pretium, nibh ipsum consequat nisl, vel pretium lectus quam id leo in vitae turpis massa sed elementum tempus egestas sed sed risus pretium quam vulputate dignissim suspendisse in est ante in nibh mauris, cursus mattis molestie a, iaculis at erat pellentesque adipiscing commodo elit, at imperdiet dui accumsan sit amet nulla facilisi morbi tempus iaculis urna, id volutpat lacus laoreet non curabitur gravida arcu ac tortor dignissim convallis aenean et tortor at risus viverra adipiscing at in tellus integer feugiat scelerisque varius morbi enim nunc, faucibus a pellentesque sit amet, porttitor eget dolor morbi non arcu risus, quis varius quam quisque id diam vel quam elementum pulvinar etiam non quam lacus suspendisse faucibus interdum posuere lorem ipsum dolor sit amet, consectetur adipiscing elit duis tristique sollicitudin nibh sit amet commodo nulla facilisi nullam vehicula ipsum a arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas maecenas pharetra convallis posuere morbi leo urna, molestie at elementum eu, facilisis sed odio morbi quis commodo odio aenean sed adipiscing diam donec adipiscing tristique risus nec feugiat in fermentum posuere urna nec tincidunt praesent semper feugiat nibh sed pulvinar proin gravida hendrerit lectus a molestie";
|
|
36
34
|
const loremWords = wordsString.split(" ");
|
|
37
35
|
const lorem = (length, wordOffset = 0) => {
|
|
@@ -73,22 +71,16 @@ const lorem = (length, wordOffset = 0) => {
|
|
|
73
71
|
};
|
|
74
72
|
lorem.spaceIndices = [];
|
|
75
73
|
|
|
76
|
-
const createFaker = (seed
|
|
77
|
-
|
|
78
|
-
if (createFaker.cache[normalizedSeed]) {
|
|
79
|
-
return createFaker.cache[normalizedSeed];
|
|
80
|
-
} else {
|
|
81
|
-
const faker = new Faker(normalizedSeed);
|
|
82
|
-
return createFaker.cache[normalizedSeed] = faker;
|
|
83
|
-
}
|
|
74
|
+
const createFaker = (seed) => {
|
|
75
|
+
return new Faker(seed);
|
|
84
76
|
};
|
|
85
|
-
createFaker.cache = {};
|
|
86
77
|
const DAY_MS = 1e3 * 60 * 60 * 24;
|
|
87
78
|
const YEAR_MS = DAY_MS * 365;
|
|
88
79
|
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
89
80
|
class Faker {
|
|
90
81
|
constructor(seed) {
|
|
91
|
-
this.
|
|
82
|
+
this.seed = seed;
|
|
83
|
+
this.rand = new Rand__default["default"](seed.toString());
|
|
92
84
|
}
|
|
93
85
|
boolean() {
|
|
94
86
|
return this.random() >= 0.5;
|
|
@@ -100,7 +92,8 @@ class Faker {
|
|
|
100
92
|
return elements[this.range(0, elements.length)];
|
|
101
93
|
}
|
|
102
94
|
randomElements(elements) {
|
|
103
|
-
|
|
95
|
+
const alwaysInclude = this.randomElement(elements);
|
|
96
|
+
return elements.filter((element) => element === alwaysInclude || this.boolean());
|
|
104
97
|
}
|
|
105
98
|
range(min, max) {
|
|
106
99
|
return Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));
|
|
@@ -147,18 +140,18 @@ class Faker {
|
|
|
147
140
|
}
|
|
148
141
|
}
|
|
149
142
|
|
|
150
|
-
|
|
151
|
-
const faker = createFaker(config.seed);
|
|
143
|
+
function boolean(config) {
|
|
144
|
+
const faker = config.faker || createFaker(config.seed);
|
|
152
145
|
return {
|
|
153
146
|
type: prismicT__namespace.CustomTypeModelFieldType.Boolean,
|
|
154
147
|
config: {
|
|
155
148
|
label: changeCase__namespace.capitalCase(faker.word())
|
|
156
149
|
}
|
|
157
150
|
};
|
|
158
|
-
}
|
|
151
|
+
}
|
|
159
152
|
|
|
160
|
-
const color = (config
|
|
161
|
-
const faker = createFaker(config.seed);
|
|
153
|
+
const color = (config) => {
|
|
154
|
+
const faker = config.faker || createFaker(config.seed);
|
|
162
155
|
return {
|
|
163
156
|
type: prismicT__namespace.CustomTypeModelFieldType.Color,
|
|
164
157
|
config: {
|
|
@@ -168,8 +161,8 @@ const color = (config = {}) => {
|
|
|
168
161
|
};
|
|
169
162
|
};
|
|
170
163
|
|
|
171
|
-
const contentRelationship = (config
|
|
172
|
-
const faker = createFaker(config.seed);
|
|
164
|
+
const contentRelationship = (config) => {
|
|
165
|
+
const faker = config.faker || createFaker(config.seed);
|
|
173
166
|
return {
|
|
174
167
|
type: prismicT__namespace.CustomTypeModelFieldType.Link,
|
|
175
168
|
config: {
|
|
@@ -182,9 +175,9 @@ const contentRelationship = (config = {}) => {
|
|
|
182
175
|
};
|
|
183
176
|
};
|
|
184
177
|
|
|
185
|
-
const customType = (config
|
|
178
|
+
const customType = (config) => {
|
|
186
179
|
var _a, _b;
|
|
187
|
-
const faker = createFaker(config.seed);
|
|
180
|
+
const faker = config.faker || createFaker(config.seed);
|
|
188
181
|
let label = config.label || changeCase__namespace.capitalCase(faker.words(faker.range(1, 2)));
|
|
189
182
|
let id = config.id || changeCase__namespace.snakeCase(label);
|
|
190
183
|
if (config.id && !config.label) {
|
|
@@ -207,8 +200,8 @@ const customType = (config = {}) => {
|
|
|
207
200
|
};
|
|
208
201
|
};
|
|
209
202
|
|
|
210
|
-
const date = (config
|
|
211
|
-
const faker = createFaker(config.seed);
|
|
203
|
+
const date = (config) => {
|
|
204
|
+
const faker = config.faker || createFaker(config.seed);
|
|
212
205
|
return {
|
|
213
206
|
type: prismicT__namespace.CustomTypeModelFieldType.Date,
|
|
214
207
|
config: {
|
|
@@ -218,8 +211,8 @@ const date = (config = {}) => {
|
|
|
218
211
|
};
|
|
219
212
|
};
|
|
220
213
|
|
|
221
|
-
const embed = (config
|
|
222
|
-
const faker = createFaker(config.seed);
|
|
214
|
+
const embed = (config) => {
|
|
215
|
+
const faker = config.faker || createFaker(config.seed);
|
|
223
216
|
return {
|
|
224
217
|
type: prismicT__namespace.CustomTypeModelFieldType.Embed,
|
|
225
218
|
config: {
|
|
@@ -229,8 +222,8 @@ const embed = (config = {}) => {
|
|
|
229
222
|
};
|
|
230
223
|
};
|
|
231
224
|
|
|
232
|
-
const geoPoint = (config
|
|
233
|
-
const faker = createFaker(config.seed);
|
|
225
|
+
const geoPoint = (config) => {
|
|
226
|
+
const faker = config.faker || createFaker(config.seed);
|
|
234
227
|
return {
|
|
235
228
|
type: prismicT__namespace.CustomTypeModelFieldType.GeoPoint,
|
|
236
229
|
config: {
|
|
@@ -239,8 +232,8 @@ const geoPoint = (config = {}) => {
|
|
|
239
232
|
};
|
|
240
233
|
};
|
|
241
234
|
|
|
242
|
-
|
|
243
|
-
const faker = createFaker(config.seed);
|
|
235
|
+
function group(config) {
|
|
236
|
+
const faker = config.faker || createFaker(config.seed);
|
|
244
237
|
return {
|
|
245
238
|
type: prismicT__namespace.CustomTypeModelFieldType.Group,
|
|
246
239
|
config: {
|
|
@@ -248,10 +241,10 @@ const group = (config = {}) => {
|
|
|
248
241
|
fields: config.fields || {}
|
|
249
242
|
}
|
|
250
243
|
};
|
|
251
|
-
}
|
|
244
|
+
}
|
|
252
245
|
|
|
253
|
-
const image = (config
|
|
254
|
-
const faker = createFaker(config.seed);
|
|
246
|
+
const image = (config) => {
|
|
247
|
+
const faker = config.faker || createFaker(config.seed);
|
|
255
248
|
const thumbnails = (config.thumbnailNames || []).map((name) => {
|
|
256
249
|
return {
|
|
257
250
|
name,
|
|
@@ -272,8 +265,8 @@ const image = (config = {}) => {
|
|
|
272
265
|
};
|
|
273
266
|
};
|
|
274
267
|
|
|
275
|
-
const integrationFields = (config
|
|
276
|
-
const faker = createFaker(config.seed);
|
|
268
|
+
const integrationFields = (config) => {
|
|
269
|
+
const faker = config.faker || createFaker(config.seed);
|
|
277
270
|
return {
|
|
278
271
|
type: prismicT__namespace.CustomTypeModelFieldType.IntegrationFields,
|
|
279
272
|
config: {
|
|
@@ -283,8 +276,8 @@ const integrationFields = (config = {}) => {
|
|
|
283
276
|
};
|
|
284
277
|
};
|
|
285
278
|
|
|
286
|
-
const keyText = (config
|
|
287
|
-
const faker = createFaker(config.seed);
|
|
279
|
+
const keyText = (config) => {
|
|
280
|
+
const faker = config.faker || createFaker(config.seed);
|
|
288
281
|
return {
|
|
289
282
|
type: prismicT__namespace.CustomTypeModelFieldType.Text,
|
|
290
283
|
config: {
|
|
@@ -294,8 +287,8 @@ const keyText = (config = {}) => {
|
|
|
294
287
|
};
|
|
295
288
|
};
|
|
296
289
|
|
|
297
|
-
const link = (config
|
|
298
|
-
const faker = createFaker(config.seed);
|
|
290
|
+
const link = (config) => {
|
|
291
|
+
const faker = config.faker || createFaker(config.seed);
|
|
299
292
|
return {
|
|
300
293
|
type: prismicT__namespace.CustomTypeModelFieldType.Link,
|
|
301
294
|
config: {
|
|
@@ -307,8 +300,8 @@ const link = (config = {}) => {
|
|
|
307
300
|
};
|
|
308
301
|
};
|
|
309
302
|
|
|
310
|
-
const linkToMedia = (config
|
|
311
|
-
const faker = createFaker(config.seed);
|
|
303
|
+
const linkToMedia = (config) => {
|
|
304
|
+
const faker = config.faker || createFaker(config.seed);
|
|
312
305
|
return {
|
|
313
306
|
type: prismicT__namespace.CustomTypeModelFieldType.Link,
|
|
314
307
|
config: {
|
|
@@ -319,8 +312,8 @@ const linkToMedia = (config = {}) => {
|
|
|
319
312
|
};
|
|
320
313
|
};
|
|
321
314
|
|
|
322
|
-
const number = (config
|
|
323
|
-
const faker = createFaker(config.seed);
|
|
315
|
+
const number = (config) => {
|
|
316
|
+
const faker = config.faker || createFaker(config.seed);
|
|
324
317
|
return {
|
|
325
318
|
type: prismicT__namespace.CustomTypeModelFieldType.Number,
|
|
326
319
|
config: {
|
|
@@ -330,9 +323,9 @@ const number = (config = {}) => {
|
|
|
330
323
|
};
|
|
331
324
|
};
|
|
332
325
|
|
|
333
|
-
const richText = (config
|
|
326
|
+
const richText = (config) => {
|
|
334
327
|
var _a;
|
|
335
|
-
const faker = createFaker(config.seed);
|
|
328
|
+
const faker = config.faker || createFaker(config.seed);
|
|
336
329
|
const blockTypes = faker.randomElements([
|
|
337
330
|
prismicT__namespace.RichTextNodeType.heading1,
|
|
338
331
|
prismicT__namespace.RichTextNodeType.heading2,
|
|
@@ -362,8 +355,8 @@ const richText = (config = {}) => {
|
|
|
362
355
|
};
|
|
363
356
|
};
|
|
364
357
|
|
|
365
|
-
const select = (config
|
|
366
|
-
const faker = createFaker(config.seed);
|
|
358
|
+
const select = (config) => {
|
|
359
|
+
const faker = config.faker || createFaker(config.seed);
|
|
367
360
|
return {
|
|
368
361
|
type: prismicT__namespace.CustomTypeModelFieldType.Select,
|
|
369
362
|
config: {
|
|
@@ -375,8 +368,8 @@ const select = (config = {}) => {
|
|
|
375
368
|
};
|
|
376
369
|
};
|
|
377
370
|
|
|
378
|
-
const sharedSlice = (config
|
|
379
|
-
const faker = createFaker(config.seed);
|
|
371
|
+
const sharedSlice = (config) => {
|
|
372
|
+
const faker = config.faker || createFaker(config.seed);
|
|
380
373
|
let name = config.name || changeCase__namespace.capitalCase(faker.words(faker.range(1, 2)));
|
|
381
374
|
let id = config.id || changeCase__namespace.snakeCase(name);
|
|
382
375
|
if (config.id && !config.name) {
|
|
@@ -399,8 +392,95 @@ const sharedSliceChoice = () => {
|
|
|
399
392
|
};
|
|
400
393
|
};
|
|
401
394
|
|
|
402
|
-
const
|
|
403
|
-
|
|
395
|
+
const dataSet = [
|
|
396
|
+
{
|
|
397
|
+
url: "https://images.unsplash.com/photo-1604537529428-15bcbeecfe4d",
|
|
398
|
+
width: 4240,
|
|
399
|
+
height: 2832
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
url: "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05",
|
|
403
|
+
width: 7372,
|
|
404
|
+
height: 4392
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
url: "https://images.unsplash.com/photo-1441974231531-c6227db76b6e",
|
|
408
|
+
width: 2560,
|
|
409
|
+
height: 1705
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
url: "https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5",
|
|
413
|
+
width: 2200,
|
|
414
|
+
height: 1467
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
url: "https://images.unsplash.com/photo-1426604966848-d7adac402bff",
|
|
418
|
+
width: 5616,
|
|
419
|
+
height: 3744
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
url: "https://images.unsplash.com/photo-1604537466608-109fa2f16c3b",
|
|
423
|
+
width: 4240,
|
|
424
|
+
height: 2832
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
url: "https://images.unsplash.com/photo-1497436072909-60f360e1d4b1",
|
|
428
|
+
width: 2560,
|
|
429
|
+
height: 1440
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
url: "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg",
|
|
433
|
+
width: 6373,
|
|
434
|
+
height: 4253
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
url: "https://images.unsplash.com/photo-1504198266287-1659872e6590",
|
|
438
|
+
width: 4272,
|
|
439
|
+
height: 2848
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
url: "https://images.unsplash.com/photo-1470770903676-69b98201ea1c",
|
|
443
|
+
width: 4554,
|
|
444
|
+
height: 3036
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
url: "https://images.unsplash.com/photo-1587502537745-84b86da1204f",
|
|
448
|
+
width: 6550,
|
|
449
|
+
height: 4367
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
url: "https://images.unsplash.com/photo-1431794062232-2a99a5431c6c",
|
|
453
|
+
width: 6e3,
|
|
454
|
+
height: 4e3
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
url: "https://images.unsplash.com/photo-1446329813274-7c9036bd9a1f",
|
|
458
|
+
width: 6e3,
|
|
459
|
+
height: 4e3
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
url: "https://images.unsplash.com/photo-1504567961542-e24d9439a724",
|
|
463
|
+
width: 4608,
|
|
464
|
+
height: 3456
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
url: "https://images.unsplash.com/photo-1444464666168-49d633b86797",
|
|
468
|
+
width: 4844,
|
|
469
|
+
height: 3234
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
url: "https://images.unsplash.com/photo-1553531384-397c80973a0b",
|
|
473
|
+
width: 4335,
|
|
474
|
+
height: 6502
|
|
475
|
+
}
|
|
476
|
+
];
|
|
477
|
+
const getMockImageData = (config) => {
|
|
478
|
+
const faker = config.faker || createFaker(config.seed);
|
|
479
|
+
return faker.randomElement(dataSet);
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
const sharedSliceVariation = (config) => {
|
|
483
|
+
const faker = config.faker || createFaker(config.seed);
|
|
404
484
|
let name = config.name || changeCase__namespace.capitalCase(faker.words(faker.range(1, 2)));
|
|
405
485
|
let id = config.id || changeCase__namespace.snakeCase(name);
|
|
406
486
|
if (config.id && !config.name) {
|
|
@@ -408,6 +488,7 @@ const sharedSliceVariation = (config = {}) => {
|
|
|
408
488
|
} else if (config.name && !config.name) {
|
|
409
489
|
id = changeCase__namespace.snakeCase(config.name);
|
|
410
490
|
}
|
|
491
|
+
const imageData = getMockImageData({ faker });
|
|
411
492
|
return {
|
|
412
493
|
id,
|
|
413
494
|
name,
|
|
@@ -415,12 +496,13 @@ const sharedSliceVariation = (config = {}) => {
|
|
|
415
496
|
docURL: faker.url(),
|
|
416
497
|
version: faker.hash(7),
|
|
417
498
|
primary: config.primaryFields || {},
|
|
418
|
-
items: config.itemsFields || {}
|
|
499
|
+
items: config.itemsFields || {},
|
|
500
|
+
imageUrl: imageData.url
|
|
419
501
|
};
|
|
420
502
|
};
|
|
421
503
|
|
|
422
|
-
const slice = (config
|
|
423
|
-
const faker = createFaker(config.seed);
|
|
504
|
+
const slice = (config) => {
|
|
505
|
+
const faker = config.faker || createFaker(config.seed);
|
|
424
506
|
return {
|
|
425
507
|
type: prismicT__namespace.CustomTypeModelSliceType.Slice,
|
|
426
508
|
icon: changeCase__namespace.snakeCase(faker.word()),
|
|
@@ -432,7 +514,7 @@ const slice = (config = {}) => {
|
|
|
432
514
|
};
|
|
433
515
|
};
|
|
434
516
|
|
|
435
|
-
const sliceZone = (config
|
|
517
|
+
const sliceZone = (config) => {
|
|
436
518
|
const labels = {};
|
|
437
519
|
for (const choiceId in config.choices) {
|
|
438
520
|
const choice = config.choices[choiceId];
|
|
@@ -450,8 +532,8 @@ const sliceZone = (config = {}) => {
|
|
|
450
532
|
};
|
|
451
533
|
};
|
|
452
534
|
|
|
453
|
-
const timestamp = (config
|
|
454
|
-
const faker = createFaker(config.seed);
|
|
535
|
+
const timestamp = (config) => {
|
|
536
|
+
const faker = config.faker || createFaker(config.seed);
|
|
455
537
|
return {
|
|
456
538
|
type: prismicT__namespace.CustomTypeModelFieldType.Timestamp,
|
|
457
539
|
config: {
|
|
@@ -461,8 +543,8 @@ const timestamp = (config = {}) => {
|
|
|
461
543
|
};
|
|
462
544
|
};
|
|
463
545
|
|
|
464
|
-
const title = (config
|
|
465
|
-
const faker = createFaker(config.seed);
|
|
546
|
+
const title = (config) => {
|
|
547
|
+
const faker = config.faker || createFaker(config.seed);
|
|
466
548
|
const single = faker.randomElements([
|
|
467
549
|
"heading1",
|
|
468
550
|
"heading2",
|
|
@@ -482,8 +564,8 @@ const title = (config = {}) => {
|
|
|
482
564
|
};
|
|
483
565
|
};
|
|
484
566
|
|
|
485
|
-
const uid = (config
|
|
486
|
-
const faker = createFaker(config.seed);
|
|
567
|
+
const uid = (config) => {
|
|
568
|
+
const faker = config.faker || createFaker(config.seed);
|
|
487
569
|
return {
|
|
488
570
|
type: prismicT__namespace.CustomTypeModelFieldType.UID,
|
|
489
571
|
config: {
|
|
@@ -494,7 +576,7 @@ const uid = (config = {}) => {
|
|
|
494
576
|
};
|
|
495
577
|
|
|
496
578
|
const generateFieldId = (config) => {
|
|
497
|
-
const faker = createFaker(config.seed);
|
|
579
|
+
const faker = config.faker || createFaker(config.seed);
|
|
498
580
|
return changeCase__namespace.snakeCase(faker.words(faker.range(1, 3)));
|
|
499
581
|
};
|
|
500
582
|
|
|
@@ -516,22 +598,110 @@ const mockModelFns = {
|
|
|
516
598
|
timestamp,
|
|
517
599
|
title
|
|
518
600
|
};
|
|
519
|
-
const buildMockGroupFieldMap = (config
|
|
520
|
-
const faker = createFaker(config.seed);
|
|
601
|
+
const buildMockGroupFieldMap = (config) => {
|
|
602
|
+
const faker = config.faker || createFaker(config.seed);
|
|
521
603
|
const fields = {};
|
|
522
604
|
const fieldTypes = faker.randomElements(Object.keys(mockModelFns));
|
|
523
605
|
for (const fieldType of fieldTypes) {
|
|
524
|
-
const fieldId = generateFieldId({
|
|
606
|
+
const fieldId = generateFieldId({ faker });
|
|
525
607
|
const mockModelFn = mockModelFns[fieldType];
|
|
526
|
-
fields[fieldId] = mockModelFn({
|
|
608
|
+
fields[fieldId] = mockModelFn({ faker });
|
|
527
609
|
}
|
|
528
610
|
return fields;
|
|
529
611
|
};
|
|
530
612
|
|
|
613
|
+
const createModelMockFactory = (...args) => {
|
|
614
|
+
return new ModelMockFactory(...args);
|
|
615
|
+
};
|
|
616
|
+
class ModelMockFactory {
|
|
617
|
+
constructor(config) {
|
|
618
|
+
this.faker = "faker" in config ? config.faker : createFaker(config.seed);
|
|
619
|
+
}
|
|
620
|
+
get seed() {
|
|
621
|
+
return this.faker.seed;
|
|
622
|
+
}
|
|
623
|
+
buildMockGroupFieldMap(config) {
|
|
624
|
+
return buildMockGroupFieldMap({ ...config, faker: this.faker });
|
|
625
|
+
}
|
|
626
|
+
boolean(config) {
|
|
627
|
+
return boolean({ ...config, faker: this.faker });
|
|
628
|
+
}
|
|
629
|
+
color(config) {
|
|
630
|
+
return color({ ...config, faker: this.faker });
|
|
631
|
+
}
|
|
632
|
+
contentRelationship(config) {
|
|
633
|
+
return contentRelationship({ ...config, faker: this.faker });
|
|
634
|
+
}
|
|
635
|
+
customType(config) {
|
|
636
|
+
return customType({ ...config, faker: this.faker });
|
|
637
|
+
}
|
|
638
|
+
date(config) {
|
|
639
|
+
return date({ ...config, faker: this.faker });
|
|
640
|
+
}
|
|
641
|
+
embed(config) {
|
|
642
|
+
return embed({ ...config, faker: this.faker });
|
|
643
|
+
}
|
|
644
|
+
geoPoint(config) {
|
|
645
|
+
return geoPoint({ ...config, faker: this.faker });
|
|
646
|
+
}
|
|
647
|
+
group(config) {
|
|
648
|
+
return group({ ...config, faker: this.faker });
|
|
649
|
+
}
|
|
650
|
+
image(config) {
|
|
651
|
+
return image({ ...config, faker: this.faker });
|
|
652
|
+
}
|
|
653
|
+
integrationFields(config) {
|
|
654
|
+
return integrationFields({ ...config, faker: this.faker });
|
|
655
|
+
}
|
|
656
|
+
keyText(config) {
|
|
657
|
+
return keyText({ ...config, faker: this.faker });
|
|
658
|
+
}
|
|
659
|
+
link(config) {
|
|
660
|
+
return link({ ...config, faker: this.faker });
|
|
661
|
+
}
|
|
662
|
+
linkToMedia(config) {
|
|
663
|
+
return linkToMedia({ ...config, faker: this.faker });
|
|
664
|
+
}
|
|
665
|
+
number(config) {
|
|
666
|
+
return number({ ...config, faker: this.faker });
|
|
667
|
+
}
|
|
668
|
+
richText(config) {
|
|
669
|
+
return richText({ ...config, faker: this.faker });
|
|
670
|
+
}
|
|
671
|
+
select(config) {
|
|
672
|
+
return select({ ...config, faker: this.faker });
|
|
673
|
+
}
|
|
674
|
+
sharedSlice(config) {
|
|
675
|
+
return sharedSlice({ ...config, faker: this.faker });
|
|
676
|
+
}
|
|
677
|
+
sharedSliceChoice() {
|
|
678
|
+
return sharedSliceChoice();
|
|
679
|
+
}
|
|
680
|
+
sharedSliceVariation(config) {
|
|
681
|
+
return sharedSliceVariation({ ...config, faker: this.faker });
|
|
682
|
+
}
|
|
683
|
+
slice(config) {
|
|
684
|
+
return slice({ ...config, faker: this.faker });
|
|
685
|
+
}
|
|
686
|
+
sliceZone(config) {
|
|
687
|
+
return sliceZone({ ...config, faker: this.faker });
|
|
688
|
+
}
|
|
689
|
+
timestamp(config) {
|
|
690
|
+
return timestamp({ ...config, faker: this.faker });
|
|
691
|
+
}
|
|
692
|
+
title(config) {
|
|
693
|
+
return title({ ...config, faker: this.faker });
|
|
694
|
+
}
|
|
695
|
+
uid(config) {
|
|
696
|
+
return uid({ ...config, faker: this.faker });
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
|
|
531
700
|
exports.boolean = boolean;
|
|
532
701
|
exports.buildMockGroupFieldMap = buildMockGroupFieldMap;
|
|
533
702
|
exports.color = color;
|
|
534
703
|
exports.contentRelationship = contentRelationship;
|
|
704
|
+
exports.createModelFactory = createModelMockFactory;
|
|
535
705
|
exports.customType = customType;
|
|
536
706
|
exports.date = date;
|
|
537
707
|
exports.embed = embed;
|