@prismicio/mock 0.0.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/api/index.cjs +348 -236
  2. package/dist/api/index.cjs.map +1 -1
  3. package/dist/api/index.d.ts +52 -6
  4. package/dist/api/index.js +348 -236
  5. package/dist/api/index.js.map +1 -1
  6. package/dist/index.cjs +893 -543
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.ts +247 -73
  9. package/dist/index.js +885 -542
  10. package/dist/index.js.map +1 -1
  11. package/dist/model/index.cjs +398 -134
  12. package/dist/model/index.cjs.map +1 -1
  13. package/dist/model/index.d.ts +114 -28
  14. package/dist/model/index.js +398 -134
  15. package/dist/model/index.js.map +1 -1
  16. package/dist/value/index.cjs +598 -468
  17. package/dist/value/index.cjs.map +1 -1
  18. package/dist/value/index.d.ts +96 -40
  19. package/dist/value/index.js +598 -468
  20. package/dist/value/index.js.map +1 -1
  21. package/package.json +22 -20
  22. package/src/api/createAPIMockFactory.ts +56 -0
  23. package/src/api/query.ts +4 -4
  24. package/src/api/ref.ts +6 -6
  25. package/src/api/repository.ts +12 -14
  26. package/src/api/tags.ts +5 -2
  27. package/src/createMockFactory.ts +52 -0
  28. package/src/index.ts +15 -0
  29. package/src/lib/buildEmbedField.ts +28 -30
  30. package/src/lib/buildImageFieldImage.ts +19 -7
  31. package/src/lib/createFaker.ts +99 -22
  32. package/src/lib/generateCustomTypeId.ts +13 -5
  33. package/src/lib/generateFieldId.ts +13 -7
  34. package/src/lib/generateTags.ts +17 -16
  35. package/src/lib/getMockEmbedData.ts +45 -16
  36. package/src/lib/getMockImageData.ts +13 -5
  37. package/src/lib/lorem.ts +112 -0
  38. package/src/lib/valueForModel.ts +47 -30
  39. package/src/lib/valueForModelMap.ts +24 -4
  40. package/src/model/boolean.ts +6 -6
  41. package/src/model/buildMockGroupFieldMap.ts +5 -5
  42. package/src/model/color.ts +4 -4
  43. package/src/model/contentRelationship.ts +4 -4
  44. package/src/model/createModelMockFactory.ts +213 -0
  45. package/src/model/customType.ts +6 -6
  46. package/src/model/date.ts +4 -4
  47. package/src/model/embed.ts +4 -4
  48. package/src/model/geoPoint.ts +3 -3
  49. package/src/model/group.ts +7 -7
  50. package/src/model/image.ts +8 -12
  51. package/src/model/index.ts +2 -0
  52. package/src/model/integrationFields.ts +4 -4
  53. package/src/model/keyText.ts +4 -4
  54. package/src/model/link.ts +6 -6
  55. package/src/model/linkToMedia.ts +5 -5
  56. package/src/model/number.ts +4 -4
  57. package/src/model/richText.ts +8 -8
  58. package/src/model/select.ts +5 -5
  59. package/src/model/sharedSlice.ts +5 -5
  60. package/src/model/sharedSliceVariation.ts +10 -10
  61. package/src/model/slice.ts +7 -7
  62. package/src/model/sliceZone.ts +7 -4
  63. package/src/model/timestamp.ts +4 -4
  64. package/src/model/title.ts +7 -7
  65. package/src/model/uid.ts +4 -4
  66. package/src/types.ts +70 -31
  67. package/src/value/boolean.ts +4 -6
  68. package/src/value/color.ts +3 -3
  69. package/src/value/contentRelationship.ts +21 -18
  70. package/src/value/createValueMockFactory.ts +236 -0
  71. package/src/value/customType.ts +12 -12
  72. package/src/value/date.ts +6 -2
  73. package/src/value/embed.ts +23 -7
  74. package/src/value/geoPoint.ts +4 -6
  75. package/src/value/group.ts +6 -11
  76. package/src/value/image.ts +26 -18
  77. package/src/value/integrationFields.ts +12 -26
  78. package/src/value/keyText.ts +3 -5
  79. package/src/value/link.ts +11 -9
  80. package/src/value/linkToMedia.ts +9 -8
  81. package/src/value/number.ts +3 -3
  82. package/src/value/richText/embed.ts +6 -3
  83. package/src/value/richText/heading.ts +32 -27
  84. package/src/value/richText/image.ts +9 -8
  85. package/src/value/richText/index.ts +71 -48
  86. package/src/value/richText/list.ts +6 -10
  87. package/src/value/richText/oList.ts +6 -10
  88. package/src/value/richText/paragraph.ts +10 -6
  89. package/src/value/richText/preformatted.ts +11 -7
  90. package/src/value/select.ts +11 -7
  91. package/src/value/sharedSlice.ts +5 -5
  92. package/src/value/sharedSliceVariation.ts +11 -16
  93. package/src/value/slice.ts +11 -15
  94. package/src/value/sliceZone.ts +14 -18
  95. package/src/value/timestamp.ts +31 -18
  96. package/src/value/title.ts +7 -3
  97. package/src/value/uid.ts +6 -4
