@prismicio/mock 0.0.6 → 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.
Files changed (66) hide show
  1. package/README.md +4 -1
  2. package/dist/api/index.cjs +39 -27
  3. package/dist/api/index.cjs.map +1 -0
  4. package/dist/api/index.d.ts +2 -1
  5. package/dist/api/index.d.ts.map +1 -0
  6. package/dist/api/{index.mjs → index.js} +104 -58
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/index.cjs +293 -393
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +132 -230
  11. package/dist/{index.mjs → index.js} +286 -384
  12. package/dist/index.js.map +1 -0
  13. package/dist/model/index.cjs +148 -205
  14. package/dist/model/index.cjs.map +1 -0
  15. package/dist/model/index.d.ts +68 -104
  16. package/dist/model/index.d.ts.map +1 -0
  17. package/dist/model/index.js +462 -0
  18. package/dist/model/index.js.map +1 -0
  19. package/dist/value/index.cjs +238 -495
  20. package/dist/value/index.cjs.map +1 -0
  21. package/dist/value/index.d.ts +54 -116
  22. package/dist/value/index.d.ts.map +1 -0
  23. package/dist/value/{index.mjs → index.js} +407 -610
  24. package/dist/value/index.js.map +1 -0
  25. package/package.json +21 -21
  26. package/src/lib/buildContentRelationshipField.ts +6 -1
  27. package/src/lib/buildEmbedField.ts +1 -1
  28. package/src/lib/buildImageFieldImage.ts +48 -0
  29. package/src/model/buildMockGroupFieldMap.ts +65 -0
  30. package/src/model/contentRelationship.ts +14 -21
  31. package/src/model/customType.ts +49 -48
  32. package/src/model/group.ts +8 -15
  33. package/src/model/image.ts +13 -13
  34. package/src/model/index.ts +2 -0
  35. package/src/model/select.ts +11 -16
  36. package/src/model/sharedSlice.ts +14 -41
  37. package/src/model/sharedSliceVariation.ts +33 -21
  38. package/src/model/slice.ts +15 -19
  39. package/src/model/sliceZone.ts +23 -59
  40. package/src/types.ts +41 -12
  41. package/src/value/color.ts +16 -6
  42. package/src/value/contentRelationship.ts +51 -36
  43. package/src/value/date.ts +25 -9
  44. package/src/value/embed.ts +18 -6
  45. package/src/value/geoPoint.ts +21 -9
  46. package/src/value/group.ts +7 -27
  47. package/src/value/image.ts +22 -9
  48. package/src/value/integrationFields.ts +26 -14
  49. package/src/value/keyText.ts +18 -6
  50. package/src/value/link.ts +33 -34
  51. package/src/value/linkToMedia.ts +15 -20
  52. package/src/value/number.ts +16 -6
  53. package/src/value/richText/heading.ts +7 -7
  54. package/src/value/richText/image.ts +6 -2
  55. package/src/value/richText/index.ts +1 -1
  56. package/src/value/select.ts +23 -8
  57. package/src/value/sharedSlice.ts +2 -2
  58. package/src/value/sharedSliceVariation.ts +6 -34
  59. package/src/value/slice.ts +5 -30
  60. package/src/value/sliceZone.ts +44 -60
  61. package/src/value/timestamp.ts +19 -6
  62. package/src/value/title.ts +1 -1
  63. package/src/value/uid.ts +1 -1
  64. package/dist/model/index.mjs +0 -465
  65. package/src/lib/buildImageField.ts +0 -34
  66. package/src/lib/buildMockGroupFieldMap.ts +0 -84
@@ -11,21 +11,19 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
 
12
12
  function _interopNamespace(e) {
13
13
  if (e && e.__esModule) return e;
14
- var n = Object.create(null);
14
+ const n = Object.create(null);
15
15
  if (e) {
16
- Object.keys(e).forEach(function (k) {
16
+ for (const k in e) {
17
17
  if (k !== 'default') {
18
- var d = Object.getOwnPropertyDescriptor(e, k);
18
+ const d = Object.getOwnPropertyDescriptor(e, k);
19
19
  Object.defineProperty(n, k, d.get ? d : {
20
20
  enumerable: true,
21
- get: function () {
22
- return e[k];
23
- }
21
+ get: function () { return e[k]; }
24
22
  });
25
23
  }
26
- });
24
+ }
27
25
  }
28
- n['default'] = e;
26
+ n["default"] = e;
29
27
  return Object.freeze(n);
30
28
  }
31
29
 
