@prismicio/mock 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +4 -1
  2. package/dist/api/index.cjs +39 -27
  3. package/dist/api/index.cjs.map +1 -0
  4. package/dist/api/index.d.ts +2 -1
  5. package/dist/api/index.d.ts.map +1 -0
  6. package/dist/api/{index.mjs → index.js} +104 -58
  7. package/dist/api/index.js.map +1 -0
  8. package/dist/index.cjs +293 -393
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +132 -230
  11. package/dist/{index.mjs → index.js} +286 -384
  12. package/dist/index.js.map +1 -0
  13. package/dist/model/index.cjs +148 -205
  14. package/dist/model/index.cjs.map +1 -0
  15. package/dist/model/index.d.ts +68 -104
  16. package/dist/model/index.d.ts.map +1 -0
  17. package/dist/model/index.js +462 -0
  18. package/dist/model/index.js.map +1 -0
  19. package/dist/value/index.cjs +238 -495
  20. package/dist/value/index.cjs.map +1 -0
  21. package/dist/value/index.d.ts +54 -116
  22. package/dist/value/index.d.ts.map +1 -0
  23. package/dist/value/{index.mjs → index.js} +407 -610
  24. package/dist/value/index.js.map +1 -0
  25. package/package.json +21 -21
  26. package/src/lib/buildContentRelationshipField.ts +6 -1
  27. package/src/lib/buildEmbedField.ts +1 -1
  28. package/src/lib/buildImageFieldImage.ts +48 -0
  29. package/src/model/buildMockGroupFieldMap.ts +65 -0
  30. package/src/model/contentRelationship.ts +14 -21
  31. package/src/model/customType.ts +49 -48
  32. package/src/model/group.ts +8 -15
  33. package/src/model/image.ts +13 -13
  34. package/src/model/index.ts +2 -0
  35. package/src/model/select.ts +11 -16
  36. package/src/model/sharedSlice.ts +14 -41
  37. package/src/model/sharedSliceVariation.ts +33 -21
  38. package/src/model/slice.ts +15 -19
  39. package/src/model/sliceZone.ts +23 -59
  40. package/src/types.ts +41 -12
  41. package/src/value/color.ts +16 -6
  42. package/src/value/contentRelationship.ts +51 -36
  43. package/src/value/date.ts +25 -9
  44. package/src/value/embed.ts +18 -6
  45. package/src/value/geoPoint.ts +21 -9
  46. package/src/value/group.ts +7 -27
  47. package/src/value/image.ts +22 -9
  48. package/src/value/integrationFields.ts +26 -14
  49. package/src/value/keyText.ts +18 -6
  50. package/src/value/link.ts +33 -34
  51. package/src/value/linkToMedia.ts +15 -20
  52. package/src/value/number.ts +16 -6
  53. package/src/value/richText/heading.ts +7 -7
  54. package/src/value/richText/image.ts +6 -2
  55. package/src/value/richText/index.ts +1 -1
  56. package/src/value/select.ts +23 -8
  57. package/src/value/sharedSlice.ts +2 -2
  58. package/src/value/sharedSliceVariation.ts +6 -34
  59. package/src/value/slice.ts +5 -30
  60. package/src/value/sliceZone.ts +44 -60
  61. package/src/value/timestamp.ts +19 -6
  62. package/src/value/title.ts +1 -1
  63. package/src/value/uid.ts +1 -1
  64. package/dist/model/index.mjs +0 -465
  65. package/src/lib/buildImageField.ts +0 -34
  66. package/src/lib/buildMockGroupFieldMap.ts +0 -84
@@ -4,6 +4,7 @@ declare type Seed = string | number | number[];
4
4
  declare type MockModelConfig = {
5
5
  seed?: Seed;
6
6
  };
7
+ declare type GroupFieldModelMap = Record<string, prismicT.CustomTypeModelFieldForGroup>;
7
8
 
8
9
  declare type MockBooleanModelConfig = MockModelConfig;
9
10
  declare const boolean: (config?: MockBooleanModelConfig) => prismicT.CustomTypeModelBooleanField;
@@ -11,80 +12,26 @@ declare const boolean: (config?: MockBooleanModelConfig) => prismicT.CustomTypeM
11
12
  declare type MockColorModelConfig = MockModelConfig;
12
13
  declare const color: (config?: MockColorModelConfig) => prismicT.CustomTypeModelColorField;
13
14
 