@@ -1,38 +1,90 @@
1
1
  import * as prismicT from '@prismicio/types';
2
2
 
3
+ /**
4
+ * Returns "Lorem ipsum" text of a specified length.
5
+ *
6
+ * @example
7
+ *
8
+ * ```ts
9
+ * lorem("100w"); // 100 words
10
+ * lorem("200c"); // 200 characters
11
+ * ```
12
+ *
13
+ * @param length - Length of the returned text in the form of `${number}w` or
14
+ * `${number}c`. `w` means words, `c` means characters.
15
+ *
16
+ * @returns Lorem ipsum text.
17
+ */
18
+ declare const lorem: {
19
+ (length: `${number}w` | `${number}c`, wordOffset?: number): string;
20
+ spaceIndices: number[];
21
+ };
22
+
23
+ declare class Faker {
24
+ seed: Seed;
25
+ private rand;
26
+ constructor(seed: Seed);
27
+ boolean(): boolean;
28
+ random(): number;
29
+ randomElement<T>(elements: readonly T[]): T;
30
+ randomElements<T>(elements: readonly T[]): T[];
31
+ range(min: number, max: number): number;
32
+ rangeFloat(min: number, max: number): number;
33
+ words(length: number, wordOffset?: number): string;
34
+ word(): string;
35
+ lorem(length: Parameters<typeof lorem>[0], wordOffset?: number): string;
36
+ url(): string;
37
+ hexColor(): string;
38
+ hash(length: number): string;
39
+ date(): Date;
40
+ dateAfter(date: Date): Date;
41
+ dateBefore(date: Date): Date;
42
+ dateBetween(min: Date, max: Date): Date;
43
+ }
44
+
3
45
  declare type IterableElement<TargetIterable> = TargetIterable extends Iterable<infer ElementType> ? ElementType : TargetIterable extends AsyncIterable<infer ElementType> ? ElementType : never;
4
46
  declare type ValueOf<ObjectType, ValueType extends keyof ObjectType = keyof ObjectType> = ObjectType[ValueType];
5
- declare type Seed = string | number | number[];
47
+ declare type Seed = string | number;
6
48
  declare type PrismicModel = prismicT.CustomTypeModel | prismicT.CustomTypeModelField | prismicT.CustomTypeModelSlice | prismicT.SharedSliceModel | prismicT.SharedSliceModelVariation;
7
49
  declare type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
8
- seed?: Seed;
9
50
  model?: Model;
10
- };
51
+ } & ({
52
+ seed: Seed;
53
+ faker?: never;
54
+ } | {
55
+ faker: Faker;
56
+ seed?: never;
57
+ });
11
58
  declare type MockValueStateConfig<State extends prismicT.FieldState = prismicT.FieldState> = {
12
59
  state?: State;
13
60
  };
14
61
  declare type CustomTypeModelStructuredTextField = prismicT.CustomTypeModelRichTextField | prismicT.CustomTypeModelTitleField;
15
62
  declare type MockRichTextValueConfig$1<Model extends CustomTypeModelStructuredTextField = CustomTypeModelStructuredTextField> = {
16
- seed?: Seed;
17
63
  model?: Model;
18
- };
64
+ } & ({
65
+ seed: Seed;
66
+ faker?: never;
67
+ } | {
68
+ faker: Faker;
69
+ seed?: never;
70
+ });
19
71
  declare type ModelValueMap<T extends Record<string, prismicT.CustomTypeModelField>> = {
20
72
  [P in keyof T]: ModelValue<T[P]>;
21
73
  };
