@prismicio/mock 0.7.0-alpha.0 → 0.7.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/model/index.cjs +2 -0
- package/dist/model/index.cjs.map +1 -1
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.js +2 -0
- package/dist/model/index.js.map +1 -1
- package/dist/model/table.cjs +33 -0
- package/dist/model/table.cjs.map +1 -0
- package/dist/model/table.d.ts +4 -0
- package/dist/model/table.js +16 -0
- package/dist/model/table.js.map +1 -0
- package/dist/value/index.cjs +2 -0
- package/dist/value/index.cjs.map +1 -1
- package/dist/value/index.d.ts +2 -0
- package/dist/value/index.js +2 -0
- package/dist/value/index.js.map +1 -1
- package/dist/value/table.cjs +64 -0
- package/dist/value/table.cjs.map +1 -0
- package/dist/value/table.d.ts +5 -0
- package/dist/value/table.js +47 -0
- package/dist/value/table.js.map +1 -0
- package/package.json +2 -2
- package/src/model/index.ts +1 -0
- package/src/model/table.ts +21 -0
- package/src/value/index.ts +3 -0
- package/src/value/table.ts +79 -0
package/dist/model/index.cjs
CHANGED
|
@@ -24,6 +24,7 @@ const sliceZone = require("./sliceZone.cjs");
|
|
|
24
24
|
const timestamp = require("./timestamp.cjs");
|
|
25
25
|
const title = require("./title.cjs");
|
|
26
26
|
const uid = require("./uid.cjs");
|
|
27
|
+
const table = require("./table.cjs");
|
|
27
28
|
const buildMockGroupFieldMap = require("./buildMockGroupFieldMap.cjs");
|
|
28
29
|
const createModelMockFactory = require("./createModelMockFactory.cjs");
|
|
29
30
|
exports.boolean = boolean.boolean;
|
|
@@ -50,6 +51,7 @@ exports.sliceZone = sliceZone.sliceZone;
|
|
|
50
51
|
exports.timestamp = timestamp.timestamp;
|
|
51
52
|
exports.title = title.title;
|
|
52
53
|
exports.uid = uid.uid;
|
|
54
|
+
exports.table = table.table;
|
|
53
55
|
exports.buildMockGroupFieldMap = buildMockGroupFieldMap.buildMockGroupFieldMap;
|
|
54
56
|
exports.createModelFactory = createModelMockFactory.createModelMockFactory;
|
|
55
57
|
//# sourceMappingURL=index.cjs.map
|
package/dist/model/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/model/index.d.ts
CHANGED
|
@@ -22,5 +22,6 @@ export { sliceZone } from "./sliceZone";
|
|
|
22
22
|
export { timestamp } from "./timestamp";
|
|
23
23
|
export { title } from "./title";
|
|
24
24
|
export { uid } from "./uid";
|
|
25
|
+
export { table } from "./table";
|
|
25
26
|
export { buildMockGroupFieldMap } from "./buildMockGroupFieldMap";
|
|
26
27
|
export { createModelMockFactory as createModelFactory } from "./createModelMockFactory";
|
package/dist/model/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { sliceZone } from "./sliceZone.js";
|
|
|
22
22
|
import { timestamp } from "./timestamp.js";
|
|
23
23
|
import { title } from "./title.js";
|
|
24
24
|
import { uid } from "./uid.js";
|
|
25
|
+
import { table } from "./table.js";
|
|
25
26
|
import { buildMockGroupFieldMap } from "./buildMockGroupFieldMap.js";
|
|
26
27
|
import { createModelMockFactory } from "./createModelMockFactory.js";
|
|
27
28
|
export {
|
|
@@ -48,6 +49,7 @@ export {
|
|
|
48
49
|
sharedSliceVariation,
|
|
49
50
|
slice,
|
|
50
51
|
sliceZone,
|
|
52
|
+
table,
|
|
51
53
|
timestamp,
|
|
52
54
|
title,
|
|
53
55
|
uid
|
package/dist/model/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const prismic = require("@prismicio/client");
|
|
4
|
+
const changeCase = require("../lib/changeCase.cjs");
|
|
5
|
+
const createFaker = require("../lib/createFaker.cjs");
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
8
|
+
if (e) {
|
|
9
|
+
for (const k in e) {
|
|
10
|
+
if (k !== "default") {
|
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: () => e[k]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic);
|
|
23
|
+
const table = (config) => {
|
|
24
|
+
const faker = config.faker || createFaker.createFaker(config.seed);
|
|
25
|
+
return {
|
|
26
|
+
type: prismic__namespace.CustomTypeModelFieldType.Table,
|
|
27
|
+
config: {
|
|
28
|
+
label: changeCase.capitalCase(faker.word())
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.table = table;
|
|
33
|
+
//# sourceMappingURL=table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.cjs","sources":["../../../src/model/table.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { capitalCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTableModelConfig = MockModelConfig;\n\nexport const table = (\n\tconfig: MockTableModelConfig,\n): prismic.CustomTypeModelTableField => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelFieldType.Table,\n\t\tconfig: {\n\t\t\tlabel: capitalCase(faker.word()),\n\t\t},\n\t};\n};\n"],"names":["createFaker","prismic","capitalCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASa,MAAA,QAAQ,CACpB,WACsC;AACtC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,QAAQ;AAAA,MACP,OAAOC,WAAA,YAAY,MAAM,MAAM;AAAA,IAC/B;AAAA,EAAA;AAEH;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as prismic from "@prismicio/client";
|
|
2
|
+
import { capitalCase } from "../lib/changeCase.js";
|
|
3
|
+
import { createFaker } from "../lib/createFaker.js";
|
|
4
|
+
const table = (config) => {
|
|
5
|
+
const faker = config.faker || createFaker(config.seed);
|
|
6
|
+
return {
|
|
7
|
+
type: prismic.CustomTypeModelFieldType.Table,
|
|
8
|
+
config: {
|
|
9
|
+
label: capitalCase(faker.word())
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
table
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/model/table.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { capitalCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTableModelConfig = MockModelConfig;\n\nexport const table = (\n\tconfig: MockTableModelConfig,\n): prismic.CustomTypeModelTableField => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelFieldType.Table,\n\t\tconfig: {\n\t\t\tlabel: capitalCase(faker.word()),\n\t\t},\n\t};\n};\n"],"names":[],"mappings":";;;AASa,MAAA,QAAQ,CACpB,WACsC;AACtC,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAM,QAAQ,yBAAyB;AAAA,IACvC,QAAQ;AAAA,MACP,OAAO,YAAY,MAAM,MAAM;AAAA,IAC/B;AAAA,EAAA;AAEH;"}
|
package/dist/value/index.cjs
CHANGED
|
@@ -23,6 +23,7 @@ const sharedSliceVariation = require("./sharedSliceVariation.cjs");
|
|
|
23
23
|
const timestamp = require("./timestamp.cjs");
|
|
24
24
|
const title = require("./title.cjs");
|
|
25
25
|
const uid = require("./uid.cjs");
|
|
26
|
+
const table = require("./table.cjs");
|
|
26
27
|
exports.boolean = boolean.boolean;
|
|
27
28
|
exports.customType = customType.customType;
|
|
28
29
|
exports.document = customType.customType;
|
|
@@ -47,4 +48,5 @@ exports.sharedSliceVariation = sharedSliceVariation.sharedSliceVariation;
|
|
|
47
48
|
exports.timestamp = timestamp.timestamp;
|
|
48
49
|
exports.title = title.title;
|
|
49
50
|
exports.uid = uid.uid;
|
|
51
|
+
exports.table = table.table;
|
|
50
52
|
//# sourceMappingURL=index.cjs.map
|
package/dist/value/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/value/index.d.ts
CHANGED
package/dist/value/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { sharedSliceVariation } from "./sharedSliceVariation.js";
|
|
|
21
21
|
import { timestamp } from "./timestamp.js";
|
|
22
22
|
import { title } from "./title.js";
|
|
23
23
|
import { uid } from "./uid.js";
|
|
24
|
+
import { table } from "./table.js";
|
|
24
25
|
export {
|
|
25
26
|
boolean,
|
|
26
27
|
color,
|
|
@@ -43,6 +44,7 @@ export {
|
|
|
43
44
|
sharedSliceVariation,
|
|
44
45
|
slice,
|
|
45
46
|
sliceZone,
|
|
47
|
+
table,
|
|
46
48
|
timestamp,
|
|
47
49
|
title,
|
|
48
50
|
uid
|
package/dist/value/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const prismic = require("@prismicio/client");
|
|
4
|
+
const createFaker = require("../lib/createFaker.cjs");
|
|
5
|
+
const index = require("./richText/index.cjs");
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
8
|
+
if (e) {
|
|
9
|
+
for (const k in e) {
|
|
10
|
+
if (k !== "default") {
|
|
11
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: () => e[k]
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic);
|
|
23
|
+
const table = (config) => {
|
|
24
|
+
const faker = config.faker || createFaker.createFaker(config.seed);
|
|
25
|
+
return config.state === "empty" ? null : {
|
|
26
|
+
head: {
|
|
27
|
+
rows: [
|
|
28
|
+
{
|
|
29
|
+
cells: Array.from({ length: 3 }, () => mockTableCell({
|
|
30
|
+
type: "header",
|
|
31
|
+
faker
|
|
32
|
+
}))
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
body: {
|
|
37
|
+
rows: Array.from({ length: 3 }, () => ({
|
|
38
|
+
cells: Array.from({ length: 3 }, () => mockTableCell({
|
|
39
|
+
type: "data",
|
|
40
|
+
faker
|
|
41
|
+
}))
|
|
42
|
+
}))
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
const mockTableCell = ({ type, faker }) => ({
|
|
47
|
+
type,
|
|
48
|
+
content: index.richText({
|
|
49
|
+
faker,
|
|
50
|
+
model: {
|
|
51
|
+
type: "StructuredText",
|
|
52
|
+
config: {
|
|
53
|
+
multi: [
|
|
54
|
+
prismic__namespace.RichTextNodeType.paragraph,
|
|
55
|
+
prismic__namespace.RichTextNodeType.strong,
|
|
56
|
+
prismic__namespace.RichTextNodeType.em,
|
|
57
|
+
prismic__namespace.RichTextNodeType.hyperlink
|
|
58
|
+
].join(",")
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
exports.table = table;
|
|
64
|
+
//# sourceMappingURL=table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.cjs","sources":["../../../src/value/table.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\nimport { richText } from \"./richText\";\n\nexport type MockTableValueConfig<\n\tModel extends\n\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = MockValueConfig<Model> & MockValueStateConfig<State>;\n\nexport type MockTableValue<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.TableField<State>;\n\nexport const table = <\n\tModel extends\n\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockTableValueConfig<Model, State>,\n): MockTableValue<State> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn (\n\t\tconfig.state === \"empty\"\n\t\t\t? null\n\t\t\t: {\n\t\t\t\t\thead: {\n\t\t\t\t\t\trows: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcells: Array.from({ length: 3 }, () =>\n\t\t\t\t\t\t\t\t\tmockTableCell({\n\t\t\t\t\t\t\t\t\t\ttype: \"header\",\n\t\t\t\t\t\t\t\t\t\tfaker,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\tbody: {\n\t\t\t\t\t\trows: Array.from({ length: 3 }, () => ({\n\t\t\t\t\t\t\tcells: Array.from({ length: 3 }, () =>\n\t\t\t\t\t\t\t\tmockTableCell({\n\t\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\t\tfaker,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t})),\n\t\t\t\t\t},\n\t\t\t\t}\n\t) as MockTableValue<State>;\n};\n\nconst mockTableCell = ({\n\ttype,\n\tfaker,\n}: {\n\ttype: \"header\" | \"data\";\n\tfaker: Faker;\n}) => ({\n\ttype,\n\tcontent: richText({\n\t\tfaker,\n\t\tmodel: {\n\t\t\ttype: \"StructuredText\",\n\t\t\tconfig: {\n\t\t\t\tmulti: [\n\t\t\t\t\tprismic.RichTextNodeType.paragraph,\n\t\t\t\t\tprismic.RichTextNodeType.strong,\n\t\t\t\t\tprismic.RichTextNodeType.em,\n\t\t\t\t\tprismic.RichTextNodeType.hyperlink,\n\t\t\t\t].join(\",\"),\n\t\t\t},\n\t\t},\n\t}),\n});\n"],"names":["createFaker","richText","prismic"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiBa,MAAA,QAAQ,CAKpB,WAC0B;AAC1B,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAGpD,SAAA,OAAO,UAAU,UACd,OACA;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,QACL;AAAA,UACC,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,MAChC,cAAc;AAAA,YACb,MAAM;AAAA,YACN;AAAA,UAAA,CACA,CAAC;AAAA,QAEH;AAAA,MACD;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACL,MAAM,MAAM,KAAK,EAAE,QAAQ,KAAK,OAAO;AAAA,QACtC,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,MAChC,cAAc;AAAA,UACb,MAAM;AAAA,UACN;AAAA,QAAA,CACA,CAAC;AAAA,MAAA,EAEF;AAAA,IACF;AAAA,EAAA;AAGN;AAEA,MAAM,gBAAgB,CAAC,EACtB,MACA,aAIM;AAAA,EACN;AAAA,EACA,SAASC,MAAAA,SAAS;AAAA,IACjB;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,OAAO;AAAA,UACNC,mBAAQ,iBAAiB;AAAA,UACzBA,mBAAQ,iBAAiB;AAAA,UACzBA,mBAAQ,iBAAiB;AAAA,UACzBA,mBAAQ,iBAAiB;AAAA,QAAA,EACxB,KAAK,GAAG;AAAA,MACV;AAAA,IACD;AAAA,EAAA,CACD;AACD;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as prismic from "@prismicio/client";
|
|
2
|
+
import { MockValueStateConfig, MockValueConfig } from "../types";
|
|
3
|
+
export type MockTableValueConfig<Model extends prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField, State extends prismic.FieldState = prismic.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
|
|
4
|
+
export type MockTableValue<State extends prismic.FieldState = prismic.FieldState> = prismic.TableField<State>;
|
|
5
|
+
export declare const table: <Model extends prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField, State extends prismic.FieldState = "filled">(config: MockTableValueConfig<Model, State>) => MockTableValue<State>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as prismic from "@prismicio/client";
|
|
2
|
+
import { createFaker } from "../lib/createFaker.js";
|
|
3
|
+
import { richText } from "./richText/index.js";
|
|
4
|
+
const table = (config) => {
|
|
5
|
+
const faker = config.faker || createFaker(config.seed);
|
|
6
|
+
return config.state === "empty" ? null : {
|
|
7
|
+
head: {
|
|
8
|
+
rows: [
|
|
9
|
+
{
|
|
10
|
+
cells: Array.from({ length: 3 }, () => mockTableCell({
|
|
11
|
+
type: "header",
|
|
12
|
+
faker
|
|
13
|
+
}))
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
body: {
|
|
18
|
+
rows: Array.from({ length: 3 }, () => ({
|
|
19
|
+
cells: Array.from({ length: 3 }, () => mockTableCell({
|
|
20
|
+
type: "data",
|
|
21
|
+
faker
|
|
22
|
+
}))
|
|
23
|
+
}))
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const mockTableCell = ({ type, faker }) => ({
|
|
28
|
+
type,
|
|
29
|
+
content: richText({
|
|
30
|
+
faker,
|
|
31
|
+
model: {
|
|
32
|
+
type: "StructuredText",
|
|
33
|
+
config: {
|
|
34
|
+
multi: [
|
|
35
|
+
prismic.RichTextNodeType.paragraph,
|
|
36
|
+
prismic.RichTextNodeType.strong,
|
|
37
|
+
prismic.RichTextNodeType.em,
|
|
38
|
+
prismic.RichTextNodeType.hyperlink
|
|
39
|
+
].join(",")
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
export {
|
|
45
|
+
table
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../src/value/table.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { MockValueStateConfig, MockValueConfig } from \"../types\";\nimport { richText } from \"./richText\";\n\nexport type MockTableValueConfig<\n\tModel extends\n\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = MockValueConfig<Model> & MockValueStateConfig<State>;\n\nexport type MockTableValue<\n\tState extends prismic.FieldState = prismic.FieldState,\n> = prismic.TableField<State>;\n\nexport const table = <\n\tModel extends\n\t\tprismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockTableValueConfig<Model, State>,\n): MockTableValue<State> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn (\n\t\tconfig.state === \"empty\"\n\t\t\t? null\n\t\t\t: {\n\t\t\t\t\thead: {\n\t\t\t\t\t\trows: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcells: Array.from({ length: 3 }, () =>\n\t\t\t\t\t\t\t\t\tmockTableCell({\n\t\t\t\t\t\t\t\t\t\ttype: \"header\",\n\t\t\t\t\t\t\t\t\t\tfaker,\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\tbody: {\n\t\t\t\t\t\trows: Array.from({ length: 3 }, () => ({\n\t\t\t\t\t\t\tcells: Array.from({ length: 3 }, () =>\n\t\t\t\t\t\t\t\tmockTableCell({\n\t\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\t\tfaker,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t})),\n\t\t\t\t\t},\n\t\t\t\t}\n\t) as MockTableValue<State>;\n};\n\nconst mockTableCell = ({\n\ttype,\n\tfaker,\n}: {\n\ttype: \"header\" | \"data\";\n\tfaker: Faker;\n}) => ({\n\ttype,\n\tcontent: richText({\n\t\tfaker,\n\t\tmodel: {\n\t\t\ttype: \"StructuredText\",\n\t\t\tconfig: {\n\t\t\t\tmulti: [\n\t\t\t\t\tprismic.RichTextNodeType.paragraph,\n\t\t\t\t\tprismic.RichTextNodeType.strong,\n\t\t\t\t\tprismic.RichTextNodeType.em,\n\t\t\t\t\tprismic.RichTextNodeType.hyperlink,\n\t\t\t\t].join(\",\"),\n\t\t\t},\n\t\t},\n\t}),\n});\n"],"names":[],"mappings":";;;AAiBa,MAAA,QAAQ,CAKpB,WAC0B;AAC1B,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAGpD,SAAA,OAAO,UAAU,UACd,OACA;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,QACL;AAAA,UACC,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,MAChC,cAAc;AAAA,YACb,MAAM;AAAA,YACN;AAAA,UAAA,CACA,CAAC;AAAA,QAEH;AAAA,MACD;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACL,MAAM,MAAM,KAAK,EAAE,QAAQ,KAAK,OAAO;AAAA,QACtC,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,MAChC,cAAc;AAAA,UACb,MAAM;AAAA,UACN;AAAA,QAAA,CACA,CAAC;AAAA,MAAA,EAEF;AAAA,IACF;AAAA,EAAA;AAGN;AAEA,MAAM,gBAAgB,CAAC,EACtB,MACA,aAIM;AAAA,EACN;AAAA,EACA,SAAS,SAAS;AAAA,IACjB;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,QACP,OAAO;AAAA,UACN,QAAQ,iBAAiB;AAAA,UACzB,QAAQ,iBAAiB;AAAA,UACzB,QAAQ,iBAAiB;AAAA,UACzB,QAAQ,iBAAiB;AAAA,QAAA,EACxB,KAAK,GAAG;AAAA,MACV;AAAA,IACD;AAAA,EAAA,CACD;AACD;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prismicio/mock",
|
|
3
|
-
"version": "0.7.0-alpha.
|
|
3
|
+
"version": "0.7.0-alpha.1",
|
|
4
4
|
"description": "Generate mock Prismic documents, fields, Slices, and models for development and testing environments",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"unit:watch": "npm run unit -- --watch"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@prismicio/client": "7.16.0-alpha.
|
|
63
|
+
"@prismicio/client": "7.16.0-alpha.1",
|
|
64
64
|
"@size-limit/preset-small-lib": "^11.1.2",
|
|
65
65
|
"@types/node": "^20.12.7",
|
|
66
66
|
"@typescript-eslint/eslint-plugin": "^7.6.0",
|
package/src/model/index.ts
CHANGED
|
@@ -22,6 +22,7 @@ export { sliceZone } from "./sliceZone";
|
|
|
22
22
|
export { timestamp } from "./timestamp";
|
|
23
23
|
export { title } from "./title";
|
|
24
24
|
export { uid } from "./uid";
|
|
25
|
+
export { table } from "./table";
|
|
25
26
|
|
|
26
27
|
export { buildMockGroupFieldMap } from "./buildMockGroupFieldMap";
|
|
27
28
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as prismic from "@prismicio/client";
|
|
2
|
+
|
|
3
|
+
import { capitalCase } from "../lib/changeCase";
|
|
4
|
+
import { createFaker } from "../lib/createFaker";
|
|
5
|
+
|
|
6
|
+
import { MockModelConfig } from "../types";
|
|
7
|
+
|
|
8
|
+
export type MockTableModelConfig = MockModelConfig;
|
|
9
|
+
|
|
10
|
+
export const table = (
|
|
11
|
+
config: MockTableModelConfig,
|
|
12
|
+
): prismic.CustomTypeModelTableField => {
|
|
13
|
+
const faker = config.faker || createFaker(config.seed);
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
type: prismic.CustomTypeModelFieldType.Table,
|
|
17
|
+
config: {
|
|
18
|
+
label: capitalCase(faker.word()),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
};
|
package/src/value/index.ts
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as prismic from "@prismicio/client";
|
|
2
|
+
|
|
3
|
+
import { createFaker, Faker } from "../lib/createFaker";
|
|
4
|
+
|
|
5
|
+
import { MockValueStateConfig, MockValueConfig } from "../types";
|
|
6
|
+
import { richText } from "./richText";
|
|
7
|
+
|
|
8
|
+
export type MockTableValueConfig<
|
|
9
|
+
Model extends
|
|
10
|
+
prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,
|
|
11
|
+
State extends prismic.FieldState = prismic.FieldState,
|
|
12
|
+
> = MockValueConfig<Model> & MockValueStateConfig<State>;
|
|
13
|
+
|
|
14
|
+
export type MockTableValue<
|
|
15
|
+
State extends prismic.FieldState = prismic.FieldState,
|
|
16
|
+
> = prismic.TableField<State>;
|
|
17
|
+
|
|
18
|
+
export const table = <
|
|
19
|
+
Model extends
|
|
20
|
+
prismic.CustomTypeModelTableField = prismic.CustomTypeModelTableField,
|
|
21
|
+
State extends prismic.FieldState = "filled",
|
|
22
|
+
>(
|
|
23
|
+
config: MockTableValueConfig<Model, State>,
|
|
24
|
+
): MockTableValue<State> => {
|
|
25
|
+
const faker = config.faker || createFaker(config.seed);
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
config.state === "empty"
|
|
29
|
+
? null
|
|
30
|
+
: {
|
|
31
|
+
head: {
|
|
32
|
+
rows: [
|
|
33
|
+
{
|
|
34
|
+
cells: Array.from({ length: 3 }, () =>
|
|
35
|
+
mockTableCell({
|
|
36
|
+
type: "header",
|
|
37
|
+
faker,
|
|
38
|
+
}),
|
|
39
|
+
),
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
body: {
|
|
44
|
+
rows: Array.from({ length: 3 }, () => ({
|
|
45
|
+
cells: Array.from({ length: 3 }, () =>
|
|
46
|
+
mockTableCell({
|
|
47
|
+
type: "data",
|
|
48
|
+
faker,
|
|
49
|
+
}),
|
|
50
|
+
),
|
|
51
|
+
})),
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
) as MockTableValue<State>;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const mockTableCell = ({
|
|
58
|
+
type,
|
|
59
|
+
faker,
|
|
60
|
+
}: {
|
|
61
|
+
type: "header" | "data";
|
|
62
|
+
faker: Faker;
|
|
63
|
+
}) => ({
|
|
64
|
+
type,
|
|
65
|
+
content: richText({
|
|
66
|
+
faker,
|
|
67
|
+
model: {
|
|
68
|
+
type: "StructuredText",
|
|
69
|
+
config: {
|
|
70
|
+
multi: [
|
|
71
|
+
prismic.RichTextNodeType.paragraph,
|
|
72
|
+
prismic.RichTextNodeType.strong,
|
|
73
|
+
prismic.RichTextNodeType.em,
|
|
74
|
+
prismic.RichTextNodeType.hyperlink,
|
|
75
|
+
].join(","),
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
}),
|
|
79
|
+
});
|