14
- declare type MockContentRelationshipModelConfig = {
15
- constrainCustomTypes?: boolean;
16
- constrainTags?: boolean;
15
+ declare type MockContentRelationshipModelConfig<CustomTypeIDs extends string = string, Tags extends string = string> = {
16
+ customTypeIDs?: readonly CustomTypeIDs[];
17
+ tags?: readonly Tags[];
17
18
  } & MockModelConfig;
18
- declare const contentRelationship: (config?: MockContentRelationshipModelConfig) => prismicT.CustomTypeModelContentRelationshipField;
19
+ declare const contentRelationship: <CustomTypeIDs extends string, Tags extends string>(config?: MockContentRelationshipModelConfig<CustomTypeIDs, Tags>) => prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags>;
19
20
 
20
- declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
21
- withMultipleBlocks?: WithMultipleBlocks;
22
- } & MockModelConfig;
23
- declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
24
-
25
- declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
26
- config: AllowTargetBlank extends true ? {
27
- allowTargetBlank: true;
28
- } : {
29
- allowTargetBlank?: undefined;
30
- };
31
- };
32
- declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
33
- allowTargetBlank?: AllowTargetBlank;
34
- } & MockModelConfig;
35
- declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
36
-
37
- declare const mockModelFns: {
38
- readonly boolean: (config?: MockModelConfig) => prismicT.CustomTypeModelBooleanField;
39
- readonly color: (config?: MockModelConfig) => prismicT.CustomTypeModelColorField;
40
- readonly contentRelationship: (config?: MockContentRelationshipModelConfig) => prismicT.CustomTypeModelContentRelationshipField;
41
- readonly date: (config?: MockModelConfig) => prismicT.CustomTypeModelDateField;
42
- readonly embed: (config?: MockModelConfig) => prismicT.CustomTypeModelEmbedField;
43
- readonly geoPoint: (config?: MockModelConfig) => prismicT.CustomTypeModelGeoPointField;
44
- readonly image: (config?: {
45
- withConstraint?: boolean | undefined;
46
- thumbnailsCount?: number | undefined;
47
- } & MockModelConfig) => prismicT.CustomTypeModelImageField;
48
- readonly integrationFields: (config?: MockModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
49
- readonly keyText: (config?: MockModelConfig) => prismicT.CustomTypeModelKeyTextField;
50
- readonly link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => prismicT.CustomTypeModelLinkField & {
51
- config: AllowTargetBlank extends true ? {
52
- allowTargetBlank: true;
53
- } : {
54
- allowTargetBlank?: undefined;
55
- };
56
- };
57
- readonly linkToMedia: (config?: MockModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
58
- readonly number: (config?: MockModelConfig) => prismicT.CustomTypeModelNumberField;
59
- readonly richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
60
- readonly select: (config?: {
61
- optionsCount?: number | undefined;
62
- withDefaultValue?: boolean | undefined;
63
- } & MockModelConfig) => prismicT.CustomTypeModelSelectField<string, string>;
64
- readonly timestamp: (config?: MockModelConfig) => prismicT.CustomTypeModelTimestampField;
65
- readonly title: (config?: MockModelConfig) => prismicT.CustomTypeModelRichTextSingleField;
66
- };
67
- declare type MockModelFns = typeof mockModelFns;
68
- declare type BuildMockGroupFieldMapConfig = {
69
- configs?: {
70
- [P in keyof MockModelFns]?: {
71
- count?: number;
72
- config?: Parameters<MockModelFns[P]>[0];
73
- };
74
- };
75
- } & MockModelConfig;
76
-
77
- declare type MockCustomTypeModelConfig = {
78
- tabsCount?: number;
79
- withUID?: boolean;
80
- configs?: BuildMockGroupFieldMapConfig["configs"];
21
+ declare type MockCustomTypeModelConfig<Definition extends prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition = prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition> = {
22
+ id?: string;
23
+ label?: string;
24
+ status?: boolean;
25
+ repeatable?: boolean;
81
26
  } & ({
82
- withSliceZones?: false;
27
+ fields?: Definition;
28
+ tabs?: never;
83
29
  } | {
84
- withSliceZones: true;
85
- withSharedSlices?: boolean;
30
+ tabs?: Definition;
31
+ fields?: never;
86
32
  }) & MockModelConfig;
87
- declare const customType: (config?: MockCustomTypeModelConfig) => prismicT.CustomTypeModel;
33
+ declare type MockCustomTypeModel<Definition extends prismicT.CustomTypeModelTab | prismicT.CustomTypeModelDefinition> = Definition extends prismicT.CustomTypeModelTab ? prismicT.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismicT.CustomTypeModelDefinition ? prismicT.CustomTypeModel<string, Definition> : never;
34
+ declare const customType: <Definition extends Record<string, prismicT.CustomTypeModelField> | prismicT.CustomTypeModelDefinition<string>>(config?: MockCustomTypeModelConfig<Definition>) => MockCustomTypeModel<Definition>;
88
35
 
89
36
  declare type MockDateModelConfig = MockModelConfig;
90
37
  declare const date: (config?: MockDateModelConfig) => prismicT.CustomTypeModelDateField;
@@ -95,14 +42,16 @@ declare const embed: (config?: MockEmbedModelConfig) => prismicT.CustomTypeModel
95
42
  declare type MockGeoPointModelConfig = MockModelConfig;
96
43
  declare const geoPoint: (config?: MockGeoPointModelConfig) => prismicT.CustomTypeModelGeoPointField;
97
44
 
98
- declare type MockGroupModelConfig = BuildMockGroupFieldMapConfig & MockModelConfig;
99
- declare const group: (config?: MockGroupModelConfig) => prismicT.CustomTypeModelGroupField;
45
+ declare type MockGroupModelConfig<Fields extends GroupFieldModelMap> = {
46
+ fields?: Fields;
47
+ } & MockModelConfig;
48
+ declare const group: <Fields extends GroupFieldModelMap>(config?: MockGroupModelConfig<Fields>) => prismicT.CustomTypeModelGroupField<Fields>;
100
49
 
101
- declare type MockImageModelConfig = {
50
+ declare type MockImageModelConfig<ThumbnailNames extends string = string> = {
102
51
  withConstraint?: boolean;
103
- thumbnailsCount?: number;
52
+ thumbnailNames?: readonly ThumbnailNames[];
104
53
  } & MockModelConfig;
105
- declare const image: (config?: MockImageModelConfig) => prismicT.CustomTypeModelImageField;
54
+ declare const image: <ThumbnailNames extends string = string>(config?: MockImageModelConfig<ThumbnailNames>) => prismicT.CustomTypeModelImageField<ThumbnailNames>;
106
55
 
107
56
  declare type MockIntegrationFieldsModelConfig = MockModelConfig;
108
57
  declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
@@ -110,51 +59,62 @@ declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) =>
110
59
  declare type MockKeyTextModelConfig = MockModelConfig;
111
60
  declare const keyText: (config?: MockKeyTextModelConfig) => prismicT.CustomTypeModelKeyTextField;
112
61
 
62
+ declare type MockLinkModel<AllowTargetBlank extends boolean = boolean> = prismicT.CustomTypeModelLinkField & {
63
+ config: AllowTargetBlank extends true ? {
64
+ allowTargetBlank: true;
65
+ } : {
66
+ allowTargetBlank?: undefined;
67
+ };
68
+ };
69
+ declare type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {
70
+ allowTargetBlank?: AllowTargetBlank;
71
+ } & MockModelConfig;
72
+ declare const link: <AllowTargetBlank extends boolean = boolean>(config?: MockLinkModelConfig<AllowTargetBlank>) => MockLinkModel<AllowTargetBlank>;
73
+
113
74
  declare type MockLinkTomediaModelConfig = MockModelConfig;
114
75
  declare const linkToMedia: (config?: MockLinkTomediaModelConfig) => prismicT.CustomTypeModelLinkToMediaField;
115
76
 
116
77
  declare type MockNumberModelConfig = MockModelConfig;
117
78
  declare const number: (config?: MockNumberModelConfig) => prismicT.CustomTypeModelNumberField;
118
79
 
119
- declare type MockSelectModelConfig = {
120
- optionsCount?: number;
121
- withDefaultValue?: boolean;
80
+ declare type MockRichTextModelConfig<WithMultipleBlocks extends boolean = boolean> = {
81
+ withMultipleBlocks?: WithMultipleBlocks;
122
82
  } & MockModelConfig;
123
- declare const select: (config?: MockSelectModelConfig) => prismicT.CustomTypeModelSelectField;
83
+ declare const richText: <WithMultipleBlocks extends boolean = boolean>(config?: MockRichTextModelConfig<WithMultipleBlocks>) => WithMultipleBlocks extends true ? prismicT.CustomTypeModelRichTextMultiField : prismicT.CustomTypeModelRichTextSingleField;
124
84
 
125
- declare type MockSharedSliceVariationModelConfig = {
126
- primaryFieldConfig?: BuildMockGroupFieldMapConfig;
127
- itemsFieldConfig?: BuildMockGroupFieldMapConfig;
85
+ declare type MockSelectModelConfig<Option extends string = string, DefaultOption extends Option = Option> = {
86
+ options?: Option[];
87
+ defaultValue?: DefaultOption;
128
88
  } & MockModelConfig;
129
- declare const sharedSliceVariation: (config?: MockSharedSliceVariationModelConfig) => prismicT.SharedSliceModelVariation;
89
+ declare const select: <Option extends string, DefaultOption extends Option>(config?: MockSelectModelConfig<Option, DefaultOption>) => prismicT.CustomTypeModelSelectField<Option, DefaultOption>;
130
90
 
131
- declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = ({
91
+ declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = {
92
+ id?: string;
93
+ name?: string;
132
94
  variations?: Variation[];
133
- variationsCount?: never;
134
- } | {
135
- variations?: never;
136
- variationsCount?: number;
137
- }) & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig;
138
- declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>;
95
+ } & MockModelConfig;
96
+ declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>;
139
97
 
140
98
  declare const sharedSliceChoice: () => prismicT.CustomTypeModelSharedSlice;
141
99
 
142
- declare type MockSliceModelConfig = {
143
- repeatFieldConfig?: BuildMockGroupFieldMapConfig;
144
- nonRepeatFieldConfig?: BuildMockGroupFieldMapConfig;
100
+ declare type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends GroupFieldModelMap = GroupFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
101
+ id?: ID;
102
+ name?: string;
103
+ primaryFields?: PrimaryFields;
104
+ itemsFields?: ItemsFields;
145
105
  } & MockModelConfig;
146
- declare const slice: (config?: MockSliceModelConfig) => prismicT.CustomTypeModelSlice;
106
+ declare const sharedSliceVariation: <ID extends string, PrimaryFields extends GroupFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>) => prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
147
107
 
148
- declare type MockSliceZoneModelConfig = ({
149
- choices?: Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice>;
150
- choicesCount?: never;
151
- withSharedSlices?: never;
152
- } | {
153
- choices?: never;
154
- choicesCount?: number;
155
- withSharedSlices?: boolean;
156
- }) & MockModelConfig;
157
- declare const sliceZone: (config?: MockSliceZoneModelConfig) => prismicT.CustomTypeModelSliceZoneField;
108
+ declare type MockSliceModelConfig<NonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap, RepeatFields extends GroupFieldModelMap = GroupFieldModelMap> = {
109
+ nonRepeatFields?: NonRepeatFields;
110
+ repeatFields?: RepeatFields;
111
+ } & MockModelConfig;
112
+ declare const slice: <NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config?: MockSliceModelConfig<NonRepeatFields, RepeatFields>) => prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
113
+
114
+ declare type MockSliceZoneModelConfig<Slices extends Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice> = Record<string, prismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice>> = {
115
+ choices?: Slices;
116
+ } & MockModelConfig;
117
+ declare const sliceZone: <Slices extends Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>(config?: MockSliceZoneModelConfig<Slices>) => prismicT.CustomTypeModelSliceZoneField<Slices>;
158
118
 
159
119
  declare type MockTimestampModelConfig = MockModelConfig;
160
120
  declare const timestamp: (config?: MockTimestampModelConfig) => prismicT.CustomTypeModelTimestampField;
@@ -165,4 +125,8 @@ declare const title: (config?: MockTitleModelConfig) => prismicT.CustomTypeModel
165
125
  declare type MockUIDModelConfig = MockModelConfig;
166
126
  declare const uid: (config?: MockUIDModelConfig) => prismicT.CustomTypeModelUIDField;
167
127
 
168
- export { boolean, color, contentRelationship, customType, date, embed, geoPoint, group, image, integrationFields, keyText, link, linkToMedia, number, richText, select, sharedSlice, sharedSliceChoice, sharedSliceVariation, slice, sliceZone, timestamp, title, uid };
128
+ declare type BuildMockGroupFieldMapConfig = MockModelConfig;
129
+ declare const buildMockGroupFieldMap: (config?: BuildMockGroupFieldMapConfig) => GroupFieldModelMap;
130
+
131
+ export { boolean, buildMockGroupFieldMap, color, contentRelationship, customType, date, embed, geoPoint, group, image, integrationFields, keyText, link, linkToMedia, number, richText, select, sharedSlice, sharedSliceChoice, sharedSliceVariation, slice, sliceZone, timestamp, title, uid };
132
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}