@prismicio/mock 0.7.0-alpha.3 → 0.7.0-alpha.5
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/lib/createFaker.cjs +53 -3
- package/dist/lib/createFaker.cjs.map +1 -1
- package/dist/lib/createFaker.d.ts +3 -1
- package/dist/lib/createFaker.js +54 -4
- package/dist/lib/createFaker.js.map +1 -1
- package/dist/lib/lorem.cjs +1 -1
- package/dist/lib/lorem.cjs.map +1 -1
- package/dist/lib/lorem.js +1 -1
- package/dist/lib/lorem.js.map +1 -1
- package/dist/model/createModelMockFactory.cjs +4 -0
- package/dist/model/createModelMockFactory.cjs.map +1 -1
- package/dist/model/createModelMockFactory.d.ts +2 -0
- package/dist/model/createModelMockFactory.js +4 -0
- package/dist/model/createModelMockFactory.js.map +1 -1
- package/dist/value/createValueMockFactory.cjs +6 -6
- package/dist/value/createValueMockFactory.cjs.map +1 -1
- package/dist/value/createValueMockFactory.d.ts +4 -4
- package/dist/value/createValueMockFactory.js +6 -6
- package/dist/value/createValueMockFactory.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/createFaker.ts +61 -3
- package/src/lib/lorem.ts +3 -1
- package/src/model/createModelMockFactory.ts +5 -0
- package/src/value/createValueMockFactory.ts +14 -14
package/dist/lib/createFaker.cjs
CHANGED
|
@@ -14,6 +14,55 @@ const createFaker = (seed) => {
|
|
|
14
14
|
const DAY_MS = 1e3 * 60 * 60 * 24;
|
|
15
15
|
const YEAR_MS = DAY_MS * 365;
|
|
16
16
|
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
17
|
+
const RESERVED_WORDS = /* @__PURE__ */ new Set([
|
|
18
|
+
"break",
|
|
19
|
+
"case",
|
|
20
|
+
"catch",
|
|
21
|
+
"class",
|
|
22
|
+
"const",
|
|
23
|
+
"continue",
|
|
24
|
+
"debugger",
|
|
25
|
+
"default",
|
|
26
|
+
"delete",
|
|
27
|
+
"do",
|
|
28
|
+
"else",
|
|
29
|
+
"export",
|
|
30
|
+
"extends",
|
|
31
|
+
"false",
|
|
32
|
+
"finally",
|
|
33
|
+
"for",
|
|
34
|
+
"function",
|
|
35
|
+
"if",
|
|
36
|
+
"import",
|
|
37
|
+
"in",
|
|
38
|
+
"instanceof",
|
|
39
|
+
"new",
|
|
40
|
+
"null",
|
|
41
|
+
"return",
|
|
42
|
+
"super",
|
|
43
|
+
"switch",
|
|
44
|
+
"this",
|
|
45
|
+
"throw",
|
|
46
|
+
"true",
|
|
47
|
+
"try",
|
|
48
|
+
"typeof",
|
|
49
|
+
"var",
|
|
50
|
+
"void",
|
|
51
|
+
"while",
|
|
52
|
+
"with",
|
|
53
|
+
"let",
|
|
54
|
+
"static",
|
|
55
|
+
"yield",
|
|
56
|
+
"await",
|
|
57
|
+
"enum",
|
|
58
|
+
"implements",
|
|
59
|
+
"interface",
|
|
60
|
+
"package",
|
|
61
|
+
"private",
|
|
62
|
+
"protected",
|
|
63
|
+
"public"
|
|
64
|
+
]);
|
|
65
|
+
const NO_RESERVED_LOREM_WORDS = lorem.loremWords.filter((word) => !RESERVED_WORDS.has(word));
|
|
17
66
|
class Faker {
|
|
18
67
|
constructor(seed) {
|
|
19
68
|
__publicField(this, "seed");
|
|
@@ -43,14 +92,15 @@ class Faker {
|
|
|
43
92
|
words(length, wordOffset = this.range(0, lorem.loremWords.length)) {
|
|
44
93
|
return lorem.lorem(`${length}w`, wordOffset);
|
|
45
94
|
}
|
|
46
|
-
word() {
|
|
47
|
-
|
|
95
|
+
word({ allowReserved = false } = {}) {
|
|
96
|
+
const words = allowReserved ? lorem.loremWords : NO_RESERVED_LOREM_WORDS;
|
|
97
|
+
return this.randomElement(words);
|
|
48
98
|
}
|
|
49
99
|
lorem(length, wordOffset = this.range(0, lorem.loremWords.length)) {
|
|
50
100
|
return lorem.lorem(length, wordOffset);
|
|
51
101
|
}
|
|
52
102
|
url() {
|
|
53
|
-
return `https://${this.word()}.example`;
|
|
103
|
+
return `https://${this.word({ allowReserved: true })}.example`;
|
|
54
104
|
}
|
|
55
105
|
hexColor() {
|
|
56
106
|
return `#${this.hash(6)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFaker.cjs","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword(): string {\n\t\treturn this.randomElement(
|
|
1
|
+
{"version":3,"file":"createFaker.cjs","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\n// JavaScript reserved words\n// Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#reserved_words\n// Date: 2025-01-31\nconst RESERVED_WORDS = new Set([\n\t\"break\",\n\t\"case\",\n\t\"catch\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"else\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"finally\",\n\t\"for\",\n\t\"function\",\n\t\"if\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"new\",\n\t\"null\",\n\t\"return\",\n\t\"super\",\n\t\"switch\",\n\t\"this\",\n\t\"throw\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"while\",\n\t\"with\",\n\t\"let\",\n\t\"static\",\n\t\"yield\",\n\t\"await\",\n\t\"enum\",\n\t\"implements\",\n\t\"interface\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n]);\n\nconst NO_RESERVED_LOREM_WORDS = loremWords.filter(\n\t(word) => !RESERVED_WORDS.has(word),\n);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword({ allowReserved = false }: { allowReserved?: boolean } = {}): string {\n\t\tconst words = allowReserved ? loremWords : NO_RESERVED_LOREM_WORDS;\n\n\t\treturn this.randomElement(words);\n\t}\n\n\tlorem(\n\t\tlength: Parameters<typeof lorem>[0],\n\t\twordOffset = this.range(0, loremWords.length),\n\t): string {\n\t\treturn lorem(length, wordOffset);\n\t}\n\n\turl(): string {\n\t\treturn `https://${this.word({ allowReserved: true })}.example`;\n\t}\n\n\thexColor(): string {\n\t\treturn `#${this.hash(6)}`;\n\t}\n\n\thash(length: number): string {\n\t\tlet hash = \"\";\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst chars = this.boolean() ? \"abcdef\" : \"0123456789\";\n\n\t\t\thash += chars[this.range(0, chars.length)];\n\t\t}\n\n\t\treturn hash;\n\t}\n\n\tdate(): Date {\n\t\treturn new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));\n\t}\n\n\tdateAfter(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp, timestamp + YEAR_MS * 3));\n\t}\n\n\tdateBefore(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp - YEAR_MS * 3, timestamp));\n\t}\n\n\tdateBetween(min: Date, max: Date): Date {\n\t\treturn new Date(this.range(min.getTime(), max.getTime()));\n\t}\n}\n"],"names":["loremWords","PRNG","lorem"],"mappings":"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"}
|
|
@@ -12,7 +12,9 @@ export declare class Faker {
|
|
|
12
12
|
range(min: number, max: number): number;
|
|
13
13
|
rangeFloat(min: number, max: number): number;
|
|
14
14
|
words(length: number, wordOffset?: number): string;
|
|
15
|
-
word(
|
|
15
|
+
word({ allowReserved }?: {
|
|
16
|
+
allowReserved?: boolean;
|
|
17
|
+
}): string;
|
|
16
18
|
lorem(length: Parameters<typeof lorem>[0], wordOffset?: number): string;
|
|
17
19
|
url(): string;
|
|
18
20
|
hexColor(): string;
|
package/dist/lib/createFaker.js
CHANGED
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
|
-
import {
|
|
7
|
+
import { loremWords, lorem } from "./lorem.js";
|
|
8
8
|
import { PRNG } from "./PRNG.js";
|
|
9
9
|
const createFaker = (seed) => {
|
|
10
10
|
return new Faker(seed);
|
|
@@ -12,6 +12,55 @@ const createFaker = (seed) => {
|
|
|
12
12
|
const DAY_MS = 1e3 * 60 * 60 * 24;
|
|
13
13
|
const YEAR_MS = DAY_MS * 365;
|
|
14
14
|
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
15
|
+
const RESERVED_WORDS = /* @__PURE__ */ new Set([
|
|
16
|
+
"break",
|
|
17
|
+
"case",
|
|
18
|
+
"catch",
|
|
19
|
+
"class",
|
|
20
|
+
"const",
|
|
21
|
+
"continue",
|
|
22
|
+
"debugger",
|
|
23
|
+
"default",
|
|
24
|
+
"delete",
|
|
25
|
+
"do",
|
|
26
|
+
"else",
|
|
27
|
+
"export",
|
|
28
|
+
"extends",
|
|
29
|
+
"false",
|
|
30
|
+
"finally",
|
|
31
|
+
"for",
|
|
32
|
+
"function",
|
|
33
|
+
"if",
|
|
34
|
+
"import",
|
|
35
|
+
"in",
|
|
36
|
+
"instanceof",
|
|
37
|
+
"new",
|
|
38
|
+
"null",
|
|
39
|
+
"return",
|
|
40
|
+
"super",
|
|
41
|
+
"switch",
|
|
42
|
+
"this",
|
|
43
|
+
"throw",
|
|
44
|
+
"true",
|
|
45
|
+
"try",
|
|
46
|
+
"typeof",
|
|
47
|
+
"var",
|
|
48
|
+
"void",
|
|
49
|
+
"while",
|
|
50
|
+
"with",
|
|
51
|
+
"let",
|
|
52
|
+
"static",
|
|
53
|
+
"yield",
|
|
54
|
+
"await",
|
|
55
|
+
"enum",
|
|
56
|
+
"implements",
|
|
57
|
+
"interface",
|
|
58
|
+
"package",
|
|
59
|
+
"private",
|
|
60
|
+
"protected",
|
|
61
|
+
"public"
|
|
62
|
+
]);
|
|
63
|
+
const NO_RESERVED_LOREM_WORDS = loremWords.filter((word) => !RESERVED_WORDS.has(word));
|
|
15
64
|
class Faker {
|
|
16
65
|
constructor(seed) {
|
|
17
66
|
__publicField(this, "seed");
|
|
@@ -41,14 +90,15 @@ class Faker {
|
|
|
41
90
|
words(length, wordOffset = this.range(0, loremWords.length)) {
|
|
42
91
|
return lorem(`${length}w`, wordOffset);
|
|
43
92
|
}
|
|
44
|
-
word() {
|
|
45
|
-
|
|
93
|
+
word({ allowReserved = false } = {}) {
|
|
94
|
+
const words = allowReserved ? loremWords : NO_RESERVED_LOREM_WORDS;
|
|
95
|
+
return this.randomElement(words);
|
|
46
96
|
}
|
|
47
97
|
lorem(length, wordOffset = this.range(0, loremWords.length)) {
|
|
48
98
|
return lorem(length, wordOffset);
|
|
49
99
|
}
|
|
50
100
|
url() {
|
|
51
|
-
return `https://${this.word()}.example`;
|
|
101
|
+
return `https://${this.word({ allowReserved: true })}.example`;
|
|
52
102
|
}
|
|
53
103
|
hexColor() {
|
|
54
104
|
return `#${this.hash(6)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFaker.js","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword(): string {\n\t\treturn this.randomElement(
|
|
1
|
+
{"version":3,"file":"createFaker.js","sources":["../../../src/lib/createFaker.ts"],"sourcesContent":["import { Seed } from \"../types\";\n\nimport { lorem, loremWords } from \"./lorem\";\nimport { PRNG } from \"./PRNG\";\n\nexport const createFaker = (seed: Seed): Faker => {\n\treturn new Faker(seed);\n};\n\nconst DAY_MS = 1000 * 60 * 60 * 24;\nconst YEAR_MS = DAY_MS * 365;\nconst YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);\n\n// JavaScript reserved words\n// Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#reserved_words\n// Date: 2025-01-31\nconst RESERVED_WORDS = new Set([\n\t\"break\",\n\t\"case\",\n\t\"catch\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"else\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"finally\",\n\t\"for\",\n\t\"function\",\n\t\"if\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"new\",\n\t\"null\",\n\t\"return\",\n\t\"super\",\n\t\"switch\",\n\t\"this\",\n\t\"throw\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"while\",\n\t\"with\",\n\t\"let\",\n\t\"static\",\n\t\"yield\",\n\t\"await\",\n\t\"enum\",\n\t\"implements\",\n\t\"interface\",\n\t\"package\",\n\t\"private\",\n\t\"protected\",\n\t\"public\",\n]);\n\nconst NO_RESERVED_LOREM_WORDS = loremWords.filter(\n\t(word) => !RESERVED_WORDS.has(word),\n);\n\nexport class Faker {\n\tseed: Seed;\n\n\tprivate prng: PRNG;\n\n\tconstructor(seed: Seed) {\n\t\tthis.seed = seed;\n\n\t\tthis.prng = new PRNG(seed.toString());\n\t}\n\n\trandom(): number {\n\t\treturn this.prng.next();\n\t}\n\n\tboolean(): boolean {\n\t\treturn this.random() >= 0.5;\n\t}\n\n\trandomElement<T>(elements: readonly T[]): T {\n\t\treturn elements[this.range(0, elements.length)];\n\t}\n\n\trandomElements<T>(elements: readonly T[]): T[] {\n\t\tconst alwaysInclude = this.randomElement(elements);\n\n\t\treturn elements.filter(\n\t\t\t(element) => element === alwaysInclude || this.boolean(),\n\t\t);\n\t}\n\n\trange(min: number, max: number): number {\n\t\treturn Math.floor(this.rangeFloat(Math.ceil(min), Math.floor(max)));\n\t}\n\n\trangeFloat(min: number, max: number): number {\n\t\treturn this.random() * (max - min) + min;\n\t}\n\n\twords(length: number, wordOffset = this.range(0, loremWords.length)): string {\n\t\treturn lorem(`${length}w`, wordOffset);\n\t}\n\n\tword({ allowReserved = false }: { allowReserved?: boolean } = {}): string {\n\t\tconst words = allowReserved ? loremWords : NO_RESERVED_LOREM_WORDS;\n\n\t\treturn this.randomElement(words);\n\t}\n\n\tlorem(\n\t\tlength: Parameters<typeof lorem>[0],\n\t\twordOffset = this.range(0, loremWords.length),\n\t): string {\n\t\treturn lorem(length, wordOffset);\n\t}\n\n\turl(): string {\n\t\treturn `https://${this.word({ allowReserved: true })}.example`;\n\t}\n\n\thexColor(): string {\n\t\treturn `#${this.hash(6)}`;\n\t}\n\n\thash(length: number): string {\n\t\tlet hash = \"\";\n\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tconst chars = this.boolean() ? \"abcdef\" : \"0123456789\";\n\n\t\t\thash += chars[this.range(0, chars.length)];\n\t\t}\n\n\t\treturn hash;\n\t}\n\n\tdate(): Date {\n\t\treturn new Date(YEAR_2022_MS + this.range(-YEAR_MS * 3, YEAR_MS * 3));\n\t}\n\n\tdateAfter(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp, timestamp + YEAR_MS * 3));\n\t}\n\n\tdateBefore(date: Date): Date {\n\t\tconst timestamp = date.getTime();\n\n\t\treturn new Date(this.range(timestamp - YEAR_MS * 3, timestamp));\n\t}\n\n\tdateBetween(min: Date, max: Date): Date {\n\t\treturn new Date(this.range(min.getTime(), max.getTime()));\n\t}\n}\n"],"names":[],"mappings":"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"}
|
package/dist/lib/lorem.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
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";
|
|
4
|
-
const loremWords = wordsString.split(" ");
|
|
4
|
+
const loremWords = wordsString.split(" ").map((word) => word.replace(/,$/, ""));
|
|
5
5
|
const lorem = (length, wordOffset = 0) => {
|
|
6
6
|
const count = parseInt(length.substring(0, length.length - 1));
|
|
7
7
|
const countType = length.charAt(length.length - 1);
|
package/dist/lib/lorem.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lorem.cjs","sources":["../../../src/lib/lorem.ts"],"sourcesContent":["/**\n * The following code is a modified version of fast-lorem-ipsum from Amit Gupta.\n * The changes are made to support starting the return value from a configurable\n * word offset.\n *\n * https://github.com/amitguptagwl/fast-lorem-ipsum/tree/7f836ee59a23cc75e7ca5b1a1747ea888eab31c7\n *\n * MIT License\n *\n * Copyright (c) 2017 Amit Gupta\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst wordsString =\n\t\"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\";\n\nexport const loremWords = wordsString.split(\" \");\n\n/**\n * Returns \"Lorem ipsum\" text of a specified length.\n *\n * @example\n *\n * ```ts\n * lorem(\"100w\"); // 100 words\n * lorem(\"200c\"); // 200 characters\n * ```\n *\n * @param length - Length of the returned text in the form of `${number}w` or\n * `${number}c`. `w` means words, `c` means characters.\n *\n * @returns Lorem ipsum text.\n */\nexport const lorem = (length: `${number}w` | `${number}c`, wordOffset = 0) => {\n\tconst count = parseInt(length.substring(0, length.length - 1));\n\tconst countType = length.charAt(length.length - 1);\n\n\tif (!isNaN(count) && (countType === \"w\" || countType === \"c\")) {\n\t\t// Build a list of indicies for each space in the list of\n\t\t// words. Only do this on the first call of `lorem`. The list\n\t\t// is cached to a property on `lorem` itself.\n\t\tif (!lorem.spaceIndices.length) {\n\t\t\tlet startIndex = -1;\n\t\t\tdo {\n\t\t\t\tconst index = wordsString.indexOf(\" \", startIndex + 1);\n\n\t\t\t\tlorem.spaceIndices.push(index);\n\n\t\t\t\tstartIndex = index;\n\t\t\t} while (startIndex !== -1);\n\t\t}\n\n\t\tif (countType === \"c\") {\n\t\t\treturn wordsString.substring(0, count);\n\t\t} else {\n\t\t\tlet sentence = \"\";\n\n\t\t\tconst startSpaceIndex =\n\t\t\t\tlorem.spaceIndices[(wordOffset % lorem.spaceIndices.length) - 1];\n\n\t\t\tconst endSpaceIndex =\n\t\t\t\tlorem.spaceIndices[\n\t\t\t\t\t(((wordOffset % lorem.spaceIndices.length) + count) %\n\t\t\t\t\t\tlorem.spaceIndices.length) -\n\t\t\t\t\t\t1\n\t\t\t\t];\n\n\t\t\tif (\n\t\t\t\tcount + (wordOffset % lorem.spaceIndices.length) >\n\t\t\t\tlorem.spaceIndices.length\n\t\t\t) {\n\t\t\t\tsentence += wordsString.substring(startSpaceIndex + 1) + \" \";\n\n\t\t\t\tconst wraparoundCounts = Math.floor(count / lorem.spaceIndices.length);\n\t\t\t\tfor (let i = 0; i < wraparoundCounts; i++) {\n\t\t\t\t\tsentence += wordsString + \" \";\n\t\t\t\t}\n\n\t\t\t\tsentence += wordsString.substring(0, endSpaceIndex);\n\t\t\t} else {\n\t\t\t\tsentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);\n\t\t\t}\n\n\t\t\tif (sentence.charAt(sentence.length - 1) === \",\") {\n\t\t\t\treturn sentence.substring(0, sentence.length - 1);\n\t\t\t} else {\n\t\t\t\treturn sentence.substring(0, sentence.length);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new Error(\"Length must be of the form `${number}w` or `${number}c`\");\n};\nlorem.spaceIndices = [] as number[];\n"],"names":[],"mappings":";;AA8BA,MAAM,cACL;AAEY,MAAA,aAAa,YAAY,MAAM,GAAG;AAiBxC,MAAM,QAAQ,CAAC,QAAqC,aAAa,MAAK;AACtE,QAAA,QAAQ,SAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,CAAC;AAC7D,QAAM,YAAY,OAAO,OAAO,OAAO,SAAS,CAAC;AAEjD,MAAI,CAAC,MAAM,KAAK,MAAM,cAAc,OAAO,cAAc,MAAM;AAI1D,QAAA,CAAC,MAAM,aAAa,QAAQ;AAC/B,UAAI,aAAa;AACd,SAAA;AACF,cAAM,QAAQ,YAAY,QAAQ,KAAK,aAAa,CAAC;AAE/C,cAAA,aAAa,KAAK,KAAK;AAEhB,qBAAA;AAAA,MAAA,SACL,eAAe;AAAA,IACzB;AAEA,QAAI,cAAc,KAAK;AACf,aAAA,YAAY,UAAU,GAAG,KAAK;AAAA,IAAA,OAC/B;AACN,UAAI,WAAW;AAEf,YAAM,kBACL,MAAM,aAAc,aAAa,MAAM,aAAa,SAAU,CAAC;AAE1D,YAAA,gBACL,MAAM,cACF,aAAa,MAAM,aAAa,SAAU,SAC5C,MAAM,aAAa,SACnB,CAAC;AAGJ,UACC,QAAS,aAAa,MAAM,aAAa,SACzC,MAAM,aAAa,QAClB;AACD,oBAAY,YAAY,UAAU,kBAAkB,CAAC,IAAI;AAEzD,cAAM,mBAAmB,KAAK,MAAM,QAAQ,MAAM,aAAa,MAAM;AACrE,iBAAS,IAAI,GAAG,IAAI,kBAAkB,KAAK;AAC1C,sBAAY,cAAc;AAAA,QAC3B;AAEY,oBAAA,YAAY,UAAU,GAAG,aAAa;AAAA,MAAA,OAC5C;AACN,mBAAW,YAAY,UAAU,kBAAkB,GAAG,aAAa;AAAA,MACpE;AAEA,UAAI,SAAS,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK;AACjD,eAAO,SAAS,UAAU,GAAG,SAAS,SAAS,CAAC;AAAA,MAAA,OAC1C;AACN,eAAO,SAAS,UAAU,GAAG,SAAS,MAAM;AAAA,MAC7C;AAAA,IACD;AAAA,EACD;AAEM,QAAA,IAAI,MAAM,yDAAyD;AAC1E;AACA,MAAM,eAAe,CAAA;;;"}
|
|
1
|
+
{"version":3,"file":"lorem.cjs","sources":["../../../src/lib/lorem.ts"],"sourcesContent":["/**\n * The following code is a modified version of fast-lorem-ipsum from Amit Gupta.\n * The changes are made to support starting the return value from a configurable\n * word offset.\n *\n * https://github.com/amitguptagwl/fast-lorem-ipsum/tree/7f836ee59a23cc75e7ca5b1a1747ea888eab31c7\n *\n * MIT License\n *\n * Copyright (c) 2017 Amit Gupta\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst wordsString =\n\t\"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\";\n\nexport const loremWords = wordsString\n\t.split(\" \")\n\t.map((word) => word.replace(/,$/, \"\"));\n\n/**\n * Returns \"Lorem ipsum\" text of a specified length.\n *\n * @example\n *\n * ```ts\n * lorem(\"100w\"); // 100 words\n * lorem(\"200c\"); // 200 characters\n * ```\n *\n * @param length - Length of the returned text in the form of `${number}w` or\n * `${number}c`. `w` means words, `c` means characters.\n *\n * @returns Lorem ipsum text.\n */\nexport const lorem = (length: `${number}w` | `${number}c`, wordOffset = 0) => {\n\tconst count = parseInt(length.substring(0, length.length - 1));\n\tconst countType = length.charAt(length.length - 1);\n\n\tif (!isNaN(count) && (countType === \"w\" || countType === \"c\")) {\n\t\t// Build a list of indicies for each space in the list of\n\t\t// words. Only do this on the first call of `lorem`. The list\n\t\t// is cached to a property on `lorem` itself.\n\t\tif (!lorem.spaceIndices.length) {\n\t\t\tlet startIndex = -1;\n\t\t\tdo {\n\t\t\t\tconst index = wordsString.indexOf(\" \", startIndex + 1);\n\n\t\t\t\tlorem.spaceIndices.push(index);\n\n\t\t\t\tstartIndex = index;\n\t\t\t} while (startIndex !== -1);\n\t\t}\n\n\t\tif (countType === \"c\") {\n\t\t\treturn wordsString.substring(0, count);\n\t\t} else {\n\t\t\tlet sentence = \"\";\n\n\t\t\tconst startSpaceIndex =\n\t\t\t\tlorem.spaceIndices[(wordOffset % lorem.spaceIndices.length) - 1];\n\n\t\t\tconst endSpaceIndex =\n\t\t\t\tlorem.spaceIndices[\n\t\t\t\t\t(((wordOffset % lorem.spaceIndices.length) + count) %\n\t\t\t\t\t\tlorem.spaceIndices.length) -\n\t\t\t\t\t\t1\n\t\t\t\t];\n\n\t\t\tif (\n\t\t\t\tcount + (wordOffset % lorem.spaceIndices.length) >\n\t\t\t\tlorem.spaceIndices.length\n\t\t\t) {\n\t\t\t\tsentence += wordsString.substring(startSpaceIndex + 1) + \" \";\n\n\t\t\t\tconst wraparoundCounts = Math.floor(count / lorem.spaceIndices.length);\n\t\t\t\tfor (let i = 0; i < wraparoundCounts; i++) {\n\t\t\t\t\tsentence += wordsString + \" \";\n\t\t\t\t}\n\n\t\t\t\tsentence += wordsString.substring(0, endSpaceIndex);\n\t\t\t} else {\n\t\t\t\tsentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);\n\t\t\t}\n\n\t\t\tif (sentence.charAt(sentence.length - 1) === \",\") {\n\t\t\t\treturn sentence.substring(0, sentence.length - 1);\n\t\t\t} else {\n\t\t\t\treturn sentence.substring(0, sentence.length);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new Error(\"Length must be of the form `${number}w` or `${number}c`\");\n};\nlorem.spaceIndices = [] as number[];\n"],"names":[],"mappings":";;AA8BA,MAAM,cACL;AAEM,MAAM,aAAa,YACxB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,QAAQ,MAAM,EAAE,CAAC;AAiB/B,MAAM,QAAQ,CAAC,QAAqC,aAAa,MAAK;AACtE,QAAA,QAAQ,SAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,CAAC;AAC7D,QAAM,YAAY,OAAO,OAAO,OAAO,SAAS,CAAC;AAEjD,MAAI,CAAC,MAAM,KAAK,MAAM,cAAc,OAAO,cAAc,MAAM;AAI1D,QAAA,CAAC,MAAM,aAAa,QAAQ;AAC/B,UAAI,aAAa;AACd,SAAA;AACF,cAAM,QAAQ,YAAY,QAAQ,KAAK,aAAa,CAAC;AAE/C,cAAA,aAAa,KAAK,KAAK;AAEhB,qBAAA;AAAA,MAAA,SACL,eAAe;AAAA,IACzB;AAEA,QAAI,cAAc,KAAK;AACf,aAAA,YAAY,UAAU,GAAG,KAAK;AAAA,IAAA,OAC/B;AACN,UAAI,WAAW;AAEf,YAAM,kBACL,MAAM,aAAc,aAAa,MAAM,aAAa,SAAU,CAAC;AAE1D,YAAA,gBACL,MAAM,cACF,aAAa,MAAM,aAAa,SAAU,SAC5C,MAAM,aAAa,SACnB,CAAC;AAGJ,UACC,QAAS,aAAa,MAAM,aAAa,SACzC,MAAM,aAAa,QAClB;AACD,oBAAY,YAAY,UAAU,kBAAkB,CAAC,IAAI;AAEzD,cAAM,mBAAmB,KAAK,MAAM,QAAQ,MAAM,aAAa,MAAM;AACrE,iBAAS,IAAI,GAAG,IAAI,kBAAkB,KAAK;AAC1C,sBAAY,cAAc;AAAA,QAC3B;AAEY,oBAAA,YAAY,UAAU,GAAG,aAAa;AAAA,MAAA,OAC5C;AACN,mBAAW,YAAY,UAAU,kBAAkB,GAAG,aAAa;AAAA,MACpE;AAEA,UAAI,SAAS,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK;AACjD,eAAO,SAAS,UAAU,GAAG,SAAS,SAAS,CAAC;AAAA,MAAA,OAC1C;AACN,eAAO,SAAS,UAAU,GAAG,SAAS,MAAM;AAAA,MAC7C;AAAA,IACD;AAAA,EACD;AAEM,QAAA,IAAI,MAAM,yDAAyD;AAC1E;AACA,MAAM,eAAe,CAAA;;;"}
|
package/dist/lib/lorem.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
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";
|
|
2
|
-
const loremWords = wordsString.split(" ");
|
|
2
|
+
const loremWords = wordsString.split(" ").map((word) => word.replace(/,$/, ""));
|
|
3
3
|
const lorem = (length, wordOffset = 0) => {
|
|
4
4
|
const count = parseInt(length.substring(0, length.length - 1));
|
|
5
5
|
const countType = length.charAt(length.length - 1);
|
package/dist/lib/lorem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lorem.js","sources":["../../../src/lib/lorem.ts"],"sourcesContent":["/**\n * The following code is a modified version of fast-lorem-ipsum from Amit Gupta.\n * The changes are made to support starting the return value from a configurable\n * word offset.\n *\n * https://github.com/amitguptagwl/fast-lorem-ipsum/tree/7f836ee59a23cc75e7ca5b1a1747ea888eab31c7\n *\n * MIT License\n *\n * Copyright (c) 2017 Amit Gupta\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst wordsString =\n\t\"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\";\n\nexport const loremWords = wordsString.split(\" \");\n\n/**\n * Returns \"Lorem ipsum\" text of a specified length.\n *\n * @example\n *\n * ```ts\n * lorem(\"100w\"); // 100 words\n * lorem(\"200c\"); // 200 characters\n * ```\n *\n * @param length - Length of the returned text in the form of `${number}w` or\n * `${number}c`. `w` means words, `c` means characters.\n *\n * @returns Lorem ipsum text.\n */\nexport const lorem = (length: `${number}w` | `${number}c`, wordOffset = 0) => {\n\tconst count = parseInt(length.substring(0, length.length - 1));\n\tconst countType = length.charAt(length.length - 1);\n\n\tif (!isNaN(count) && (countType === \"w\" || countType === \"c\")) {\n\t\t// Build a list of indicies for each space in the list of\n\t\t// words. Only do this on the first call of `lorem`. The list\n\t\t// is cached to a property on `lorem` itself.\n\t\tif (!lorem.spaceIndices.length) {\n\t\t\tlet startIndex = -1;\n\t\t\tdo {\n\t\t\t\tconst index = wordsString.indexOf(\" \", startIndex + 1);\n\n\t\t\t\tlorem.spaceIndices.push(index);\n\n\t\t\t\tstartIndex = index;\n\t\t\t} while (startIndex !== -1);\n\t\t}\n\n\t\tif (countType === \"c\") {\n\t\t\treturn wordsString.substring(0, count);\n\t\t} else {\n\t\t\tlet sentence = \"\";\n\n\t\t\tconst startSpaceIndex =\n\t\t\t\tlorem.spaceIndices[(wordOffset % lorem.spaceIndices.length) - 1];\n\n\t\t\tconst endSpaceIndex =\n\t\t\t\tlorem.spaceIndices[\n\t\t\t\t\t(((wordOffset % lorem.spaceIndices.length) + count) %\n\t\t\t\t\t\tlorem.spaceIndices.length) -\n\t\t\t\t\t\t1\n\t\t\t\t];\n\n\t\t\tif (\n\t\t\t\tcount + (wordOffset % lorem.spaceIndices.length) >\n\t\t\t\tlorem.spaceIndices.length\n\t\t\t) {\n\t\t\t\tsentence += wordsString.substring(startSpaceIndex + 1) + \" \";\n\n\t\t\t\tconst wraparoundCounts = Math.floor(count / lorem.spaceIndices.length);\n\t\t\t\tfor (let i = 0; i < wraparoundCounts; i++) {\n\t\t\t\t\tsentence += wordsString + \" \";\n\t\t\t\t}\n\n\t\t\t\tsentence += wordsString.substring(0, endSpaceIndex);\n\t\t\t} else {\n\t\t\t\tsentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);\n\t\t\t}\n\n\t\t\tif (sentence.charAt(sentence.length - 1) === \",\") {\n\t\t\t\treturn sentence.substring(0, sentence.length - 1);\n\t\t\t} else {\n\t\t\t\treturn sentence.substring(0, sentence.length);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new Error(\"Length must be of the form `${number}w` or `${number}c`\");\n};\nlorem.spaceIndices = [] as number[];\n"],"names":[],"mappings":"AA8BA,MAAM,cACL;AAEY,MAAA,aAAa,YAAY,MAAM,GAAG;AAiBxC,MAAM,QAAQ,CAAC,QAAqC,aAAa,MAAK;AACtE,QAAA,QAAQ,SAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,CAAC;AAC7D,QAAM,YAAY,OAAO,OAAO,OAAO,SAAS,CAAC;AAEjD,MAAI,CAAC,MAAM,KAAK,MAAM,cAAc,OAAO,cAAc,MAAM;AAI1D,QAAA,CAAC,MAAM,aAAa,QAAQ;AAC/B,UAAI,aAAa;AACd,SAAA;AACF,cAAM,QAAQ,YAAY,QAAQ,KAAK,aAAa,CAAC;AAE/C,cAAA,aAAa,KAAK,KAAK;AAEhB,qBAAA;AAAA,MAAA,SACL,eAAe;AAAA,IACzB;AAEA,QAAI,cAAc,KAAK;AACf,aAAA,YAAY,UAAU,GAAG,KAAK;AAAA,IAAA,OAC/B;AACN,UAAI,WAAW;AAEf,YAAM,kBACL,MAAM,aAAc,aAAa,MAAM,aAAa,SAAU,CAAC;AAE1D,YAAA,gBACL,MAAM,cACF,aAAa,MAAM,aAAa,SAAU,SAC5C,MAAM,aAAa,SACnB,CAAC;AAGJ,UACC,QAAS,aAAa,MAAM,aAAa,SACzC,MAAM,aAAa,QAClB;AACD,oBAAY,YAAY,UAAU,kBAAkB,CAAC,IAAI;AAEzD,cAAM,mBAAmB,KAAK,MAAM,QAAQ,MAAM,aAAa,MAAM;AACrE,iBAAS,IAAI,GAAG,IAAI,kBAAkB,KAAK;AAC1C,sBAAY,cAAc;AAAA,QAC3B;AAEY,oBAAA,YAAY,UAAU,GAAG,aAAa;AAAA,MAAA,OAC5C;AACN,mBAAW,YAAY,UAAU,kBAAkB,GAAG,aAAa;AAAA,MACpE;AAEA,UAAI,SAAS,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK;AACjD,eAAO,SAAS,UAAU,GAAG,SAAS,SAAS,CAAC;AAAA,MAAA,OAC1C;AACN,eAAO,SAAS,UAAU,GAAG,SAAS,MAAM;AAAA,MAC7C;AAAA,IACD;AAAA,EACD;AAEM,QAAA,IAAI,MAAM,yDAAyD;AAC1E;AACA,MAAM,eAAe,CAAA;"}
|
|
1
|
+
{"version":3,"file":"lorem.js","sources":["../../../src/lib/lorem.ts"],"sourcesContent":["/**\n * The following code is a modified version of fast-lorem-ipsum from Amit Gupta.\n * The changes are made to support starting the return value from a configurable\n * word offset.\n *\n * https://github.com/amitguptagwl/fast-lorem-ipsum/tree/7f836ee59a23cc75e7ca5b1a1747ea888eab31c7\n *\n * MIT License\n *\n * Copyright (c) 2017 Amit Gupta\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nconst wordsString =\n\t\"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\";\n\nexport const loremWords = wordsString\n\t.split(\" \")\n\t.map((word) => word.replace(/,$/, \"\"));\n\n/**\n * Returns \"Lorem ipsum\" text of a specified length.\n *\n * @example\n *\n * ```ts\n * lorem(\"100w\"); // 100 words\n * lorem(\"200c\"); // 200 characters\n * ```\n *\n * @param length - Length of the returned text in the form of `${number}w` or\n * `${number}c`. `w` means words, `c` means characters.\n *\n * @returns Lorem ipsum text.\n */\nexport const lorem = (length: `${number}w` | `${number}c`, wordOffset = 0) => {\n\tconst count = parseInt(length.substring(0, length.length - 1));\n\tconst countType = length.charAt(length.length - 1);\n\n\tif (!isNaN(count) && (countType === \"w\" || countType === \"c\")) {\n\t\t// Build a list of indicies for each space in the list of\n\t\t// words. Only do this on the first call of `lorem`. The list\n\t\t// is cached to a property on `lorem` itself.\n\t\tif (!lorem.spaceIndices.length) {\n\t\t\tlet startIndex = -1;\n\t\t\tdo {\n\t\t\t\tconst index = wordsString.indexOf(\" \", startIndex + 1);\n\n\t\t\t\tlorem.spaceIndices.push(index);\n\n\t\t\t\tstartIndex = index;\n\t\t\t} while (startIndex !== -1);\n\t\t}\n\n\t\tif (countType === \"c\") {\n\t\t\treturn wordsString.substring(0, count);\n\t\t} else {\n\t\t\tlet sentence = \"\";\n\n\t\t\tconst startSpaceIndex =\n\t\t\t\tlorem.spaceIndices[(wordOffset % lorem.spaceIndices.length) - 1];\n\n\t\t\tconst endSpaceIndex =\n\t\t\t\tlorem.spaceIndices[\n\t\t\t\t\t(((wordOffset % lorem.spaceIndices.length) + count) %\n\t\t\t\t\t\tlorem.spaceIndices.length) -\n\t\t\t\t\t\t1\n\t\t\t\t];\n\n\t\t\tif (\n\t\t\t\tcount + (wordOffset % lorem.spaceIndices.length) >\n\t\t\t\tlorem.spaceIndices.length\n\t\t\t) {\n\t\t\t\tsentence += wordsString.substring(startSpaceIndex + 1) + \" \";\n\n\t\t\t\tconst wraparoundCounts = Math.floor(count / lorem.spaceIndices.length);\n\t\t\t\tfor (let i = 0; i < wraparoundCounts; i++) {\n\t\t\t\t\tsentence += wordsString + \" \";\n\t\t\t\t}\n\n\t\t\t\tsentence += wordsString.substring(0, endSpaceIndex);\n\t\t\t} else {\n\t\t\t\tsentence = wordsString.substring(startSpaceIndex + 1, endSpaceIndex);\n\t\t\t}\n\n\t\t\tif (sentence.charAt(sentence.length - 1) === \",\") {\n\t\t\t\treturn sentence.substring(0, sentence.length - 1);\n\t\t\t} else {\n\t\t\t\treturn sentence.substring(0, sentence.length);\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow new Error(\"Length must be of the form `${number}w` or `${number}c`\");\n};\nlorem.spaceIndices = [] as number[];\n"],"names":[],"mappings":"AA8BA,MAAM,cACL;AAEM,MAAM,aAAa,YACxB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,KAAK,QAAQ,MAAM,EAAE,CAAC;AAiB/B,MAAM,QAAQ,CAAC,QAAqC,aAAa,MAAK;AACtE,QAAA,QAAQ,SAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC,CAAC;AAC7D,QAAM,YAAY,OAAO,OAAO,OAAO,SAAS,CAAC;AAEjD,MAAI,CAAC,MAAM,KAAK,MAAM,cAAc,OAAO,cAAc,MAAM;AAI1D,QAAA,CAAC,MAAM,aAAa,QAAQ;AAC/B,UAAI,aAAa;AACd,SAAA;AACF,cAAM,QAAQ,YAAY,QAAQ,KAAK,aAAa,CAAC;AAE/C,cAAA,aAAa,KAAK,KAAK;AAEhB,qBAAA;AAAA,MAAA,SACL,eAAe;AAAA,IACzB;AAEA,QAAI,cAAc,KAAK;AACf,aAAA,YAAY,UAAU,GAAG,KAAK;AAAA,IAAA,OAC/B;AACN,UAAI,WAAW;AAEf,YAAM,kBACL,MAAM,aAAc,aAAa,MAAM,aAAa,SAAU,CAAC;AAE1D,YAAA,gBACL,MAAM,cACF,aAAa,MAAM,aAAa,SAAU,SAC5C,MAAM,aAAa,SACnB,CAAC;AAGJ,UACC,QAAS,aAAa,MAAM,aAAa,SACzC,MAAM,aAAa,QAClB;AACD,oBAAY,YAAY,UAAU,kBAAkB,CAAC,IAAI;AAEzD,cAAM,mBAAmB,KAAK,MAAM,QAAQ,MAAM,aAAa,MAAM;AACrE,iBAAS,IAAI,GAAG,IAAI,kBAAkB,KAAK;AAC1C,sBAAY,cAAc;AAAA,QAC3B;AAEY,oBAAA,YAAY,UAAU,GAAG,aAAa;AAAA,MAAA,OAC5C;AACN,mBAAW,YAAY,UAAU,kBAAkB,GAAG,aAAa;AAAA,MACpE;AAEA,UAAI,SAAS,OAAO,SAAS,SAAS,CAAC,MAAM,KAAK;AACjD,eAAO,SAAS,UAAU,GAAG,SAAS,SAAS,CAAC;AAAA,MAAA,OAC1C;AACN,eAAO,SAAS,UAAU,GAAG,SAAS,MAAM;AAAA,MAC7C;AAAA,IACD;AAAA,EACD;AAEM,QAAA,IAAI,MAAM,yDAAyD;AAC1E;AACA,MAAM,eAAe,CAAA;"}
|
|
@@ -32,6 +32,7 @@ const sliceZone = require("./sliceZone.cjs");
|
|
|
32
32
|
const timestamp = require("./timestamp.cjs");
|
|
33
33
|
const title = require("./title.cjs");
|
|
34
34
|
const uid = require("./uid.cjs");
|
|
35
|
+
const table = require("./table.cjs");
|
|
35
36
|
const createModelMockFactory = (...args) => {
|
|
36
37
|
return new ModelMockFactory(...args);
|
|
37
38
|
};
|
|
@@ -109,6 +110,9 @@ class ModelMockFactory {
|
|
|
109
110
|
sliceZone(config) {
|
|
110
111
|
return sliceZone.sliceZone({ ...config, faker: this.faker });
|
|
111
112
|
}
|
|
113
|
+
table(config) {
|
|
114
|
+
return table.table({ ...config, faker: this.faker });
|
|
115
|
+
}
|
|
112
116
|
timestamp(config) {
|
|
113
117
|
return timestamp.timestamp({ ...config, faker: this.faker });
|
|
114
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createModelMockFactory.cjs","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tNestedGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, MockUIDModelConfig } from \"./uid\";\n\nexport const createModelMockFactory = (\n\t...args: ConstructorParameters<typeof ModelMockFactory>\n): ModelMockFactory => {\n\treturn new ModelMockFactory(...args);\n};\n\ntype ModelMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ModelMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ModelMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<ThumbnailNames extends string = string>(\n\t\tconfig?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>,\n\t) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<AllowTargetBlank extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>,\n\t) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<WithMultipleBlocks extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>,\n\t) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<Option extends string, DefaultOption extends Option>(\n\t\tconfig?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>,\n\t) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<Variation extends prismic.SharedSliceModelVariation>(\n\t\tconfig?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>,\n\t) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tSlices extends Record<\n\t\t\tstring,\n\t\t\tprismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice\n\t\t>,\n\t>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","buildMockGroupFieldMap","boolean","color","contentRelationship","customType","date","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceChoice","sharedSliceVariation","slice","sliceZone","timestamp","title","uid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createModelMockFactory.cjs","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tNestedGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, MockUIDModelConfig } from \"./uid\";\nimport { MockTableModelConfig, table } from \"./table\";\n\nexport const createModelMockFactory = (\n\t...args: ConstructorParameters<typeof ModelMockFactory>\n): ModelMockFactory => {\n\treturn new ModelMockFactory(...args);\n};\n\ntype ModelMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ModelMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ModelMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<ThumbnailNames extends string = string>(\n\t\tconfig?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>,\n\t) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<AllowTargetBlank extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>,\n\t) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<WithMultipleBlocks extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>,\n\t) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<Option extends string, DefaultOption extends Option>(\n\t\tconfig?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>,\n\t) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<Variation extends prismic.SharedSliceModelVariation>(\n\t\tconfig?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>,\n\t) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tSlices extends Record<\n\t\t\tstring,\n\t\t\tprismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice\n\t\t>,\n\t>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttable(config?: WithoutFakerConfig<MockTableModelConfig>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","buildMockGroupFieldMap","boolean","color","contentRelationship","customType","date","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceChoice","sharedSliceVariation","slice","sliceZone","table","timestamp","title","uid"],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ import { MockSliceZoneModelConfig } from "./sliceZone";
|
|
|
25
25
|
import { MockTimestampModelConfig } from "./timestamp";
|
|
26
26
|
import { MockTitleModelConfig } from "./title";
|
|
27
27
|
import { MockUIDModelConfig } from "./uid";
|
|
28
|
+
import { MockTableModelConfig } from "./table";
|
|
28
29
|
export declare const createModelMockFactory: (config: ModelMockFactoryConfig) => ModelMockFactory;
|
|
29
30
|
type ModelMockFactoryConfig = {
|
|
30
31
|
seed: Seed;
|
|
@@ -83,6 +84,7 @@ export declare class ModelMockFactory {
|
|
|
83
84
|
sharedSliceVariation<ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
|
|
84
85
|
slice<NonRepeatFields extends NestedGroupFieldModelMap, RepeatFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
|
|
85
86
|
sliceZone<Slices extends Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice>>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>): prismic.CustomTypeModelSliceZoneField<Slices>;
|
|
87
|
+
table(config?: WithoutFakerConfig<MockTableModelConfig>): prismic.CustomTypeModelTableField;
|
|
86
88
|
timestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>): prismic.CustomTypeModelTimestampField;
|
|
87
89
|
title(config?: WithoutFakerConfig<MockTitleModelConfig>): prismic.CustomTypeModelRichTextSingleField;
|
|
88
90
|
uid(config?: WithoutFakerConfig<MockUIDModelConfig>): prismic.CustomTypeModelUIDField;
|
|
@@ -30,6 +30,7 @@ import { sliceZone } from "./sliceZone.js";
|
|
|
30
30
|
import { timestamp } from "./timestamp.js";
|
|
31
31
|
import { title } from "./title.js";
|
|
32
32
|
import { uid } from "./uid.js";
|
|
33
|
+
import { table } from "./table.js";
|
|
33
34
|
const createModelMockFactory = (...args) => {
|
|
34
35
|
return new ModelMockFactory(...args);
|
|
35
36
|
};
|
|
@@ -107,6 +108,9 @@ class ModelMockFactory {
|
|
|
107
108
|
sliceZone(config) {
|
|
108
109
|
return sliceZone({ ...config, faker: this.faker });
|
|
109
110
|
}
|
|
111
|
+
table(config) {
|
|
112
|
+
return table({ ...config, faker: this.faker });
|
|
113
|
+
}
|
|
110
114
|
timestamp(config) {
|
|
111
115
|
return timestamp({ ...config, faker: this.faker });
|
|
112
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createModelMockFactory.js","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tNestedGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, MockUIDModelConfig } from \"./uid\";\n\nexport const createModelMockFactory = (\n\t...args: ConstructorParameters<typeof ModelMockFactory>\n): ModelMockFactory => {\n\treturn new ModelMockFactory(...args);\n};\n\ntype ModelMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ModelMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ModelMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<ThumbnailNames extends string = string>(\n\t\tconfig?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>,\n\t) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<AllowTargetBlank extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>,\n\t) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<WithMultipleBlocks extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>,\n\t) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<Option extends string, DefaultOption extends Option>(\n\t\tconfig?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>,\n\t) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<Variation extends prismic.SharedSliceModelVariation>(\n\t\tconfig?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>,\n\t) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tSlices extends Record<\n\t\t\tstring,\n\t\t\tprismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice\n\t\t>,\n\t>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createModelMockFactory.js","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tNestedGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, MockUIDModelConfig } from \"./uid\";\nimport { MockTableModelConfig, table } from \"./table\";\n\nexport const createModelMockFactory = (\n\t...args: ConstructorParameters<typeof ModelMockFactory>\n): ModelMockFactory => {\n\treturn new ModelMockFactory(...args);\n};\n\ntype ModelMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ModelMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ModelMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<ThumbnailNames extends string = string>(\n\t\tconfig?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>,\n\t) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<AllowTargetBlank extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>,\n\t) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<WithMultipleBlocks extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>,\n\t) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<Option extends string, DefaultOption extends Option>(\n\t\tconfig?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>,\n\t) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<Variation extends prismic.SharedSliceModelVariation>(\n\t\tconfig?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>,\n\t) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tSlices extends Record<\n\t\t\tstring,\n\t\t\tprismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice\n\t\t>,\n\t>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttable(config?: WithoutFakerConfig<MockTableModelConfig>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -87,6 +87,9 @@ class ValueMockFactory {
|
|
|
87
87
|
number(config) {
|
|
88
88
|
return number.number({ ...config, faker: this.faker });
|
|
89
89
|
}
|
|
90
|
+
richText(config) {
|
|
91
|
+
return index.richText({ ...config, faker: this.faker });
|
|
92
|
+
}
|
|
90
93
|
select(config) {
|
|
91
94
|
return select.select({ ...config, faker: this.faker });
|
|
92
95
|
}
|
|
@@ -102,6 +105,9 @@ class ValueMockFactory {
|
|
|
102
105
|
sliceZone(config) {
|
|
103
106
|
return sliceZone.sliceZone({ ...config, faker: this.faker });
|
|
104
107
|
}
|
|
108
|
+
table(config) {
|
|
109
|
+
return table.table({ ...config, faker: this.faker });
|
|
110
|
+
}
|
|
105
111
|
timestamp(config) {
|
|
106
112
|
return timestamp.timestamp({ ...config, faker: this.faker });
|
|
107
113
|
}
|
|
@@ -111,12 +117,6 @@ class ValueMockFactory {
|
|
|
111
117
|
uid(config) {
|
|
112
118
|
return uid.uid({ ...config, faker: this.faker });
|
|
113
119
|
}
|
|
114
|
-
richText(config) {
|
|
115
|
-
return index.richText({ ...config, faker: this.faker });
|
|
116
|
-
}
|
|
117
|
-
table(config) {
|
|
118
|
-
return table.table({ ...config, faker: this.faker });
|
|
119
|
-
}
|
|
120
120
|
}
|
|
121
121
|
exports.ValueMockFactory = ValueMockFactory;
|
|
122
122
|
exports.createValueMockFactory = createValueMockFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createValueMockFactory.cjs","sources":["../../../src/value/createValueMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanValueConfig } from \"./boolean\";\nimport { color, MockColorValueConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipValueConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeValueConfig } from \"./customType\";\nimport { date, MockDateValueConfig } from \"./date\";\nimport { document, MockDocumentValueConfig } from \"./document\";\nimport { embed, MockEmbedValueConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointValueConfig } from \"./geoPoint\";\nimport { group, MockGroupValueConfig } from \"./group\";\nimport { image, MockImageValue, MockImageValueConfig } from \"./image\";\nimport { integration, MockIntegrationFieldValueConfig } from \"./integration\";\nimport { keyText, MockKeyTextValueConfig } from \"./keyText\";\nimport { link, MockLinkValueConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaValueConfig } from \"./linkToMedia\";\nimport { number, MockNumberValueConfig } from \"./number\";\nimport { richText, MockRichTextValueConfig } from \"./richText\";\nimport { select, MockSelectValueConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceValueConfig } from \"./sharedSlice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationValueConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceValueConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneValueConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampValueConfig } from \"./timestamp\";\nimport { title, MockTitleValueConfig } from \"./title\";\nimport { uid, MockUIDValueConfig } from \"./uid\";\nimport { MockTableValueConfig, table } from \"./table\";\n\nexport const createValueMockFactory = (\n\t...args: ConstructorParameters<typeof ValueMockFactory>\n): ValueMockFactory => {\n\treturn new ValueMockFactory(...args);\n};\n\ntype ValueMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ValueMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ValueMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tboolean<Model extends prismic.CustomTypeModelBooleanField>(\n\t\tconfig?: WithoutFakerConfig<MockBooleanValueConfig<Model>>,\n\t) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelColorField = prismic.CustomTypeModelColorField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockColorValueConfig<Model, State>>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelContentRelationshipField = prismic.CustomTypeModelContentRelationshipField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipValueConfig<Model, State>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>,\n\t) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockDateValueConfig<Model, State>>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tdocument<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockDocumentValueConfig<Model>>,\n\t) {\n\t\treturn document({ ...config, faker: this.faker });\n\t}\n\n\tembed<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\t\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockEmbedValueConfig<Model, Data, State>>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGeoPointField = prismic.CustomTypeModelGeoPointField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGeoPointValueConfig<Model, State>>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGroupValueConfig<Model, State>>) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockImageValueConfig<Model, State>>,\n\t): MockImageValue<Model, State> {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField,\n\t\tData extends Record<string, unknown> = Record<string, unknown>,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockIntegrationFieldValueConfig<Model, Data, State>\n\t\t>,\n\t) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelKeyTextField = prismic.CustomTypeModelKeyTextField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockKeyTextValueConfig<Model, State>>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<\n\t\tLinkType extends\n\t\t\t(typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType],\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\tselect<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<\n\t\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n\t>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceVariation<\n\t\tModel extends\n\t\t\tprismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n\t>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n\t>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField,\n\t>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n\n\trichText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,\n\t>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\ttable<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\t>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","boolean","color","contentRelationship","customType","date","document","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","select","sharedSlice","sharedSliceVariation","slice","sliceZone","timestamp","title","uid","richText","table"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createValueMockFactory.cjs","sources":["../../../src/value/createValueMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanValueConfig } from \"./boolean\";\nimport { color, MockColorValueConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipValueConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeValueConfig } from \"./customType\";\nimport { date, MockDateValueConfig } from \"./date\";\nimport { document, MockDocumentValueConfig } from \"./document\";\nimport { embed, MockEmbedValueConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointValueConfig } from \"./geoPoint\";\nimport { group, MockGroupValueConfig } from \"./group\";\nimport { image, MockImageValue, MockImageValueConfig } from \"./image\";\nimport { integration, MockIntegrationFieldValueConfig } from \"./integration\";\nimport { keyText, MockKeyTextValueConfig } from \"./keyText\";\nimport { link, MockLinkValueConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaValueConfig } from \"./linkToMedia\";\nimport { number, MockNumberValueConfig } from \"./number\";\nimport { richText, MockRichTextValueConfig } from \"./richText\";\nimport { select, MockSelectValueConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceValueConfig } from \"./sharedSlice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationValueConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceValueConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneValueConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampValueConfig } from \"./timestamp\";\nimport { title, MockTitleValueConfig } from \"./title\";\nimport { uid, MockUIDValueConfig } from \"./uid\";\nimport { MockTableValueConfig, table } from \"./table\";\n\nexport const createValueMockFactory = (\n\t...args: ConstructorParameters<typeof ValueMockFactory>\n): ValueMockFactory => {\n\treturn new ValueMockFactory(...args);\n};\n\ntype ValueMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ValueMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ValueMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tboolean<Model extends prismic.CustomTypeModelBooleanField>(\n\t\tconfig?: WithoutFakerConfig<MockBooleanValueConfig<Model>>,\n\t) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelColorField = prismic.CustomTypeModelColorField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockColorValueConfig<Model, State>>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelContentRelationshipField = prismic.CustomTypeModelContentRelationshipField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipValueConfig<Model, State>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>,\n\t) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockDateValueConfig<Model, State>>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tdocument<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockDocumentValueConfig<Model>>,\n\t) {\n\t\treturn document({ ...config, faker: this.faker });\n\t}\n\n\tembed<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\t\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockEmbedValueConfig<Model, Data, State>>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGeoPointField = prismic.CustomTypeModelGeoPointField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGeoPointValueConfig<Model, State>>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGroupValueConfig<Model, State>>) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockImageValueConfig<Model, State>>,\n\t): MockImageValue<Model, State> {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField,\n\t\tData extends Record<string, unknown> = Record<string, unknown>,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockIntegrationFieldValueConfig<Model, Data, State>\n\t\t>,\n\t) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelKeyTextField = prismic.CustomTypeModelKeyTextField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockKeyTextValueConfig<Model, State>>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<\n\t\tLinkType extends\n\t\t\t(typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType],\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,\n\t>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<\n\t\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n\t>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceVariation<\n\t\tModel extends\n\t\t\tprismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n\t>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n\t>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttable<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\t>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField,\n\t>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","boolean","color","contentRelationship","customType","date","document","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceVariation","slice","sliceZone","table","timestamp","title","uid"],"mappings":"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"}
|
|
@@ -51,15 +51,12 @@ export declare class ValueMockFactory {
|
|
|
51
51
|
link<LinkType extends (typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType], Model extends prismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>): State extends "empty" ? prismic.EmptyLinkField<LinkType> : LinkType extends "Web" ? prismic.FilledLinkToWebField : LinkType extends "Media" ? prismic.FilledLinkToMediaField : LinkType extends "Document" ? prismic.FilledContentRelationshipField<string, string, unknown> : never;
|
|
52
52
|
linkToMedia<Model extends prismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>): prismic.LinkToMediaField<State, string>;
|
|
53
53
|
number<Model extends prismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>): prismic.NumberField<State>;
|
|
54
|
+
richText<Model extends prismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>): [] | [prismic.RTNode, ...prismic.RTNode[]];
|
|
54
55
|
select<Model extends prismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>): prismic.SelectField<NonNullable<NonNullable<Model["config"]>["options"]>[number], State>;
|
|
55
56
|
sharedSlice<Model extends prismic.SharedSliceModel = prismic.SharedSliceModel>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>): import("../types").ModelValue<Model, prismic.FieldState>;
|
|
56
57
|
sharedSliceVariation<Model extends prismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>): import("../types").ModelValue<Model, prismic.FieldState>;
|
|
57
58
|
slice<Model extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>): import("../types").ModelValue<Model, prismic.FieldState>;
|
|
58
59
|
sliceZone<Model extends prismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>): import("../types").ModelValue<Model, State>;
|
|
59
|
-
timestamp<Model extends prismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>): prismic.TimestampField<State>;
|
|
60
|
-
title<Model extends prismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>): prismic.TitleField<State>;
|
|
61
|
-
uid<Model extends prismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>): string;
|
|
62
|
-
richText<Model extends prismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>): [] | [prismic.RTNode, ...prismic.RTNode[]];
|
|
63
60
|
table<Model extends prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>): {
|
|
64
61
|
head?: {
|
|
65
62
|
rows: import("@prismicio/client/dist/types/value/table").TableHeaderRow[];
|
|
@@ -68,5 +65,8 @@ export declare class ValueMockFactory {
|
|
|
68
65
|
rows: import("@prismicio/client/dist/types/value/table").TableDataRow[];
|
|
69
66
|
};
|
|
70
67
|
} | null;
|
|
68
|
+
timestamp<Model extends prismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>): prismic.TimestampField<State>;
|
|
69
|
+
title<Model extends prismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField, State extends prismic.FieldState = "filled">(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>): prismic.TitleField<State>;
|
|
70
|
+
uid<Model extends prismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>): string;
|
|
71
71
|
}
|
|
72
72
|
export {};
|
|
@@ -85,6 +85,9 @@ class ValueMockFactory {
|
|
|
85
85
|
number(config) {
|
|
86
86
|
return number({ ...config, faker: this.faker });
|
|
87
87
|
}
|
|
88
|
+
richText(config) {
|
|
89
|
+
return richText({ ...config, faker: this.faker });
|
|
90
|
+
}
|
|
88
91
|
select(config) {
|
|
89
92
|
return select({ ...config, faker: this.faker });
|
|
90
93
|
}
|
|
@@ -100,6 +103,9 @@ class ValueMockFactory {
|
|
|
100
103
|
sliceZone(config) {
|
|
101
104
|
return sliceZone({ ...config, faker: this.faker });
|
|
102
105
|
}
|
|
106
|
+
table(config) {
|
|
107
|
+
return table({ ...config, faker: this.faker });
|
|
108
|
+
}
|
|
103
109
|
timestamp(config) {
|
|
104
110
|
return timestamp({ ...config, faker: this.faker });
|
|
105
111
|
}
|
|
@@ -109,12 +115,6 @@ class ValueMockFactory {
|
|
|
109
115
|
uid(config) {
|
|
110
116
|
return uid({ ...config, faker: this.faker });
|
|
111
117
|
}
|
|
112
|
-
richText(config) {
|
|
113
|
-
return richText({ ...config, faker: this.faker });
|
|
114
|
-
}
|
|
115
|
-
table(config) {
|
|
116
|
-
return table({ ...config, faker: this.faker });
|
|
117
|
-
}
|
|
118
118
|
}
|
|
119
119
|
export {
|
|
120
120
|
ValueMockFactory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createValueMockFactory.js","sources":["../../../src/value/createValueMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanValueConfig } from \"./boolean\";\nimport { color, MockColorValueConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipValueConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeValueConfig } from \"./customType\";\nimport { date, MockDateValueConfig } from \"./date\";\nimport { document, MockDocumentValueConfig } from \"./document\";\nimport { embed, MockEmbedValueConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointValueConfig } from \"./geoPoint\";\nimport { group, MockGroupValueConfig } from \"./group\";\nimport { image, MockImageValue, MockImageValueConfig } from \"./image\";\nimport { integration, MockIntegrationFieldValueConfig } from \"./integration\";\nimport { keyText, MockKeyTextValueConfig } from \"./keyText\";\nimport { link, MockLinkValueConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaValueConfig } from \"./linkToMedia\";\nimport { number, MockNumberValueConfig } from \"./number\";\nimport { richText, MockRichTextValueConfig } from \"./richText\";\nimport { select, MockSelectValueConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceValueConfig } from \"./sharedSlice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationValueConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceValueConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneValueConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampValueConfig } from \"./timestamp\";\nimport { title, MockTitleValueConfig } from \"./title\";\nimport { uid, MockUIDValueConfig } from \"./uid\";\nimport { MockTableValueConfig, table } from \"./table\";\n\nexport const createValueMockFactory = (\n\t...args: ConstructorParameters<typeof ValueMockFactory>\n): ValueMockFactory => {\n\treturn new ValueMockFactory(...args);\n};\n\ntype ValueMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ValueMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ValueMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tboolean<Model extends prismic.CustomTypeModelBooleanField>(\n\t\tconfig?: WithoutFakerConfig<MockBooleanValueConfig<Model>>,\n\t) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelColorField = prismic.CustomTypeModelColorField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockColorValueConfig<Model, State>>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelContentRelationshipField = prismic.CustomTypeModelContentRelationshipField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipValueConfig<Model, State>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>,\n\t) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockDateValueConfig<Model, State>>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tdocument<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockDocumentValueConfig<Model>>,\n\t) {\n\t\treturn document({ ...config, faker: this.faker });\n\t}\n\n\tembed<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\t\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockEmbedValueConfig<Model, Data, State>>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGeoPointField = prismic.CustomTypeModelGeoPointField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGeoPointValueConfig<Model, State>>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGroupValueConfig<Model, State>>) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockImageValueConfig<Model, State>>,\n\t): MockImageValue<Model, State> {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField,\n\t\tData extends Record<string, unknown> = Record<string, unknown>,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockIntegrationFieldValueConfig<Model, Data, State>\n\t\t>,\n\t) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelKeyTextField = prismic.CustomTypeModelKeyTextField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockKeyTextValueConfig<Model, State>>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<\n\t\tLinkType extends\n\t\t\t(typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType],\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\tselect<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<\n\t\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n\t>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceVariation<\n\t\tModel extends\n\t\t\tprismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n\t>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n\t>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField,\n\t>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n\n\trichText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,\n\t>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\ttable<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\t>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["document"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createValueMockFactory.js","sources":["../../../src/value/createValueMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanValueConfig } from \"./boolean\";\nimport { color, MockColorValueConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipValueConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeValueConfig } from \"./customType\";\nimport { date, MockDateValueConfig } from \"./date\";\nimport { document, MockDocumentValueConfig } from \"./document\";\nimport { embed, MockEmbedValueConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointValueConfig } from \"./geoPoint\";\nimport { group, MockGroupValueConfig } from \"./group\";\nimport { image, MockImageValue, MockImageValueConfig } from \"./image\";\nimport { integration, MockIntegrationFieldValueConfig } from \"./integration\";\nimport { keyText, MockKeyTextValueConfig } from \"./keyText\";\nimport { link, MockLinkValueConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaValueConfig } from \"./linkToMedia\";\nimport { number, MockNumberValueConfig } from \"./number\";\nimport { richText, MockRichTextValueConfig } from \"./richText\";\nimport { select, MockSelectValueConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceValueConfig } from \"./sharedSlice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationValueConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceValueConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneValueConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampValueConfig } from \"./timestamp\";\nimport { title, MockTitleValueConfig } from \"./title\";\nimport { uid, MockUIDValueConfig } from \"./uid\";\nimport { MockTableValueConfig, table } from \"./table\";\n\nexport const createValueMockFactory = (\n\t...args: ConstructorParameters<typeof ValueMockFactory>\n): ValueMockFactory => {\n\treturn new ValueMockFactory(...args);\n};\n\ntype ValueMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed;\n\t }\n\t| {\n\t\t\tfaker: Faker;\n\t };\n\nexport class ValueMockFactory {\n\tprivate faker: Faker;\n\n\tconstructor(config: ValueMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed);\n\t}\n\n\tget seed() {\n\t\treturn this.faker.seed;\n\t}\n\n\tboolean<Model extends prismic.CustomTypeModelBooleanField>(\n\t\tconfig?: WithoutFakerConfig<MockBooleanValueConfig<Model>>,\n\t) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelColorField = prismic.CustomTypeModelColorField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockColorValueConfig<Model, State>>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelContentRelationshipField = prismic.CustomTypeModelContentRelationshipField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipValueConfig<Model, State>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockCustomTypeValueConfig<Model>>,\n\t) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelDateField = prismic.CustomTypeModelDateField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockDateValueConfig<Model, State>>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tdocument<Model extends prismic.CustomTypeModel = prismic.CustomTypeModel>(\n\t\tconfig?: WithoutFakerConfig<MockDocumentValueConfig<Model>>,\n\t) {\n\t\treturn document({ ...config, faker: this.faker });\n\t}\n\n\tembed<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelEmbedField = prismic.CustomTypeModelEmbedField,\n\t\tData extends prismic.AnyOEmbed = prismic.AnyOEmbed,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockEmbedValueConfig<Model, Data, State>>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGeoPointField = prismic.CustomTypeModelGeoPointField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGeoPointValueConfig<Model, State>>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockGroupValueConfig<Model, State>>) {\n\t\treturn group({ ...config, faker: this.faker });\n\t}\n\n\timage<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelImageField = prismic.CustomTypeModelImageField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockImageValueConfig<Model, State>>,\n\t): MockImageValue<Model, State> {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField,\n\t\tData extends Record<string, unknown> = Record<string, unknown>,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockIntegrationFieldValueConfig<Model, Data, State>\n\t\t>,\n\t) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelKeyTextField = prismic.CustomTypeModelKeyTextField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockKeyTextValueConfig<Model, State>>) {\n\t\treturn keyText({ ...config, faker: this.faker });\n\t}\n\n\tlink<\n\t\tLinkType extends\n\t\t\t(typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType],\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkValueConfig<LinkType, Model, State>>) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelLinkToMediaField = prismic.CustomTypeModelLinkToMediaField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockLinkToMediaValueConfig<Model, State>>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelNumberField = prismic.CustomTypeModelNumberField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockNumberValueConfig<Model, State>>) {\n\t\treturn number({ ...config, faker: this.faker });\n\t}\n\n\trichText<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,\n\t>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {\n\t\treturn richText({ ...config, faker: this.faker });\n\t}\n\n\tselect<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSelectValueConfig<Model, State>>) {\n\t\treturn select({ ...config, faker: this.faker });\n\t}\n\n\tsharedSlice<\n\t\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n\t>(config?: WithoutFakerConfig<MockSharedSliceValueConfig<Model>>) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceVariation<\n\t\tModel extends\n\t\t\tprismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n\t>(config?: WithoutFakerConfig<MockSharedSliceVariationValueConfig<Model>>) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n\t>(config?: WithoutFakerConfig<MockSliceValueConfig<Model>>) {\n\t\treturn slice({ ...config, faker: this.faker });\n\t}\n\n\tsliceZone<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelSliceZoneField = prismic.CustomTypeModelSliceZoneField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockSliceZoneValueConfig<Model, State>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttable<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\t>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {\n\t\treturn table({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTimestampValueConfig<Model, State>>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelTitleField = prismic.CustomTypeModelTitleField,\n\t\tState extends prismic.FieldState = \"filled\",\n\t>(config?: WithoutFakerConfig<MockTitleValueConfig<Model, State>>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid<\n\t\tModel extends\n\t\t\tprismic.CustomTypeModelUIDField = prismic.CustomTypeModelUIDField,\n\t>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["document"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/lib/createFaker.ts
CHANGED
|
@@ -11,6 +11,62 @@ const DAY_MS = 1000 * 60 * 60 * 24;
|
|
|
11
11
|
const YEAR_MS = DAY_MS * 365;
|
|
12
12
|
const YEAR_2022_MS = 52 * (YEAR_MS + DAY_MS / 4);
|
|
13
13
|
|
|
14
|
+
// JavaScript reserved words
|
|
15
|
+
// Source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#reserved_words
|
|
16
|
+
// Date: 2025-01-31
|
|
17
|
+
const RESERVED_WORDS = new Set([
|
|
18
|
+
"break",
|
|
19
|
+
"case",
|
|
20
|
+
"catch",
|
|
21
|
+
"class",
|
|
22
|
+
"const",
|
|
23
|
+
"continue",
|
|
24
|
+
"debugger",
|
|
25
|
+
"default",
|
|
26
|
+
"delete",
|
|
27
|
+
"do",
|
|
28
|
+
"else",
|
|
29
|
+
"export",
|
|
30
|
+
"extends",
|
|
31
|
+
"false",
|
|
32
|
+
"finally",
|
|
33
|
+
"for",
|
|
34
|
+
"function",
|
|
35
|
+
"if",
|
|
36
|
+
"import",
|
|
37
|
+
"in",
|
|
38
|
+
"instanceof",
|
|
39
|
+
"new",
|
|
40
|
+
"null",
|
|
41
|
+
"return",
|
|
42
|
+
"super",
|
|
43
|
+
"switch",
|
|
44
|
+
"this",
|
|
45
|
+
"throw",
|
|
46
|
+
"true",
|
|
47
|
+
"try",
|
|
48
|
+
"typeof",
|
|
49
|
+
"var",
|
|
50
|
+
"void",
|
|
51
|
+
"while",
|
|
52
|
+
"with",
|
|
53
|
+
"let",
|
|
54
|
+
"static",
|
|
55
|
+
"yield",
|
|
56
|
+
"await",
|
|
57
|
+
"enum",
|
|
58
|
+
"implements",
|
|
59
|
+
"interface",
|
|
60
|
+
"package",
|
|
61
|
+
"private",
|
|
62
|
+
"protected",
|
|
63
|
+
"public",
|
|
64
|
+
]);
|
|
65
|
+
|
|
66
|
+
const NO_RESERVED_LOREM_WORDS = loremWords.filter(
|
|
67
|
+
(word) => !RESERVED_WORDS.has(word),
|
|
68
|
+
);
|
|
69
|
+
|
|
14
70
|
export class Faker {
|
|
15
71
|
seed: Seed;
|
|
16
72
|
|
|
@@ -54,8 +110,10 @@ export class Faker {
|
|
|
54
110
|
return lorem(`${length}w`, wordOffset);
|
|
55
111
|
}
|
|
56
112
|
|
|
57
|
-
word(): string {
|
|
58
|
-
|
|
113
|
+
word({ allowReserved = false }: { allowReserved?: boolean } = {}): string {
|
|
114
|
+
const words = allowReserved ? loremWords : NO_RESERVED_LOREM_WORDS;
|
|
115
|
+
|
|
116
|
+
return this.randomElement(words);
|
|
59
117
|
}
|
|
60
118
|
|
|
61
119
|
lorem(
|
|
@@ -66,7 +124,7 @@ export class Faker {
|
|
|
66
124
|
}
|
|
67
125
|
|
|
68
126
|
url(): string {
|
|
69
|
-
return `https://${this.word()}.example`;
|
|
127
|
+
return `https://${this.word({ allowReserved: true })}.example`;
|
|
70
128
|
}
|
|
71
129
|
|
|
72
130
|
hexColor(): string {
|
package/src/lib/lorem.ts
CHANGED
|
@@ -31,7 +31,9 @@
|
|
|
31
31
|
const wordsString =
|
|
32
32
|
"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";
|
|
33
33
|
|
|
34
|
-
export const loremWords = wordsString
|
|
34
|
+
export const loremWords = wordsString
|
|
35
|
+
.split(" ")
|
|
36
|
+
.map((word) => word.replace(/,$/, ""));
|
|
35
37
|
|
|
36
38
|
/**
|
|
37
39
|
* Returns "Lorem ipsum" text of a specified length.
|
|
@@ -44,6 +44,7 @@ import { sliceZone, MockSliceZoneModelConfig } from "./sliceZone";
|
|
|
44
44
|
import { timestamp, MockTimestampModelConfig } from "./timestamp";
|
|
45
45
|
import { title, MockTitleModelConfig } from "./title";
|
|
46
46
|
import { uid, MockUIDModelConfig } from "./uid";
|
|
47
|
+
import { MockTableModelConfig, table } from "./table";
|
|
47
48
|
|
|
48
49
|
export const createModelMockFactory = (
|
|
49
50
|
...args: ConstructorParameters<typeof ModelMockFactory>
|
|
@@ -200,6 +201,10 @@ export class ModelMockFactory {
|
|
|
200
201
|
return sliceZone({ ...config, faker: this.faker });
|
|
201
202
|
}
|
|
202
203
|
|
|
204
|
+
table(config?: WithoutFakerConfig<MockTableModelConfig>) {
|
|
205
|
+
return table({ ...config, faker: this.faker });
|
|
206
|
+
}
|
|
207
|
+
|
|
203
208
|
timestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {
|
|
204
209
|
return timestamp({ ...config, faker: this.faker });
|
|
205
210
|
}
|
|
@@ -189,6 +189,13 @@ export class ValueMockFactory {
|
|
|
189
189
|
return number({ ...config, faker: this.faker });
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
richText<
|
|
193
|
+
Model extends
|
|
194
|
+
prismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,
|
|
195
|
+
>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {
|
|
196
|
+
return richText({ ...config, faker: this.faker });
|
|
197
|
+
}
|
|
198
|
+
|
|
192
199
|
select<
|
|
193
200
|
Model extends
|
|
194
201
|
prismic.CustomTypeModelSelectField = prismic.CustomTypeModelSelectField,
|
|
@@ -224,6 +231,13 @@ export class ValueMockFactory {
|
|
|
224
231
|
return sliceZone({ ...config, faker: this.faker });
|
|
225
232
|
}
|
|
226
233
|
|
|
234
|
+
table<
|
|
235
|
+
Model extends
|
|
236
|
+
prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,
|
|
237
|
+
>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {
|
|
238
|
+
return table({ ...config, faker: this.faker });
|
|
239
|
+
}
|
|
240
|
+
|
|
227
241
|
timestamp<
|
|
228
242
|
Model extends
|
|
229
243
|
prismic.CustomTypeModelTimestampField = prismic.CustomTypeModelTimestampField,
|
|
@@ -246,18 +260,4 @@ export class ValueMockFactory {
|
|
|
246
260
|
>(config?: WithoutFakerConfig<MockUIDValueConfig<Model>>) {
|
|
247
261
|
return uid({ ...config, faker: this.faker });
|
|
248
262
|
}
|
|
249
|
-
|
|
250
|
-
richText<
|
|
251
|
-
Model extends
|
|
252
|
-
prismic.CustomTypeModelRichTextField = prismic.CustomTypeModelRichTextField,
|
|
253
|
-
>(config?: WithoutFakerConfig<MockRichTextValueConfig<Model>>) {
|
|
254
|
-
return richText({ ...config, faker: this.faker });
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
table<
|
|
258
|
-
Model extends
|
|
259
|
-
prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,
|
|
260
|
-
>(config?: WithoutFakerConfig<MockTableValueConfig<Model>>) {
|
|
261
|
-
return table({ ...config, faker: this.faker });
|
|
262
|
-
}
|
|
263
263
|
}
|