@prismicio/mock 0.0.8 → 0.1.0
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 +348 -236
- package/dist/api/index.cjs.map +1 -1
- package/dist/api/index.d.ts +52 -6
- package/dist/api/index.js +348 -236
- package/dist/api/index.js.map +1 -1
- package/dist/index.cjs +893 -543
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +247 -73
- package/dist/index.js +885 -542
- package/dist/index.js.map +1 -1
- package/dist/model/index.cjs +398 -134
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.ts +114 -28
- package/dist/model/index.js +398 -134
- package/dist/model/index.js.map +1 -1
- package/dist/value/index.cjs +598 -468
- package/dist/value/index.cjs.map +1 -1
- package/dist/value/index.d.ts +96 -40
- package/dist/value/index.js +598 -468
- package/dist/value/index.js.map +1 -1
- package/package.json +22 -20
- package/src/api/createAPIMockFactory.ts +56 -0
- package/src/api/query.ts +4 -4
- package/src/api/ref.ts +6 -6
- package/src/api/repository.ts +12 -14
- package/src/api/tags.ts +5 -2
- package/src/createMockFactory.ts +52 -0
- package/src/index.ts +15 -0
- package/src/lib/buildEmbedField.ts +28 -30
- package/src/lib/buildImageFieldImage.ts +19 -7
- package/src/lib/createFaker.ts +99 -22
- package/src/lib/generateCustomTypeId.ts +13 -5
- package/src/lib/generateFieldId.ts +13 -7
- package/src/lib/generateTags.ts +17 -16
- package/src/lib/getMockEmbedData.ts +45 -16
- package/src/lib/getMockImageData.ts +13 -5
- package/src/lib/lorem.ts +112 -0
- package/src/lib/valueForModel.ts +47 -30
- package/src/lib/valueForModelMap.ts +24 -4
- package/src/model/boolean.ts +6 -6
- package/src/model/buildMockGroupFieldMap.ts +5 -5
- package/src/model/color.ts +4 -4
- package/src/model/contentRelationship.ts +4 -4
- package/src/model/createModelMockFactory.ts +213 -0
- package/src/model/customType.ts +6 -6
- package/src/model/date.ts +4 -4
- package/src/model/embed.ts +4 -4
- package/src/model/geoPoint.ts +3 -3
- package/src/model/group.ts +7 -7
- package/src/model/image.ts +8 -12
- package/src/model/index.ts +2 -0
- package/src/model/integrationFields.ts +4 -4
- package/src/model/keyText.ts +4 -4
- package/src/model/link.ts +6 -6
- package/src/model/linkToMedia.ts +5 -5
- package/src/model/number.ts +4 -4
- package/src/model/richText.ts +8 -8
- package/src/model/select.ts +5 -5
- package/src/model/sharedSlice.ts +5 -5
- package/src/model/sharedSliceVariation.ts +10 -10
- package/src/model/slice.ts +7 -7
- package/src/model/sliceZone.ts +7 -4
- package/src/model/timestamp.ts +4 -4
- package/src/model/title.ts +7 -7
- package/src/model/uid.ts +4 -4
- package/src/types.ts +70 -31
- package/src/value/boolean.ts +4 -6
- package/src/value/color.ts +3 -3
- package/src/value/contentRelationship.ts +21 -18
- package/src/value/createValueMockFactory.ts +236 -0
- package/src/value/customType.ts +12 -12
- package/src/value/date.ts +6 -2
- package/src/value/embed.ts +23 -7
- package/src/value/geoPoint.ts +4 -6
- package/src/value/group.ts +6 -11
- package/src/value/image.ts +26 -18
- package/src/value/integrationFields.ts +12 -26
- package/src/value/keyText.ts +3 -5
- package/src/value/link.ts +11 -9
- package/src/value/linkToMedia.ts +9 -8
- package/src/value/number.ts +3 -3
- package/src/value/richText/embed.ts +6 -3
- package/src/value/richText/heading.ts +32 -27
- package/src/value/richText/image.ts +9 -8
- package/src/value/richText/index.ts +71 -48
- package/src/value/richText/list.ts +6 -10
- package/src/value/richText/oList.ts +6 -10
- package/src/value/richText/paragraph.ts +10 -6
- package/src/value/richText/preformatted.ts +11 -7
- package/src/value/select.ts +11 -7
- package/src/value/sharedSlice.ts +5 -5
- package/src/value/sharedSliceVariation.ts +11 -16
- package/src/value/slice.ts +11 -15
- package/src/value/sliceZone.ts +14 -18
- package/src/value/timestamp.ts +31 -18
- package/src/value/title.ts +7 -3
- package/src/value/uid.ts +6 -4
package/dist/index.js
CHANGED
|
@@ -1,79 +1,166 @@
|
|
|
1
1
|
import * as changeCase from 'change-case';
|
|
2
|
-
import
|
|
3
|
-
import Faker from 'faker/lib/index.js';
|
|
2
|
+
import Rand from 'rand-seed';
|
|
4
3
|
import * as prismicT from '@prismicio/types';
|
|
5
4
|
|
|
6
|
-
const
|
|
5
|
+
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";
|
|
6
|
+
const loremWords = wordsString.split(" ");
|
|
7
|
+
const lorem = (length, wordOffset = 0) => {
|
|
8
|
+
const count = parseInt(length.substring(0, length.length - 1));
|
|
9
|
+
const countType = length.charAt(length.length - 1);
|
|
10
|
+
if (!isNaN(count) && (countType === "w" || countType === "c")) {
|
|
11
|
+
if (!lorem.spaceIndices.length) {
|
|
12
|
+
let startIndex = -1;
|
|
13
|
+
do {
|
|
14
|
+
const index = wordsString.indexOf(" ", startIndex + 1);
|
|
15
|
+
lorem.spaceIndices.push(index);
|
|
16
|
+
startIndex = index;
|
|
17
|
+
} while (startIndex !== -1);
|
|
18
|
+
}
|
|
19
|
+
if (countType === "c") {
|
|
20
|
+
return wordsString.substring(0, count);
|
|
21
|
+
} else {
|
|
22
|
+
let sentence = "";
|
|
23
|
+
const startSpaceIndex = lorem.spaceIndices[wordOffset % lorem.spaceIndices.length - 1];
|
|
24
|
+
const endSpaceIndex = lorem.spaceIndices[(wordOffset % lorem.spaceIndices.length + count) % lorem.spaceIndices.length - 1];
|
|
25
|
+
if (count + wordOffset % lorem.spaceIndices.length > lorem.spaceIndices.length) {
|
|
26
|
+
sentence += wordsString.substring(startSpaceIndex + 1) + " ";
|
|
27
|
+
const wraparoundCounts = Math.floor(count / lorem.spaceIndices.length) - 1;
|
|
28
|
+
for (let i = 0; i < wraparoundCounts; i++) {
|
|
29
|
+
sentence += wordsString + " ";
|
|
30
|
+
}
|
|
31
|
+
sentence += wordsString.substring(0, endSpaceIndex);
|
|
32
|
+
} else {
|
|
33
|
+
sentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);
|
|
34
|
+
}
|
|
35
|
+
if (sentence.charAt(sentence.length - 1) === ",") {
|
|
36
|
+
return sentence.substring(0, sentence.length - 1);
|
|
37
|
+
} else {
|
|
38
|
+
return sentence.substring(0, sentence.length);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
throw new Error("Length must be of the form `${number}w` or `${number}c`");
|
|
43
|
+
};
|
|
44
|
+
lorem.spaceIndices = [];
|
|
7
45
|
|
|
8
|
-
const createFaker = (seed
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
46
|
+
const createFaker = (seed) => {
|
|
47
|
+
return new Faker(seed);
|
|
48
|
+
};
|
|
49
|
+
const DAY_MS = 1e3 * 60 * 60 * 24;
|
|
50
|
+
const YEAR_MS = DAY_MS * 365;
|
|
51
|
+
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
52
|
+
class Faker {
|
|
53
|
+
constructor(seed) {
|
|
54
|
+
this.seed = seed;
|
|
55
|
+
this.rand = new Rand(seed.toString());
|
|
14
56
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return createFaker.cache[cacheKey];
|
|
57
|
+
boolean() {
|
|
58
|
+
return this.random() >= 0.5;
|
|
18
59
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
60
|
+
random() {
|
|
61
|
+
return this.rand.next();
|
|
62
|
+
}
|
|
63
|
+
randomElement(elements) {
|
|
64
|
+
return elements[this.range(0, elements.length)];
|
|
65
|
+
}
|
|
66
|
+
randomElements(elements) {
|
|
67
|
+
const alwaysInclude = this.randomElement(elements);
|
|
68
|
+
return elements.filter((element) => element === alwaysInclude || this.boolean());
|
|
69
|
+
}
|
|
70
|
+
range(min, max) {
|
|
71
|
+
return Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));
|
|
72
|
+
}
|
|
73
|
+
rangeFloat(min, max) {
|
|
74
|
+
return this.random() * (max - min) + min;
|
|
75
|
+
}
|
|
76
|
+
words(length, wordOffset = this.range(0, loremWords.length)) {
|
|
77
|
+
return lorem(`${length}w`, wordOffset);
|
|
78
|
+
}
|
|
79
|
+
word() {
|
|
80
|
+
return this.randomElement(loremWords);
|
|
81
|
+
}
|
|
82
|
+
lorem(length, wordOffset = this.range(0, loremWords.length)) {
|
|
83
|
+
return lorem(length, wordOffset);
|
|
84
|
+
}
|
|
85
|
+
url() {
|
|
86
|
+
return `https://${this.word()}.example`;
|
|
87
|
+
}
|
|
88
|
+
hexColor() {
|
|
89
|
+
return `#${this.hash(6)}`;
|
|
90
|
+
}
|
|
91
|
+
hash(length) {
|
|
92
|
+
let hash = "";
|
|
93
|
+
for (let i = 0; i < length; i++) {
|
|
94
|
+
const chars = this.boolean() ? "abcdef" : "0123456789";
|
|
95
|
+
hash += chars[this.range(0, chars.length)];
|
|
96
|
+
}
|
|
97
|
+
return hash;
|
|
98
|
+
}
|
|
99
|
+
date() {
|
|
100
|
+
return new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));
|
|
101
|
+
}
|
|
102
|
+
dateAfter(date) {
|
|
103
|
+
const timestamp = date.getTime();
|
|
104
|
+
return new Date(this.range(timestamp, timestamp + YEAR_MS * 3));
|
|
105
|
+
}
|
|
106
|
+
dateBefore(date) {
|
|
107
|
+
const timestamp = date.getTime();
|
|
108
|
+
return new Date(this.range(timestamp - YEAR_MS * 3, timestamp));
|
|
109
|
+
}
|
|
110
|
+
dateBetween(min, max) {
|
|
111
|
+
return new Date(this.range(min.getTime(), max.getTime()));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
26
114
|
|
|
27
115
|
const generateTags = (config) => {
|
|
28
116
|
var _a, _b;
|
|
29
|
-
const faker = createFaker(config.seed);
|
|
30
|
-
return Array(faker.
|
|
31
|
-
min: (_a = config.min) != null ? _a : 0,
|
|
32
|
-
max: (_b = config.max) != null ? _b : 2
|
|
33
|
-
})).fill(void 0).map(() => changeCase.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 }))));
|
|
117
|
+
const faker = config.faker || createFaker(config.seed);
|
|
118
|
+
return Array.from({ length: faker.range((_a = config.min) != null ? _a : 0, (_b = config.max) != null ? _b : 2) }, () => changeCase.capitalCase(faker.words(faker.range(1, 3))));
|
|
34
119
|
};
|
|
35
120
|
|
|
36
|
-
const boolean$1 = (config
|
|
37
|
-
const faker = createFaker(config.seed);
|
|
38
|
-
return faker.
|
|
121
|
+
const boolean$1 = (config) => {
|
|
122
|
+
const faker = config.faker || createFaker(config.seed);
|
|
123
|
+
return faker.boolean();
|
|
39
124
|
};
|
|
40
125
|
|
|
41
126
|
const valueForModel = (config) => {
|
|
127
|
+
var _a;
|
|
128
|
+
const faker = config.faker || createFaker(config.seed);
|
|
42
129
|
const model = config.model;
|
|
43
130
|
switch (model.type) {
|
|
44
131
|
case prismicT.CustomTypeModelFieldType.Boolean: {
|
|
45
132
|
return boolean$1({
|
|
46
|
-
|
|
133
|
+
faker,
|
|
47
134
|
model,
|
|
48
135
|
...config.config
|
|
49
136
|
});
|
|
50
137
|
}
|
|
51
138
|
case prismicT.CustomTypeModelFieldType.Color: {
|
|
52
139
|
return color({
|
|
53
|
-
|
|
140
|
+
faker,
|
|
54
141
|
model,
|
|
55
142
|
...config.config
|
|
56
143
|
});
|
|
57
144
|
}
|
|
58
145
|
case prismicT.CustomTypeModelFieldType.Link: {
|
|
59
|
-
switch (model.config.select) {
|
|
146
|
+
switch ((_a = model.config) == null ? void 0 : _a.select) {
|
|
60
147
|
case prismicT.CustomTypeModelLinkSelectType.Document: {
|
|
61
148
|
return contentRelationship({
|
|
62
|
-
|
|
149
|
+
faker,
|
|
63
150
|
model,
|
|
64
151
|
...config.config
|
|
65
152
|
});
|
|
66
153
|
}
|
|
67
154
|
case prismicT.CustomTypeModelLinkSelectType.Media: {
|
|
68
155
|
return linkToMedia({
|
|
69
|
-
|
|
156
|
+
faker,
|
|
70
157
|
model,
|
|
71
158
|
...config.config
|
|
72
159
|
});
|
|
73
160
|
}
|
|
74
161
|
default: {
|
|
75
162
|
return link({
|
|
76
|
-
|
|
163
|
+
faker,
|
|
77
164
|
model,
|
|
78
165
|
...config.config
|
|
79
166
|
});
|
|
@@ -82,70 +169,70 @@ const valueForModel = (config) => {
|
|
|
82
169
|
}
|
|
83
170
|
case prismicT.CustomTypeModelFieldType.Date: {
|
|
84
171
|
return date({
|
|
85
|
-
|
|
172
|
+
faker,
|
|
86
173
|
model,
|
|
87
174
|
...config.config
|
|
88
175
|
});
|
|
89
176
|
}
|
|
90
177
|
case prismicT.CustomTypeModelFieldType.Embed: {
|
|
91
178
|
return embed$1({
|
|
92
|
-
|
|
179
|
+
faker,
|
|
93
180
|
model,
|
|
94
181
|
...config.config
|
|
95
182
|
});
|
|
96
183
|
}
|
|
97
184
|
case prismicT.CustomTypeModelFieldType.GeoPoint: {
|
|
98
185
|
return geoPoint({
|
|
99
|
-
|
|
186
|
+
faker,
|
|
100
187
|
model,
|
|
101
188
|
...config.config
|
|
102
189
|
});
|
|
103
190
|
}
|
|
104
191
|
case prismicT.CustomTypeModelFieldType.Image: {
|
|
105
192
|
return image$1({
|
|
106
|
-
|
|
193
|
+
faker,
|
|
107
194
|
model,
|
|
108
195
|
...config.config
|
|
109
196
|
});
|
|
110
197
|
}
|
|
111
198
|
case prismicT.CustomTypeModelFieldType.Text: {
|
|
112
199
|
return keyText({
|
|
113
|
-
|
|
200
|
+
faker,
|
|
114
201
|
model,
|
|
115
202
|
...config.config
|
|
116
203
|
});
|
|
117
204
|
}
|
|
118
205
|
case prismicT.CustomTypeModelFieldType.Number: {
|
|
119
206
|
return number({
|
|
120
|
-
|
|
207
|
+
faker,
|
|
121
208
|
model,
|
|
122
209
|
...config.config
|
|
123
210
|
});
|
|
124
211
|
}
|
|
125
212
|
case prismicT.CustomTypeModelFieldType.Select: {
|
|
126
213
|
return select({
|
|
127
|
-
|
|
214
|
+
faker,
|
|
128
215
|
model,
|
|
129
216
|
...config.config
|
|
130
217
|
});
|
|
131
218
|
}
|
|
132
219
|
case prismicT.CustomTypeModelFieldType.Timestamp: {
|
|
133
220
|
return timestamp({
|
|
134
|
-
|
|
221
|
+
faker,
|
|
135
222
|
model,
|
|
136
223
|
...config.config
|
|
137
224
|
});
|
|
138
225
|
}
|
|
139
226
|
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
140
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading[1-6]/.test(element.trim()))) {
|
|
227
|
+
if (model.config && "single" in model.config && model.config.single && model.config.single.split(",").every((element) => /heading[1-6]/.test(element.trim()))) {
|
|
141
228
|
return title({
|
|
142
|
-
|
|
229
|
+
faker,
|
|
143
230
|
model,
|
|
144
231
|
...config.config
|
|
145
232
|
});
|
|
146
233
|
} else {
|
|
147
234
|
return richText({
|
|
148
|
-
|
|
235
|
+
faker,
|
|
149
236
|
model,
|
|
150
237
|
...config.config
|
|
151
238
|
});
|
|
@@ -153,36 +240,41 @@ const valueForModel = (config) => {
|
|
|
153
240
|
}
|
|
154
241
|
case prismicT.CustomTypeModelFieldType.IntegrationFields: {
|
|
155
242
|
return integrationFields({
|
|
156
|
-
|
|
243
|
+
faker,
|
|
157
244
|
model,
|
|
158
245
|
...config.config
|
|
159
246
|
});
|
|
160
247
|
}
|
|
161
248
|
case prismicT.CustomTypeModelFieldType.UID: {
|
|
162
249
|
return uid({
|
|
163
|
-
|
|
250
|
+
faker,
|
|
164
251
|
model,
|
|
165
252
|
...config.config
|
|
166
253
|
});
|
|
167
254
|
}
|
|
168
255
|
case prismicT.CustomTypeModelFieldType.Group: {
|
|
169
256
|
return group({
|
|
170
|
-
|
|
257
|
+
faker,
|
|
171
258
|
model,
|
|
172
259
|
...config.config
|
|
173
260
|
});
|
|
174
261
|
}
|
|
262
|
+
case prismicT.CustomTypeModelFieldType.LegacySlices:
|
|
175
263
|
case prismicT.CustomTypeModelFieldType.Slices: {
|
|
176
264
|
return sliceZone({
|
|
177
|
-
|
|
265
|
+
faker,
|
|
178
266
|
model,
|
|
179
267
|
...config.config
|
|
180
268
|
});
|
|
181
269
|
}
|
|
270
|
+
default: {
|
|
271
|
+
throw new Error(`The "${model.type}" field type is not supported in @prismicio/mock.`);
|
|
272
|
+
}
|
|
182
273
|
}
|
|
183
274
|
};
|
|
184
275
|
|
|
185
276
|
const getValueConfigType = (model) => {
|
|
277
|
+
var _a;
|
|
186
278
|
switch (model.type) {
|
|
187
279
|
case prismicT.CustomTypeModelFieldType.Boolean:
|
|
188
280
|
return "boolean";
|
|
@@ -199,7 +291,7 @@ const getValueConfigType = (model) => {
|
|
|
199
291
|
case prismicT.CustomTypeModelFieldType.Image:
|
|
200
292
|
return "image";
|
|
201
293
|
case prismicT.CustomTypeModelFieldType.Link: {
|
|
202
|
-
switch (model.config.select) {
|
|
294
|
+
switch ((_a = model.config) == null ? void 0 : _a.select) {
|
|
203
295
|
case prismicT.CustomTypeModelLinkSelectType.Document:
|
|
204
296
|
return "contentRelationship";
|
|
205
297
|
case prismicT.CustomTypeModelLinkSelectType.Media:
|
|
@@ -213,7 +305,7 @@ const getValueConfigType = (model) => {
|
|
|
213
305
|
case prismicT.CustomTypeModelFieldType.Select:
|
|
214
306
|
return "select";
|
|
215
307
|
case prismicT.CustomTypeModelFieldType.StructuredText: {
|
|
216
|
-
if ("single" in model.config && model.config.single.split(",").every((element) => /heading{1,6}/.test(element.trim()))) {
|
|
308
|
+
if (model.config && "single" in model.config && model.config.single && model.config.single.split(",").every((element) => /heading{1,6}/.test(element.trim()))) {
|
|
217
309
|
return "title";
|
|
218
310
|
} else {
|
|
219
311
|
return "richText";
|
|
@@ -229,17 +321,21 @@ const getValueConfigType = (model) => {
|
|
|
229
321
|
return "integrationFields";
|
|
230
322
|
case prismicT.CustomTypeModelFieldType.Slices:
|
|
231
323
|
return "sliceZone";
|
|
324
|
+
default: {
|
|
325
|
+
throw new Error(`The "${model.type}" field type is not supported in @prismicio/mock.`);
|
|
326
|
+
}
|
|
232
327
|
}
|
|
233
328
|
};
|
|
234
329
|
const valueForModelMap = (config) => {
|
|
235
330
|
var _a;
|
|
331
|
+
const faker = config.faker || createFaker(config.seed);
|
|
236
332
|
const result = {};
|
|
237
333
|
for (const fieldId in config.map) {
|
|
238
334
|
const fieldModel = config.map[fieldId];
|
|
239
335
|
const fieldConfigType = getValueConfigType(fieldModel);
|
|
240
336
|
const fieldConfig = (_a = config.configs) == null ? void 0 : _a[fieldConfigType];
|
|
241
337
|
result[fieldId] = valueForModel({
|
|
242
|
-
|
|
338
|
+
faker,
|
|
243
339
|
model: fieldModel,
|
|
244
340
|
config: fieldConfig
|
|
245
341
|
});
|
|
@@ -247,34 +343,34 @@ const valueForModelMap = (config) => {
|
|
|
247
343
|
return result;
|
|
248
344
|
};
|
|
249
345
|
|
|
250
|
-
|
|
251
|
-
const faker = createFaker(config.seed);
|
|
346
|
+
function boolean(config) {
|
|
347
|
+
const faker = config.faker || createFaker(config.seed);
|
|
252
348
|
return {
|
|
253
349
|
type: prismicT.CustomTypeModelFieldType.Boolean,
|
|
254
350
|
config: {
|
|
255
|
-
label: changeCase.capitalCase(faker.
|
|
351
|
+
label: changeCase.capitalCase(faker.word())
|
|
256
352
|
}
|
|
257
353
|
};
|
|
258
|
-
}
|
|
354
|
+
}
|
|
259
355
|
|
|
260
|
-
const color$1 = (config
|
|
261
|
-
const faker = createFaker(config.seed);
|
|
356
|
+
const color$1 = (config) => {
|
|
357
|
+
const faker = config.faker || createFaker(config.seed);
|
|
262
358
|
return {
|
|
263
359
|
type: prismicT.CustomTypeModelFieldType.Color,
|
|
264
360
|
config: {
|
|
265
|
-
label: changeCase.capitalCase(faker.
|
|
266
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
361
|
+
label: changeCase.capitalCase(faker.word()),
|
|
362
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
267
363
|
}
|
|
268
364
|
};
|
|
269
365
|
};
|
|
270
366
|
|
|
271
|
-
const contentRelationship$1 = (config
|
|
272
|
-
const faker = createFaker(config.seed);
|
|
367
|
+
const contentRelationship$1 = (config) => {
|
|
368
|
+
const faker = config.faker || createFaker(config.seed);
|
|
273
369
|
return {
|
|
274
370
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
275
371
|
config: {
|
|
276
|
-
label: changeCase.capitalCase(faker.
|
|
277
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
372
|
+
label: changeCase.capitalCase(faker.word()),
|
|
373
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
278
374
|
select: prismicT.CustomTypeModelLinkSelectType.Document,
|
|
279
375
|
customtypes: config.customTypeIDs,
|
|
280
376
|
tags: config.tags
|
|
@@ -282,10 +378,10 @@ const contentRelationship$1 = (config = {}) => {
|
|
|
282
378
|
};
|
|
283
379
|
};
|
|
284
380
|
|
|
285
|
-
const customType$1 = (config
|
|
381
|
+
const customType$1 = (config) => {
|
|
286
382
|
var _a, _b;
|
|
287
|
-
const faker = createFaker(config.seed);
|
|
288
|
-
let label = config.label || changeCase.capitalCase(faker.
|
|
383
|
+
const faker = config.faker || createFaker(config.seed);
|
|
384
|
+
let label = config.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
289
385
|
let id = config.id || changeCase.snakeCase(label);
|
|
290
386
|
if (config.id && !config.label) {
|
|
291
387
|
label = changeCase.capitalCase(config.id);
|
|
@@ -301,139 +397,139 @@ const customType$1 = (config = {}) => {
|
|
|
301
397
|
return {
|
|
302
398
|
id,
|
|
303
399
|
label,
|
|
304
|
-
status: (_a = config.status) != null ? _a : faker.
|
|
305
|
-
repeatable: (_b = config.repeatable) != null ? _b : faker.
|
|
400
|
+
status: (_a = config.status) != null ? _a : faker.boolean(),
|
|
401
|
+
repeatable: (_b = config.repeatable) != null ? _b : faker.boolean(),
|
|
306
402
|
json
|
|
307
403
|
};
|
|
308
404
|
};
|
|
309
405
|
|
|
310
|
-
const date$1 = (config
|
|
311
|
-
const faker = createFaker(config.seed);
|
|
406
|
+
const date$1 = (config) => {
|
|
407
|
+
const faker = config.faker || createFaker(config.seed);
|
|
312
408
|
return {
|
|
313
409
|
type: prismicT.CustomTypeModelFieldType.Date,
|
|
314
410
|
config: {
|
|
315
|
-
label: changeCase.capitalCase(faker.
|
|
316
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
411
|
+
label: changeCase.capitalCase(faker.word()),
|
|
412
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
317
413
|
}
|
|
318
414
|
};
|
|
319
415
|
};
|
|
320
416
|
|
|
321
|
-
const embed$2 = (config
|
|
322
|
-
const faker = createFaker(config.seed);
|
|
417
|
+
const embed$2 = (config) => {
|
|
418
|
+
const faker = config.faker || createFaker(config.seed);
|
|
323
419
|
return {
|
|
324
420
|
type: prismicT.CustomTypeModelFieldType.Embed,
|
|
325
421
|
config: {
|
|
326
|
-
label: changeCase.capitalCase(faker.
|
|
327
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
422
|
+
label: changeCase.capitalCase(faker.word()),
|
|
423
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
328
424
|
}
|
|
329
425
|
};
|
|
330
426
|
};
|
|
331
427
|
|
|
332
|
-
const geoPoint$1 = (config
|
|
333
|
-
const faker = createFaker(config.seed);
|
|
428
|
+
const geoPoint$1 = (config) => {
|
|
429
|
+
const faker = config.faker || createFaker(config.seed);
|
|
334
430
|
return {
|
|
335
431
|
type: prismicT.CustomTypeModelFieldType.GeoPoint,
|
|
336
432
|
config: {
|
|
337
|
-
label: changeCase.capitalCase(faker.
|
|
433
|
+
label: changeCase.capitalCase(faker.word())
|
|
338
434
|
}
|
|
339
435
|
};
|
|
340
436
|
};
|
|
341
437
|
|
|
342
|
-
|
|
343
|
-
const faker = createFaker(config.seed);
|
|
438
|
+
function group$1(config) {
|
|
439
|
+
const faker = config.faker || createFaker(config.seed);
|
|
344
440
|
return {
|
|
345
441
|
type: prismicT.CustomTypeModelFieldType.Group,
|
|
346
442
|
config: {
|
|
347
|
-
label: changeCase.capitalCase(faker.
|
|
443
|
+
label: changeCase.capitalCase(faker.word()),
|
|
348
444
|
fields: config.fields || {}
|
|
349
445
|
}
|
|
350
446
|
};
|
|
351
|
-
}
|
|
447
|
+
}
|
|
352
448
|
|
|
353
|
-
const image$2 = (config
|
|
354
|
-
const faker = createFaker(config.seed);
|
|
449
|
+
const image$2 = (config) => {
|
|
450
|
+
const faker = config.faker || createFaker(config.seed);
|
|
355
451
|
const thumbnails = (config.thumbnailNames || []).map((name) => {
|
|
356
452
|
return {
|
|
357
453
|
name,
|
|
358
|
-
width: faker.
|
|
359
|
-
height: faker.
|
|
454
|
+
width: faker.range(500, 2e3),
|
|
455
|
+
height: faker.range(500, 2e3)
|
|
360
456
|
};
|
|
361
457
|
});
|
|
362
458
|
return {
|
|
363
459
|
type: prismicT.CustomTypeModelFieldType.Image,
|
|
364
460
|
config: {
|
|
365
|
-
label: changeCase.capitalCase(faker.
|
|
461
|
+
label: changeCase.capitalCase(faker.word()),
|
|
366
462
|
constraint: {
|
|
367
|
-
width: config.withConstraint ? faker.
|
|
368
|
-
height: config.withConstraint ? faker.
|
|
463
|
+
width: config.withConstraint ? faker.range(500, 2e3) : null,
|
|
464
|
+
height: config.withConstraint ? faker.range(500, 2e3) : null
|
|
369
465
|
},
|
|
370
466
|
thumbnails
|
|
371
467
|
}
|
|
372
468
|
};
|
|
373
469
|
};
|
|
374
470
|
|
|
375
|
-
const integrationFields$1 = (config
|
|
376
|
-
const faker = createFaker(config.seed);
|
|
471
|
+
const integrationFields$1 = (config) => {
|
|
472
|
+
const faker = config.faker || createFaker(config.seed);
|
|
377
473
|
return {
|
|
378
474
|
type: prismicT.CustomTypeModelFieldType.IntegrationFields,
|
|
379
475
|
config: {
|
|
380
|
-
label: changeCase.capitalCase(faker.
|
|
381
|
-
catalog: config.catalog || changeCase.snakeCase(faker.
|
|
476
|
+
label: changeCase.capitalCase(faker.word()),
|
|
477
|
+
catalog: config.catalog || changeCase.snakeCase(faker.words(2))
|
|
382
478
|
}
|
|
383
479
|
};
|
|
384
480
|
};
|
|
385
481
|
|
|
386
|
-
const keyText$1 = (config
|
|
387
|
-
const faker = createFaker(config.seed);
|
|
482
|
+
const keyText$1 = (config) => {
|
|
483
|
+
const faker = config.faker || createFaker(config.seed);
|
|
388
484
|
return {
|
|
389
485
|
type: prismicT.CustomTypeModelFieldType.Text,
|
|
390
486
|
config: {
|
|
391
|
-
label: changeCase.capitalCase(faker.
|
|
392
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
487
|
+
label: changeCase.capitalCase(faker.word()),
|
|
488
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
393
489
|
}
|
|
394
490
|
};
|
|
395
491
|
};
|
|
396
492
|
|
|
397
|
-
const link$1 = (config
|
|
398
|
-
const faker = createFaker(config.seed);
|
|
493
|
+
const link$1 = (config) => {
|
|
494
|
+
const faker = config.faker || createFaker(config.seed);
|
|
399
495
|
return {
|
|
400
496
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
401
497
|
config: {
|
|
402
|
-
label: changeCase.capitalCase(faker.
|
|
403
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
498
|
+
label: changeCase.capitalCase(faker.word()),
|
|
499
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
404
500
|
select: null,
|
|
405
|
-
allowTargetBlank: ("allowTargetBlank" in config ? config.allowTargetBlank : faker.
|
|
501
|
+
allowTargetBlank: ("allowTargetBlank" in config ? config.allowTargetBlank : faker.boolean()) || void 0
|
|
406
502
|
}
|
|
407
503
|
};
|
|
408
504
|
};
|
|
409
505
|
|
|
410
|
-
const linkToMedia$1 = (config
|
|
411
|
-
const faker = createFaker(config.seed);
|
|
506
|
+
const linkToMedia$1 = (config) => {
|
|
507
|
+
const faker = config.faker || createFaker(config.seed);
|
|
412
508
|
return {
|
|
413
509
|
type: prismicT.CustomTypeModelFieldType.Link,
|
|
414
510
|
config: {
|
|
415
|
-
label: changeCase.capitalCase(faker.
|
|
416
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
511
|
+
label: changeCase.capitalCase(faker.word()),
|
|
512
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
417
513
|
select: prismicT.CustomTypeModelLinkSelectType.Media
|
|
418
514
|
}
|
|
419
515
|
};
|
|
420
516
|
};
|
|
421
517
|
|
|
422
|
-
const number$1 = (config
|
|
423
|
-
const faker = createFaker(config.seed);
|
|
518
|
+
const number$1 = (config) => {
|
|
519
|
+
const faker = config.faker || createFaker(config.seed);
|
|
424
520
|
return {
|
|
425
521
|
type: prismicT.CustomTypeModelFieldType.Number,
|
|
426
522
|
config: {
|
|
427
|
-
label: changeCase.capitalCase(faker.
|
|
428
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
523
|
+
label: changeCase.capitalCase(faker.word()),
|
|
524
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
429
525
|
}
|
|
430
526
|
};
|
|
431
527
|
};
|
|
432
528
|
|
|
433
|
-
const richText$1 = (config
|
|
529
|
+
const richText$1 = (config) => {
|
|
434
530
|
var _a;
|
|
435
|
-
const faker = createFaker(config.seed);
|
|
436
|
-
const blockTypes = faker.
|
|
531
|
+
const faker = config.faker || createFaker(config.seed);
|
|
532
|
+
const blockTypes = faker.randomElements([
|
|
437
533
|
prismicT.RichTextNodeType.heading1,
|
|
438
534
|
prismicT.RichTextNodeType.heading2,
|
|
439
535
|
prismicT.RichTextNodeType.heading3,
|
|
@@ -450,34 +546,34 @@ const richText$1 = (config = {}) => {
|
|
|
450
546
|
prismicT.RichTextNodeType.embed,
|
|
451
547
|
prismicT.RichTextNodeType.hyperlink
|
|
452
548
|
]).join(",");
|
|
453
|
-
const blockTypeConfig = ((_a = config.withMultipleBlocks) != null ? _a : faker.
|
|
549
|
+
const blockTypeConfig = ((_a = config.withMultipleBlocks) != null ? _a : faker.boolean()) ? { multi: blockTypes } : { single: blockTypes };
|
|
454
550
|
return {
|
|
455
551
|
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
456
552
|
config: {
|
|
457
|
-
label: changeCase.capitalCase(faker.
|
|
458
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
459
|
-
allowTargetBlank: faker.
|
|
553
|
+
label: changeCase.capitalCase(faker.word()),
|
|
554
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
555
|
+
allowTargetBlank: faker.boolean() ? true : void 0,
|
|
460
556
|
...blockTypeConfig
|
|
461
557
|
}
|
|
462
558
|
};
|
|
463
559
|
};
|
|
464
560
|
|
|
465
|
-
const select$1 = (config
|
|
466
|
-
const faker = createFaker(config.seed);
|
|
561
|
+
const select$1 = (config) => {
|
|
562
|
+
const faker = config.faker || createFaker(config.seed);
|
|
467
563
|
return {
|
|
468
564
|
type: prismicT.CustomTypeModelFieldType.Select,
|
|
469
565
|
config: {
|
|
470
|
-
label: changeCase.capitalCase(faker.
|
|
471
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
566
|
+
label: changeCase.capitalCase(faker.word()),
|
|
567
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
472
568
|
options: config.options || [],
|
|
473
569
|
default_value: config.defaultValue || void 0
|
|
474
570
|
}
|
|
475
571
|
};
|
|
476
572
|
};
|
|
477
573
|
|
|
478
|
-
const sharedSlice$1 = (config
|
|
479
|
-
const faker = createFaker(config.seed);
|
|
480
|
-
let name = config.name || changeCase.capitalCase(faker.
|
|
574
|
+
const sharedSlice$1 = (config) => {
|
|
575
|
+
const faker = config.faker || createFaker(config.seed);
|
|
576
|
+
let name = config.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
481
577
|
let id = config.id || changeCase.snakeCase(name);
|
|
482
578
|
if (config.id && !config.name) {
|
|
483
579
|
name = changeCase.pascalCase(config.id);
|
|
@@ -488,7 +584,7 @@ const sharedSlice$1 = (config = {}) => {
|
|
|
488
584
|
type: prismicT.CustomTypeModelSliceType.SharedSlice,
|
|
489
585
|
id,
|
|
490
586
|
name,
|
|
491
|
-
description: faker.
|
|
587
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
492
588
|
variations: config.variations || []
|
|
493
589
|
};
|
|
494
590
|
};
|
|
@@ -499,40 +595,129 @@ const sharedSliceChoice = () => {
|
|
|
499
595
|
};
|
|
500
596
|
};
|
|
501
597
|
|
|
502
|
-
const
|
|
503
|
-
|
|
504
|
-
|
|
598
|
+
const dataSet$1 = [
|
|
599
|
+
{
|
|
600
|
+
url: "https://images.unsplash.com/photo-1604537529428-15bcbeecfe4d",
|
|
601
|
+
width: 4240,
|
|
602
|
+
height: 2832
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
url: "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05",
|
|
606
|
+
width: 7372,
|
|
607
|
+
height: 4392
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
url: "https://images.unsplash.com/photo-1441974231531-c6227db76b6e",
|
|
611
|
+
width: 2560,
|
|
612
|
+
height: 1705
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
url: "https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5",
|
|
616
|
+
width: 2200,
|
|
617
|
+
height: 1467
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
url: "https://images.unsplash.com/photo-1426604966848-d7adac402bff",
|
|
621
|
+
width: 5616,
|
|
622
|
+
height: 3744
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
url: "https://images.unsplash.com/photo-1604537466608-109fa2f16c3b",
|
|
626
|
+
width: 4240,
|
|
627
|
+
height: 2832
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
url: "https://images.unsplash.com/photo-1497436072909-60f360e1d4b1",
|
|
631
|
+
width: 2560,
|
|
632
|
+
height: 1440
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
url: "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg",
|
|
636
|
+
width: 6373,
|
|
637
|
+
height: 4253
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
url: "https://images.unsplash.com/photo-1504198266287-1659872e6590",
|
|
641
|
+
width: 4272,
|
|
642
|
+
height: 2848
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
url: "https://images.unsplash.com/photo-1470770903676-69b98201ea1c",
|
|
646
|
+
width: 4554,
|
|
647
|
+
height: 3036
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
url: "https://images.unsplash.com/photo-1587502537745-84b86da1204f",
|
|
651
|
+
width: 6550,
|
|
652
|
+
height: 4367
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
url: "https://images.unsplash.com/photo-1431794062232-2a99a5431c6c",
|
|
656
|
+
width: 6e3,
|
|
657
|
+
height: 4e3
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
url: "https://images.unsplash.com/photo-1446329813274-7c9036bd9a1f",
|
|
661
|
+
width: 6e3,
|
|
662
|
+
height: 4e3
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
url: "https://images.unsplash.com/photo-1504567961542-e24d9439a724",
|
|
666
|
+
width: 4608,
|
|
667
|
+
height: 3456
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
url: "https://images.unsplash.com/photo-1444464666168-49d633b86797",
|
|
671
|
+
width: 4844,
|
|
672
|
+
height: 3234
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
url: "https://images.unsplash.com/photo-1553531384-397c80973a0b",
|
|
676
|
+
width: 4335,
|
|
677
|
+
height: 6502
|
|
678
|
+
}
|
|
679
|
+
];
|
|
680
|
+
const getMockImageData = (config) => {
|
|
681
|
+
const faker = config.faker || createFaker(config.seed);
|
|
682
|
+
return faker.randomElement(dataSet$1);
|
|
683
|
+
};
|
|
684
|
+
|
|
685
|
+
const sharedSliceVariation$1 = (config) => {
|
|
686
|
+
const faker = config.faker || createFaker(config.seed);
|
|
687
|
+
let name = config.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
505
688
|
let id = config.id || changeCase.snakeCase(name);
|
|
506
689
|
if (config.id && !config.name) {
|
|
507
690
|
name = changeCase.pascalCase(config.id);
|
|
508
691
|
} else if (config.name && !config.name) {
|
|
509
692
|
id = changeCase.snakeCase(config.name);
|
|
510
693
|
}
|
|
694
|
+
const imageData = getMockImageData({ faker });
|
|
511
695
|
return {
|
|
512
696
|
id,
|
|
513
697
|
name,
|
|
514
|
-
description: faker.
|
|
515
|
-
docURL: faker.
|
|
516
|
-
version: faker.
|
|
698
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
699
|
+
docURL: faker.url(),
|
|
700
|
+
version: faker.hash(7),
|
|
517
701
|
primary: config.primaryFields || {},
|
|
518
|
-
items: config.itemsFields || {}
|
|
702
|
+
items: config.itemsFields || {},
|
|
703
|
+
imageUrl: imageData.url
|
|
519
704
|
};
|
|
520
705
|
};
|
|
521
706
|
|
|
522
|
-
const slice$1 = (config
|
|
523
|
-
const faker = createFaker(config.seed);
|
|
707
|
+
const slice$1 = (config) => {
|
|
708
|
+
const faker = config.faker || createFaker(config.seed);
|
|
524
709
|
return {
|
|
525
710
|
type: prismicT.CustomTypeModelSliceType.Slice,
|
|
526
|
-
icon: changeCase.snakeCase(faker.
|
|
527
|
-
display: faker.
|
|
528
|
-
fieldset: changeCase.capitalCase(faker.
|
|
529
|
-
description: faker.
|
|
711
|
+
icon: changeCase.snakeCase(faker.word()),
|
|
712
|
+
display: faker.boolean() ? prismicT.CustomTypeModelSliceDisplay.Grid : prismicT.CustomTypeModelSliceDisplay.List,
|
|
713
|
+
fieldset: changeCase.capitalCase(faker.words(2)),
|
|
714
|
+
description: changeCase.sentenceCase(faker.words(faker.range(5, 10))),
|
|
530
715
|
repeat: config.repeatFields || {},
|
|
531
716
|
"non-repeat": config.nonRepeatFields || {}
|
|
532
717
|
};
|
|
533
718
|
};
|
|
534
719
|
|
|
535
|
-
const sliceZone$1 = (config
|
|
720
|
+
const sliceZone$1 = (config) => {
|
|
536
721
|
const labels = {};
|
|
537
722
|
for (const choiceId in config.choices) {
|
|
538
723
|
const choice = config.choices[choiceId];
|
|
@@ -550,20 +735,20 @@ const sliceZone$1 = (config = {}) => {
|
|
|
550
735
|
};
|
|
551
736
|
};
|
|
552
737
|
|
|
553
|
-
const timestamp$1 = (config
|
|
554
|
-
const faker = createFaker(config.seed);
|
|
738
|
+
const timestamp$1 = (config) => {
|
|
739
|
+
const faker = config.faker || createFaker(config.seed);
|
|
555
740
|
return {
|
|
556
741
|
type: prismicT.CustomTypeModelFieldType.Timestamp,
|
|
557
742
|
config: {
|
|
558
|
-
label: changeCase.capitalCase(faker.
|
|
559
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
743
|
+
label: changeCase.capitalCase(faker.word()),
|
|
744
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
560
745
|
}
|
|
561
746
|
};
|
|
562
747
|
};
|
|
563
748
|
|
|
564
|
-
const title$1 = (config
|
|
565
|
-
const faker = createFaker(config.seed);
|
|
566
|
-
const single = faker.
|
|
749
|
+
const title$1 = (config) => {
|
|
750
|
+
const faker = config.faker || createFaker(config.seed);
|
|
751
|
+
const single = faker.randomElements([
|
|
567
752
|
"heading1",
|
|
568
753
|
"heading2",
|
|
569
754
|
"heading3",
|
|
@@ -574,28 +759,28 @@ const title$1 = (config = {}) => {
|
|
|
574
759
|
return {
|
|
575
760
|
type: prismicT.CustomTypeModelFieldType.StructuredText,
|
|
576
761
|
config: {
|
|
577
|
-
label: changeCase.capitalCase(faker.
|
|
578
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
762
|
+
label: changeCase.capitalCase(faker.word()),
|
|
763
|
+
placeholder: changeCase.sentenceCase(faker.words(3)),
|
|
579
764
|
single,
|
|
580
|
-
allowTargetBlank: faker.
|
|
765
|
+
allowTargetBlank: faker.boolean() || void 0
|
|
581
766
|
}
|
|
582
767
|
};
|
|
583
768
|
};
|
|
584
769
|
|
|
585
|
-
const uid$1 = (config
|
|
586
|
-
const faker = createFaker(config.seed);
|
|
770
|
+
const uid$1 = (config) => {
|
|
771
|
+
const faker = config.faker || createFaker(config.seed);
|
|
587
772
|
return {
|
|
588
773
|
type: prismicT.CustomTypeModelFieldType.UID,
|
|
589
774
|
config: {
|
|
590
|
-
label: changeCase.capitalCase(faker.
|
|
591
|
-
placeholder: changeCase.sentenceCase(faker.
|
|
775
|
+
label: changeCase.capitalCase(faker.word()),
|
|
776
|
+
placeholder: changeCase.sentenceCase(faker.words(3))
|
|
592
777
|
}
|
|
593
778
|
};
|
|
594
779
|
};
|
|
595
780
|
|
|
596
781
|
const generateFieldId = (config) => {
|
|
597
|
-
const faker = createFaker(config.seed);
|
|
598
|
-
return changeCase.snakeCase(faker.
|
|
782
|
+
const faker = config.faker || createFaker(config.seed);
|
|
783
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
599
784
|
};
|
|
600
785
|
|
|
601
786
|
const mockModelFns = {
|
|
@@ -616,18 +801,105 @@ const mockModelFns = {
|
|
|
616
801
|
timestamp: timestamp$1,
|
|
617
802
|
title: title$1
|
|
618
803
|
};
|
|
619
|
-
const buildMockGroupFieldMap = (config
|
|
620
|
-
const faker = createFaker(config.seed);
|
|
804
|
+
const buildMockGroupFieldMap = (config) => {
|
|
805
|
+
const faker = config.faker || createFaker(config.seed);
|
|
621
806
|
const fields = {};
|
|
622
|
-
const fieldTypes = faker.
|
|
807
|
+
const fieldTypes = faker.randomElements(Object.keys(mockModelFns));
|
|
623
808
|
for (const fieldType of fieldTypes) {
|
|
624
|
-
const fieldId = generateFieldId({
|
|
809
|
+
const fieldId = generateFieldId({ faker });
|
|
625
810
|
const mockModelFn = mockModelFns[fieldType];
|
|
626
|
-
fields[fieldId] = mockModelFn({
|
|
811
|
+
fields[fieldId] = mockModelFn({ faker });
|
|
627
812
|
}
|
|
628
813
|
return fields;
|
|
629
814
|
};
|
|
630
815
|
|
|
816
|
+
const createModelMockFactory = (...args) => {
|
|
817
|
+
return new ModelMockFactory(...args);
|
|
818
|
+
};
|
|
819
|
+
class ModelMockFactory {
|
|
820
|
+
constructor(config) {
|
|
821
|
+
this.faker = "faker" in config ? config.faker : createFaker(config.seed);
|
|
822
|
+
}
|
|
823
|
+
get seed() {
|
|
824
|
+
return this.faker.seed;
|
|
825
|
+
}
|
|
826
|
+
buildMockGroupFieldMap(config) {
|
|
827
|
+
return buildMockGroupFieldMap({ ...config, faker: this.faker });
|
|
828
|
+
}
|
|
829
|
+
boolean(config) {
|
|
830
|
+
return boolean({ ...config, faker: this.faker });
|
|
831
|
+
}
|
|
832
|
+
color(config) {
|
|
833
|
+
return color$1({ ...config, faker: this.faker });
|
|
834
|
+
}
|
|
835
|
+
contentRelationship(config) {
|
|
836
|
+
return contentRelationship$1({ ...config, faker: this.faker });
|
|
837
|
+
}
|
|
838
|
+
customType(config) {
|
|
839
|
+
return customType$1({ ...config, faker: this.faker });
|
|
840
|
+
}
|
|
841
|
+
date(config) {
|
|
842
|
+
return date$1({ ...config, faker: this.faker });
|
|
843
|
+
}
|
|
844
|
+
embed(config) {
|
|
845
|
+
return embed$2({ ...config, faker: this.faker });
|
|
846
|
+
}
|
|
847
|
+
geoPoint(config) {
|
|
848
|
+
return geoPoint$1({ ...config, faker: this.faker });
|
|
849
|
+
}
|
|
850
|
+
group(config) {
|
|
851
|
+
return group$1({ ...config, faker: this.faker });
|
|
852
|
+
}
|
|
853
|
+
image(config) {
|
|
854
|
+
return image$2({ ...config, faker: this.faker });
|
|
855
|
+
}
|
|
856
|
+
integrationFields(config) {
|
|
857
|
+
return integrationFields$1({ ...config, faker: this.faker });
|
|
858
|
+
}
|
|
859
|
+
keyText(config) {
|
|
860
|
+
return keyText$1({ ...config, faker: this.faker });
|
|
861
|
+
}
|
|
862
|
+
link(config) {
|
|
863
|
+
return link$1({ ...config, faker: this.faker });
|
|
864
|
+
}
|
|
865
|
+
linkToMedia(config) {
|
|
866
|
+
return linkToMedia$1({ ...config, faker: this.faker });
|
|
867
|
+
}
|
|
868
|
+
number(config) {
|
|
869
|
+
return number$1({ ...config, faker: this.faker });
|
|
870
|
+
}
|
|
871
|
+
richText(config) {
|
|
872
|
+
return richText$1({ ...config, faker: this.faker });
|
|
873
|
+
}
|
|
874
|
+
select(config) {
|
|
875
|
+
return select$1({ ...config, faker: this.faker });
|
|
876
|
+
}
|
|
877
|
+
sharedSlice(config) {
|
|
878
|
+
return sharedSlice$1({ ...config, faker: this.faker });
|
|
879
|
+
}
|
|
880
|
+
sharedSliceChoice() {
|
|
881
|
+
return sharedSliceChoice();
|
|
882
|
+
}
|
|
883
|
+
sharedSliceVariation(config) {
|
|
884
|
+
return sharedSliceVariation$1({ ...config, faker: this.faker });
|
|
885
|
+
}
|
|
886
|
+
slice(config) {
|
|
887
|
+
return slice$1({ ...config, faker: this.faker });
|
|
888
|
+
}
|
|
889
|
+
sliceZone(config) {
|
|
890
|
+
return sliceZone$1({ ...config, faker: this.faker });
|
|
891
|
+
}
|
|
892
|
+
timestamp(config) {
|
|
893
|
+
return timestamp$1({ ...config, faker: this.faker });
|
|
894
|
+
}
|
|
895
|
+
title(config) {
|
|
896
|
+
return title$1({ ...config, faker: this.faker });
|
|
897
|
+
}
|
|
898
|
+
uid(config) {
|
|
899
|
+
return uid$1({ ...config, faker: this.faker });
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
|
|
631
903
|
var index$2 = /*#__PURE__*/Object.freeze({
|
|
632
904
|
__proto__: null,
|
|
633
905
|
boolean: boolean,
|
|
@@ -654,14 +926,29 @@ var index$2 = /*#__PURE__*/Object.freeze({
|
|
|
654
926
|
timestamp: timestamp$1,
|
|
655
927
|
title: title$1,
|
|
656
928
|
uid: uid$1,
|
|
657
|
-
buildMockGroupFieldMap: buildMockGroupFieldMap
|
|
929
|
+
buildMockGroupFieldMap: buildMockGroupFieldMap,
|
|
930
|
+
createModelFactory: createModelMockFactory
|
|
658
931
|
});
|
|
659
932
|
|
|
660
|
-
const timestamp = (config
|
|
661
|
-
const faker = createFaker(config.seed);
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
933
|
+
const timestamp = (config) => {
|
|
934
|
+
const faker = config.faker || createFaker(config.seed);
|
|
935
|
+
if (config.state === "empty") {
|
|
936
|
+
return null;
|
|
937
|
+
} else {
|
|
938
|
+
let date;
|
|
939
|
+
const after = config.after ? new Date(config.after.toISOString().split("T")[0]) : void 0;
|
|
940
|
+
const before = config.before ? new Date(config.before.toISOString().split("T")[0]) : void 0;
|
|
941
|
+
if (after && before) {
|
|
942
|
+
date = faker.dateBetween(after, before);
|
|
943
|
+
} else if (after) {
|
|
944
|
+
date = faker.dateAfter(after);
|
|
945
|
+
} else if (before) {
|
|
946
|
+
date = faker.dateBefore(before);
|
|
947
|
+
} else {
|
|
948
|
+
date = faker.date();
|
|
949
|
+
}
|
|
950
|
+
return date.toISOString();
|
|
951
|
+
}
|
|
665
952
|
};
|
|
666
953
|
|
|
667
954
|
const buildAlternativeLanguage = (config) => {
|
|
@@ -673,10 +960,10 @@ const buildAlternativeLanguage = (config) => {
|
|
|
673
960
|
};
|
|
674
961
|
};
|
|
675
962
|
|
|
676
|
-
const customType = (config
|
|
963
|
+
const customType = (config) => {
|
|
677
964
|
var _a;
|
|
678
|
-
const faker = createFaker(config.seed);
|
|
679
|
-
const model = config.model || customType$1({
|
|
965
|
+
const faker = config.faker || createFaker(config.seed);
|
|
966
|
+
const model = config.model || customType$1({ faker });
|
|
680
967
|
const fieldModelsMap = Object.assign({}, ...Object.values(model.json));
|
|
681
968
|
const dataFieldModelsMap = {};
|
|
682
969
|
for (const key in fieldModelsMap) {
|
|
@@ -692,28 +979,28 @@ const customType = (config = {}) => {
|
|
|
692
979
|
}));
|
|
693
980
|
return {
|
|
694
981
|
type: model.id,
|
|
695
|
-
id: faker.
|
|
696
|
-
uid: hasUID ? changeCase.snakeCase(faker.
|
|
697
|
-
url: withURL ? faker.
|
|
698
|
-
href: faker.
|
|
699
|
-
lang: faker.
|
|
700
|
-
tags: generateTags({
|
|
982
|
+
id: faker.hash(7),
|
|
983
|
+
uid: hasUID ? changeCase.snakeCase(faker.words(faker.range(1, 3))) : null,
|
|
984
|
+
url: withURL ? faker.url() : null,
|
|
985
|
+
href: faker.url(),
|
|
986
|
+
lang: faker.word(),
|
|
987
|
+
tags: generateTags({ faker }),
|
|
701
988
|
slugs: [],
|
|
702
989
|
linked_documents: [],
|
|
703
990
|
alternate_languages: alternateLanguages,
|
|
704
|
-
first_publication_date: timestamp({
|
|
705
|
-
last_publication_date: timestamp({
|
|
991
|
+
first_publication_date: timestamp({ faker }),
|
|
992
|
+
last_publication_date: timestamp({ faker }),
|
|
706
993
|
data: valueForModelMap({
|
|
707
|
-
|
|
994
|
+
faker,
|
|
708
995
|
map: dataFieldModelsMap,
|
|
709
996
|
configs: config.configs
|
|
710
997
|
})
|
|
711
998
|
};
|
|
712
999
|
};
|
|
713
1000
|
|
|
714
|
-
const color = (config
|
|
715
|
-
const faker = createFaker(config.seed);
|
|
716
|
-
return config.state === "empty" ? null : faker.
|
|
1001
|
+
const color = (config) => {
|
|
1002
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1003
|
+
return config.state === "empty" ? null : faker.hexColor().toUpperCase();
|
|
717
1004
|
};
|
|
718
1005
|
|
|
719
1006
|
const buildContentRelationshipField = (config) => {
|
|
@@ -731,35 +1018,37 @@ const buildContentRelationshipField = (config) => {
|
|
|
731
1018
|
};
|
|
732
1019
|
|
|
733
1020
|
const generateCustomTypeId = (config) => {
|
|
734
|
-
const faker = createFaker(config.seed);
|
|
735
|
-
return changeCase.snakeCase(faker.
|
|
1021
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1022
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
736
1023
|
};
|
|
737
1024
|
|
|
738
|
-
const contentRelationship = (config
|
|
739
|
-
|
|
1025
|
+
const contentRelationship = (config) => {
|
|
1026
|
+
var _a, _b;
|
|
1027
|
+
const faker = config.faker || createFaker(config.seed);
|
|
740
1028
|
if (config.state === "empty") {
|
|
741
1029
|
return {
|
|
742
1030
|
link_type: prismicT.LinkType.Document
|
|
743
1031
|
};
|
|
744
1032
|
} else {
|
|
745
|
-
const model = config.model || contentRelationship$1({
|
|
1033
|
+
const model = config.model || contentRelationship$1({ faker });
|
|
746
1034
|
const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document2) => {
|
|
1035
|
+
var _a2, _b2;
|
|
747
1036
|
let shouldKeep = true;
|
|
748
|
-
if (model.config.customtypes) {
|
|
1037
|
+
if ((_a2 = model.config) == null ? void 0 : _a2.customtypes) {
|
|
749
1038
|
shouldKeep = shouldKeep && model.config.customtypes.includes(document2.type);
|
|
750
1039
|
}
|
|
751
|
-
if (model.config.tags) {
|
|
1040
|
+
if ((_b2 = model.config) == null ? void 0 : _b2.tags) {
|
|
752
1041
|
shouldKeep = shouldKeep && model.config.tags.some((tag) => document2.tags.includes(tag));
|
|
753
1042
|
}
|
|
754
1043
|
return shouldKeep;
|
|
755
1044
|
}) : [
|
|
756
1045
|
{
|
|
757
|
-
...customType({
|
|
758
|
-
type: model.config.customtypes ? faker.
|
|
759
|
-
tags: model.config.tags ? faker.
|
|
1046
|
+
...customType({ faker }),
|
|
1047
|
+
type: ((_a = model.config) == null ? void 0 : _a.customtypes) ? faker.randomElement(model.config.customtypes) : generateCustomTypeId({ faker }),
|
|
1048
|
+
tags: ((_b = model.config) == null ? void 0 : _b.tags) ? faker.randomElements(model.config.tags) : generateTags({ faker })
|
|
760
1049
|
}
|
|
761
1050
|
];
|
|
762
|
-
const document = faker.
|
|
1051
|
+
const document = faker.randomElement(linkableDocuments);
|
|
763
1052
|
if (!document) {
|
|
764
1053
|
throw new Error("A linkable document could not be found.");
|
|
765
1054
|
}
|
|
@@ -769,9 +1058,10 @@ const contentRelationship = (config = {}) => {
|
|
|
769
1058
|
}
|
|
770
1059
|
};
|
|
771
1060
|
|
|
772
|
-
const date = (config
|
|
1061
|
+
const date = (config) => {
|
|
1062
|
+
const faker = config.faker || createFaker(config.seed);
|
|
773
1063
|
return config.state === "empty" ? null : timestamp({
|
|
774
|
-
|
|
1064
|
+
faker,
|
|
775
1065
|
after: config.after,
|
|
776
1066
|
before: config.before,
|
|
777
1067
|
state: "filled"
|
|
@@ -779,118 +1069,132 @@ const date = (config = {}) => {
|
|
|
779
1069
|
};
|
|
780
1070
|
|
|
781
1071
|
const buildEmbedField = (config) => {
|
|
782
|
-
|
|
1072
|
+
var _a;
|
|
1073
|
+
const faker = config.faker || createFaker(config.seed);
|
|
783
1074
|
return {
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
788
|
-
version: faker.datatype.number({ min: 1, max: 3, precision: 10 }).toString(),
|
|
789
|
-
cache_age: faker.datatype.number(),
|
|
790
|
-
embed_url: config.embedData.embed_url,
|
|
791
|
-
author_url: faker.internet.url(),
|
|
792
|
-
author_name: faker.company.companyName(),
|
|
793
|
-
provider_name: faker.company.companyName(),
|
|
794
|
-
thumbnail_width: config.embedData.thumbnail_width,
|
|
795
|
-
thumbnail_height: config.embedData.thumbnail_height,
|
|
796
|
-
thumbnail_url: config.embedData.thumbnail_url,
|
|
797
|
-
width: faker.datatype.number({ min: 200, max: 500 }),
|
|
798
|
-
height: faker.datatype.number({ min: 200, max: 500 })
|
|
1075
|
+
embed_url: (_a = config.url) != null ? _a : faker.url(),
|
|
1076
|
+
html: `<div>embed html</div>`,
|
|
1077
|
+
...config.data
|
|
799
1078
|
};
|
|
800
1079
|
};
|
|
801
1080
|
|
|
802
|
-
const dataSet
|
|
1081
|
+
const dataSet = [
|
|
803
1082
|
{
|
|
804
|
-
|
|
1083
|
+
version: "1.0",
|
|
1084
|
+
type: "video",
|
|
805
1085
|
embed_url: "https://www.youtube.com/embed/fiOwHYFkUz0",
|
|
806
1086
|
thumbnail_url: "https://i.ytimg.com/vi/fiOwHYFkUz0/hqdefault.jpg",
|
|
807
1087
|
thumbnail_height: 360,
|
|
808
1088
|
thumbnail_width: 480,
|
|
809
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/fiOwHYFkUz0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
1089
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/fiOwHYFkUz0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
1090
|
+
width: 200,
|
|
1091
|
+
height: 113
|
|
810
1092
|
},
|
|
811
1093
|
{
|
|
812
|
-
|
|
1094
|
+
version: "1.0",
|
|
1095
|
+
type: "video",
|
|
813
1096
|
embed_url: "https://www.youtube.com/embed/c-ATzcy6VkI",
|
|
814
1097
|
thumbnail_url: "https://i.ytimg.com/vi/c-ATzcy6VkI/hqdefault.jpg",
|
|
815
1098
|
thumbnail_height: 360,
|
|
816
1099
|
thumbnail_width: 480,
|
|
817
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/c-ATzcy6VkI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
1100
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/c-ATzcy6VkI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
1101
|
+
width: 200,
|
|
1102
|
+
height: 113
|
|
818
1103
|
},
|
|
819
1104
|
{
|
|
820
|
-
|
|
1105
|
+
version: "1.0",
|
|
1106
|
+
type: "video",
|
|
821
1107
|
embed_url: "https://www.youtube.com/watch?v=fiOwHYFkUz0",
|
|
822
1108
|
thumbnail_url: "https://i.ytimg.com/vi/iewZXv94XGY/hqdefault.jpg",
|
|
823
1109
|
thumbnail_height: 360,
|
|
824
1110
|
thumbnail_width: 480,
|
|
825
|
-
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/iewZXv94XGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'
|
|
1111
|
+
html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/iewZXv94XGY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
|
|
1112
|
+
width: 200,
|
|
1113
|
+
height: 113
|
|
826
1114
|
},
|
|
827
1115
|
{
|
|
828
|
-
|
|
829
|
-
|
|
1116
|
+
version: "1.0",
|
|
1117
|
+
type: "rich",
|
|
1118
|
+
embed_url: "https://twitter.com/prismicio/status/1356293316158095361",
|
|
830
1119
|
thumbnail_url: null,
|
|
831
1120
|
thumbnail_height: null,
|
|
832
1121
|
thumbnail_width: null,
|
|
833
|
-
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Gatsby is a popular choice for Prismic users and we work hard on delivering a CMS that plays to its strengths.<br><br>But, what makes <a href="https://twitter.com/GatsbyJS?ref_src=twsrc%5Etfw">@GatsbyJS</a> so popular?<br><br>Here are some of <a href="https://twitter.com/mxstbr?ref_src=twsrc%5Etfw">@mxstbr</a>'s thoughts on Gatsby's success and how they're improving developer experience.<a href="https://t.co/ZjCPvsWWUD">https://t.co/ZjCPvsWWUD</a> <a href="https://t.co/EQqzJpeNKl">pic.twitter.com/EQqzJpeNKl</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1356293316158095361?ref_src=twsrc%5Etfw">February 1, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n'
|
|
1122
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Gatsby is a popular choice for Prismic users and we work hard on delivering a CMS that plays to its strengths.<br><br>But, what makes <a href="https://twitter.com/GatsbyJS?ref_src=twsrc%5Etfw">@GatsbyJS</a> so popular?<br><br>Here are some of <a href="https://twitter.com/mxstbr?ref_src=twsrc%5Etfw">@mxstbr</a>'s thoughts on Gatsby's success and how they're improving developer experience.<a href="https://t.co/ZjCPvsWWUD">https://t.co/ZjCPvsWWUD</a> <a href="https://t.co/EQqzJpeNKl">pic.twitter.com/EQqzJpeNKl</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1356293316158095361?ref_src=twsrc%5Etfw">February 1, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
1123
|
+
width: 200,
|
|
1124
|
+
height: 113
|
|
834
1125
|
},
|
|
835
1126
|
{
|
|
836
|
-
|
|
1127
|
+
type: "rich",
|
|
1128
|
+
version: "1.0",
|
|
1129
|
+
embed_url: "https://twitter.com/timbenniks/status/1304146886832594944",
|
|
837
1130
|
thumbnail_url: null,
|
|
838
1131
|
thumbnail_width: null,
|
|
839
1132
|
thumbnail_height: null,
|
|
840
|
-
|
|
841
|
-
|
|
1133
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I\u2019ve been diving deep on <a href="https://twitter.com/prismicio?ref_src=twsrc%5Etfw">@prismicio</a> <a href="https://twitter.com/hashtag/slicemachine?src=hash&ref_src=twsrc%5Etfw">#slicemachine</a> today. I made all my own components and I used custom slices. It works like a charm with <a href="https://twitter.com/nuxt_js?ref_src=twsrc%5Etfw">@nuxt_js</a>. Also: I\u2019m coding with this view. <a href="https://t.co/F0I8X9gz39">pic.twitter.com/F0I8X9gz39</a></p>— Tim Benniks (@timbenniks) <a href="https://twitter.com/timbenniks/status/1304146886832594944?ref_src=twsrc%5Etfw">September 10, 2020</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
1134
|
+
width: 200,
|
|
1135
|
+
height: 113
|
|
842
1136
|
},
|
|
843
1137
|
{
|
|
844
|
-
|
|
1138
|
+
version: "1.0",
|
|
1139
|
+
type: "rich",
|
|
1140
|
+
embed_url: "https://twitter.com/prismicio/status/1354112310252630016",
|
|
845
1141
|
thumbnail_url: null,
|
|
846
1142
|
thumbnail_width: null,
|
|
847
1143
|
thumbnail_height: null,
|
|
848
|
-
|
|
849
|
-
|
|
1144
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We're launching a new <a href="https://twitter.com/hashtag/SliceContest?src=hash&ref_src=twsrc%5Etfw">#SliceContest</a> tomorrow along with Slice Machine upgrades.<br><br>Want to know more? Join us at tomorrow's Product Meet-up\u{1F447}<a href="https://t.co/prYSypiAvB">https://t.co/prYSypiAvB</a><br><br>We can't tell you any further details for now, but here's a sneak peek at the prizes\u{1F440} <a href="https://t.co/fV1eoGlEBh">pic.twitter.com/fV1eoGlEBh</a></p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1354112310252630016?ref_src=twsrc%5Etfw">January 26, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
1145
|
+
width: 200,
|
|
1146
|
+
height: 113
|
|
850
1147
|
},
|
|
851
1148
|
{
|
|
852
|
-
|
|
1149
|
+
version: "1.0",
|
|
1150
|
+
type: "rich",
|
|
1151
|
+
embed_url: "https://twitter.com/prismicio/status/1354835716430319617",
|
|
853
1152
|
thumbnail_url: null,
|
|
854
1153
|
thumbnail_width: null,
|
|
855
1154
|
thumbnail_height: null,
|
|
856
|
-
|
|
857
|
-
|
|
1155
|
+
html: '<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Does anyone want to create a wildly popular website for discussing 'Wall Street Bets' using Prismic?<br><br>It may or may not have to look a lot like <a href="https://twitter.com/hashtag/reddit?src=hash&ref_src=twsrc%5Etfw">#reddit</a> and we won't make it private.<br><br>Just asking for some friends...</p>— Prismic (@prismicio) <a href="https://twitter.com/prismicio/status/1354835716430319617?ref_src=twsrc%5Etfw">January 28, 2021</a></blockquote>\n<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"><\/script>\n',
|
|
1156
|
+
width: 200,
|
|
1157
|
+
height: 113
|
|
858
1158
|
}
|
|
859
1159
|
];
|
|
860
1160
|
const getMockEmbedData = (config) => {
|
|
861
|
-
const faker = createFaker(config.seed);
|
|
862
|
-
return faker.
|
|
863
|
-
};
|
|
864
|
-
|
|
865
|
-
const embed$1 = (config
|
|
866
|
-
|
|
867
|
-
|
|
1161
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1162
|
+
return faker.randomElement(dataSet);
|
|
1163
|
+
};
|
|
1164
|
+
|
|
1165
|
+
const embed$1 = (config) => {
|
|
1166
|
+
var _a, _b, _c;
|
|
1167
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1168
|
+
const data = (_a = config.data) != null ? _a : getMockEmbedData({ faker });
|
|
1169
|
+
return config.state === "empty" ? {} : buildEmbedField({
|
|
1170
|
+
faker,
|
|
1171
|
+
url: (_b = config.url) != null ? _b : "embed_url" in data ? data.embed_url : void 0,
|
|
1172
|
+
html: (_c = config.html) != null ? _c : "html" in data ? data.html : void 0,
|
|
1173
|
+
data
|
|
1174
|
+
});
|
|
868
1175
|
};
|
|
869
1176
|
|
|
870
|
-
const geoPoint = (config
|
|
871
|
-
const faker = createFaker(config.seed);
|
|
872
|
-
const coordinates = faker.address.nearbyGPSCoordinate();
|
|
1177
|
+
const geoPoint = (config) => {
|
|
1178
|
+
const faker = config.faker || createFaker(config.seed);
|
|
873
1179
|
return config.state === "empty" ? {} : {
|
|
874
|
-
longitude:
|
|
875
|
-
latitude:
|
|
1180
|
+
longitude: faker.rangeFloat(-180, 180),
|
|
1181
|
+
latitude: faker.rangeFloat(-90, 90)
|
|
876
1182
|
};
|
|
877
1183
|
};
|
|
878
1184
|
|
|
879
|
-
const group = (config
|
|
1185
|
+
const group = (config) => {
|
|
880
1186
|
var _a;
|
|
881
1187
|
if (config.state === "empty") {
|
|
882
1188
|
return [];
|
|
883
1189
|
} else {
|
|
884
|
-
const faker = createFaker(config.seed);
|
|
885
|
-
const model = config.model || group$1({
|
|
886
|
-
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.
|
|
887
|
-
min: 1,
|
|
888
|
-
max: 6
|
|
889
|
-
});
|
|
1190
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1191
|
+
const model = config.model || group$1({ faker });
|
|
1192
|
+
const itemsCount = (_a = config.itemsCount) != null ? _a : faker.range(1, 6);
|
|
890
1193
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1194
|
+
var _a2;
|
|
891
1195
|
return valueForModelMap({
|
|
892
|
-
|
|
893
|
-
map: model.config.fields,
|
|
1196
|
+
faker,
|
|
1197
|
+
map: ((_a2 = model.config) == null ? void 0 : _a2.fields) || {},
|
|
894
1198
|
configs: config.configs
|
|
895
1199
|
});
|
|
896
1200
|
});
|
|
@@ -907,7 +1211,7 @@ const buildImageFieldImage = (config) => {
|
|
|
907
1211
|
copyright: null
|
|
908
1212
|
};
|
|
909
1213
|
} else {
|
|
910
|
-
const faker = createFaker(config.seed);
|
|
1214
|
+
const faker = config.faker || createFaker(config.seed);
|
|
911
1215
|
const url = new URL(config.imageData.url);
|
|
912
1216
|
const dimensions = {
|
|
913
1217
|
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
@@ -919,142 +1223,52 @@ const buildImageFieldImage = (config) => {
|
|
|
919
1223
|
return {
|
|
920
1224
|
url: url.toString(),
|
|
921
1225
|
dimensions,
|
|
922
|
-
alt: faker.
|
|
923
|
-
copyright: faker.
|
|
1226
|
+
alt: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1227
|
+
copyright: changeCase.sentenceCase(faker.words(faker.range(5, 15)))
|
|
924
1228
|
};
|
|
925
1229
|
}
|
|
926
1230
|
};
|
|
927
1231
|
|
|
928
|
-
const
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
},
|
|
934
|
-
{
|
|
935
|
-
url: "https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05",
|
|
936
|
-
width: 7372,
|
|
937
|
-
height: 4392
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
url: "https://images.unsplash.com/photo-1441974231531-c6227db76b6e",
|
|
941
|
-
width: 2560,
|
|
942
|
-
height: 1705
|
|
943
|
-
},
|
|
944
|
-
{
|
|
945
|
-
url: "https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5",
|
|
946
|
-
width: 2200,
|
|
947
|
-
height: 1467
|
|
948
|
-
},
|
|
949
|
-
{
|
|
950
|
-
url: "https://images.unsplash.com/photo-1426604966848-d7adac402bff",
|
|
951
|
-
width: 5616,
|
|
952
|
-
height: 3744
|
|
953
|
-
},
|
|
954
|
-
{
|
|
955
|
-
url: "https://images.unsplash.com/photo-1604537466608-109fa2f16c3b",
|
|
956
|
-
width: 4240,
|
|
957
|
-
height: 2832
|
|
958
|
-
},
|
|
959
|
-
{
|
|
960
|
-
url: "https://images.unsplash.com/photo-1497436072909-60f360e1d4b1",
|
|
961
|
-
width: 2560,
|
|
962
|
-
height: 1440
|
|
963
|
-
},
|
|
964
|
-
{
|
|
965
|
-
url: "https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg",
|
|
966
|
-
width: 6373,
|
|
967
|
-
height: 4253
|
|
968
|
-
},
|
|
969
|
-
{
|
|
970
|
-
url: "https://images.unsplash.com/photo-1504198266287-1659872e6590",
|
|
971
|
-
width: 4272,
|
|
972
|
-
height: 2848
|
|
973
|
-
},
|
|
974
|
-
{
|
|
975
|
-
url: "https://images.unsplash.com/photo-1470770903676-69b98201ea1c",
|
|
976
|
-
width: 4554,
|
|
977
|
-
height: 3036
|
|
978
|
-
},
|
|
979
|
-
{
|
|
980
|
-
url: "https://images.unsplash.com/photo-1587502537745-84b86da1204f",
|
|
981
|
-
width: 6550,
|
|
982
|
-
height: 4367
|
|
983
|
-
},
|
|
984
|
-
{
|
|
985
|
-
url: "https://images.unsplash.com/photo-1431794062232-2a99a5431c6c",
|
|
986
|
-
width: 6e3,
|
|
987
|
-
height: 4e3
|
|
988
|
-
},
|
|
989
|
-
{
|
|
990
|
-
url: "https://images.unsplash.com/photo-1446329813274-7c9036bd9a1f",
|
|
991
|
-
width: 6e3,
|
|
992
|
-
height: 4e3
|
|
993
|
-
},
|
|
994
|
-
{
|
|
995
|
-
url: "https://images.unsplash.com/photo-1504567961542-e24d9439a724",
|
|
996
|
-
width: 4608,
|
|
997
|
-
height: 3456
|
|
998
|
-
},
|
|
999
|
-
{
|
|
1000
|
-
url: "https://images.unsplash.com/photo-1444464666168-49d633b86797",
|
|
1001
|
-
width: 4844,
|
|
1002
|
-
height: 3234
|
|
1003
|
-
},
|
|
1004
|
-
{
|
|
1005
|
-
url: "https://images.unsplash.com/photo-1553531384-397c80973a0b",
|
|
1006
|
-
width: 4335,
|
|
1007
|
-
height: 6502
|
|
1008
|
-
}
|
|
1009
|
-
];
|
|
1010
|
-
const getMockImageData = (config) => {
|
|
1011
|
-
const faker = createFaker(config.seed);
|
|
1012
|
-
return faker.random.arrayElement(dataSet);
|
|
1013
|
-
};
|
|
1014
|
-
|
|
1015
|
-
const image$1 = (config = {}) => {
|
|
1016
|
-
const model = config.model || image$2({ seed: config.seed });
|
|
1017
|
-
const imageData = getMockImageData({ seed: config.seed });
|
|
1232
|
+
const image$1 = (config) => {
|
|
1233
|
+
var _a, _b;
|
|
1234
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1235
|
+
const model = config.model || image$2({ faker });
|
|
1236
|
+
const imageData = getMockImageData({ faker });
|
|
1018
1237
|
const value = buildImageFieldImage({
|
|
1019
|
-
|
|
1238
|
+
faker,
|
|
1020
1239
|
imageData,
|
|
1021
|
-
constraint: model.config.constraint,
|
|
1240
|
+
constraint: (_a = model.config) == null ? void 0 : _a.constraint,
|
|
1022
1241
|
state: config.state
|
|
1023
1242
|
});
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1243
|
+
if ((_b = model.config) == null ? void 0 : _b.thumbnails) {
|
|
1244
|
+
for (const thumbnail of model.config.thumbnails) {
|
|
1245
|
+
value[thumbnail.name] = buildImageFieldImage({
|
|
1246
|
+
faker,
|
|
1247
|
+
imageData,
|
|
1248
|
+
constraint: {
|
|
1249
|
+
width: thumbnail.width,
|
|
1250
|
+
height: thumbnail.height
|
|
1251
|
+
},
|
|
1252
|
+
state: config.state
|
|
1253
|
+
});
|
|
1254
|
+
}
|
|
1034
1255
|
}
|
|
1035
1256
|
return value;
|
|
1036
1257
|
};
|
|
1037
1258
|
|
|
1038
|
-
const integrationFields = (config
|
|
1039
|
-
|
|
1040
|
-
const
|
|
1041
|
-
return config.state === "empty" ? null :
|
|
1042
|
-
id: faker.git.shortSha(),
|
|
1043
|
-
title: changeCase.capitalCase(faker.lorem.words(3)),
|
|
1044
|
-
description: faker.lorem.sentence(),
|
|
1045
|
-
image_url: imageData.url,
|
|
1046
|
-
last_update: faker.date.past(20, new Date("2021-03-07")).getTime(),
|
|
1047
|
-
blob: config.data
|
|
1048
|
-
};
|
|
1259
|
+
const integrationFields = (config) => {
|
|
1260
|
+
var _a;
|
|
1261
|
+
const data = (_a = config.data) != null ? _a : {};
|
|
1262
|
+
return config.state === "empty" ? null : data;
|
|
1049
1263
|
};
|
|
1050
1264
|
|
|
1051
|
-
const keyText = (config
|
|
1052
|
-
const faker = createFaker(config.seed);
|
|
1053
|
-
return config.state === "empty" ? null : changeCase.sentenceCase(faker.
|
|
1265
|
+
const keyText = (config) => {
|
|
1266
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1267
|
+
return config.state === "empty" ? null : changeCase.sentenceCase(faker.words(3));
|
|
1054
1268
|
};
|
|
1055
1269
|
|
|
1056
|
-
const linkToMedia = (config
|
|
1057
|
-
const faker = createFaker(config.seed);
|
|
1270
|
+
const linkToMedia = (config) => {
|
|
1271
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1058
1272
|
if (config.state === "empty") {
|
|
1059
1273
|
return {
|
|
1060
1274
|
link_type: prismicT.LinkType.Media
|
|
@@ -1062,20 +1276,20 @@ const linkToMedia = (config = {}) => {
|
|
|
1062
1276
|
} else {
|
|
1063
1277
|
return {
|
|
1064
1278
|
link_type: prismicT.LinkType.Media,
|
|
1065
|
-
name: faker.
|
|
1066
|
-
kind: faker.
|
|
1067
|
-
url: faker.
|
|
1068
|
-
size: faker.
|
|
1069
|
-
height: faker.
|
|
1070
|
-
width: faker.
|
|
1279
|
+
name: `${changeCase.snakeCase(faker.words(faker.range(1, 2)))}.example`,
|
|
1280
|
+
kind: changeCase.snakeCase(faker.word()),
|
|
1281
|
+
url: faker.url(),
|
|
1282
|
+
size: faker.range(500, 3e3).toString(),
|
|
1283
|
+
height: faker.range(500, 3e3).toString(),
|
|
1284
|
+
width: faker.range(500, 3e3).toString()
|
|
1071
1285
|
};
|
|
1072
1286
|
}
|
|
1073
1287
|
};
|
|
1074
1288
|
|
|
1075
|
-
const link = (config
|
|
1076
|
-
var _a;
|
|
1077
|
-
const faker = createFaker(config.seed);
|
|
1078
|
-
const type = config.type || faker.
|
|
1289
|
+
const link = (config) => {
|
|
1290
|
+
var _a, _b;
|
|
1291
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1292
|
+
const type = config.type || faker.randomElement([
|
|
1079
1293
|
prismicT.LinkType.Web,
|
|
1080
1294
|
prismicT.LinkType.Document,
|
|
1081
1295
|
prismicT.LinkType.Media
|
|
@@ -1088,33 +1302,33 @@ const link = (config = {}) => {
|
|
|
1088
1302
|
switch (type) {
|
|
1089
1303
|
case prismicT.LinkType.Document: {
|
|
1090
1304
|
return contentRelationship({
|
|
1091
|
-
|
|
1305
|
+
faker,
|
|
1092
1306
|
state: config.state,
|
|
1093
1307
|
linkableDocuments: config.linkableDocuments
|
|
1094
1308
|
});
|
|
1095
1309
|
}
|
|
1096
1310
|
case prismicT.LinkType.Media: {
|
|
1097
1311
|
return linkToMedia({
|
|
1098
|
-
|
|
1312
|
+
faker,
|
|
1099
1313
|
state: config.state
|
|
1100
1314
|
});
|
|
1101
1315
|
}
|
|
1102
1316
|
case prismicT.LinkType.Web:
|
|
1103
1317
|
default: {
|
|
1104
|
-
const model = config.model || link$1({
|
|
1318
|
+
const model = config.model || link$1({ faker });
|
|
1105
1319
|
return {
|
|
1106
1320
|
link_type: prismicT.LinkType.Web,
|
|
1107
|
-
url: faker.
|
|
1108
|
-
target: ((
|
|
1321
|
+
url: faker.url(),
|
|
1322
|
+
target: ((_b = config.withTargetBlank) != null ? _b : ((_a = model.config) == null ? void 0 : _a.allowTargetBlank) && faker.boolean()) ? "_blank" : void 0
|
|
1109
1323
|
};
|
|
1110
1324
|
}
|
|
1111
1325
|
}
|
|
1112
1326
|
}
|
|
1113
1327
|
};
|
|
1114
1328
|
|
|
1115
|
-
const number = (config
|
|
1116
|
-
const faker = createFaker(config.seed);
|
|
1117
|
-
return config.state === "empty" ? null : faker.
|
|
1329
|
+
const number = (config) => {
|
|
1330
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1331
|
+
return config.state === "empty" ? null : faker.range(1, 100);
|
|
1118
1332
|
};
|
|
1119
1333
|
|
|
1120
1334
|
const patterns$5 = {
|
|
@@ -1131,27 +1345,32 @@ const patterns$5 = {
|
|
|
1131
1345
|
maxWords: 12
|
|
1132
1346
|
}
|
|
1133
1347
|
};
|
|
1134
|
-
const
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1348
|
+
const headingNoteTypes = [
|
|
1349
|
+
prismicT.RichTextNodeType.heading1,
|
|
1350
|
+
prismicT.RichTextNodeType.heading2,
|
|
1351
|
+
prismicT.RichTextNodeType.heading3,
|
|
1352
|
+
prismicT.RichTextNodeType.heading4,
|
|
1353
|
+
prismicT.RichTextNodeType.heading5,
|
|
1354
|
+
prismicT.RichTextNodeType.heading6
|
|
1355
|
+
];
|
|
1356
|
+
const heading = (config) => {
|
|
1357
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1358
|
+
const model = config.model || title$1({ faker });
|
|
1359
|
+
let types = [];
|
|
1360
|
+
if (model.config) {
|
|
1361
|
+
if ("single" in model.config && model.config.single) {
|
|
1362
|
+
types = model.config.single.split(",").filter((type2) => headingNoteTypes.includes(type2));
|
|
1363
|
+
} else if ("multi" in model.config && model.config.multi) {
|
|
1364
|
+
types = model.config.multi.split(",").filter((type2) => headingNoteTypes.includes(type2));
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
const type = faker.randomElement(types);
|
|
1146
1368
|
if (type) {
|
|
1147
|
-
const patternKey = config.pattern || faker.
|
|
1369
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$5));
|
|
1148
1370
|
const pattern = patterns$5[patternKey];
|
|
1149
1371
|
return {
|
|
1150
1372
|
type,
|
|
1151
|
-
text: changeCase.capitalCase(faker.
|
|
1152
|
-
min: pattern.minWords,
|
|
1153
|
-
max: pattern.maxWords
|
|
1154
|
-
}))),
|
|
1373
|
+
text: changeCase.capitalCase(faker.words(faker.range(pattern.minWords, pattern.maxWords))),
|
|
1155
1374
|
spans: []
|
|
1156
1375
|
};
|
|
1157
1376
|
} else {
|
|
@@ -1170,13 +1389,14 @@ const patterns$4 = {
|
|
|
1170
1389
|
sentenceCount: 12
|
|
1171
1390
|
}
|
|
1172
1391
|
};
|
|
1173
|
-
const paragraph = (config
|
|
1174
|
-
const faker = createFaker(config.seed);
|
|
1175
|
-
const patternKey = config.pattern || faker.
|
|
1392
|
+
const paragraph = (config) => {
|
|
1393
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1394
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$4));
|
|
1176
1395
|
const pattern = patterns$4[patternKey];
|
|
1396
|
+
const text = Array.from({ length: pattern.sentenceCount }, () => changeCase.sentenceCase(faker.words(faker.range(5, 15))) + ".").join(" ");
|
|
1177
1397
|
return {
|
|
1178
1398
|
type: prismicT.RichTextNodeType.paragraph,
|
|
1179
|
-
text
|
|
1399
|
+
text,
|
|
1180
1400
|
spans: []
|
|
1181
1401
|
};
|
|
1182
1402
|
};
|
|
@@ -1192,13 +1412,14 @@ const patterns$3 = {
|
|
|
1192
1412
|
sentenceCount: 12
|
|
1193
1413
|
}
|
|
1194
1414
|
};
|
|
1195
|
-
const preformatted = (config
|
|
1196
|
-
const faker = createFaker(config.seed);
|
|
1197
|
-
const patternKey = config.pattern || faker.
|
|
1415
|
+
const preformatted = (config) => {
|
|
1416
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1417
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$3));
|
|
1198
1418
|
const pattern = patterns$3[patternKey];
|
|
1419
|
+
const text = Array.from({ length: pattern.sentenceCount }, () => changeCase.sentenceCase(faker.words(faker.range(5, 15))) + ".").join(" ");
|
|
1199
1420
|
return {
|
|
1200
1421
|
type: prismicT.RichTextNodeType.preformatted,
|
|
1201
|
-
text
|
|
1422
|
+
text,
|
|
1202
1423
|
spans: []
|
|
1203
1424
|
};
|
|
1204
1425
|
};
|
|
@@ -1217,18 +1438,15 @@ const patterns$2 = {
|
|
|
1217
1438
|
maxItems: 12
|
|
1218
1439
|
}
|
|
1219
1440
|
};
|
|
1220
|
-
const list = (config
|
|
1221
|
-
const faker = createFaker(config.seed);
|
|
1222
|
-
const patternKey = config.pattern || faker.
|
|
1441
|
+
const list = (config) => {
|
|
1442
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1443
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$2));
|
|
1223
1444
|
const pattern = patterns$2[patternKey];
|
|
1224
|
-
const itemsCount = faker.
|
|
1225
|
-
min: pattern.minItems,
|
|
1226
|
-
max: pattern.maxItems
|
|
1227
|
-
});
|
|
1445
|
+
const itemsCount = faker.range(pattern.minItems, pattern.maxItems);
|
|
1228
1446
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1229
1447
|
return {
|
|
1230
1448
|
type: prismicT.RichTextNodeType.listItem,
|
|
1231
|
-
text: faker.
|
|
1449
|
+
text: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1232
1450
|
spans: []
|
|
1233
1451
|
};
|
|
1234
1452
|
});
|
|
@@ -1248,29 +1466,27 @@ const patterns$1 = {
|
|
|
1248
1466
|
maxItems: 12
|
|
1249
1467
|
}
|
|
1250
1468
|
};
|
|
1251
|
-
const oList = (config
|
|
1252
|
-
const faker = createFaker(config.seed);
|
|
1253
|
-
const patternKey = config.pattern || faker.
|
|
1469
|
+
const oList = (config) => {
|
|
1470
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1471
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns$1));
|
|
1254
1472
|
const pattern = patterns$1[patternKey];
|
|
1255
|
-
const itemsCount = faker.
|
|
1256
|
-
min: pattern.minItems,
|
|
1257
|
-
max: pattern.maxItems
|
|
1258
|
-
});
|
|
1473
|
+
const itemsCount = faker.range(pattern.minItems, pattern.maxItems);
|
|
1259
1474
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1260
1475
|
return {
|
|
1261
1476
|
type: prismicT.RichTextNodeType.oListItem,
|
|
1262
|
-
text: faker.
|
|
1477
|
+
text: changeCase.sentenceCase(faker.words(faker.range(5, 15))),
|
|
1263
1478
|
spans: []
|
|
1264
1479
|
};
|
|
1265
1480
|
});
|
|
1266
1481
|
};
|
|
1267
1482
|
|
|
1268
|
-
const image = (config
|
|
1269
|
-
const
|
|
1483
|
+
const image = (config) => {
|
|
1484
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1485
|
+
const imageData = getMockImageData({ faker });
|
|
1270
1486
|
const imageField = buildImageFieldImage({
|
|
1271
|
-
|
|
1487
|
+
faker,
|
|
1272
1488
|
imageData,
|
|
1273
|
-
state:
|
|
1489
|
+
state: "filled"
|
|
1274
1490
|
});
|
|
1275
1491
|
return {
|
|
1276
1492
|
type: prismicT.RichTextNodeType.image,
|
|
@@ -1281,9 +1497,10 @@ const image = (config = {}) => {
|
|
|
1281
1497
|
};
|
|
1282
1498
|
};
|
|
1283
1499
|
|
|
1284
|
-
const embed = (config
|
|
1285
|
-
const
|
|
1286
|
-
const
|
|
1500
|
+
const embed = (config) => {
|
|
1501
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1502
|
+
const data = getMockEmbedData({ faker });
|
|
1503
|
+
const embedField = buildEmbedField({ faker, data });
|
|
1287
1504
|
return {
|
|
1288
1505
|
type: prismicT.RichTextNodeType.embed,
|
|
1289
1506
|
oembed: embedField
|
|
@@ -1318,105 +1535,109 @@ const generators = {
|
|
|
1318
1535
|
[prismicT.RichTextNodeType.image]: image,
|
|
1319
1536
|
[prismicT.RichTextNodeType.embed]: embed
|
|
1320
1537
|
};
|
|
1321
|
-
const richText = (config
|
|
1322
|
-
const faker = createFaker(config.seed);
|
|
1323
|
-
|
|
1324
|
-
seed: config.seed,
|
|
1325
|
-
withMultipleBlocks: true
|
|
1326
|
-
});
|
|
1327
|
-
const supportsMultipleBlocks = "multi" in model.config;
|
|
1328
|
-
const types = ("multi" in model.config ? model.config.multi : model.config.single).split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1329
|
-
if (types.length > 0) {
|
|
1330
|
-
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns));
|
|
1331
|
-
const pattern = patterns[patternKey];
|
|
1332
|
-
const blockCount = supportsMultipleBlocks ? faker.datatype.number({
|
|
1333
|
-
min: pattern.blockCountMin,
|
|
1334
|
-
max: pattern.blockCountMax
|
|
1335
|
-
}) : 1;
|
|
1336
|
-
return Array(blockCount).fill(void 0).map(() => {
|
|
1337
|
-
const type = faker.random.arrayElement(types);
|
|
1338
|
-
const generator = generators[type];
|
|
1339
|
-
return generator({ seed: config.seed, model });
|
|
1340
|
-
}).flat().filter((block) => block !== void 0).slice(0, blockCount);
|
|
1341
|
-
} else {
|
|
1538
|
+
const richText = (config) => {
|
|
1539
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1540
|
+
if (config.state === "empty") {
|
|
1342
1541
|
return [];
|
|
1542
|
+
} else {
|
|
1543
|
+
const model = config.model || richText$1({
|
|
1544
|
+
faker,
|
|
1545
|
+
withMultipleBlocks: true
|
|
1546
|
+
});
|
|
1547
|
+
const supportsMultipleBlocks = model.config && "multi" in model.config;
|
|
1548
|
+
let types = [];
|
|
1549
|
+
if (model.config) {
|
|
1550
|
+
if ("multi" in model.config && model.config.multi) {
|
|
1551
|
+
types = model.config.multi.split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1552
|
+
} else if ("single" in model.config && model.config.single) {
|
|
1553
|
+
types = model.config.single.split(",").filter((type) => Object.keys(generators).includes(type));
|
|
1554
|
+
}
|
|
1555
|
+
}
|
|
1556
|
+
if (types.length > 0) {
|
|
1557
|
+
const patternKey = config.pattern || faker.randomElement(Object.keys(patterns));
|
|
1558
|
+
const pattern = patterns[patternKey];
|
|
1559
|
+
const blockCount = supportsMultipleBlocks ? faker.range(pattern.blockCountMin, pattern.blockCountMax) : 1;
|
|
1560
|
+
return Array(blockCount).fill(void 0).map(() => {
|
|
1561
|
+
const type = faker.randomElement(types);
|
|
1562
|
+
const generator = generators[type];
|
|
1563
|
+
return generator({ faker, model });
|
|
1564
|
+
}).flat().filter((block) => block !== void 0).slice(0, blockCount);
|
|
1565
|
+
} else {
|
|
1566
|
+
return [];
|
|
1567
|
+
}
|
|
1343
1568
|
}
|
|
1344
1569
|
};
|
|
1345
1570
|
|
|
1346
|
-
const select = (config
|
|
1347
|
-
|
|
1348
|
-
const
|
|
1349
|
-
const
|
|
1571
|
+
const select = (config) => {
|
|
1572
|
+
var _a, _b;
|
|
1573
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1574
|
+
const model = config.model || select$1({ faker });
|
|
1575
|
+
const defaultValue = (_a = model.config) == null ? void 0 : _a.default_value;
|
|
1576
|
+
const options = ((_b = model.config) == null ? void 0 : _b.options) || [];
|
|
1350
1577
|
if (config.state === "empty") {
|
|
1351
1578
|
return null;
|
|
1352
1579
|
} else {
|
|
1353
|
-
return typeof defaultValue === "string" && faker.
|
|
1580
|
+
return typeof defaultValue === "string" && faker.boolean() ? defaultValue : faker.randomElement(options);
|
|
1354
1581
|
}
|
|
1355
1582
|
};
|
|
1356
1583
|
|
|
1357
|
-
const slice = (config
|
|
1584
|
+
const slice = (config) => {
|
|
1358
1585
|
var _a, _b;
|
|
1359
|
-
const faker = createFaker(config.seed);
|
|
1360
|
-
const model = config.model || slice$1({
|
|
1361
|
-
const sliceType = (_a = config.type) != null ? _a : generateFieldId({
|
|
1362
|
-
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.
|
|
1363
|
-
const itemsCount = Object.keys(model.repeat).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.
|
|
1364
|
-
min: 1,
|
|
1365
|
-
max: 6
|
|
1366
|
-
}) : 0;
|
|
1586
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1587
|
+
const model = config.model || slice$1({ faker });
|
|
1588
|
+
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ faker });
|
|
1589
|
+
const sliceLabel = config.label !== void 0 ? config.label : changeCase.capitalCase(faker.words(faker.range(1, 2)));
|
|
1590
|
+
const itemsCount = model.repeat && Object.keys(model.repeat).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.range(1, 6) : 0;
|
|
1367
1591
|
return {
|
|
1368
1592
|
slice_type: sliceType,
|
|
1369
1593
|
slice_label: sliceLabel,
|
|
1370
1594
|
primary: valueForModelMap({
|
|
1371
|
-
|
|
1372
|
-
map: model["non-repeat"],
|
|
1595
|
+
faker,
|
|
1596
|
+
map: model["non-repeat"] || {},
|
|
1373
1597
|
configs: config.primaryFieldConfigs
|
|
1374
1598
|
}),
|
|
1375
1599
|
items: Array(itemsCount).fill(void 0).map(() => {
|
|
1376
1600
|
return valueForModelMap({
|
|
1377
|
-
|
|
1378
|
-
map: model.repeat,
|
|
1601
|
+
faker,
|
|
1602
|
+
map: model.repeat || {},
|
|
1379
1603
|
configs: config.itemsFieldConfigs
|
|
1380
1604
|
});
|
|
1381
1605
|
})
|
|
1382
1606
|
};
|
|
1383
1607
|
};
|
|
1384
1608
|
|
|
1385
|
-
const sharedSliceVariation = (config
|
|
1609
|
+
const sharedSliceVariation = (config) => {
|
|
1386
1610
|
var _a, _b;
|
|
1387
|
-
const faker = createFaker(config.seed);
|
|
1388
|
-
const model = config.model || sharedSliceVariation$1({
|
|
1389
|
-
const sliceType = (_a = config.type) != null ? _a : generateFieldId({
|
|
1390
|
-
const itemsCount = Object.keys(model.items).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.
|
|
1391
|
-
min: 1,
|
|
1392
|
-
max: 6
|
|
1393
|
-
}) : 0;
|
|
1611
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1612
|
+
const model = config.model || sharedSliceVariation$1({ faker });
|
|
1613
|
+
const sliceType = (_a = config.type) != null ? _a : generateFieldId({ faker });
|
|
1614
|
+
const itemsCount = model.items && Object.keys(model.items).length > 0 ? (_b = config.itemsCount) != null ? _b : faker.range(1, 6) : 0;
|
|
1394
1615
|
return {
|
|
1395
1616
|
slice_type: sliceType,
|
|
1396
1617
|
slice_label: null,
|
|
1397
1618
|
variation: model.id,
|
|
1398
|
-
version: faker.
|
|
1619
|
+
version: faker.hash(7),
|
|
1399
1620
|
primary: valueForModelMap({
|
|
1400
|
-
|
|
1401
|
-
map: model.primary,
|
|
1621
|
+
faker,
|
|
1622
|
+
map: model.primary || {},
|
|
1402
1623
|
configs: config.primaryFieldConfigs
|
|
1403
1624
|
}),
|
|
1404
1625
|
items: Array(itemsCount).fill(void 0).map(() => {
|
|
1405
1626
|
return valueForModelMap({
|
|
1406
|
-
|
|
1407
|
-
map: model.items,
|
|
1627
|
+
faker,
|
|
1628
|
+
map: model.items || {},
|
|
1408
1629
|
configs: config.itemsFieldConfigs
|
|
1409
1630
|
});
|
|
1410
1631
|
})
|
|
1411
1632
|
};
|
|
1412
1633
|
};
|
|
1413
1634
|
|
|
1414
|
-
const sharedSlice = (config
|
|
1415
|
-
const faker = createFaker(config.seed);
|
|
1416
|
-
const model = config.model || sharedSlice$1({
|
|
1417
|
-
const variationModel = faker.
|
|
1635
|
+
const sharedSlice = (config) => {
|
|
1636
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1637
|
+
const model = config.model || sharedSlice$1({ faker });
|
|
1638
|
+
const variationModel = faker.randomElement(model.variations);
|
|
1418
1639
|
return sharedSliceVariation({
|
|
1419
|
-
|
|
1640
|
+
faker,
|
|
1420
1641
|
model: variationModel,
|
|
1421
1642
|
itemsCount: config.itemsCount,
|
|
1422
1643
|
type: model.id,
|
|
@@ -1425,28 +1646,25 @@ const sharedSlice = (config = {}) => {
|
|
|
1425
1646
|
});
|
|
1426
1647
|
};
|
|
1427
1648
|
|
|
1428
|
-
const sliceZone = (config
|
|
1429
|
-
var _a;
|
|
1649
|
+
const sliceZone = (config) => {
|
|
1650
|
+
var _a, _b;
|
|
1430
1651
|
if (config.state === "empty") {
|
|
1431
1652
|
return [];
|
|
1432
1653
|
} else {
|
|
1433
|
-
const faker = createFaker(config.seed);
|
|
1434
|
-
const model = config.model || sliceZone$1({
|
|
1435
|
-
if (Object.keys(model.config.choices).length > 0) {
|
|
1436
|
-
const itemsCount = (
|
|
1437
|
-
min: 1,
|
|
1438
|
-
max: 6
|
|
1439
|
-
});
|
|
1654
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1655
|
+
const model = config.model || sliceZone$1({ faker });
|
|
1656
|
+
if (((_a = model.config) == null ? void 0 : _a.choices) && Object.keys(model.config.choices).length > 0) {
|
|
1657
|
+
const itemsCount = (_b = config.itemsCount) != null ? _b : faker.range(1, 6);
|
|
1440
1658
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
1441
|
-
var _a2;
|
|
1442
|
-
const choices = Object.entries(model.config.choices);
|
|
1443
|
-
const [choiceType, choiceModel] = faker.
|
|
1444
|
-
const choiceLabels = model.config.labels[choiceType] || [];
|
|
1445
|
-
const choiceLabel = faker.
|
|
1659
|
+
var _a2, _b2, _c, _d;
|
|
1660
|
+
const choices = ((_a2 = model.config) == null ? void 0 : _a2.choices) && Object.entries(model.config.choices) || [];
|
|
1661
|
+
const [choiceType, choiceModel] = faker.randomElement(choices);
|
|
1662
|
+
const choiceLabels = ((_c = (_b2 = model.config) == null ? void 0 : _b2.labels) == null ? void 0 : _c[choiceType]) || [];
|
|
1663
|
+
const choiceLabel = faker.randomElement(choiceLabels);
|
|
1446
1664
|
switch (choiceModel.type) {
|
|
1447
1665
|
case prismicT.CustomTypeModelSliceType.Slice: {
|
|
1448
1666
|
return slice({
|
|
1449
|
-
|
|
1667
|
+
faker,
|
|
1450
1668
|
model: choiceModel,
|
|
1451
1669
|
type: choiceType,
|
|
1452
1670
|
label: choiceLabel ? choiceLabel.name : null,
|
|
@@ -1455,10 +1673,10 @@ const sliceZone = (config = {}) => {
|
|
|
1455
1673
|
});
|
|
1456
1674
|
}
|
|
1457
1675
|
case prismicT.CustomTypeModelSliceType.SharedSlice: {
|
|
1458
|
-
const sharedSliceModel = (
|
|
1676
|
+
const sharedSliceModel = (_d = config.sharedSliceModels) == null ? void 0 : _d.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
|
|
1459
1677
|
if (sharedSliceModel) {
|
|
1460
1678
|
return sharedSlice({
|
|
1461
|
-
|
|
1679
|
+
faker,
|
|
1462
1680
|
model: sharedSliceModel,
|
|
1463
1681
|
primaryFieldConfigs: config.primaryFieldConfigs,
|
|
1464
1682
|
itemsFieldConfigs: config.itemsFieldConfigs
|
|
@@ -1473,13 +1691,14 @@ const sliceZone = (config = {}) => {
|
|
|
1473
1691
|
}
|
|
1474
1692
|
};
|
|
1475
1693
|
|
|
1476
|
-
const title = (config
|
|
1694
|
+
const title = (config) => {
|
|
1695
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1477
1696
|
if (config.state === "empty") {
|
|
1478
1697
|
return [];
|
|
1479
1698
|
} else {
|
|
1480
1699
|
return [
|
|
1481
1700
|
heading({
|
|
1482
|
-
|
|
1701
|
+
faker,
|
|
1483
1702
|
model: config.model,
|
|
1484
1703
|
pattern: config.pattern
|
|
1485
1704
|
})
|
|
@@ -1487,9 +1706,9 @@ const title = (config = {}) => {
|
|
|
1487
1706
|
}
|
|
1488
1707
|
};
|
|
1489
1708
|
|
|
1490
|
-
const uid = (config
|
|
1491
|
-
const faker = createFaker(config.seed);
|
|
1492
|
-
return changeCase.snakeCase(faker.
|
|
1709
|
+
const uid = (config) => {
|
|
1710
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1711
|
+
return changeCase.snakeCase(faker.words(faker.range(1, 3)));
|
|
1493
1712
|
};
|
|
1494
1713
|
|
|
1495
1714
|
var index$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -1520,58 +1739,58 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
1520
1739
|
uid: uid
|
|
1521
1740
|
});
|
|
1522
1741
|
|
|
1523
|
-
const ref = (config
|
|
1742
|
+
const ref = (config) => {
|
|
1524
1743
|
var _a;
|
|
1525
|
-
const faker = createFaker(config.seed);
|
|
1744
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1526
1745
|
const value = {
|
|
1527
|
-
id: faker.
|
|
1528
|
-
ref: faker.
|
|
1746
|
+
id: faker.hash(16),
|
|
1747
|
+
ref: faker.hash(16),
|
|
1529
1748
|
isMasterRef: (_a = config.isMasterRef) != null ? _a : false,
|
|
1530
|
-
label: config.isMasterRef ? "Master" : changeCase.capitalCase(faker.
|
|
1749
|
+
label: config.isMasterRef ? "Master" : changeCase.capitalCase(faker.words(faker.range(1, 3)))
|
|
1531
1750
|
};
|
|
1532
1751
|
if (config.isScheduled) {
|
|
1533
|
-
value.scheduledAt = timestamp({
|
|
1752
|
+
value.scheduledAt = timestamp({ faker });
|
|
1534
1753
|
}
|
|
1535
1754
|
return value;
|
|
1536
1755
|
};
|
|
1537
1756
|
|
|
1538
|
-
const repository = (config
|
|
1539
|
-
const faker = createFaker(config.seed);
|
|
1757
|
+
const repository = (config) => {
|
|
1758
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1540
1759
|
const types = (config.customTypeModels || []).reduce((acc, model) => {
|
|
1541
|
-
acc[model.id] = model.label;
|
|
1760
|
+
acc[model.id] = model.label || model.id;
|
|
1542
1761
|
return acc;
|
|
1543
1762
|
}, {});
|
|
1544
1763
|
return {
|
|
1545
1764
|
refs: [
|
|
1546
|
-
ref({
|
|
1547
|
-
...config.withReleases ? [ref({
|
|
1765
|
+
ref({ faker, isMasterRef: true }),
|
|
1766
|
+
...config.withReleases ? [ref({ faker }), ref({ faker })] : []
|
|
1548
1767
|
],
|
|
1549
|
-
integrationFieldsRef: ref({
|
|
1768
|
+
integrationFieldsRef: ref({ faker }).ref,
|
|
1550
1769
|
types,
|
|
1551
1770
|
languages: [
|
|
1552
1771
|
{
|
|
1553
|
-
id: faker.
|
|
1554
|
-
name: changeCase.capitalCase(faker.
|
|
1772
|
+
id: faker.word(),
|
|
1773
|
+
name: changeCase.capitalCase(faker.word())
|
|
1555
1774
|
}
|
|
1556
1775
|
],
|
|
1557
1776
|
tags: generateTags({
|
|
1558
|
-
|
|
1777
|
+
faker,
|
|
1559
1778
|
min: 1,
|
|
1560
1779
|
max: 10
|
|
1561
1780
|
}),
|
|
1562
1781
|
forms: {},
|
|
1563
1782
|
license: "All Rights Reserved",
|
|
1564
|
-
version: faker.
|
|
1783
|
+
version: faker.hash(7),
|
|
1565
1784
|
bookmarks: {},
|
|
1566
1785
|
experiments: {},
|
|
1567
|
-
oauth_token: faker.
|
|
1568
|
-
oauth_initiate: faker.
|
|
1786
|
+
oauth_token: faker.url(),
|
|
1787
|
+
oauth_initiate: faker.url()
|
|
1569
1788
|
};
|
|
1570
1789
|
};
|
|
1571
1790
|
|
|
1572
|
-
const query = (config
|
|
1791
|
+
const query = (config) => {
|
|
1573
1792
|
var _a, _b;
|
|
1574
|
-
const faker = createFaker(config.seed);
|
|
1793
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1575
1794
|
const documents = config.documents || [];
|
|
1576
1795
|
const page = Math.max(1, (_a = config.page) != null ? _a : 1);
|
|
1577
1796
|
const pageSize = Math.min(100, Math.max(1, (_b = config.pageSize) != null ? _b : 100));
|
|
@@ -1579,8 +1798,8 @@ const query = (config = {}) => {
|
|
|
1579
1798
|
const results = documents.slice((page - 1) * pageSize, page * pageSize);
|
|
1580
1799
|
return {
|
|
1581
1800
|
page,
|
|
1582
|
-
next_page: page < totalPages ? faker.
|
|
1583
|
-
prev_page: page > 1 ? faker.
|
|
1801
|
+
next_page: page < totalPages ? faker.url() : null,
|
|
1802
|
+
prev_page: page > 1 ? faker.url() : null,
|
|
1584
1803
|
total_pages: totalPages,
|
|
1585
1804
|
results_size: results.length,
|
|
1586
1805
|
results_per_page: pageSize,
|
|
@@ -1589,9 +1808,10 @@ const query = (config = {}) => {
|
|
|
1589
1808
|
};
|
|
1590
1809
|
};
|
|
1591
1810
|
|
|
1592
|
-
const tags = (config
|
|
1811
|
+
const tags = (config) => {
|
|
1812
|
+
const faker = config.faker || createFaker(config.seed);
|
|
1593
1813
|
return generateTags({
|
|
1594
|
-
|
|
1814
|
+
faker,
|
|
1595
1815
|
min: 1,
|
|
1596
1816
|
max: 10
|
|
1597
1817
|
});
|
|
@@ -1605,5 +1825,128 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
1605
1825
|
tags: tags
|
|
1606
1826
|
});
|
|
1607
1827
|
|
|
1608
|
-
|
|
1828
|
+
const createValueMockFactory = (...args) => {
|
|
1829
|
+
return new ValueMockFactory(...args);
|
|
1830
|
+
};
|
|
1831
|
+
class ValueMockFactory {
|
|
1832
|
+
constructor(config) {
|
|
1833
|
+
this.faker = "faker" in config ? config.faker : createFaker(config.seed);
|
|
1834
|
+
}
|
|
1835
|
+
get seed() {
|
|
1836
|
+
return this.faker.seed;
|
|
1837
|
+
}
|
|
1838
|
+
boolean(config) {
|
|
1839
|
+
return boolean$1({ ...config, faker: this.faker });
|
|
1840
|
+
}
|
|
1841
|
+
color(config) {
|
|
1842
|
+
return color({ ...config, faker: this.faker });
|
|
1843
|
+
}
|
|
1844
|
+
contentRelationship(config) {
|
|
1845
|
+
return contentRelationship({ ...config, faker: this.faker });
|
|
1846
|
+
}
|
|
1847
|
+
customType(config) {
|
|
1848
|
+
return customType({ ...config, faker: this.faker });
|
|
1849
|
+
}
|
|
1850
|
+
date(config) {
|
|
1851
|
+
return date({ ...config, faker: this.faker });
|
|
1852
|
+
}
|
|
1853
|
+
document(config) {
|
|
1854
|
+
return customType({ ...config, faker: this.faker });
|
|
1855
|
+
}
|
|
1856
|
+
embed(config) {
|
|
1857
|
+
return embed$1({ ...config, faker: this.faker });
|
|
1858
|
+
}
|
|
1859
|
+
geoPoint(config) {
|
|
1860
|
+
return geoPoint({ ...config, faker: this.faker });
|
|
1861
|
+
}
|
|
1862
|
+
group(config) {
|
|
1863
|
+
return group({ ...config, faker: this.faker });
|
|
1864
|
+
}
|
|
1865
|
+
image(config) {
|
|
1866
|
+
return image$1({ ...config, faker: this.faker });
|
|
1867
|
+
}
|
|
1868
|
+
integrationFields(config) {
|
|
1869
|
+
return integrationFields({ ...config, faker: this.faker });
|
|
1870
|
+
}
|
|
1871
|
+
keyText(config) {
|
|
1872
|
+
return keyText({ ...config, faker: this.faker });
|
|
1873
|
+
}
|
|
1874
|
+
link(config) {
|
|
1875
|
+
return link({ ...config, faker: this.faker });
|
|
1876
|
+
}
|
|
1877
|
+
linkToMedia(config) {
|
|
1878
|
+
return linkToMedia({ ...config, faker: this.faker });
|
|
1879
|
+
}
|
|
1880
|
+
number(config) {
|
|
1881
|
+
return number({ ...config, faker: this.faker });
|
|
1882
|
+
}
|
|
1883
|
+
select(config) {
|
|
1884
|
+
return select({ ...config, faker: this.faker });
|
|
1885
|
+
}
|
|
1886
|
+
sharedSlice(config) {
|
|
1887
|
+
return sharedSlice({ ...config, faker: this.faker });
|
|
1888
|
+
}
|
|
1889
|
+
sharedSliceVariation(config) {
|
|
1890
|
+
return sharedSliceVariation({ ...config, faker: this.faker });
|
|
1891
|
+
}
|
|
1892
|
+
slice(config) {
|
|
1893
|
+
return slice({ ...config, faker: this.faker });
|
|
1894
|
+
}
|
|
1895
|
+
sliceZone(config) {
|
|
1896
|
+
return sliceZone({ ...config, faker: this.faker });
|
|
1897
|
+
}
|
|
1898
|
+
timestamp(config) {
|
|
1899
|
+
return timestamp({ ...config, faker: this.faker });
|
|
1900
|
+
}
|
|
1901
|
+
title(config) {
|
|
1902
|
+
return title({ ...config, faker: this.faker });
|
|
1903
|
+
}
|
|
1904
|
+
uid(config) {
|
|
1905
|
+
return uid({ ...config, faker: this.faker });
|
|
1906
|
+
}
|
|
1907
|
+
richText(config) {
|
|
1908
|
+
return richText({ ...config, faker: this.faker });
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
|
|
1912
|
+
const createAPIMockFactory = (...args) => {
|
|
1913
|
+
return new APIMockFactory(...args);
|
|
1914
|
+
};
|
|
1915
|
+
class APIMockFactory {
|
|
1916
|
+
constructor(config) {
|
|
1917
|
+
this.faker = "faker" in config ? config.faker : createFaker(config.seed);
|
|
1918
|
+
}
|
|
1919
|
+
get seed() {
|
|
1920
|
+
return this.faker.seed;
|
|
1921
|
+
}
|
|
1922
|
+
query(config) {
|
|
1923
|
+
return query({ ...config, faker: this.faker });
|
|
1924
|
+
}
|
|
1925
|
+
ref(config) {
|
|
1926
|
+
return ref({ ...config, faker: this.faker });
|
|
1927
|
+
}
|
|
1928
|
+
repository(config) {
|
|
1929
|
+
return repository({ ...config, faker: this.faker });
|
|
1930
|
+
}
|
|
1931
|
+
tags(config) {
|
|
1932
|
+
return tags({ ...config, faker: this.faker });
|
|
1933
|
+
}
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
const createMockFactory = (...args) => {
|
|
1937
|
+
return new MockFactory(...args);
|
|
1938
|
+
};
|
|
1939
|
+
class MockFactory {
|
|
1940
|
+
constructor(config) {
|
|
1941
|
+
this.faker = config.faker || createFaker(config.seed);
|
|
1942
|
+
this.api = createAPIMockFactory({ faker: this.faker });
|
|
1943
|
+
this.model = createModelMockFactory({ faker: this.faker });
|
|
1944
|
+
this.value = createValueMockFactory({ faker: this.faker });
|
|
1945
|
+
}
|
|
1946
|
+
get seed() {
|
|
1947
|
+
return this.faker.seed;
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
export { APIMockFactory, MockFactory, ModelMockFactory, ValueMockFactory, index as api, createAPIMockFactory, createMockFactory, createModelMockFactory, createValueMockFactory, index$2 as model, index$1 as value };
|
|
1609
1952
|
//# sourceMappingURL=index.js.map
|