@prismicio/mock 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/api/index.cjs +39 -27
- package/dist/api/index.cjs.map +1 -0
- package/dist/api/index.d.ts +2 -1
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/{index.mjs → index.js} +104 -58
- package/dist/api/index.js.map +1 -0
- package/dist/index.cjs +293 -393
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +132 -230
- package/dist/{index.mjs → index.js} +286 -384
- package/dist/index.js.map +1 -0
- package/dist/model/index.cjs +148 -205
- package/dist/model/index.cjs.map +1 -0
- package/dist/model/index.d.ts +68 -104
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +462 -0
- package/dist/model/index.js.map +1 -0
- package/dist/value/index.cjs +238 -495
- package/dist/value/index.cjs.map +1 -0
- package/dist/value/index.d.ts +54 -116
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/{index.mjs → index.js} +407 -610
- package/dist/value/index.js.map +1 -0
- package/package.json +21 -21
- package/src/lib/buildContentRelationshipField.ts +6 -1
- package/src/lib/buildEmbedField.ts +1 -1
- package/src/lib/buildImageFieldImage.ts +48 -0
- package/src/model/buildMockGroupFieldMap.ts +65 -0
- package/src/model/contentRelationship.ts +14 -21
- package/src/model/customType.ts +49 -48
- package/src/model/group.ts +8 -15
- package/src/model/image.ts +13 -13
- package/src/model/index.ts +2 -0
- package/src/model/select.ts +11 -16
- package/src/model/sharedSlice.ts +14 -41
- package/src/model/sharedSliceVariation.ts +33 -21
- package/src/model/slice.ts +15 -19
- package/src/model/sliceZone.ts +23 -59
- package/src/types.ts +41 -12
- package/src/value/color.ts +16 -6
- package/src/value/contentRelationship.ts +51 -36
- package/src/value/date.ts +25 -9
- package/src/value/embed.ts +18 -6
- package/src/value/geoPoint.ts +21 -9
- package/src/value/group.ts +7 -27
- package/src/value/image.ts +22 -9
- package/src/value/integrationFields.ts +26 -14
- package/src/value/keyText.ts +18 -6
- package/src/value/link.ts +33 -34
- package/src/value/linkToMedia.ts +15 -20
- package/src/value/number.ts +16 -6
- package/src/value/richText/heading.ts +7 -7
- package/src/value/richText/image.ts +6 -2
- package/src/value/richText/index.ts +1 -1
- package/src/value/select.ts +23 -8
- package/src/value/sharedSlice.ts +2 -2
- package/src/value/sharedSliceVariation.ts +6 -34
- package/src/value/slice.ts +5 -30
- package/src/value/sliceZone.ts +44 -60
- package/src/value/timestamp.ts +19 -6
- package/src/value/title.ts +1 -1
- package/src/value/uid.ts +1 -1
- package/dist/model/index.mjs +0 -465
- package/src/lib/buildImageField.ts +0 -34
- package/src/lib/buildMockGroupFieldMap.ts +0 -84
package/README.md
CHANGED
|
@@ -36,7 +36,9 @@ Whether you're helping us fix bugs, improve the docs, or spread the word, we'd l
|
|
|
36
36
|
|
|
37
37
|
**Suggesting an improvement**: [Open an issue][repo-feature-request] explaining your improvement or feature so we can discuss and learn more.
|
|
38
38
|
|
|
39
|
-
**Submitting code changes**: For small fixes, feel free to [open a
|
|
39
|
+
**Submitting code changes**: For small fixes, feel free to [open a pull request][repo-pull-requests] with a description of your changes. For large changes, please first [open an issue][repo-feature-request] so we can discuss if and how the changes should be implemented.
|
|
40
|
+
|
|
41
|
+
For more clarity on this project and its structure you can also check out the detailed [CONTRIBUTING.md][contributing] document.
|
|
40
42
|
|
|
41
43
|
## License
|
|
42
44
|
|
|
@@ -64,6 +66,7 @@ Whether you're helping us fix bugs, improve the docs, or spread the word, we'd l
|
|
|
64
66
|
|
|
65
67
|
[prismic-docs]: https://prismic.io/docs
|
|
66
68
|
[changelog]: /CHANGELOG.md
|
|
69
|
+
[contributing]: ./CONTRIBUTING.md
|
|
67
70
|
|
|
68
71
|
<!-- TODO: Replace link with a more useful one if available -->
|
|
69
72
|
|
package/dist/api/index.cjs
CHANGED
|
@@ -11,21 +11,19 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
11
11
|
|
|
12
12
|
function _interopNamespace(e) {
|
|
13
13
|
if (e && e.__esModule) return e;
|
|
14
|
-
|
|
14
|
+
const n = Object.create(null);
|
|
15
15
|
if (e) {
|
|
16
|
-
|
|
16
|
+
for (const k in e) {
|
|
17
17
|
if (k !== 'default') {
|
|
18
|
-
|
|
18
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
19
|
Object.defineProperty(n, k, d.get ? d : {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () {
|
|
22
|
-
return e[k];
|
|
23
|
-
}
|
|
21
|
+
get: function () { return e[k]; }
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
}
|
|
24
|
+
}
|
|
27
25
|
}
|
|
28
|
-
n[
|
|
26
|
+
n["default"] = e;
|
|
29
27
|
return Object.freeze(n);
|
|
30
28
|
}
|
|
31
29
|
|
|
@@ -47,7 +45,7 @@ const createFaker = (seed = FAKER_SEED) => {
|
|
|
47
45
|
if (createFaker.cache[cacheKey]) {
|
|
48
46
|
return createFaker.cache[cacheKey];
|
|
49
47
|
}
|
|
50
|
-
const fakerInstance = new Faker__default[
|
|
48
|
+
const fakerInstance = new Faker__default["default"]();
|
|
51
49
|
fakerInstance.locales["en"] = fakerLocaleEN__namespace;
|
|
52
50
|
fakerInstance.seed(normalizedSeed);
|
|
53
51
|
createFaker.cache[cacheKey] = fakerInstance;
|
|
@@ -89,7 +87,7 @@ const timestamp = (config = {}) => {
|
|
|
89
87
|
const faker = createFaker(config.seed);
|
|
90
88
|
const after = config.after || faker.date.past(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
91
89
|
const before = config.before || faker.date.future(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
92
|
-
return faker.date.between(after, before).toISOString();
|
|
90
|
+
return config.state === "empty" ? null : faker.date.between(after, before).toISOString();
|
|
93
91
|
};
|
|
94
92
|
|
|
95
93
|
const buildEmbedField = (config) => {
|
|
@@ -176,23 +174,32 @@ const getMockEmbedData = (config) => {
|
|
|
176
174
|
return faker.random.arrayElement(dataSet$1);
|
|
177
175
|
};
|
|
178
176
|
|
|
179
|
-
const
|
|
177
|
+
const buildImageFieldImage = (config) => {
|
|
180
178
|
var _a, _b, _c, _d;
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
179
|
+
if (config.state === "empty") {
|
|
180
|
+
return {
|
|
181
|
+
url: null,
|
|
182
|
+
dimensions: null,
|
|
183
|
+
alt: null,
|
|
184
|
+
copyright: null
|
|
185
|
+
};
|
|
186
|
+
} else {
|
|
187
|
+
const faker = createFaker(config.seed);
|
|
188
|
+
const url = new URL(config.imageData.url);
|
|
189
|
+
const dimensions = {
|
|
190
|
+
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
191
|
+
height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
|
|
192
|
+
};
|
|
193
|
+
url.searchParams.set("w", dimensions.width.toString());
|
|
194
|
+
url.searchParams.set("h", dimensions.height.toString());
|
|
195
|
+
url.searchParams.set("fit", "crop");
|
|
196
|
+
return {
|
|
197
|
+
url: url.toString(),
|
|
198
|
+
dimensions,
|
|
199
|
+
alt: faker.lorem.sentence(),
|
|
200
|
+
copyright: faker.lorem.sentence()
|
|
201
|
+
};
|
|
202
|
+
}
|
|
196
203
|
};
|
|
197
204
|
|
|
198
205
|
const dataSet = [
|
|
@@ -432,7 +439,11 @@ const oList = (config = {}) => {
|
|
|
432
439
|
|
|
433
440
|
const image = (config = {}) => {
|
|
434
441
|
const imageData = getMockImageData({ seed: config.seed });
|
|
435
|
-
const imageField =
|
|
442
|
+
const imageField = buildImageFieldImage({
|
|
443
|
+
seed: config.seed,
|
|
444
|
+
imageData,
|
|
445
|
+
state: false
|
|
446
|
+
});
|
|
436
447
|
return {
|
|
437
448
|
type: prismicT__namespace.RichTextNodeType.image,
|
|
438
449
|
alt: imageField.alt,
|
|
@@ -547,3 +558,4 @@ exports.query = query;
|
|
|
547
558
|
exports.ref = ref;
|
|
548
559
|
exports.repository = repository;
|
|
549
560
|
exports.tags = tags;
|
|
561
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/lib/generateTags.ts","../../src/model/title.ts","../../src/value/timestamp.ts","../../src/lib/buildEmbedField.ts","../../src/lib/getMockEmbedData.ts","../../src/lib/buildImageFieldImage.ts","../../src/lib/getMockImageData.ts","../../src/value/richText/heading.ts","../../src/value/richText/paragraph.ts","../../src/value/richText/preformatted.ts","../../src/value/richText/list.ts","../../src/value/richText/oList.ts","../../src/value/richText/image.ts","../../src/value/richText/embed.ts","../../src/value/richText/index.ts","../../src/api/ref.ts","../../src/api/repository.ts","../../src/api/query.ts","../../src/api/tags.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueConfig } from \"../types\";\n\ntype GenerateTagsConfig = {\n\tmin?: number;\n\tmax?: number;\n} & Pick<MockValueConfig, \"seed\">;\n\nexport const generateTags = (config: GenerateTagsConfig): string[] => {\n\tconst faker = createFaker(config.seed);\n\n\treturn Array(\n\t\tfaker.datatype.number({\n\t\t\tmin: config.min ?? 0,\n\t\t\tmax: config.max ?? 2,\n\t\t}),\n\t)\n\t\t.fill(undefined)\n\t\t.map(() =>\n\t\t\tchangeCase.capitalCase(\n\t\t\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t\t\t),\n\t\t);\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\n\nexport type MockTimestampValueConfig<\n\tModel extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField,\n\tState extends prismicT.FieldState = prismicT.FieldState,\n> = {\n\tafter?: Date;\n\tbefore?: Date;\n} & MockValueConfig<Model> &\n\tMockValueStateConfig<State>;\n\nexport type MockTimestampValue<\n\tState extends prismicT.FieldState = prismicT.FieldState,\n> = prismicT.TimestampField<State>;\n\nexport const timestamp = <\n\tModel extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField,\n\tState extends prismicT.FieldState = \"filled\",\n>(\n\tconfig: MockTimestampValueConfig<Model, State> = {},\n): MockTimestampValue<State> => {\n\tconst faker = createFaker(config.seed);\n\n\t// Faker seems to have problems accepting parameters for `faker.date.between`\n\t// if the parameters are too precise. We can get around this by only using\n\t// generated dates, not timestamps.\n\tconst after =\n\t\tconfig.after ||\n\t\tfaker.date.past(20, new Date(\"2021-03-07\")).toISOString().split(\"T\")[0];\n\tconst before =\n\t\tconfig.before ||\n\t\tfaker.date.future(20, new Date(\"2021-03-07\")).toISOString().split(\"T\")[0];\n\n\treturn (\n\t\tconfig.state === \"empty\"\n\t\t\t? null\n\t\t\t: faker.date.between(after, before).toISOString()\n\t) as MockTimestampValue<State>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockEmbedData, MockValueConfig } from \"../types\";\n\ntype BuildEmbedFieldConfig = {\n\tembedData: MockEmbedData;\n} & Pick<MockValueConfig, \"seed\">;\n\nexport const buildEmbedField = (\n\tconfig: BuildEmbedFieldConfig,\n): prismicT.EmbedField<false> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: faker.datatype.boolean()\n\t\t\t? prismicT.EmbedType.Link\n\t\t\t: prismicT.EmbedType.Rich,\n\t\turl: config.embedData.url,\n\t\thtml: config.embedData.html,\n\t\ttitle: changeCase.capitalCase(faker.lorem.words(3)),\n\t\tversion: faker.datatype\n\t\t\t.number({ min: 1, max: 3, precision: 10 })\n\t\t\t.toString(),\n\t\tcache_age: faker.datatype.number(),\n\t\tembed_url: config.embedData.embed_url,\n\t\tauthor_url: faker.internet.url(),\n\t\tauthor_name: faker.company.companyName(),\n\t\tprovider_name: faker.company.companyName(),\n\t\tthumbnail_width: config.embedData.thumbnail_width,\n\t\tthumbnail_height: config.embedData.thumbnail_height,\n\t\tthumbnail_url: config.embedData.thumbnail_url,\n\t\twidth: faker.datatype.number({ min: 200, max: 500 }),\n\t\theight: faker.datatype.number({ min: 200, max: 500 }),\n\t};\n};\n","import { createFaker } from \"../lib/createFaker\";\n\nimport { MockEmbedData, MockValueConfig } from \"../types\";\n\nconst dataSet: MockEmbedData[] = [\n\t{\n\t\turl: \"https://www.youtube.com/watch?v=fiOwHYFkUz0\",\n\t\tembed_url: \"https://www.youtube.com/embed/fiOwHYFkUz0\",\n\t\tthumbnail_url: \"https://i.ytimg.com/vi/fiOwHYFkUz0/hqdefault.jpg\",\n\t\tthumbnail_height: 360,\n\t\tthumbnail_width: 480,\n\t\thtml: '<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>',\n\t},\n\t{\n\t\turl: \"https://www.youtube.com/watch?v=c-ATzcy6VkI\",\n\t\tembed_url: \"https://www.youtube.com/embed/c-ATzcy6VkI\",\n\t\tthumbnail_url: \"https://i.ytimg.com/vi/c-ATzcy6VkI/hqdefault.jpg\",\n\t\tthumbnail_height: 360,\n\t\tthumbnail_width: 480,\n\t\thtml: '<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>',\n\t},\n\t{\n\t\turl: \"https://www.youtube.com/watch?v=iewZXv94XGY\",\n\t\tembed_url: \"https://www.youtube.com/watch?v=fiOwHYFkUz0\",\n\t\tthumbnail_url: \"https://i.ytimg.com/vi/iewZXv94XGY/hqdefault.jpg\",\n\t\tthumbnail_height: 360,\n\t\tthumbnail_width: 480,\n\t\thtml: '<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>',\n\t},\n\t{\n\t\turl: \"https://twitter.com/prismicio/status/1356293316158095361\",\n\t\tembed_url: \"https://www.youtube.com/watch?v=iewZXv94XGY\",\n\t\tthumbnail_url: null,\n\t\tthumbnail_height: null,\n\t\tthumbnail_width: null,\n\t\thtml: '<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',\n\t},\n\t{\n\t\turl: \"https://twitter.com/timbenniks/status/1304146886832594944\",\n\t\tthumbnail_url: null,\n\t\tthumbnail_width: null,\n\t\tthumbnail_height: null,\n\t\tembed_url: \"https://twitter.com/timbenniks/status/1304146886832594944\",\n\t\thtml: '<blockquote class=\"twitter-tweet\"><p lang=\"en\" dir=\"ltr\">I’ve 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’m 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',\n\t},\n\t{\n\t\turl: \"https://twitter.com/prismicio/status/1354112310252630016\",\n\t\tthumbnail_url: null,\n\t\tthumbnail_width: null,\n\t\tthumbnail_height: null,\n\t\tembed_url: \"https://twitter.com/prismicio/status/1354112310252630016\",\n\t\thtml: '<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👇<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👀 <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',\n\t},\n\t{\n\t\turl: \"https://twitter.com/prismicio/status/1354835716430319617\",\n\t\tthumbnail_url: null,\n\t\tthumbnail_width: null,\n\t\tthumbnail_height: null,\n\t\tembed_url: \"https://twitter.com/prismicio/status/1354835716430319617\",\n\t\thtml: '<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',\n\t},\n];\ntype GetMockEmbedDataConfig = Pick<MockValueConfig, \"seed\">;\n\nexport const getMockEmbedData = (\n\tconfig: GetMockEmbedDataConfig,\n): MockEmbedData => {\n\tconst faker = createFaker(config.seed);\n\n\treturn faker.random.arrayElement(dataSet);\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockImageData, MockValueConfig } from \"../types\";\n\ntype BuildImageFieldConfig<\n\tState extends prismicT.FieldState = prismicT.FieldState,\n> = {\n\timageData: MockImageData;\n\tconstraint?: prismicT.CustomTypeModelImageField[\"config\"][\"constraint\"];\n} & Pick<MockValueConfig, \"seed\"> &\n\tPick<MockValueStateConfig<State>, \"state\">;\n\nexport const buildImageFieldImage = <\n\tState extends prismicT.FieldState = prismicT.FieldState,\n>(\n\tconfig: BuildImageFieldConfig<State>,\n): prismicT.ImageFieldImage<State> => {\n\tif (config.state === \"empty\") {\n\t\treturn {\n\t\t\turl: null,\n\t\t\tdimensions: null,\n\t\t\talt: null,\n\t\t\tcopyright: null,\n\t\t} as prismicT.ImageFieldImage<State>;\n\t} else {\n\t\tconst faker = createFaker(config.seed);\n\n\t\tconst url = new URL(config.imageData.url);\n\n\t\tconst dimensions = {\n\t\t\twidth: config.constraint?.width ?? config.imageData.width,\n\t\t\theight: config.constraint?.height ?? config.imageData.height,\n\t\t};\n\n\t\turl.searchParams.set(\"w\", dimensions.width.toString());\n\t\turl.searchParams.set(\"h\", dimensions.height.toString());\n\t\turl.searchParams.set(\"fit\", \"crop\");\n\n\t\treturn {\n\t\t\turl: url.toString(),\n\t\t\tdimensions,\n\t\t\talt: faker.lorem.sentence(),\n\t\t\tcopyright: faker.lorem.sentence(),\n\t\t} as prismicT.ImageFieldImage<State>;\n\t}\n};\n","import { createFaker } from \"../lib/createFaker\";\n\nimport { MockImageData, MockValueConfig } from \"../types\";\n\nconst dataSet: MockImageData[] = [\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1604537529428-15bcbeecfe4d\",\n\t\twidth: 4240,\n\t\theight: 2832,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05\",\n\t\twidth: 7372,\n\t\theight: 4392,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1441974231531-c6227db76b6e\",\n\t\twidth: 2560,\n\t\theight: 1705,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1418065460487-3e41a6c84dc5\",\n\t\twidth: 2200,\n\t\theight: 1467,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1426604966848-d7adac402bff\",\n\t\twidth: 5616,\n\t\theight: 3744,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1604537466608-109fa2f16c3b\",\n\t\twidth: 4240,\n\t\theight: 2832,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1497436072909-60f360e1d4b1\",\n\t\twidth: 2560,\n\t\theight: 1440,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/reserve/HgZuGu3gSD6db21T3lxm_San%20Zenone.jpg\",\n\t\twidth: 6373,\n\t\theight: 4253,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1504198266287-1659872e6590\",\n\t\twidth: 4272,\n\t\theight: 2848,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1470770903676-69b98201ea1c\",\n\t\twidth: 4554,\n\t\theight: 3036,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1587502537745-84b86da1204f\",\n\t\twidth: 6550,\n\t\theight: 4367,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1431794062232-2a99a5431c6c\",\n\t\twidth: 6000,\n\t\theight: 4000,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1446329813274-7c9036bd9a1f\",\n\t\twidth: 6000,\n\t\theight: 4000,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1504567961542-e24d9439a724\",\n\t\twidth: 4608,\n\t\theight: 3456,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1444464666168-49d633b86797\",\n\t\twidth: 4844,\n\t\theight: 3234,\n\t},\n\t{\n\t\turl: \"https://images.unsplash.com/photo-1553531384-397c80973a0b\",\n\t\twidth: 4335,\n\t\theight: 6502,\n\t},\n];\n\ntype GetMockImageDataConfig = Pick<MockValueConfig, \"seed\">;\n\nexport const getMockImageData = (\n\tconfig: GetMockImageDataConfig,\n): MockImageData => {\n\tconst faker = createFaker(config.seed);\n\n\treturn faker.random.arrayElement(dataSet);\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nimport * as modelGen from \"../../model\";\n\ntype RichTextNodeTitleType =\n\t| typeof prismicT.RichTextNodeType.heading1\n\t| typeof prismicT.RichTextNodeType.heading2\n\t| typeof prismicT.RichTextNodeType.heading3\n\t| typeof prismicT.RichTextNodeType.heading4\n\t| typeof prismicT.RichTextNodeType.heading5\n\t| typeof prismicT.RichTextNodeType.heading6;\n\ntype RTHeadingNode =\n\t| prismicT.RTHeading1Node\n\t| prismicT.RTHeading2Node\n\t| prismicT.RTHeading3Node\n\t| prismicT.RTHeading4Node\n\t| prismicT.RTHeading5Node\n\t| prismicT.RTHeading6Node;\n\nconst patterns = {\n\tshort: {\n\t\tminWords: 1,\n\t\tmaxWords: 3,\n\t},\n\tmedium: {\n\t\tminWords: 3,\n\t\tmaxWords: 6,\n\t},\n\tlong: {\n\t\tminWords: 6,\n\t\tmaxWords: 12,\n\t},\n} as const;\n\nexport type MockRichTextHeadingValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const heading = (\n\tconfig: MockRichTextHeadingValueConfig = {},\n): RTHeadingNode | undefined => {\n\tconst faker = createFaker(config.seed);\n\n\tconst model = config.model || modelGen.title({ seed: config.seed });\n\n\tconst types = (\n\t\t\"single\" in model.config ? model.config.single : model.config.multi\n\t)\n\t\t.split(\",\")\n\t\t.filter((type) =>\n\t\t\t[\n\t\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\t].includes(type as RichTextNodeTitleType),\n\t\t) as RichTextNodeTitleType[];\n\tconst type = faker.random.arrayElement(types);\n\n\tif (type) {\n\t\tconst patternKey =\n\t\t\tconfig.pattern ||\n\t\t\tfaker.random.arrayElement(\n\t\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t\t);\n\t\tconst pattern = patterns[patternKey];\n\n\t\treturn {\n\t\t\ttype,\n\t\t\ttext: changeCase.capitalCase(\n\t\t\t\tfaker.lorem.words(\n\t\t\t\t\tfaker.datatype.number({\n\t\t\t\t\t\tmin: pattern.minWords,\n\t\t\t\t\t\tmax: pattern.maxWords,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t),\n\t\t\tspans: [],\n\t\t};\n\t} else {\n\t\treturn undefined;\n\t}\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nconst patterns = {\n\tshort: {\n\t\tsentenceCount: 2,\n\t},\n\tmedium: {\n\t\tsentenceCount: 6,\n\t},\n\tlong: {\n\t\tsentenceCount: 12,\n\t},\n} as const;\n\ntype MockRichTextParagraphValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const paragraph = (\n\tconfig: MockRichTextParagraphValueConfig = {},\n): prismicT.RTParagraphNode | undefined => {\n\tconst faker = createFaker(config.seed);\n\n\tconst patternKey =\n\t\tconfig.pattern ||\n\t\tfaker.random.arrayElement(\n\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t);\n\tconst pattern = patterns[patternKey];\n\n\treturn {\n\t\ttype: prismicT.RichTextNodeType.paragraph,\n\t\ttext: faker.lorem.paragraph(pattern.sentenceCount),\n\t\tspans: [],\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nconst patterns = {\n\tshort: {\n\t\tsentenceCount: 2,\n\t},\n\tmedium: {\n\t\tsentenceCount: 6,\n\t},\n\tlong: {\n\t\tsentenceCount: 12,\n\t},\n} as const;\n\ntype MockRichTextPreformattedValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const preformatted = (\n\tconfig: MockRichTextPreformattedValueConfig = {},\n): prismicT.RTPreformattedNode | undefined => {\n\tconst faker = createFaker(config.seed);\n\n\tconst patternKey =\n\t\tconfig.pattern ||\n\t\tfaker.random.arrayElement(\n\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t);\n\tconst pattern = patterns[patternKey];\n\n\treturn {\n\t\ttype: prismicT.RichTextNodeType.preformatted,\n\t\t// TODO: Use code, not lorem ipsum.\n\t\ttext: faker.lorem.paragraph(pattern.sentenceCount),\n\t\tspans: [],\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nconst patterns = {\n\tshort: {\n\t\tminItems: 1,\n\t\tmaxItems: 3,\n\t},\n\tmedium: {\n\t\tminItems: 3,\n\t\tmaxItems: 6,\n\t},\n\tlong: {\n\t\tminItems: 6,\n\t\tmaxItems: 12,\n\t},\n} as const;\n\ntype MockRichTextListValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const list = (\n\tconfig: MockRichTextListValueConfig = {},\n): prismicT.RTListItemNode[] | undefined => {\n\tconst faker = createFaker(config.seed);\n\n\tconst patternKey =\n\t\tconfig.pattern ||\n\t\tfaker.random.arrayElement(\n\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t);\n\tconst pattern = patterns[patternKey];\n\n\tconst itemsCount = faker.datatype.number({\n\t\tmin: pattern.minItems,\n\t\tmax: pattern.maxItems,\n\t});\n\n\treturn Array(itemsCount)\n\t\t.fill(undefined)\n\t\t.map(() => {\n\t\t\treturn {\n\t\t\t\ttype: prismicT.RichTextNodeType.listItem,\n\t\t\t\ttext: faker.lorem.sentence(),\n\t\t\t\tspans: [],\n\t\t\t};\n\t\t});\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\nconst patterns = {\n\tshort: {\n\t\tminItems: 1,\n\t\tmaxItems: 3,\n\t},\n\tmedium: {\n\t\tminItems: 3,\n\t\tmaxItems: 6,\n\t},\n\tlong: {\n\t\tminItems: 6,\n\t\tmaxItems: 12,\n\t},\n} as const;\n\ntype MockRichTextOListValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & MockRichTextValueConfig;\n\nexport const oList = (\n\tconfig: MockRichTextOListValueConfig = {},\n): prismicT.RTOListItemNode[] | undefined => {\n\tconst faker = createFaker(config.seed);\n\n\tconst patternKey =\n\t\tconfig.pattern ||\n\t\tfaker.random.arrayElement(\n\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t);\n\tconst pattern = patterns[patternKey];\n\n\tconst itemsCount = faker.datatype.number({\n\t\tmin: pattern.minItems,\n\t\tmax: pattern.maxItems,\n\t});\n\n\treturn Array(itemsCount)\n\t\t.fill(undefined)\n\t\t.map(() => {\n\t\t\treturn {\n\t\t\t\ttype: prismicT.RichTextNodeType.oListItem,\n\t\t\t\ttext: faker.lorem.sentence(),\n\t\t\t\tspans: [],\n\t\t\t};\n\t\t});\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { buildImageFieldImage } from \"../../lib/buildImageFieldImage\";\nimport { getMockImageData } from \"../../lib/getMockImageData\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\ntype MockRichTextImageValueConfig = MockRichTextValueConfig;\n\nexport const image = (\n\tconfig: MockRichTextImageValueConfig = {},\n): prismicT.RTImageNode | undefined => {\n\tconst imageData = getMockImageData({ seed: config.seed });\n\tconst imageField = buildImageFieldImage({\n\t\tseed: config.seed,\n\t\timageData,\n\t\tstate: false,\n\t});\n\n\treturn {\n\t\ttype: prismicT.RichTextNodeType.image,\n\t\talt: imageField.alt,\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\turl: imageField.url!,\n\t\tcopyright: imageField.copyright,\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\tdimensions: imageField.dimensions!,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { buildEmbedField } from \"../../lib/buildEmbedField\";\nimport { getMockEmbedData } from \"../../lib/getMockEmbedData\";\n\nimport { MockRichTextValueConfig } from \"../../types\";\n\ntype MockRichTextEmbedValueConfig = MockRichTextValueConfig;\n\nexport const embed = (\n\tconfig: MockRichTextEmbedValueConfig = {},\n): prismicT.RTEmbedNode | undefined => {\n\tconst embedData = getMockEmbedData({ seed: config.seed });\n\tconst embedField = buildEmbedField({ seed: config.seed, embedData });\n\n\treturn {\n\t\ttype: prismicT.RichTextNodeType.embed,\n\t\toembed: embedField,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../../lib/createFaker\";\n\nimport { MockRichTextValueConfig as BaseMockRichTextValueConfig } from \"../../types\";\n\nimport * as modelGen from \"../../model\";\nimport { heading } from \"./heading\";\nimport { paragraph } from \"./paragraph\";\nimport { preformatted } from \"./preformatted\";\nimport { list } from \"./list\";\nimport { oList } from \"./oList\";\nimport { image } from \"./image\";\nimport { embed } from \"./embed\";\n\nconst patterns = {\n\tshort: {\n\t\tblockCountMin: 1,\n\t\tblockCountMax: 2,\n\t},\n\tmedium: {\n\t\tblockCountMin: 2,\n\t\tblockCountMax: 4,\n\t},\n\tlong: {\n\t\tblockCountMin: 4,\n\t\tblockCountMax: 8,\n\t},\n} as const;\n\nexport type MockRichTextValueConfig = {\n\tpattern?: keyof typeof patterns;\n} & BaseMockRichTextValueConfig<prismicT.CustomTypeModelRichTextField>;\n\nconst generators = {\n\t[prismicT.RichTextNodeType.heading1]: heading,\n\t[prismicT.RichTextNodeType.heading2]: heading,\n\t[prismicT.RichTextNodeType.heading3]: heading,\n\t[prismicT.RichTextNodeType.heading4]: heading,\n\t[prismicT.RichTextNodeType.heading5]: heading,\n\t[prismicT.RichTextNodeType.heading6]: heading,\n\t[prismicT.RichTextNodeType.paragraph]: paragraph,\n\t[prismicT.RichTextNodeType.preformatted]: preformatted,\n\t[prismicT.RichTextNodeType.listItem]: list,\n\t[prismicT.RichTextNodeType.oListItem]: oList,\n\t[prismicT.RichTextNodeType.image]: image,\n\t[prismicT.RichTextNodeType.embed]: embed,\n};\n\nexport const richText = (\n\tconfig: MockRichTextValueConfig = {},\n): prismicT.RichTextField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst model =\n\t\tconfig.model ||\n\t\tmodelGen.richText({\n\t\t\tseed: config.seed,\n\t\t\twithMultipleBlocks: true,\n\t\t});\n\tconst supportsMultipleBlocks = \"multi\" in model.config;\n\tconst types = (\n\t\t\"multi\" in model.config ? model.config.multi : model.config.single\n\t)\n\t\t.split(\",\")\n\t\t.filter((type) =>\n\t\t\tObject.keys(generators).includes(type),\n\t\t) as prismicT.RTNode[\"type\"][];\n\n\tif (types.length > 0) {\n\t\tconst patternKey =\n\t\t\tconfig.pattern ||\n\t\t\tfaker.random.arrayElement(\n\t\t\t\tObject.keys(patterns) as (keyof typeof patterns)[],\n\t\t\t);\n\t\tconst pattern = patterns[patternKey];\n\n\t\tconst blockCount = supportsMultipleBlocks\n\t\t\t? faker.datatype.number({\n\t\t\t\t\tmin: pattern.blockCountMin,\n\t\t\t\t\tmax: pattern.blockCountMax,\n\t\t\t })\n\t\t\t: 1;\n\n\t\treturn Array(blockCount)\n\t\t\t.fill(undefined)\n\t\t\t.map(() => {\n\t\t\t\tconst type = faker.random.arrayElement(types);\n\t\t\t\tconst generator = generators[type];\n\n\t\t\t\treturn generator({ seed: config.seed, model });\n\t\t\t})\n\t\t\t.flat()\n\t\t\t.filter((block): block is prismicT.RTNode => block !== undefined)\n\t\t\t.slice(0, blockCount) as prismicT.RichTextField;\n\t} else {\n\t\treturn [];\n\t}\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { MockRestApiConfig } from \"../types\";\nimport { timestamp } from \"../value\";\n\nexport type MockRestApiRefConfig<IsScheduled extends boolean = false> = {\n\tisMasterRef?: boolean;\n\tisScheduled?: IsScheduled;\n} & MockRestApiConfig;\n\nexport type MockRestApiRefValue<IsScheduled extends boolean = false> = Omit<\n\tprismicT.Ref,\n\t\"scheduledAt\"\n> &\n\t(IsScheduled extends true\n\t\t? { scheduledAt: string }\n\t\t: { scheduledAt?: never });\n\nexport const ref = <IsScheduled extends boolean = false>(\n\tconfig: MockRestApiRefConfig<IsScheduled> = {},\n): MockRestApiRefValue<IsScheduled> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst value: prismicT.Ref = {\n\t\tid: faker.git.shortSha(),\n\t\tref: faker.git.shortSha(),\n\t\tisMasterRef: config.isMasterRef ?? false,\n\t\tlabel: config.isMasterRef\n\t\t\t? \"Master\"\n\t\t\t: changeCase.capitalCase(faker.company.bsNoun()),\n\t};\n\n\tif (config.isScheduled) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\tvalue.scheduledAt = timestamp({ seed: config.seed })!;\n\t}\n\n\treturn value as MockRestApiRefValue<IsScheduled>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateTags } from \"../lib/generateTags\";\n\nimport { MockRestApiConfig } from \"../types\";\nimport { ref } from \"./ref\";\n\nexport type MockRestApiRepositoryConfig = {\n\tcustomTypeModels?: prismicT.CustomTypeModel[];\n\twithReleases?: boolean;\n} & MockRestApiConfig;\n\nexport const repository = (\n\tconfig: MockRestApiRepositoryConfig = {},\n): prismicT.Repository => {\n\tconst faker = createFaker(config.seed);\n\n\tconst types = (config.customTypeModels || []).reduce((acc, model) => {\n\t\tacc[model.id] = model.label;\n\n\t\treturn acc;\n\t}, {} as prismicT.Repository[\"types\"]);\n\n\treturn {\n\t\trefs: [\n\t\t\tref({ seed: config.seed, isMasterRef: true }),\n\t\t\t...(config.withReleases\n\t\t\t\t? [ref({ seed: config.seed }), ref({ seed: config.seed })]\n\t\t\t\t: []),\n\t\t],\n\t\tintegrationFieldsRef: ref({ seed: config.seed }).ref,\n\t\ttypes,\n\t\tlanguages: [\n\t\t\t{\n\t\t\t\tid: faker.lorem.word(),\n\t\t\t\tname: changeCase.capitalCase(faker.lorem.word()),\n\t\t\t},\n\t\t],\n\t\ttags: generateTags({\n\t\t\tseed: config.seed,\n\t\t\tmin: 1,\n\t\t\tmax: 10,\n\t\t}),\n\t\tforms: {},\n\t\tlicense: \"All Rights Reserved\",\n\t\tversion: faker.git.shortSha(),\n\t\tbookmarks: {},\n\t\texperiments: {},\n\t\toauth_token: faker.internet.url(),\n\t\toauth_initiate: faker.internet.url(),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockRestApiConfig } from \"../types\";\n\nexport type MockRestApiQueryConfig<\n\tDocument extends prismicT.PrismicDocument = prismicT.PrismicDocument,\n> = {\n\tdocuments?: Document[];\n\tpage?: number;\n\tpageSize?: number;\n} & MockRestApiConfig;\n\nexport const query = <\n\tDocument extends prismicT.PrismicDocument = prismicT.PrismicDocument,\n>(\n\tconfig: MockRestApiQueryConfig<Document> = {},\n): prismicT.Query<Document> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst documents = config.documents || [];\n\tconst page = Math.max(1, config.page ?? 1);\n\tconst pageSize = Math.min(100, Math.max(1, config.pageSize ?? 100));\n\tconst totalPages = Math.ceil(documents.length / pageSize);\n\tconst results = documents.slice((page - 1) * pageSize, page * pageSize);\n\n\treturn {\n\t\tpage,\n\t\tnext_page: page < totalPages ? faker.internet.url() : null,\n\t\tprev_page: page > 1 ? faker.internet.url() : null,\n\t\ttotal_pages: totalPages,\n\t\tresults_size: results.length,\n\t\tresults_per_page: pageSize,\n\t\ttotal_results_size: documents.length,\n\t\tresults,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { generateTags } from \"../lib/generateTags\";\n\nimport { MockRestApiConfig } from \"../types\";\n\nexport type MockRestApiTagsConfig = MockRestApiConfig;\n\nexport const tags = (config: MockRestApiTagsConfig = {}): prismicT.Tags => {\n\treturn generateTags({\n\t\tseed: config.seed,\n\t\tmin: 1,\n\t\tmax: 10,\n\t});\n};\n"],"names":["Faker","fakerLocaleEN","changeCase","prismicT","dataSet","patterns","modelGen.title"],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -27,9 +27,10 @@ declare type MockRestApiQueryConfig<Document extends prismicT.PrismicDocument =
|
|
|
27
27
|
page?: number;
|
|
28
28
|
pageSize?: number;
|
|
29
29
|
} & MockRestApiConfig;
|
|
30
|
-
declare const query: <Document_1 extends prismicT.PrismicDocument<Record<string,
|
|
30
|
+
declare const query: <Document_1 extends prismicT.PrismicDocument<Record<string, any>, string, string> = prismicT.PrismicDocument<Record<string, any>, string, string>>(config?: MockRestApiQueryConfig<Document_1>) => prismicT.Query<Document_1>;
|
|
31
31
|
|
|
32
32
|
declare type MockRestApiTagsConfig = MockRestApiConfig;
|
|
33
33
|
declare const tags: (config?: MockRestApiTagsConfig) => prismicT.Tags<string>;
|
|
34
34
|
|
|
35
35
|
export { MockRestApiQueryConfig, MockRestApiRefConfig, MockRestApiRefValue, MockRestApiRepositoryConfig, MockRestApiTagsConfig, query, ref, repository, tags };
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,7 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const changeCase = require('change-case');
|
|
6
|
+
const fakerLocaleEN = require('faker/lib/locales/en/index.js');
|
|
7
|
+
const Faker = require('faker/lib/index.js');
|
|
8
|
+
const prismicT = require('@prismicio/types');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
function _interopNamespace(e) {
|
|
13
|
+
if (e && e.__esModule) return e;
|
|
14
|
+
const n = Object.create(null);
|
|
15
|
+
if (e) {
|
|
16
|
+
for (const k in e) {
|
|
17
|
+
if (k !== 'default') {
|
|
18
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return e[k]; }
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
n["default"] = e;
|
|
27
|
+
return Object.freeze(n);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const changeCase__namespace = /*#__PURE__*/_interopNamespace(changeCase);
|
|
31
|
+
const fakerLocaleEN__namespace = /*#__PURE__*/_interopNamespace(fakerLocaleEN);
|
|
32
|
+
const Faker__default = /*#__PURE__*/_interopDefaultLegacy(Faker);
|
|
33
|
+
const prismicT__namespace = /*#__PURE__*/_interopNamespace(prismicT);
|
|
5
34
|
|
|
6
35
|
const FAKER_SEED = 1984;
|
|
7
36
|
|
|
@@ -16,8 +45,8 @@ const createFaker = (seed = FAKER_SEED) => {
|
|
|
16
45
|
if (createFaker.cache[cacheKey]) {
|
|
17
46
|
return createFaker.cache[cacheKey];
|
|
18
47
|
}
|
|
19
|
-
const fakerInstance = new
|
|
20
|
-
fakerInstance.locales["en"] =
|
|
48
|
+
const fakerInstance = new Faker__default["default"]();
|
|
49
|
+
fakerInstance.locales["en"] = fakerLocaleEN__namespace;
|
|
21
50
|
fakerInstance.seed(normalizedSeed);
|
|
22
51
|
createFaker.cache[cacheKey] = fakerInstance;
|
|
23
52
|
return fakerInstance;
|
|
@@ -30,7 +59,7 @@ const generateTags = (config) => {
|
|
|
30
59
|
return Array(faker.datatype.number({
|
|
31
60
|
min: (_a = config.min) != null ? _a : 0,
|
|
32
61
|
max: (_b = config.max) != null ? _b : 2
|
|
33
|
-
})).fill(void 0).map(() =>
|
|
62
|
+
})).fill(void 0).map(() => changeCase__namespace.capitalCase(faker.lorem.words(faker.datatype.number({ min: 1, max: 3 }))));
|
|
34
63
|
};
|
|
35
64
|
|
|
36
65
|
const title = (config = {}) => {
|
|
@@ -44,10 +73,10 @@ const title = (config = {}) => {
|
|
|
44
73
|
"heading6"
|
|
45
74
|
]).join(",");
|
|
46
75
|
return {
|
|
47
|
-
type:
|
|
76
|
+
type: prismicT__namespace.CustomTypeModelFieldType.StructuredText,
|
|
48
77
|
config: {
|
|
49
|
-
label:
|
|
50
|
-
placeholder:
|
|
78
|
+
label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
|
|
79
|
+
placeholder: changeCase__namespace.sentenceCase(faker.lorem.words(3)),
|
|
51
80
|
single,
|
|
52
81
|
allowTargetBlank: faker.datatype.boolean() ? true : void 0
|
|
53
82
|
}
|
|
@@ -58,16 +87,16 @@ const timestamp = (config = {}) => {
|
|
|
58
87
|
const faker = createFaker(config.seed);
|
|
59
88
|
const after = config.after || faker.date.past(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
60
89
|
const before = config.before || faker.date.future(20, new Date("2021-03-07")).toISOString().split("T")[0];
|
|
61
|
-
return faker.date.between(after, before).toISOString();
|
|
90
|
+
return config.state === "empty" ? null : faker.date.between(after, before).toISOString();
|
|
62
91
|
};
|
|
63
92
|
|
|
64
93
|
const buildEmbedField = (config) => {
|
|
65
94
|
const faker = createFaker(config.seed);
|
|
66
95
|
return {
|
|
67
|
-
type: faker.datatype.boolean() ?
|
|
96
|
+
type: faker.datatype.boolean() ? prismicT__namespace.EmbedType.Link : prismicT__namespace.EmbedType.Rich,
|
|
68
97
|
url: config.embedData.url,
|
|
69
98
|
html: config.embedData.html,
|
|
70
|
-
title:
|
|
99
|
+
title: changeCase__namespace.capitalCase(faker.lorem.words(3)),
|
|
71
100
|
version: faker.datatype.number({ min: 1, max: 3, precision: 10 }).toString(),
|
|
72
101
|
cache_age: faker.datatype.number(),
|
|
73
102
|
embed_url: config.embedData.embed_url,
|
|
@@ -145,23 +174,32 @@ const getMockEmbedData = (config) => {
|
|
|
145
174
|
return faker.random.arrayElement(dataSet$1);
|
|
146
175
|
};
|
|
147
176
|
|
|
148
|
-
const
|
|
177
|
+
const buildImageFieldImage = (config) => {
|
|
149
178
|
var _a, _b, _c, _d;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
179
|
+
if (config.state === "empty") {
|
|
180
|
+
return {
|
|
181
|
+
url: null,
|
|
182
|
+
dimensions: null,
|
|
183
|
+
alt: null,
|
|
184
|
+
copyright: null
|
|
185
|
+
};
|
|
186
|
+
} else {
|
|
187
|
+
const faker = createFaker(config.seed);
|
|
188
|
+
const url = new URL(config.imageData.url);
|
|
189
|
+
const dimensions = {
|
|
190
|
+
width: (_b = (_a = config.constraint) == null ? void 0 : _a.width) != null ? _b : config.imageData.width,
|
|
191
|
+
height: (_d = (_c = config.constraint) == null ? void 0 : _c.height) != null ? _d : config.imageData.height
|
|
192
|
+
};
|
|
193
|
+
url.searchParams.set("w", dimensions.width.toString());
|
|
194
|
+
url.searchParams.set("h", dimensions.height.toString());
|
|
195
|
+
url.searchParams.set("fit", "crop");
|
|
196
|
+
return {
|
|
197
|
+
url: url.toString(),
|
|
198
|
+
dimensions,
|
|
199
|
+
alt: faker.lorem.sentence(),
|
|
200
|
+
copyright: faker.lorem.sentence()
|
|
201
|
+
};
|
|
202
|
+
}
|
|
165
203
|
};
|
|
166
204
|
|
|
167
205
|
const dataSet = [
|
|
@@ -269,12 +307,12 @@ const heading = (config = {}) => {
|
|
|
269
307
|
const faker = createFaker(config.seed);
|
|
270
308
|
const model = config.model || title({ seed: config.seed });
|
|
271
309
|
const types = ("single" in model.config ? model.config.single : model.config.multi).split(",").filter((type2) => [
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
310
|
+
prismicT__namespace.RichTextNodeType.heading1,
|
|
311
|
+
prismicT__namespace.RichTextNodeType.heading2,
|
|
312
|
+
prismicT__namespace.RichTextNodeType.heading3,
|
|
313
|
+
prismicT__namespace.RichTextNodeType.heading4,
|
|
314
|
+
prismicT__namespace.RichTextNodeType.heading5,
|
|
315
|
+
prismicT__namespace.RichTextNodeType.heading6
|
|
278
316
|
].includes(type2));
|
|
279
317
|
const type = faker.random.arrayElement(types);
|
|
280
318
|
if (type) {
|
|
@@ -282,7 +320,7 @@ const heading = (config = {}) => {
|
|
|
282
320
|
const pattern = patterns$4[patternKey];
|
|
283
321
|
return {
|
|
284
322
|
type,
|
|
285
|
-
text:
|
|
323
|
+
text: changeCase__namespace.capitalCase(faker.lorem.words(faker.datatype.number({
|
|
286
324
|
min: pattern.minWords,
|
|
287
325
|
max: pattern.maxWords
|
|
288
326
|
}))),
|
|
@@ -309,7 +347,7 @@ const paragraph = (config = {}) => {
|
|
|
309
347
|
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$3));
|
|
310
348
|
const pattern = patterns$3[patternKey];
|
|
311
349
|
return {
|
|
312
|
-
type:
|
|
350
|
+
type: prismicT__namespace.RichTextNodeType.paragraph,
|
|
313
351
|
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
314
352
|
spans: []
|
|
315
353
|
};
|
|
@@ -331,7 +369,7 @@ const preformatted = (config = {}) => {
|
|
|
331
369
|
const patternKey = config.pattern || faker.random.arrayElement(Object.keys(patterns$2));
|
|
332
370
|
const pattern = patterns$2[patternKey];
|
|
333
371
|
return {
|
|
334
|
-
type:
|
|
372
|
+
type: prismicT__namespace.RichTextNodeType.preformatted,
|
|
335
373
|
text: faker.lorem.paragraph(pattern.sentenceCount),
|
|
336
374
|
spans: []
|
|
337
375
|
};
|
|
@@ -361,7 +399,7 @@ const list = (config = {}) => {
|
|
|
361
399
|
});
|
|
362
400
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
363
401
|
return {
|
|
364
|
-
type:
|
|
402
|
+
type: prismicT__namespace.RichTextNodeType.listItem,
|
|
365
403
|
text: faker.lorem.sentence(),
|
|
366
404
|
spans: []
|
|
367
405
|
};
|
|
@@ -392,7 +430,7 @@ const oList = (config = {}) => {
|
|
|
392
430
|
});
|
|
393
431
|
return Array(itemsCount).fill(void 0).map(() => {
|
|
394
432
|
return {
|
|
395
|
-
type:
|
|
433
|
+
type: prismicT__namespace.RichTextNodeType.oListItem,
|
|
396
434
|
text: faker.lorem.sentence(),
|
|
397
435
|
spans: []
|
|
398
436
|
};
|
|
@@ -401,9 +439,13 @@ const oList = (config = {}) => {
|
|
|
401
439
|
|
|
402
440
|
const image = (config = {}) => {
|
|
403
441
|
const imageData = getMockImageData({ seed: config.seed });
|
|
404
|
-
const imageField =
|
|
442
|
+
const imageField = buildImageFieldImage({
|
|
443
|
+
seed: config.seed,
|
|
444
|
+
imageData,
|
|
445
|
+
state: false
|
|
446
|
+
});
|
|
405
447
|
return {
|
|
406
|
-
type:
|
|
448
|
+
type: prismicT__namespace.RichTextNodeType.image,
|
|
407
449
|
alt: imageField.alt,
|
|
408
450
|
url: imageField.url,
|
|
409
451
|
copyright: imageField.copyright,
|
|
@@ -415,24 +457,24 @@ const embed = (config = {}) => {
|
|
|
415
457
|
const embedData = getMockEmbedData({ seed: config.seed });
|
|
416
458
|
const embedField = buildEmbedField({ seed: config.seed, embedData });
|
|
417
459
|
return {
|
|
418
|
-
type:
|
|
460
|
+
type: prismicT__namespace.RichTextNodeType.embed,
|
|
419
461
|
oembed: embedField
|
|
420
462
|
};
|
|
421
463
|
};
|
|
422
464
|
|
|
423
465
|
({
|
|
424
|
-
[
|
|
425
|
-
[
|
|
426
|
-
[
|
|
427
|
-
[
|
|
428
|
-
[
|
|
429
|
-
[
|
|
430
|
-
[
|
|
431
|
-
[
|
|
432
|
-
[
|
|
433
|
-
[
|
|
434
|
-
[
|
|
435
|
-
[
|
|
466
|
+
[prismicT__namespace.RichTextNodeType.heading1]: heading,
|
|
467
|
+
[prismicT__namespace.RichTextNodeType.heading2]: heading,
|
|
468
|
+
[prismicT__namespace.RichTextNodeType.heading3]: heading,
|
|
469
|
+
[prismicT__namespace.RichTextNodeType.heading4]: heading,
|
|
470
|
+
[prismicT__namespace.RichTextNodeType.heading5]: heading,
|
|
471
|
+
[prismicT__namespace.RichTextNodeType.heading6]: heading,
|
|
472
|
+
[prismicT__namespace.RichTextNodeType.paragraph]: paragraph,
|
|
473
|
+
[prismicT__namespace.RichTextNodeType.preformatted]: preformatted,
|
|
474
|
+
[prismicT__namespace.RichTextNodeType.listItem]: list,
|
|
475
|
+
[prismicT__namespace.RichTextNodeType.oListItem]: oList,
|
|
476
|
+
[prismicT__namespace.RichTextNodeType.image]: image,
|
|
477
|
+
[prismicT__namespace.RichTextNodeType.embed]: embed
|
|
436
478
|
});
|
|
437
479
|
|
|
438
480
|
const ref = (config = {}) => {
|
|
@@ -442,7 +484,7 @@ const ref = (config = {}) => {
|
|
|
442
484
|
id: faker.git.shortSha(),
|
|
443
485
|
ref: faker.git.shortSha(),
|
|
444
486
|
isMasterRef: (_a = config.isMasterRef) != null ? _a : false,
|
|
445
|
-
label: config.isMasterRef ? "Master" :
|
|
487
|
+
label: config.isMasterRef ? "Master" : changeCase__namespace.capitalCase(faker.company.bsNoun())
|
|
446
488
|
};
|
|
447
489
|
if (config.isScheduled) {
|
|
448
490
|
value.scheduledAt = timestamp({ seed: config.seed });
|
|
@@ -466,7 +508,7 @@ const repository = (config = {}) => {
|
|
|
466
508
|
languages: [
|
|
467
509
|
{
|
|
468
510
|
id: faker.lorem.word(),
|
|
469
|
-
name:
|
|
511
|
+
name: changeCase__namespace.capitalCase(faker.lorem.word())
|
|
470
512
|
}
|
|
471
513
|
],
|
|
472
514
|
tags: generateTags({
|
|
@@ -512,4 +554,8 @@ const tags = (config = {}) => {
|
|
|
512
554
|
});
|
|
513
555
|
};
|
|
514
556
|
|
|
515
|
-
|
|
557
|
+
exports.query = query;
|
|
558
|
+
exports.ref = ref;
|
|
559
|
+
exports.repository = repository;
|
|
560
|
+
exports.tags = tags;
|
|
561
|
+
//# sourceMappingURL=index.js.map
|