22
74
  declare type ModelValue<T extends PrismicModel, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModel ? CustomTypeModelValue<T> : T extends prismicT.CustomTypeModelUIDField ? prismicT.PrismicDocument["uid"] : T extends prismicT.CustomTypeModelFieldForGroup ? CustomTypeModelFieldForGroupValue<T, State> : T extends prismicT.CustomTypeModelGroupField ? CustomTypeModelGroupFieldValue<T, State> : T extends prismicT.CustomTypeModelSliceZoneField ? prismicT.SliceZone<ValueOf<{
23
- [P in keyof T["config"]["choices"] as P extends string ? P : never]: T["config"]["choices"][P] extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T["config"]["choices"][P], P extends string ? P : string> : T["config"]["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P extends string ? P : string> : never;
75
+ [P in keyof NonNullable<T["config"]>["choices"] as P extends string ? P : never]: NonNullable<T["config"]>["choices"][P] extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<NonNullable<T["config"]>["choices"][P], P extends string ? P : string> : NonNullable<T["config"]>["choices"][P] extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice<P extends string ? P : string> : never;
24
76
  }>, State> : T extends prismicT.CustomTypeModelSlice ? CustomTypeModelSliceValue<T> : T extends prismicT.CustomTypeModelSharedSlice ? prismicT.SharedSlice : T extends prismicT.SharedSliceModel ? SharedSliceModelValue<T> : T extends prismicT.SharedSliceModelVariation ? SharedSliceModelVariationValue<T> : never;
25
77
  declare type CustomTypeModelValue<T extends prismicT.CustomTypeModel> = prismicT.PrismicDocument<ModelValueMap<{
26
78
  [P in keyof ValueOf<T["json"]> as ValueOf<T["json"]>[P]["type"] extends typeof prismicT.CustomTypeModelFieldType.UID ? never : P]: ValueOf<T["json"]>[P];
27
79
  }>>;
28
- declare type CustomTypeModelFieldForGroupValue<T extends prismicT.CustomTypeModelFieldForGroup, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModelBooleanField ? prismicT.BooleanField : T extends prismicT.CustomTypeModelColorField ? prismicT.ColorField<State> : T extends prismicT.CustomTypeModelTitleField ? prismicT.TitleField<State> : T extends prismicT.CustomTypeModelRichTextField ? prismicT.RichTextField<State> : T extends prismicT.CustomTypeModelImageField ? prismicT.ImageField<string | null, State> : T extends prismicT.CustomTypeModelLinkField ? prismicT.LinkField<string, string, never, State> : T extends prismicT.CustomTypeModelLinkToMediaField ? prismicT.LinkToMediaField<State> : T extends prismicT.CustomTypeModelContentRelationshipField ? prismicT.RelationField<string, string, never, State> : T extends prismicT.CustomTypeModelDateField ? prismicT.DateField<State> : T extends prismicT.CustomTypeModelTimestampField ? prismicT.TimestampField<State> : T extends prismicT.CustomTypeModelNumberField ? prismicT.NumberField<State> : T extends prismicT.CustomTypeModelKeyTextField ? prismicT.KeyTextField<State> : T extends prismicT.CustomTypeModelSelectField ? prismicT.SelectField<string, State> : T extends prismicT.CustomTypeModelEmbedField ? prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State> : T extends prismicT.CustomTypeModelGeoPointField ? prismicT.GeoPointField<State> : T extends prismicT.CustomTypeModelIntegrationFieldsField ? prismicT.IntegrationFields<unknown, State> : never;
29
- declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = prismicT.GroupField<ModelValueMap<T["config"]["fields"]>, State>;
30
- declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<T["non-repeat"]>, ModelValueMap<T["repeat"]>>;
31
- declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<T["variations"]>>>;
32
- declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<T["primary"]>, ModelValueMap<T["items"]>>>;
80
+ declare type CustomTypeModelFieldForGroupValue<T extends prismicT.CustomTypeModelFieldForGroup, State extends prismicT.FieldState = prismicT.FieldState> = T extends prismicT.CustomTypeModelBooleanField ? prismicT.BooleanField : T extends prismicT.CustomTypeModelColorField ? prismicT.ColorField<State> : T extends prismicT.CustomTypeModelTitleField ? prismicT.TitleField<State> : T extends prismicT.CustomTypeModelRichTextField ? prismicT.RichTextField<State> : T extends prismicT.CustomTypeModelImageField ? prismicT.ImageField<string | null, State> : T extends prismicT.CustomTypeModelLinkField ? prismicT.LinkField<string, string, never, State> : T extends prismicT.CustomTypeModelLinkToMediaField ? prismicT.LinkToMediaField<State> : T extends prismicT.CustomTypeModelContentRelationshipField ? prismicT.RelationField<string, string, never, State> : T extends prismicT.CustomTypeModelDateField ? prismicT.DateField<State> : T extends prismicT.CustomTypeModelTimestampField ? prismicT.TimestampField<State> : T extends prismicT.CustomTypeModelNumberField ? prismicT.NumberField<State> : T extends prismicT.CustomTypeModelKeyTextField ? prismicT.KeyTextField<State> : T extends prismicT.CustomTypeModelSelectField ? prismicT.SelectField<string, State> : T extends prismicT.CustomTypeModelEmbedField ? prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State> : T extends prismicT.CustomTypeModelGeoPointField ? prismicT.GeoPointField<State> : T extends prismicT.CustomTypeModelIntegrationFieldsField ? prismicT.IntegrationFields<Record<string, unknown>, State> : never;
81
+ declare type CustomTypeModelGroupFieldValue<T extends prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = prismicT.GroupField<ModelValueMap<NonNullable<NonNullable<T["config"]>["fields"]>>, State>;
82
+ declare type CustomTypeModelSliceValue<T extends prismicT.CustomTypeModelSlice, SliceType = string> = prismicT.Slice<SliceType, ModelValueMap<NonNullable<T["non-repeat"]>>, ModelValueMap<NonNullable<T["repeat"]>>>;
83
+ declare type SharedSliceModelValue<T extends prismicT.SharedSliceModel> = prismicT.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<NonNullable<T["variations"]>>>>;
84
+ declare type SharedSliceModelVariationValue<T extends prismicT.SharedSliceModelVariation> = prismicT.SharedSlice<string, prismicT.SharedSliceVariation<T["id"], ModelValueMap<NonNullable<T["primary"]>>, ModelValueMap<NonNullable<T["items"]>>>>;
33
85
 
34
86
  declare type MockBooleanValueConfig<Model extends prismicT.CustomTypeModelBooleanField = prismicT.CustomTypeModelBooleanField> = MockValueConfig<Model>;
35
- declare const boolean: <Model extends prismicT.CustomTypeModelBooleanField = prismicT.CustomTypeModelBooleanField>(config?: MockBooleanValueConfig<Model>) => prismicT.BooleanField;
87
+ declare const boolean: <Model extends prismicT.CustomTypeModelBooleanField>(config: MockBooleanValueConfig<Model>) => prismicT.BooleanField;
36
88
 
37
89
  declare type ValueForModelMapConfigs = {
38
90
  boolean?: MockBooleanValueConfig;
@@ -61,10 +113,10 @@ declare type MockCustomTypeValueConfig<Model extends prismicT.CustomTypeModel =
61
113
  alternateLanguages?: prismicT.PrismicDocument[];
62
114
  configs?: ValueForModelMapConfigs;
63
115
  } & MockValueConfig<Model>;
64
- declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config?: MockCustomTypeValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
116
+ declare const customType: <Model extends prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>> = prismicT.CustomTypeModel<string, prismicT.CustomTypeModelDefinition<string>>>(config: MockCustomTypeValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
65
117
 
66
118
  declare type MockColorValueConfig<Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
67
- declare const color: <Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = "filled">(config?: MockColorValueConfig<Model, State>) => prismicT.ColorField<State>;
119
+ declare const color: <Model extends prismicT.CustomTypeModelColorField = prismicT.CustomTypeModelColorField, State extends prismicT.FieldState = "filled">(config: MockColorValueConfig<Model, State>) => prismicT.ColorField<State>;
68
120
 
69
121
  declare type MockContentRelationshipValueConfig<Model extends prismicT.CustomTypeModelContentRelationshipField = prismicT.CustomTypeModelContentRelationshipField, State extends prismicT.FieldState = prismicT.FieldState> = {
70
122
  /**
@@ -72,56 +124,60 @@ declare type MockContentRelationshipValueConfig<Model extends prismicT.CustomTyp
72
124
  */
73
125
  linkableDocuments?: prismicT.PrismicDocument[];
74
126
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
75
- declare const contentRelationship: <Model extends prismicT.CustomTypeModelContentRelationshipField<string, string> = prismicT.CustomTypeModelContentRelationshipField<string, string>, State extends prismicT.FieldState = "filled">(config?: MockContentRelationshipValueConfig<Model, State>) => prismicT.RelationField<Model["config"]["customtypes"], string, never, State>;
127
+ declare const contentRelationship: <Model extends prismicT.CustomTypeModelContentRelationshipField<string, string> = prismicT.CustomTypeModelContentRelationshipField<string, string>, State extends prismicT.FieldState = "filled">(config: MockContentRelationshipValueConfig<Model, State>) => prismicT.RelationField<IterableElement<NonNullable<Model["config"]>["customtypes"]>, string, never, State>;
76
128
 
77
129
  declare type MockTimestampValueConfig<Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = prismicT.FieldState> = {
78
130
  after?: Date;
79
131
  before?: Date;
80
132
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
81
- declare const timestamp: <Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = "filled">(config?: MockTimestampValueConfig<Model, State>) => prismicT.TimestampField<State>;
133
+ declare const timestamp: <Model extends prismicT.CustomTypeModelTimestampField = prismicT.CustomTypeModelTimestampField, State extends prismicT.FieldState = "filled">(config: MockTimestampValueConfig<Model, State>) => prismicT.TimestampField<State>;
82
134
 
83
135
  declare type MockDateValueConfig<Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = prismicT.FieldState> = Pick<MockTimestampValueConfig, "after" | "before"> & MockValueConfig<Model> & MockValueStateConfig<State>;
84
- declare const date: <Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = "filled">(config?: MockDateValueConfig<Model, State>) => prismicT.DateField<State>;
136
+ declare const date: <Model extends prismicT.CustomTypeModelDateField = prismicT.CustomTypeModelDateField, State extends prismicT.FieldState = "filled">(config: MockDateValueConfig<Model, State>) => prismicT.DateField<State>;
85
137
 
86
- declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
87
- declare const embed: <Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, State extends prismicT.FieldState = "filled">(config?: MockEmbedValueConfig<Model, State>) => prismicT.EmbedField<prismicT.AnyOEmbed & prismicT.OEmbedExtra, State>;
138
+ declare type MockEmbedValueConfig<Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, Data extends prismicT.AnyOEmbed = prismicT.AnyOEmbed, State extends prismicT.FieldState = prismicT.FieldState> = {
139
+ url?: string;
140
+ html?: string;
141
+ data?: Data;
142
+ } & MockValueConfig<Model> & MockValueStateConfig<State>;
143
+ declare const embed: <Model extends prismicT.CustomTypeModelEmbedField = prismicT.CustomTypeModelEmbedField, Data extends prismicT.AnyOEmbed = prismicT.AnyOEmbed, State extends prismicT.FieldState = "filled">(config: MockEmbedValueConfig<Model, Data, State>) => prismicT.EmbedField<Data, State>;
88
144
 
89
145
  declare type MockGeoPointValueConfig<Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
90
- declare const geoPoint: <Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = "filled">(config?: MockGeoPointValueConfig<Model, State>) => prismicT.GeoPointField<State>;
146
+ declare const geoPoint: <Model extends prismicT.CustomTypeModelGeoPointField = prismicT.CustomTypeModelGeoPointField, State extends prismicT.FieldState = "filled">(config: MockGeoPointValueConfig<Model, State>) => prismicT.GeoPointField<State>;
91
147
 
92
148
  declare type MockGroupValueConfig<Model extends prismicT.CustomTypeModelGroupField = prismicT.CustomTypeModelGroupField, State extends prismicT.FieldState = prismicT.FieldState> = {
93
149
  itemsCount?: State extends "empty" ? 0 : number;
94
150
  configs?: ValueForModelMapConfigs;
95
151
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
96
- declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>, State extends prismicT.FieldState = "filled">(config?: MockGroupValueConfig<Model, State>) => ModelValue<Model, State>;
152
+ declare const group: <Model extends prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelGroupField<Record<string, prismicT.CustomTypeModelFieldForGroup>>, State extends prismicT.FieldState = "filled">(config: MockGroupValueConfig<Model, State>) => ModelValue<Model, State>;
97
153
 
98
154
  declare type MockImageValueConfig<Model extends prismicT.CustomTypeModelImageField = prismicT.CustomTypeModelImageField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
99
- declare const image: <Model extends prismicT.CustomTypeModelImageField<string> = prismicT.CustomTypeModelImageField<string>, State extends prismicT.FieldState = "filled">(config?: MockImageValueConfig<Model, State>) => prismicT.ImageField<Model["config"]["thumbnails"][number]["name"], State>;
155
+ declare const image: <Model extends prismicT.CustomTypeModelImageField<string> = prismicT.CustomTypeModelImageField<string>, State extends prismicT.FieldState = "filled">(config: MockImageValueConfig<Model, State>) => prismicT.ImageFieldImage<State> & Record<NonNullable<NonNullable<Model["config"]>["thumbnails"]>[number]["name"] extends infer T_1 ? T_1 extends NonNullable<NonNullable<Model["config"]>["thumbnails"]>[number]["name"] ? T_1 extends string ? Exclude<T_1, "url" | "dimensions" | "alt" | "copyright"> : never : never : never, prismicT.ImageFieldImage<State>> extends infer T ? { [P in keyof T]: (prismicT.ImageFieldImage<State> & Record<NonNullable<NonNullable<Model["config"]>["thumbnails"]>[number]["name"] extends infer T_1 ? T_1 extends NonNullable<NonNullable<Model["config"]>["thumbnails"]>[number]["name"] ? T_1 extends string ? Exclude<T_1, "url" | "dimensions" | "alt" | "copyright"> : never : never : never, prismicT.ImageFieldImage<State>>)[P]; } : never;
100
156
 
101
- declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob = unknown, State extends prismicT.FieldState = prismicT.FieldState> = {
102
- data?: Blob;
157
+ declare type MockIntegrationFieldsValueConfig<Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Data extends Record<string, unknown> = Record<string, unknown>, State extends prismicT.FieldState = prismicT.FieldState> = {
158
+ data?: Data;
103
159
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
104
- declare const integrationFields: <Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Blob_1 = unknown, State extends prismicT.FieldState = "filled">(config?: MockIntegrationFieldsValueConfig<Model, Blob_1, State>) => prismicT.IntegrationFields<Blob_1, State>;
160
+ declare const integrationFields: <Model extends prismicT.CustomTypeModelIntegrationFieldsField = prismicT.CustomTypeModelIntegrationFieldsField, Data extends Record<string, unknown> = Record<string, unknown>, State extends prismicT.FieldState = "filled">(config: MockIntegrationFieldsValueConfig<Model, Data, State>) => prismicT.IntegrationFields<Data, State>;
105
161
 
106
162
  declare type MockKeyTextValueConfig<Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
107
- declare const keyText: <Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = "filled">(config?: MockKeyTextValueConfig<Model, State>) => prismicT.KeyTextField<State>;
163
+ declare const keyText: <Model extends prismicT.CustomTypeModelKeyTextField = prismicT.CustomTypeModelKeyTextField, State extends prismicT.FieldState = "filled">(config: MockKeyTextValueConfig<Model, State>) => prismicT.KeyTextField<State>;
108
164
 
109
165
  declare type MockLinkValueConfig<LinkType extends typeof prismicT.LinkType[keyof typeof prismicT.LinkType] = typeof prismicT.LinkType[keyof typeof prismicT.LinkType], Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField, State extends prismicT.FieldState = prismicT.FieldState> = {
110
166
  type?: LinkType;
111
- withTargetBlank?: Model["config"]["allowTargetBlank"] extends undefined ? false : boolean;
167
+ withTargetBlank?: NonNullable<Model["config"]>["allowTargetBlank"] extends undefined ? false : boolean;
112
168
  /**
113
169
  * A list of potential documents to which the field can be linked.
114
170
  */
115
171
  linkableDocuments?: LinkType extends typeof prismicT.LinkType.Document ? prismicT.PrismicDocument[] : never;
116
172
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
117
173
  declare type MockLinkValue<LinkType extends typeof prismicT.LinkType[keyof typeof prismicT.LinkType] = typeof prismicT.LinkType[keyof typeof prismicT.LinkType], State extends prismicT.FieldState = "filled"> = State extends "empty" ? prismicT.EmptyLinkField<LinkType> : LinkType extends typeof prismicT.LinkType.Web ? prismicT.FilledLinkToWebField : LinkType extends typeof prismicT.LinkType.Media ? prismicT.FilledLinkToMediaField : LinkType extends typeof prismicT.LinkType.Document ? prismicT.FilledLinkToDocumentField : never;
118
- declare const link: <LinkType extends "Any" | "Document" | "Media" | "Web" = "Any" | "Document" | "Media" | "Web", Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField, State extends prismicT.FieldState = "filled">(config?: MockLinkValueConfig<LinkType, Model, State>) => MockLinkValue<LinkType, State>;
174
+ declare const link: <LinkType extends "Document" | "Media" | "Web" | "Any" = "Document" | "Media" | "Web" | "Any", Model extends prismicT.CustomTypeModelLinkField = prismicT.CustomTypeModelLinkField, State extends prismicT.FieldState = "filled">(config: MockLinkValueConfig<LinkType, Model, State>) => MockLinkValue<LinkType, State>;
119
175
 
120
176
  declare type MockLinkToMediaValueConfig<Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
121
- declare const linkToMedia: <Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = "filled">(config?: MockLinkToMediaValueConfig<Model, State>) => prismicT.LinkToMediaField<State>;
177
+ declare const linkToMedia: <Model extends prismicT.CustomTypeModelLinkToMediaField = prismicT.CustomTypeModelLinkToMediaField, State extends prismicT.FieldState = "filled">(config: MockLinkToMediaValueConfig<Model, State>) => prismicT.LinkToMediaField<State>;
122
178
 
123
179
  declare type MockNumberValueConfig<Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
124
- declare const number: <Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = "filled">(config?: MockNumberValueConfig<Model, State>) => prismicT.NumberField<State>;
180
+ declare const number: <Model extends prismicT.CustomTypeModelNumberField = prismicT.CustomTypeModelNumberField, State extends prismicT.FieldState = "filled">(config: MockNumberValueConfig<Model, State>) => prismicT.NumberField<State>;
125
181
 
126
182
  declare const patterns$1: {
127
183
  readonly short: {
@@ -137,13 +193,13 @@ declare const patterns$1: {
137
193
  readonly blockCountMax: 8;
138
194
  };
139
195
  };
140
- declare type MockRichTextValueConfig = {
196
+ declare type MockRichTextValueConfig<Model extends prismicT.CustomTypeModelRichTextField = prismicT.CustomTypeModelRichTextField, State extends prismicT.FieldState = prismicT.FieldState> = {
141
197
  pattern?: keyof typeof patterns$1;
142
- } & MockRichTextValueConfig$1<prismicT.CustomTypeModelRichTextField>;
143
- declare const richText: (config?: MockRichTextValueConfig) => prismicT.RichTextField;
198
+ } & MockRichTextValueConfig$1<Model> & MockValueStateConfig<State>;
199
+ declare const richText: <Model extends prismicT.CustomTypeModelRichTextField = prismicT.CustomTypeModelRichTextField, State extends prismicT.FieldState = prismicT.FieldState>(config: MockRichTextValueConfig<Model, State>) => prismicT.RichTextField<State>;
144
200
 
145
201
  declare type MockSelectValueConfig<Model extends prismicT.CustomTypeModelSelectField = prismicT.CustomTypeModelSelectField, State extends prismicT.FieldState = prismicT.FieldState> = MockValueConfig<Model> & MockValueStateConfig<State>;
146
- declare const select: <Model extends prismicT.CustomTypeModelSelectField<string, string> = prismicT.CustomTypeModelSelectField<string, string>, State extends prismicT.FieldState = "filled">(config?: MockSelectValueConfig<Model, State>) => prismicT.SelectField<Model["config"]["options"][number], State>;
202
+ declare const select: <Model extends prismicT.CustomTypeModelSelectField<string, string> = prismicT.CustomTypeModelSelectField<string, string>, State extends prismicT.FieldState = "filled">(config: MockSelectValueConfig<Model, State>) => prismicT.SelectField<NonNullable<NonNullable<Model["config"]>["options"]>[number], State>;
147
203
 
148
204
  declare type MockSliceValueConfig<Model extends prismicT.CustomTypeModelSlice = prismicT.CustomTypeModelSlice> = {
149
205
  type?: string;
@@ -152,7 +208,7 @@ declare type MockSliceValueConfig<Model extends prismicT.CustomTypeModelSlice =
152
208
  primaryFieldConfigs?: ValueForModelMapConfigs;
153
209
  itemsFieldConfigs?: ValueForModelMapConfigs;
154
210
  } & MockValueConfig<Model>;
155
- declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
211
+ declare const slice: <Model extends prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config: MockSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
156
212
 
157
213
  declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSliceZoneField = prismicT.CustomTypeModelSliceZoneField, State extends prismicT.FieldState = prismicT.FieldState> = {
158
214
  sharedSliceModels?: prismicT.SharedSliceModel[];
@@ -160,7 +216,7 @@ declare type MockSliceZoneValueConfig<Model extends prismicT.CustomTypeModelSlic
160
216
  primaryFieldConfigs?: ValueForModelMapConfigs;
161
217
  itemsFieldConfigs?: ValueForModelMapConfigs;
162
218
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
163
- declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice>>, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
219
+ declare const sliceZone: <Model extends prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice | prismicT.CustomTypeModelLegacySlice>> = prismicT.CustomTypeModelSliceZoneField<Record<string, prismicT.CustomTypeModelSlice<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> | prismicT.CustomTypeModelSharedSlice | prismicT.CustomTypeModelLegacySlice>>, State extends prismicT.FieldState = prismicT.FieldState>(config: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
164
220
 
165
221
  declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSliceModelVariation = prismicT.SharedSliceModelVariation> = {
166
222
  type?: string;
@@ -169,10 +225,10 @@ declare type MockSharedSliceVariationValueConfig<Model extends prismicT.SharedSl
169
225
  primaryFieldConfigs?: ValueForModelMapConfigs;
170
226
  itemsFieldConfigs?: ValueForModelMapConfigs;
171
227
  } & MockValueConfig<Model>;
172
- declare const sharedSliceVariation: <Model extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
228
+ declare const sharedSliceVariation: <Model extends prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>> = prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
173
229
 
174
230
  declare type MockSharedSliceValueConfig<Model extends prismicT.SharedSliceModel = prismicT.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "itemsCount" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
175
- declare const sharedSlice: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config?: MockSharedSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
231
+ declare const sharedSlice: <Model extends prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>> = prismicT.SharedSliceModel<string, prismicT.SharedSliceModelVariation<string, Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>>(config: MockSharedSliceValueConfig<Model>) => ModelValue<Model, prismicT.FieldState>;
176
232
 
177
233
  declare const patterns: {
178
234
  readonly short: {
@@ -195,10 +251,10 @@ declare type MockRichTextHeadingValueConfig = {
195
251
  declare type MockTitleValueConfig<Model extends prismicT.CustomTypeModelTitleField = prismicT.CustomTypeModelTitleField, State extends prismicT.FieldState = prismicT.FieldState> = {
196
252
  pattern?: MockRichTextHeadingValueConfig["pattern"];
197
253
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
198
- declare const title: <Model extends prismicT.CustomTypeModelRichTextSingleField = prismicT.CustomTypeModelRichTextSingleField, State extends prismicT.FieldState = prismicT.FieldState>(config?: MockTitleValueConfig<Model, State>) => prismicT.TitleField<State>;
254
+ declare const title: <Model extends prismicT.CustomTypeModelRichTextSingleField = prismicT.CustomTypeModelRichTextSingleField, State extends prismicT.FieldState = "filled">(config: MockTitleValueConfig<Model, State>) => prismicT.TitleField<State>;
199
255
 
200
256
  declare type MockUIDValueConfig<Model extends prismicT.CustomTypeModelUIDField = prismicT.CustomTypeModelUIDField> = MockValueConfig<Model>;
201
- declare const uid: (config?: MockUIDValueConfig) => NonNullable<prismicT.PrismicDocument["uid"]>;
257
+ declare const uid: <Model extends prismicT.CustomTypeModelUIDField = prismicT.CustomTypeModelUIDField>(config: MockUIDValueConfig<Model>) => NonNullable<prismicT.PrismicDocument["uid"]>;
202
258
 
203
259
  export { MockBooleanValueConfig, MockColorValueConfig, MockContentRelationshipValueConfig, MockCustomTypeValueConfig, MockDateValueConfig, MockCustomTypeValueConfig as MockDocumentValueConfig, MockEmbedValueConfig, MockGeoPointValueConfig, MockGroupValueConfig, MockImageValueConfig, MockIntegrationFieldsValueConfig, MockKeyTextValueConfig, MockLinkToMediaValueConfig, MockLinkValueConfig, MockNumberValueConfig, MockRichTextValueConfig, MockSelectValueConfig, MockSharedSliceValueConfig, MockSharedSliceVariationValueConfig, MockSliceValueConfig, MockSliceZoneValueConfig, MockTimestampValueConfig, MockTitleValueConfig, MockUIDValueConfig, boolean, color, contentRelationship, customType, date, customType as document, embed, geoPoint, group, image, integrationFields, keyText, link, linkToMedia, number, richText, select, sharedSlice, sharedSliceVariation, slice, sliceZone, timestamp, title, uid };
204
260
  //# sourceMappingURL=index.d.ts.map