@@ -47,7 +45,7 @@ const createFaker = (seed = FAKER_SEED) => {
47
45
  if (createFaker.cache[cacheKey]) {
48
46
  return createFaker.cache[cacheKey];
49
47
  }
50
- const fakerInstance = new Faker__default['default']();
48
+ const fakerInstance = new Faker__default["default"]();
51
49
  fakerInstance.locales["en"] = fakerLocaleEN__namespace;
52
50
  fakerInstance.seed(normalizedSeed);
53
51
  createFaker.cache[cacheKey] = fakerInstance;
@@ -55,7 +53,7 @@ const createFaker = (seed = FAKER_SEED) => {
55
53
  };
56
54
  createFaker.cache = {};
57
55
 
58
- const boolean$1 = (config = {}) => {
56
+ const boolean = (config = {}) => {
59
57
  const faker = createFaker(config.seed);
60
58
  return faker.datatype.boolean();
61
59
  };
@@ -73,7 +71,7 @@ const valueForModel = (config) => {
73
71
  const model = config.model;
74
72
  switch (model.type) {
75
73
  case prismicT__namespace.CustomTypeModelFieldType.Boolean: {
76
- return boolean$1({
74
+ return boolean({
77
75
  seed: config.seed,
78
76
  model,
79
77
  ...config.config
@@ -278,32 +276,6 @@ const valueForModelMap = (config) => {
278
276
  return result;
279
277
  };
280
278
 
281
- const boolean = (config = {}) => {
282
- const faker = createFaker(config.seed);
283
- return {
284
- type: prismicT__namespace.CustomTypeModelFieldType.Boolean,
285
- config: {
286
- label: changeCase__namespace.capitalCase(faker.company.bsNoun())
287
- }
288
- };
289
- };
290
-
291
- const color$1 = (config = {}) => {
292
- const faker = createFaker(config.seed);
293
- return {
294
- type: prismicT__namespace.CustomTypeModelFieldType.Color,
295
- config: {
296
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
297
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
298
- }
299
- };
300
- };
301
-
302
- const generateCustomTypeId = (config) => {
303
- const faker = createFaker(config.seed);
304
- return changeCase__namespace.snakeCase(faker.company.bsNoun());
305
- };
306
-
307
279
  const contentRelationship$1 = (config = {}) => {
308
280
  const faker = createFaker(config.seed);
309
281
  return {
@@ -312,48 +284,57 @@ const contentRelationship$1 = (config = {}) => {
312
284
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
313
285
  placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
314
286
  select: prismicT__namespace.CustomTypeModelLinkSelectType.Document,
315
- customtypes: config.constrainCustomTypes ? Array(faker.datatype.number({ min: 1, max: 3 })).fill(void 0).map(() => generateCustomTypeId({ seed: config.seed })) : void 0,
316
- tags: config.constrainTags ? Array(faker.datatype.number({ min: 1, max: 3 })).fill(void 0).map(() => changeCase__namespace.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })))) : void 0
287
+ customtypes: config.customTypeIDs,
288
+ tags: config.tags
317
289
  }
318
290
  };
319
291
  };
320
292
 
321
- const date$1 = (config = {}) => {
293
+ const customType$1 = (config = {}) => {
294
+ var _a, _b;
322
295
  const faker = createFaker(config.seed);
296
+ let label = config.label || changeCase__namespace.capitalCase(faker.company.bsNoun());
297
+ let id = config.id || changeCase__namespace.snakeCase(label);
298
+ if (config.id && !config.label) {
299
+ label = changeCase__namespace.capitalCase(config.id);
300
+ } else if (config.label && !config.label) {
301
+ id = changeCase__namespace.snakeCase(config.label);
302
+ }
303
+ let json = {};
304
+ if ("fields" in config && config.fields) {
305
+ json = { Main: config.fields };
306
+ } else if ("tabs" in config && config.tabs) {
307
+ json = config.tabs;
308
+ }
323
309
  return {
324
- type: prismicT__namespace.CustomTypeModelFieldType.Date,
325
- config: {
326
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
327
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
328
- }
310
+ id,
311
+ label,
312
+ status: (_a = config.status) != null ? _a : faker.datatype.boolean(),
313
+ repeatable: (_b = config.repeatable) != null ? _b : faker.datatype.boolean(),
314
+ json
329
315
  };
330
316
  };
331
317
 
332
- const embed$2 = (config = {}) => {
318
+ const group$1 = (config = {}) => {
333
319
  const faker = createFaker(config.seed);
334
320
  return {
335
- type: prismicT__namespace.CustomTypeModelFieldType.Embed,
321
+ type: prismicT__namespace.CustomTypeModelFieldType.Group,
336
322
  config: {
337
323
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
338
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
339
- }
340
- };
341
- };
342
-
343
- const geoPoint$1 = (config = {}) => {
344
- const faker = createFaker(config.seed);
345
- return {
346
- type: prismicT__namespace.CustomTypeModelFieldType.GeoPoint,
347
- config: {
348
- label: changeCase__namespace.capitalCase(faker.company.bsNoun())
324
+ fields: config.fields || {}
349
325
  }
350
326
  };
351
327
  };
352
328
 
353
329
  const image$2 = (config = {}) => {
354
- var _a;
355
330
  const faker = createFaker(config.seed);
356
- const thumbnailsCount = (_a = config.thumbnailsCount) != null ? _a : faker.datatype.number(3);
331
+ const thumbnails = (config.thumbnailNames || []).map((name) => {
332
+ return {
333
+ name,
334
+ width: faker.datatype.number({ min: 500, max: 2e3 }),
335
+ height: faker.datatype.number({ min: 500, max: 2e3 })
336
+ };
337
+ });
357
338
  return {
358
339
  type: prismicT__namespace.CustomTypeModelFieldType.Image,
359
340
  config: {
@@ -362,33 +343,7 @@ const image$2 = (config = {}) => {
362
343
  width: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null,
363
344
  height: config.withConstraint ? faker.datatype.number({ min: 500, max: 2e3 }) : null
364
345
  },
365
- thumbnails: Array(thumbnailsCount).fill(void 0).map(() => ({
366
- name: changeCase__namespace.pascalCase(faker.company.bsNoun()),
367
- width: faker.datatype.number({ min: 500, max: 2e3 }),
368
- height: faker.datatype.number({ min: 500, max: 2e3 })
369
- }))
370
- }
371
- };
372
- };
373
-
374
- const integrationFields$1 = (config = {}) => {
375
- const faker = createFaker(config.seed);
376
- return {
377
- type: prismicT__namespace.CustomTypeModelFieldType.IntegrationFields,
378
- config: {
379
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
380
- catalog: changeCase__namespace.snakeCase(faker.lorem.words(4))
381
- }
382
- };
383
- };
384
-
385
- const keyText$1 = (config = {}) => {
386
- const faker = createFaker(config.seed);
387
- return {
388
- type: prismicT__namespace.CustomTypeModelFieldType.Text,
389
- config: {
390
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
391
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
346
+ thumbnails
392
347
  }
393
348
  };
394
349
  };
@@ -406,29 +361,6 @@ const link$1 = (config = {}) => {
406
361
  };
407
362
  };
408
363
 
409
- const linkToMedia$1 = (config = {}) => {
410
- const faker = createFaker(config.seed);
411
- return {
412
- type: prismicT__namespace.CustomTypeModelFieldType.Link,
413
- config: {
414
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
415
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
416
- select: prismicT__namespace.CustomTypeModelLinkSelectType.Media
417
- }
418
- };
419
- };
420
-
421
- const number$1 = (config = {}) => {
422
- const faker = createFaker(config.seed);
423
- return {
424
- type: prismicT__namespace.CustomTypeModelFieldType.Number,
425
- config: {
426
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
427
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
428
- }
429
- };
430
- };
431
-
432
364
  const richText$1 = (config = {}) => {
433
365
  var _a;
434
366
  const faker = createFaker(config.seed);
@@ -462,115 +394,57 @@ const richText$1 = (config = {}) => {
462
394
  };
463
395
 
464
396
  const select$1 = (config = {}) => {
465
- var _a;
466
397
  const faker = createFaker(config.seed);
467
- const optionsCount = (_a = config.optionsCount) != null ? _a : faker.datatype.number({ min: 1, max: 5 });
468
- const options = Array(optionsCount).fill(void 0).map(() => changeCase__namespace.capitalCase(faker.company.bsBuzz()));
469
398
  return {
470
399
  type: prismicT__namespace.CustomTypeModelFieldType.Select,
471
400
  config: {
472
401
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
473
402
  placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
474
- options,
475
- default_value: config.withDefaultValue ? faker.random.arrayElement(options) : void 0
403
+ options: config.options || [],
404
+ default_value: config.defaultValue || void 0
476
405
  }
477
406
  };
478
407
  };
479
408
 
480
- const timestamp$1 = (config = {}) => {
481
- const faker = createFaker(config.seed);
482
- return {
483
- type: prismicT__namespace.CustomTypeModelFieldType.Timestamp,
484
- config: {
485
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
486
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
487
- }
488
- };
489
- };
490
-
491
- const title$1 = (config = {}) => {
409
+ const sharedSlice$1 = (config = {}) => {
492
410
  const faker = createFaker(config.seed);
493
- const single = faker.random.arrayElements([
494
- "heading1",
495
- "heading2",
496
- "heading3",
497
- "heading4",
498
- "heading5",
499
- "heading6"
500
- ]).join(",");
411
+ let name = config.name || changeCase__namespace.capitalCase(faker.company.bsNoun());
412
+ let id = config.id || changeCase__namespace.snakeCase(name);
413
+ if (config.id && !config.name) {
414
+ name = changeCase__namespace.pascalCase(config.id);
415
+ } else if (config.name && !config.name) {
416
+ id = changeCase__namespace.snakeCase(config.name);
417
+ }
501
418
  return {
502
- type: prismicT__namespace.CustomTypeModelFieldType.StructuredText,
503
- config: {
504
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
505
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
506
- single,
507
- allowTargetBlank: faker.datatype.boolean() ? true : void 0
508
- }
419
+ type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
420
+ id,
421
+ name,
422
+ description: faker.lorem.sentence(),
423
+ variations: config.variations || []
509
424
  };
510
425
  };
511
426
 
512
- const generateFieldId = (config) => {
513
- const faker = createFaker(config.seed);
514
- return changeCase__namespace.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
515
- };
516
-
517
- const mockModelFns = {
518
- boolean,
519
- color: color$1,
520
- contentRelationship: contentRelationship$1,
521
- date: date$1,
522
- embed: embed$2,
523
- geoPoint: geoPoint$1,
524
- image: image$2,
525
- integrationFields: integrationFields$1,
526
- keyText: keyText$1,
527
- link: link$1,
528
- linkToMedia: linkToMedia$1,
529
- number: number$1,
530
- richText: richText$1,
531
- select: select$1,
532
- timestamp: timestamp$1,
533
- title: title$1
534
- };
535
- const buildMockGroupFieldMap = (config = {}) => {
536
- var _a;
427
+ const sharedSliceVariation$1 = (config = {}) => {
537
428
  const faker = createFaker(config.seed);
538
- const configs = config.configs || {};
539
- const fields = {};
540
- for (const mockModelType in mockModelFns) {
541
- const mockModelFn = mockModelFns[mockModelType];
542
- const mockModelMapConfig = configs[mockModelType] || {};
543
- const count = (_a = mockModelMapConfig.count) != null ? _a : faker.random.arrayElement([0, 0, 0, 1]);
544
- for (let i = 0; i < count; i++) {
545
- const fieldId = generateFieldId({ seed: config.seed });
546
- fields[fieldId] = mockModelFn({
547
- seed: config.seed,
548
- ...mockModelMapConfig.config
549
- });
550
- }
429
+ let name = config.name || changeCase__namespace.capitalCase(faker.company.bsNoun());
430
+ let id = config.id || changeCase__namespace.snakeCase(name);
431
+ if (config.id && !config.name) {
432
+ name = changeCase__namespace.pascalCase(config.id);
433
+ } else if (config.name && !config.name) {
434
+ id = changeCase__namespace.snakeCase(config.name);
551
435
  }
552
- return fields;
553
- };
554
-
555
- const uid$1 = (config = {}) => {
556
- const faker = createFaker(config.seed);
557
436
  return {
558
- type: prismicT__namespace.CustomTypeModelFieldType.UID,
559
- config: {
560
- label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
561
- placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3))
562
- }
563
- };
564
- };
565
-
566
- const sharedSliceChoice = () => {
567
- return {
568
- type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice
437
+ id,
438
+ name,
439
+ description: faker.lorem.sentence(),
440
+ docURL: faker.internet.url(),
441
+ version: faker.git.shortSha(),
442
+ primary: config.primaryFields || {},
443
+ items: config.itemsFields || {}
569
444
  };
570
445
  };
571
446
 
572
447
  const slice$1 = (config = {}) => {
573
- var _a, _b, _c, _d, _e, _f;
574
448
  const faker = createFaker(config.seed);
575
449
  return {
576
450
  type: prismicT__namespace.CustomTypeModelSliceType.Slice,
@@ -578,39 +452,17 @@ const slice$1 = (config = {}) => {
578
452
  display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List,
579
453
  fieldset: changeCase__namespace.capitalCase(faker.lorem.words()),
580
454
  description: faker.lorem.sentence(),
581
- repeat: buildMockGroupFieldMap({
582
- seed: (_b = (_a = config.repeatFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
583
- configs: (_c = config.repeatFieldConfig) == null ? void 0 : _c.configs
584
- }),
585
- "non-repeat": buildMockGroupFieldMap({
586
- seed: (_e = (_d = config.nonRepeatFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
587
- configs: (_f = config.nonRepeatFieldConfig) == null ? void 0 : _f.configs
588
- })
455
+ repeat: config.repeatFields || {},
456
+ "non-repeat": config.nonRepeatFields || {}
589
457
  };
590
458
  };
591
459
 
592
460
  const sliceZone$1 = (config = {}) => {
593
- var _a;
594
- const faker = createFaker(config.seed);
595
- let choices = {};
596
- if ("choices" in config) {
597
- choices = config.choices || {};
598
- } else {
599
- const choicesCount = (_a = config.choicesCount) != null ? _a : faker.datatype.number({ min: 2, max: 6 });
600
- for (let i = 0; i < choicesCount; i++) {
601
- const choiceId = generateFieldId({ seed: config.seed });
602
- choices[choiceId] = config.withSharedSlices ? sharedSliceChoice() : slice$1({ seed: config.seed });
603
- }
604
- }
605
461
  const labels = {};
606
- for (const choiceId in choices) {
607
- const choice = choices[choiceId];
462
+ for (const choiceId in config.choices) {
463
+ const choice = config.choices[choiceId];
608
464
  if (choice.type === prismicT__namespace.CustomTypeModelSliceType.Slice) {
609
- const labelsCount = faker.datatype.number({ min: 0, max: 3 });
610
- labels[choiceId] = Array(labelsCount).fill(void 0).map(() => ({
611
- name: changeCase__namespace.capitalCase(faker.company.bsNoun()),
612
- display: faker.datatype.boolean() ? prismicT__namespace.CustomTypeModelSliceDisplay.Grid : prismicT__namespace.CustomTypeModelSliceDisplay.List
613
- }));
465
+ labels[choiceId] = [];
614
466
  }
615
467
  }
616
468
  return {
@@ -618,109 +470,42 @@ const sliceZone$1 = (config = {}) => {
618
470
  fieldset: "Slice zone",
619
471
  config: {
620
472
  labels,
621
- choices
622
- }
623
- };
624
- };
625
-
626
- const customType$1 = (config = {}) => {
627
- var _a;
628
- const faker = createFaker(config.seed);
629
- const tabsCount = (_a = config.tabsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
630
- const json = {};
631
- for (let i = 0; i < tabsCount; i++) {
632
- const tabName = changeCase__namespace.capitalCase(faker.lorem.word());
633
- const tabFields = buildMockGroupFieldMap({
634
- seed: config.seed,
635
- configs: config.configs
636
- });
637
- if (i === 0 && config.withUID) {
638
- const fieldId = generateFieldId({ seed: config.seed });
639
- tabFields[fieldId] = uid$1();
473
+ choices: config.choices || {}
640
474
  }
641
- if (config.withSliceZones) {
642
- const sliceZoneId = generateFieldId({ seed: config.seed });
643
- tabFields[sliceZoneId] = sliceZone$1({
644
- withSharedSlices: config.withSharedSlices
645
- });
646
- }
647
- json[tabName] = tabFields;
648
- }
649
- const id = generateCustomTypeId({ seed: config.seed });
650
- return {
651
- id,
652
- label: changeCase__namespace.capitalCase(id),
653
- status: faker.datatype.boolean(),
654
- repeatable: faker.datatype.boolean(),
655
- json
656
475
  };
657
476
  };
658
477
 
659
- const group$1 = (config = {}) => {
478
+ const title$1 = (config = {}) => {
660
479
  const faker = createFaker(config.seed);
661
- const fields = buildMockGroupFieldMap({
662
- seed: config.seed,
663
- configs: config.configs
664
- });
480
+ const single = faker.random.arrayElements([
481
+ "heading1",
482
+ "heading2",
483
+ "heading3",
484
+ "heading4",
485
+ "heading5",
486
+ "heading6"
487
+ ]).join(",");
665
488
  return {
666
- type: prismicT__namespace.CustomTypeModelFieldType.Group,
489
+ type: prismicT__namespace.CustomTypeModelFieldType.StructuredText,
667
490
  config: {
668
491
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
669
- fields
492
+ placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
493
+ single,
494
+ allowTargetBlank: faker.datatype.boolean() ? true : void 0
670
495
  }
671
496
  };
672
497
  };
673
498
 
674
- const sharedSliceVariation$1 = (config = {}) => {
675
- var _a, _b, _c, _d, _e, _f;
676
- const faker = createFaker(config.seed);
677
- const name = changeCase__namespace.capitalCase(faker.company.bsNoun());
678
- return {
679
- id: changeCase__namespace.snakeCase(name),
680
- name,
681
- description: faker.lorem.sentence(),
682
- docURL: faker.internet.url(),
683
- version: faker.git.shortSha(),
684
- primary: buildMockGroupFieldMap({
685
- seed: (_b = (_a = config.primaryFieldConfig) == null ? void 0 : _a.seed) != null ? _b : config.seed,
686
- configs: (_c = config.primaryFieldConfig) == null ? void 0 : _c.configs
687
- }),
688
- items: buildMockGroupFieldMap({
689
- seed: (_e = (_d = config.itemsFieldConfig) == null ? void 0 : _d.seed) != null ? _e : config.seed,
690
- configs: (_f = config.itemsFieldConfig) == null ? void 0 : _f.configs
691
- })
692
- };
693
- };
694
-
695
- const sharedSlice$1 = (config = {}) => {
696
- var _a;
499
+ const generateFieldId = (config) => {
697
500
  const faker = createFaker(config.seed);
698
- const name = changeCase__namespace.capitalCase(faker.company.bsNoun());
699
- let variations = [];
700
- if ("variations" in config) {
701
- variations = config.variations || [];
702
- } else {
703
- const variationsCount = (_a = config.variationsCount) != null ? _a : faker.datatype.number({ min: 1, max: 3 });
704
- variations = Array(variationsCount).fill(void 0).map(() => sharedSliceVariation$1({
705
- seed: config.seed,
706
- itemsFieldConfig: config.itemsFieldConfig,
707
- primaryFieldConfig: config.primaryFieldConfig
708
- }));
709
- }
710
- return {
711
- type: prismicT__namespace.CustomTypeModelSliceType.SharedSlice,
712
- id: changeCase__namespace.snakeCase(name),
713
- name,
714
- description: faker.lorem.sentence(),
715
- variations
716
- };
501
+ return changeCase__namespace.snakeCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 })));
717
502
  };
718
503
 
719
504
  const timestamp = (config = {}) => {
720
505
  const faker = createFaker(config.seed);
721
506
  const after = config.after || faker.date.past(20, new Date("2021-03-07")).toISOString().split("T")[0];
722
507
  const before = config.before || faker.date.future(20, new Date("2021-03-07")).toISOString().split("T")[0];
723
- return faker.date.between(after, before).toISOString();
508
+ return config.state === "empty" ? null : faker.date.between(after, before).toISOString();
724
509
  };
725
510
 
726
511
  const buildAlternativeLanguage = (config) => {
@@ -772,7 +557,7 @@ const customType = (config = {}) => {
772
557
 
773
558
  const color = (config = {}) => {
774
559
  const faker = createFaker(config.seed);
775
- return faker.internet.color().toUpperCase();
560
+ return config.state === "empty" ? null : faker.internet.color().toUpperCase();
776
561
  };
777
562
 
778
563
  const buildContentRelationshipField = (config) => {
@@ -789,11 +574,18 @@ const buildContentRelationshipField = (config) => {
789
574
  };
790
575
  };
791
576
 
577
+ const generateCustomTypeId = (config) => {
578
+ const faker = createFaker(config.seed);
579
+ return changeCase__namespace.snakeCase(faker.company.bsNoun());
580
+ };
581
+
792
582
  const contentRelationship = (config = {}) => {
793
- var _a;
794
583
  const faker = createFaker(config.seed);
795
- const isFilled = (_a = config.isFilled) != null ? _a : true;
796
- if (isFilled) {
584
+ if (config.state === "empty") {
585
+ return {
586
+ link_type: prismicT__namespace.LinkType.Document
587
+ };
588
+ } else {
797
589
  const model = config.model || contentRelationship$1({ seed: config.seed });
798
590
  const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document2) => {
799
591
  let shouldKeep = true;
@@ -815,19 +607,18 @@ const contentRelationship = (config = {}) => {
815
607
  if (!document) {
816
608
  throw new Error("A linkable document could not be found.");
817
609
  }
818
- return buildContentRelationshipField({ document });
819
- } else {
820
- return {
821
- link_type: prismicT__namespace.LinkType.Document
822
- };
610
+ return buildContentRelationshipField({
611
+ document
612
+ });
823
613
  }
824
614
  };
825
615
 
826
616
  const date = (config = {}) => {
827
- return timestamp({
617
+ return config.state === "empty" ? null : timestamp({
828
618
  seed: config.seed,
829
619
  after: config.after,
830
- before: config.before
620
+ before: config.before,
621
+ state: "filled"
831
622
  }).split("T")[0];
832
623
  };
833
624
 
@@ -917,40 +708,25 @@ const getMockEmbedData = (config) => {
917
708
 
918
709
  const embed$1 = (config = {}) => {
919
710
  const embedData = getMockEmbedData({ seed: config.seed });
920
- return buildEmbedField({ seed: config.seed, embedData });
711
+ return config.state === "empty" ? {} : buildEmbedField({ seed: config.seed, embedData });
921
712
  };
922
713
 
923
714
  const geoPoint = (config = {}) => {
924
715
  const faker = createFaker(config.seed);
925
716
  const coordinates = faker.address.nearbyGPSCoordinate();
926
- return {
717
+ return config.state === "empty" ? {} : {
927
718
  longitude: Number.parseFloat(coordinates[0]),
928
719
  latitude: Number.parseFloat(coordinates[1])
929
720
  };
930
721
  };
931
722
 
932
- const patterns$9 = {
933
- short: {
934
- minItems: 1,
935
- maxItems: 3
936
- },
937
- medium: {
938
- minItems: 3,
939
- maxItems: 6
940
- },
941
- long: {
942
- minItems: 6,
943
- maxItems: 12
944
- }
945
- };
946
723
  const group = (config = {}) => {
724
+ var _a;
947
725
  const faker = createFaker(config.seed);
948
726
  const model = config.model || group$1({ seed: config.seed });
949
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$9));
950
- const pattern = patterns$9[patternKey];
951
- const itemsCount = faker.datatype.number({
952
- min: pattern.minItems,
953
- max: pattern.maxItems
727
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
728
+ min: 1,
729
+ max: 6
954
730
  });
955
731
  return Array(itemsCount).fill(void 0).map(() => {
956
732
  return valueForModelMap({
@@ -961,23 +737,32 @@ const group = (config = {}) => {
961
737
  });
962
738
  };
963
739
 
964
- const buildImageField = (config) => {
740
+ const buildImageFieldImage = (config) => {
965
741
  var _a, _b, _c, _d;
966
- const faker = createFaker(config.seed);
967
- const url = new URL(config.imageData.url);
968
- const dimensions = {
969
- width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
970
- height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
971
- };
972
- url.searchParams.set("w", dimensions.width.toString());
973
- url.searchParams.set("h", dimensions.height.toString());
974
- url.searchParams.set("fit", "crop");
975
- return {
976
- url: url.toString(),
977
- dimensions,
978
- alt: faker.lorem.sentence(),
979
- copyright: faker.lorem.sentence()
980
- };
742
+ if (config.state === "empty") {
743
+ return {
744
+ url: null,
745
+ dimensions: null,
746
+ alt: null,
747
+ copyright: null
748
+ };
749
+ } else {
750
+ const faker = createFaker(config.seed);
751
+ const url = new URL(config.imageData.url);
752
+ const dimensions = {
753
+ width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
754
+ height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
755
+ };
756
+ url.searchParams.set("w", dimensions.width.toString());
757
+ url.searchParams.set("h", dimensions.height.toString());
758
+ url.searchParams.set("fit", "crop");
759
+ return {
760
+ url: url.toString(),
761
+ dimensions,
762
+ alt: faker.lorem.sentence(),
763
+ copyright: faker.lorem.sentence()
764
+ };
765
+ }
981
766
  };
982
767
 
983
768
  const dataSet = [
@@ -1070,19 +855,21 @@ const getMockImageData = (config) => {
1070
855
  const image$1 = (config = {}) => {
1071
856
  const model = config.model || image$2({ seed: config.seed });
1072
857
  const imageData = getMockImageData({ seed: config.seed });
1073
- const value = buildImageField({
858
+ const value = buildImageFieldImage({
1074
859
  seed: config.seed,
1075
860
  imageData,
1076
- constraint: model.config.constraint
861
+ constraint: model.config.constraint,
862
+ state: config.state
1077
863
  });
1078
864
  for (const thumbnail of model.config.thumbnails) {
1079
- value[thumbnail.name] = buildImageField({
865
+ value[thumbnail.name] = buildImageFieldImage({
1080
866
  seed: config.seed,
1081
867
  imageData,
1082
868
  constraint: {
1083
869
  width: thumbnail.width,
1084
870
  height: thumbnail.height
1085
- }
871
+ },
872
+ state: config.state
1086
873
  });
1087
874
  }
1088
875
  return value;
@@ -1091,7 +878,7 @@ const image$1 = (config = {}) => {
1091
878
  const integrationFields = (config = {}) => {
1092
879
  const faker = createFaker(config.seed);
1093
880
  const imageData = getMockImageData({ seed: config.seed });
1094
- return {
881
+ return config.state === "empty" ? null : {
1095
882
  id: faker.git.shortSha(),
1096
883
  title: changeCase__namespace.capitalCase(faker.lorem.words(3)),
1097
884
  description: faker.lorem.sentence(),
@@ -1103,14 +890,16 @@ const integrationFields = (config = {}) => {
1103
890
 
1104
891
  const keyText = (config = {}) => {
1105
892
  const faker = createFaker(config.seed);
1106
- return changeCase__namespace.sentenceCase(faker.lorem.words(3));
893
+ return config.state === "empty" ? null : changeCase__namespace.sentenceCase(faker.lorem.words(3));
1107
894
  };
1108
895
 
1109
896
  const linkToMedia = (config = {}) => {
1110
- var _a;
1111
897
  const faker = createFaker(config.seed);
1112
- const isFilled = (_a = config.isFilled) != null ? _a : true;
1113
- if (isFilled) {
898
+ if (config.state === "empty") {
899
+ return {
900
+ link_type: prismicT__namespace.LinkType.Media
901
+ };
902
+ } else {
1114
903
  return {
1115
904
  link_type: prismicT__namespace.LinkType.Media,
1116
905
  name: faker.system.commonFileName(),
@@ -1120,58 +909,55 @@ const linkToMedia = (config = {}) => {
1120
909
  height: faker.datatype.number().toString(),
1121
910
  width: faker.datatype.number().toString()
1122
911
  };
1123
- } else {
1124
- return {
1125
- link_type: prismicT__namespace.LinkType.Media
1126
- };
1127
912
  }
1128
913
  };
1129
914
 
1130
915
  const link = (config = {}) => {
1131
- var _a, _b;
916
+ var _a;
1132
917
  const faker = createFaker(config.seed);
1133
- const isFilled = (_a = config.isFilled) != null ? _a : true;
1134
918
  const type = config.type || faker.random.arrayElement([
1135
919
  prismicT__namespace.LinkType.Web,
1136
920
  prismicT__namespace.LinkType.Document,
1137
921
  prismicT__namespace.LinkType.Media
1138
922
  ]);
1139
- if (isFilled) {
923
+ if (config.state === "empty") {
924
+ return {
925
+ link_type: type
926
+ };
927
+ } else {
1140
928
  switch (type) {
1141
929
  case prismicT__namespace.LinkType.Document: {
1142
930
  return contentRelationship({
1143
931
  seed: config.seed,
1144
- isFilled,
932
+ state: config.state,
1145
933
  linkableDocuments: config.linkableDocuments
1146
934
  });
1147
935
  }
1148
936
  case prismicT__namespace.LinkType.Media: {
1149
937
  return linkToMedia({
1150
938
  seed: config.seed,
1151
- isFilled
939
+ state: config.state
1152
940
  });
1153
941
  }
1154
- case prismicT__namespace.LinkType.Web: {
942
+ case prismicT__namespace.LinkType.Web:
943
+ default: {
1155
944
  const model = config.model || link$1({ seed: config.seed });
1156
945
  return {
1157
946
  link_type: prismicT__namespace.LinkType.Web,
1158
947
  url: faker.internet.url(),
1159
- target: ((_b = config.withTargetBlank) != null ? _b : model.config.allowTargetBlank && faker.datatype.boolean()) ? "_blank" : void 0
948
+ target: ((_a = config.withTargetBlank) != null ? _a : model.config.allowTargetBlank && faker.datatype.boolean()) ? "_blank" : void 0
1160
949
  };
1161
950
  }
1162
951
  }
1163
952
  }
1164
- return {
1165
- link_type: type
1166
- };
1167
953
  };
1168
954
 
1169
955
  const number = (config = {}) => {
1170
956
  const faker = createFaker(config.seed);
1171
- return faker.datatype.number();
957
+ return config.state === "empty" ? null : faker.datatype.number();
1172
958
  };
1173
959
 
1174
- const patterns$8 = {
960
+ const patterns$5 = {
1175
961
  short: {
1176
962
  minWords: 1,
1177
963
  maxWords: 3
@@ -1198,8 +984,8 @@ const heading = (config = {}) => {
1198
984
  ].includes(type2));
1199
985
  const type = faker.random.arrayElement(types);
1200
986
  if (type) {
1201
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$8));
1202
- const pattern = patterns$8[patternKey];
987
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$5));
988
+ const pattern = patterns$5[patternKey];
1203
989
  return {
1204
990
  type,
1205
991
  text: changeCase__namespace.capitalCase(faker.lorem.words(faker.datatype.number({
@@ -1213,7 +999,7 @@ const heading = (config = {}) => {
1213
999
  }
1214
1000
  };
1215
1001
 
1216
- const patterns$7 = {
1002
+ const patterns$4 = {
1217
1003
  short: {
1218
1004
  sentenceCount: 2
1219
1005
  },
@@ -1226,8 +1012,8 @@ const patterns$7 = {
1226
1012
  };
1227
1013
  const paragraph = (config = {}) => {
1228
1014
  const faker = createFaker(config.seed);
1229
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$7));
1230
- const pattern = patterns$7[patternKey];
1015
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$4));
1016
+ const pattern = patterns$4[patternKey];
1231
1017
  return {
1232
1018
  type: prismicT__namespace.RichTextNodeType.paragraph,
1233
1019
  text: faker.lorem.paragraph(pattern.sentenceCount),
@@ -1235,7 +1021,7 @@ const paragraph = (config = {}) => {
1235
1021
  };
1236
1022
  };
1237
1023
 
1238
- const patterns$6 = {
1024
+ const patterns$3 = {
1239
1025
  short: {
1240
1026
  sentenceCount: 2
1241
1027
  },
@@ -1248,8 +1034,8 @@ const patterns$6 = {
1248
1034
  };
1249
1035
  const preformatted = (config = {}) => {
1250
1036
  const faker = createFaker(config.seed);
1251
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$6));
1252
- const pattern = patterns$6[patternKey];
1037
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$3));
1038
+ const pattern = patterns$3[patternKey];
1253
1039
  return {
1254
1040
  type: prismicT__namespace.RichTextNodeType.preformatted,
1255
1041
  text: faker.lorem.paragraph(pattern.sentenceCount),
@@ -1257,7 +1043,7 @@ const preformatted = (config = {}) => {
1257
1043
  };
1258
1044
  };
1259
1045
 
1260
- const patterns$5 = {
1046
+ const patterns$2 = {
1261
1047
  short: {
1262
1048
  minItems: 1,
1263
1049
  maxItems: 3
@@ -1273,8 +1059,8 @@ const patterns$5 = {
1273
1059
  };
1274
1060
  const list = (config = {}) => {
1275
1061
  const faker = createFaker(config.seed);
1276
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$5));
1277
- const pattern = patterns$5[patternKey];
1062
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
1063
+ const pattern = patterns$2[patternKey];
1278
1064
  const itemsCount = faker.datatype.number({
1279
1065
  min: pattern.minItems,
1280
1066
  max: pattern.maxItems
@@ -1288,7 +1074,7 @@ const list = (config = {}) => {
1288
1074
  });
1289
1075
  };
1290
1076
 
1291
- const patterns$4 = {
1077
+ const patterns$1 = {
1292
1078
  short: {
1293
1079
  minItems: 1,
1294
1080
  maxItems: 3
@@ -1304,8 +1090,8 @@ const patterns$4 = {
1304
1090
  };
1305
1091
  const oList = (config = {}) => {
1306
1092
  const faker = createFaker(config.seed);
1307
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$4));
1308
- const pattern = patterns$4[patternKey];
1093
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
1094
+ const pattern = patterns$1[patternKey];
1309
1095
  const itemsCount = faker.datatype.number({
1310
1096
  min: pattern.minItems,
1311
1097
  max: pattern.maxItems
@@ -1321,7 +1107,11 @@ const oList = (config = {}) => {
1321
1107
 
1322
1108
  const image = (config = {}) => {
1323
1109
  const imageData = getMockImageData({ seed: config.seed });
1324
- const imageField = buildImageField({ seed: config.seed, imageData });
1110
+ const imageField = buildImageFieldImage({
1111
+ seed: config.seed,
1112
+ imageData,
1113
+ state: false
1114
+ });
1325
1115
  return {
1326
1116
  type: prismicT__namespace.RichTextNodeType.image,
1327
1117
  alt: imageField.alt,
@@ -1340,7 +1130,7 @@ const embed = (config = {}) => {
1340
1130
  };
1341
1131
  };
1342
1132
 
1343
- const patterns$3 = {
1133
+ const patterns = {
1344
1134
  short: {
1345
1135
  blockCountMin: 1,
1346
1136
  blockCountMax: 2
@@ -1377,8 +1167,8 @@ const richText = (config = {}) => {
1377
1167
  const supportsMultipleBlocks = "multi" in model.config;
1378
1168
  const types = ("multi" in model.config ? model.config.multi : model.config.single).split(",").filter((type) => Object.keys(generators).includes(type));
1379
1169
  if (types.length > 0) {
1380
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$3));
1381
- const pattern = patterns$3[patternKey];
1170
+ const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns));
1171
+ const pattern = patterns[patternKey];
1382
1172
  const blockCount = supportsMultipleBlocks ? faker.datatype.number({
1383
1173
  min: pattern.blockCountMin,
1384
1174
  max: pattern.blockCountMax
@@ -1397,38 +1187,22 @@ const select = (config = {}) => {
1397
1187
  const faker = createFaker(config.seed);
1398
1188
  const model = config.model || select$1({ seed: config.seed });
1399
1189
  const defaultValue = model.config.default_value;
1400
- return typeof defaultValue === "string" && faker.datatype.boolean() ? defaultValue : faker.random.arrayElement(model.config.options);
1401
- };
1402
-
1403
- const patterns$2 = {
1404
- none: {
1405
- minItems: 0,
1406
- maxItems: 0
1407
- },
1408
- short: {
1409
- minItems: 1,
1410
- maxItems: 3
1411
- },
1412
- medium: {
1413
- minItems: 3,
1414
- maxItems: 6
1415
- },
1416
- long: {
1417
- minItems: 6,
1418
- maxItems: 12
1190
+ if (config.state === "empty") {
1191
+ return null;
1192
+ } else {
1193
+ return typeof defaultValue === "string" && faker.datatype.boolean() ? defaultValue : faker.random.arrayElement(model.config.options);
1419
1194
  }
1420
1195
  };
1196
+
1421
1197
  const slice = (config = {}) => {
1422
- var _a;
1198
+ var _a, _b;
1423
1199
  const faker = createFaker(config.seed);
1424
1200
  const model = config.model || slice$1({ seed: config.seed });
1425
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
1426
- const pattern = patterns$2[patternKey];
1427
1201
  const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
1428
1202
  const sliceLabel = config.label !== void 0 ? config.label : changeCase__namespace.capitalCase(faker.company.bsNoun());
1429
- const itemsCount = Object.keys(model.repeat).length > 0 ? faker.datatype.number({
1430
- min: pattern.minItems,
1431
- max: pattern.maxItems
1203
+ const itemsCount = Object.keys(model.repeat).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.datatype.number({
1204
+ min: 1,
1205
+ max: 6
1432
1206
  }) : 0;
1433
1207
  return {
1434
1208
  slice_type: sliceType,
@@ -1448,39 +1222,18 @@ const slice = (config = {}) => {
1448
1222
  };
1449
1223
  };
1450
1224
 
1451
- const patterns$1 = {
1452
- none: {
1453
- minItems: 0,
1454
- maxItems: 0
1455
- },
1456
- short: {
1457
- minItems: 1,
1458
- maxItems: 3
1459
- },
1460
- medium: {
1461
- minItems: 3,
1462
- maxItems: 6
1463
- },
1464
- long: {
1465
- minItems: 6,
1466
- maxItems: 12
1467
- }
1468
- };
1469
1225
  const sharedSliceVariation = (config = {}) => {
1470
1226
  var _a, _b;
1471
1227
  const faker = createFaker(config.seed);
1472
1228
  const model = config.model || sharedSliceVariation$1({ seed: config.seed });
1473
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$1));
1474
- const pattern = patterns$1[patternKey];
1475
1229
  const sliceType = (_a = config.type) != null ? _a : generateFieldId({ seed: config.seed });
1476
- const sliceLabel = (_b = config.label) != null ? _b : changeCase__namespace.capitalCase(faker.company.bsNoun());
1477
- const itemsCount = Object.keys(model.items).length > 0 ? faker.datatype.number({
1478
- min: pattern.minItems,
1479
- max: pattern.maxItems
1230
+ const itemsCount = Object.keys(model.items).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.datatype.number({
1231
+ min: 1,
1232
+ max: 6
1480
1233
  }) : 0;
1481
1234
  return {
1482
1235
  slice_type: sliceType,
1483
- slice_label: sliceLabel,
1236
+ slice_label: null,
1484
1237
  variation: model.id,
1485
1238
  version: faker.git.shortSha(),
1486
1239
  primary: valueForModelMap({
@@ -1505,66 +1258,55 @@ const sharedSlice = (config = {}) => {
1505
1258
  return sharedSliceVariation({
1506
1259
  seed: config.seed,
1507
1260
  model: variationModel,
1508
- pattern: config.pattern,
1261
+ itemsCount: config.itemsCount,
1509
1262
  type: model.id,
1510
1263
  primaryFieldConfigs: config.primaryFieldConfigs,
1511
1264
  itemsFieldConfigs: config.itemsFieldConfigs
1512
1265
  });
1513
1266
  };
1514
1267
 
1515
- const patterns = {
1516
- short: {
1517
- minItems: 1,
1518
- maxItems: 3
1519
- },
1520
- medium: {
1521
- minItems: 3,
1522
- maxItems: 6
1523
- },
1524
- long: {
1525
- minItems: 6,
1526
- maxItems: 12
1527
- }
1528
- };
1529
1268
  const sliceZone = (config = {}) => {
1269
+ var _a;
1530
1270
  const faker = createFaker(config.seed);
1531
1271
  const model = config.model || sliceZone$1({ seed: config.seed });
1532
- const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns));
1533
- const pattern = patterns[patternKey];
1534
- const itemsCount = faker.datatype.number({
1535
- min: pattern.minItems,
1536
- max: pattern.maxItems
1537
- });
1538
- return Array(itemsCount).fill(void 0).map(() => {
1539
- var _a;
1540
- const choices = Object.entries(model.config.choices);
1541
- const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1542
- const choiceLabels = model.config.labels[choiceType] || [];
1543
- const choiceLabel = faker.random.arrayElement(choiceLabels);
1544
- switch (choiceModel.type) {
1545
- case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1546
- return slice({
1547
- seed: config.seed,
1548
- model: choiceModel,
1549
- type: choiceType,
1550
- label: choiceLabel ? choiceLabel.name : null,
1551
- primaryFieldConfigs: config.primaryFieldConfigs,
1552
- itemsFieldConfigs: config.itemsFieldConfigs
1553
- });
1554
- }
1555
- case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1556
- const sharedSliceModel = (_a = config.sharedSliceModels) == null ? void 0 : _a.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1557
- if (sharedSliceModel) {
1558
- return sharedSlice({
1272
+ if (Object.keys(model.config.choices).length > 0) {
1273
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
1274
+ min: 1,
1275
+ max: 6
1276
+ });
1277
+ return Array(itemsCount).fill(void 0).map(() => {
1278
+ var _a2;
1279
+ const choices = Object.entries(model.config.choices);
1280
+ const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1281
+ const choiceLabels = model.config.labels[choiceType] || [];
1282
+ const choiceLabel = faker.random.arrayElement(choiceLabels);
1283
+ switch (choiceModel.type) {
1284
+ case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1285
+ return slice({
1559
1286
  seed: config.seed,
1560
- model: sharedSliceModel,
1287
+ model: choiceModel,
1288
+ type: choiceType,
1289
+ label: choiceLabel ? choiceLabel.name : null,
1561
1290
  primaryFieldConfigs: config.primaryFieldConfigs,
1562
1291
  itemsFieldConfigs: config.itemsFieldConfigs
1563
1292
  });
1564
1293
  }
1294
+ case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1295
+ const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1296
+ if (sharedSliceModel) {
1297
+ return sharedSlice({
1298
+ seed: config.seed,
1299
+ model: sharedSliceModel,
1300
+ primaryFieldConfigs: config.primaryFieldConfigs,
1301
+ itemsFieldConfigs: config.itemsFieldConfigs
1302
+ });
1303
+ }
1304
+ }
1565
1305
  }
1566
- }
1567
- }).filter((slice2) => slice2 !== void 0);
1306
+ }).filter((slice2) => slice2 !== void 0);
1307
+ } else {
1308
+ return [];
1309
+ }
1568
1310
  };
1569
1311
 
1570
1312
  const title = (config = {}) => {
@@ -1582,7 +1324,7 @@ const uid = (config = {}) => {
1582
1324
  return changeCase__namespace.snakeCase(faker.lorem.words(2));
1583
1325
  };
1584
1326
 
1585
- exports.boolean = boolean$1;
1327
+ exports.boolean = boolean;
1586
1328
  exports.color = color;
1587
1329
  exports.contentRelationship = contentRelationship;
1588
1330
  exports.customType = customType;
@@ -1606,3 +1348,4 @@ exports.sliceZone = sliceZone;
1606
1348
  exports.timestamp = timestamp;
1607
1349
  exports.title = title;
1608
1350
  exports.uid = uid;
1351
+ //# sourceMappingURL=index.cjs.map