@prismicio/mock
Advanced tools
Comparing version 0.0.5 to 0.0.6
@@ -22,3 +22,3 @@ import * as prismicT from '@prismicio/types'; | ||
select?: MockSelectValueConfig; | ||
slices?: MockSliceZoneValueConfig; | ||
sliceZone?: MockSliceZoneValueConfig; | ||
timestamp?: MockTimestampValueConfig; | ||
@@ -31,3 +31,3 @@ title?: MockTitleValueConfig; | ||
withURL?: boolean; | ||
sharedSliceModels?: prismicT.SharedSliceModel[]; | ||
alternateLanguages?: prismicT.PrismicDocument[]; | ||
configs?: ValueForModelMapConfigs; | ||
@@ -522,6 +522,10 @@ } & MockValueConfig<Model>; | ||
declare type MockSharedSliceModelConfig = { | ||
declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = ({ | ||
variations?: Variation[]; | ||
variationsCount?: never; | ||
} | { | ||
variations?: never; | ||
variationsCount?: number; | ||
} & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig; | ||
declare const sharedSlice: (config?: MockSharedSliceModelConfig) => prismicT.SharedSliceModel; | ||
}) & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig; | ||
declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>; | ||
@@ -528,0 +532,0 @@ declare const sharedSliceChoice: () => prismicT.CustomTypeModelSharedSlice; |
@@ -131,6 +131,10 @@ import * as prismicT from '@prismicio/types'; | ||
declare type MockSharedSliceModelConfig = { | ||
declare type MockSharedSliceModelConfig<Variation extends prismicT.SharedSliceModelVariation> = ({ | ||
variations?: Variation[]; | ||
variationsCount?: never; | ||
} | { | ||
variations?: never; | ||
variationsCount?: number; | ||
} & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig; | ||
declare const sharedSlice: (config?: MockSharedSliceModelConfig) => prismicT.SharedSliceModel; | ||
}) & Pick<MockSharedSliceVariationModelConfig, "itemsFieldConfig" | "primaryFieldConfig"> & MockModelConfig; | ||
declare const sharedSlice: <Variation extends prismicT.SharedSliceModelVariation<Record<string, prismicT.CustomTypeModelFieldForGroup>, Record<string, prismicT.CustomTypeModelFieldForGroup>>>(config?: MockSharedSliceModelConfig<Variation>) => prismicT.SharedSliceModel<string, Variation>; | ||
@@ -137,0 +141,0 @@ declare const sharedSliceChoice: () => prismicT.CustomTypeModelSharedSlice; |
@@ -46,3 +46,3 @@ import * as prismicT from '@prismicio/types'; | ||
select?: MockSelectValueConfig; | ||
slices?: MockSliceZoneValueConfig; | ||
sliceZone?: MockSliceZoneValueConfig; | ||
timestamp?: MockTimestampValueConfig; | ||
@@ -55,3 +55,3 @@ title?: MockTitleValueConfig; | ||
withURL?: boolean; | ||
sharedSliceModels?: prismicT.SharedSliceModel[]; | ||
alternateLanguages?: prismicT.PrismicDocument[]; | ||
configs?: ValueForModelMapConfigs; | ||
@@ -58,0 +58,0 @@ } & MockValueConfig<Model>; |
{ | ||
"name": "@prismicio/mock", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"description": "Generate mock Prismic documents, fields, Slices, and models for development and testing environments", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
import * as prismicT from "@prismicio/types"; | ||
type BuildEmbedFieldConfig = { | ||
document: prismicT.PrismicDocument; | ||
type BuildEmbedFieldConfig<Document extends prismicT.PrismicDocument> = { | ||
document: Document; | ||
}; | ||
export const buildContentRelationshipField = ( | ||
config: BuildEmbedFieldConfig, | ||
): prismicT.FilledLinkToDocumentField => { | ||
export const buildContentRelationshipField = < | ||
Document extends prismicT.PrismicDocument, | ||
>( | ||
config: BuildEmbedFieldConfig<Document>, | ||
): prismicT.FilledLinkToDocumentField<Document["type"], Document["lang"]> => { | ||
return { | ||
@@ -11,0 +13,0 @@ link_type: prismicT.LinkType.Document, |
@@ -96,3 +96,3 @@ import * as prismicT from "@prismicio/types"; | ||
case prismicT.CustomTypeModelFieldType.Slices: | ||
return "slices"; | ||
return "sliceZone"; | ||
} | ||
@@ -117,3 +117,3 @@ }; | ||
select?: MockSelectValueConfig; | ||
slices?: MockSliceZoneValueConfig; | ||
sliceZone?: MockSliceZoneValueConfig; | ||
timestamp?: MockTimestampValueConfig; | ||
@@ -120,0 +120,0 @@ title?: MockTitleValueConfig; |
@@ -42,3 +42,3 @@ import * as prismicT from "@prismicio/types"; | ||
for (let i = 0; i < tabsCount; i++) { | ||
const tabName = changeCase.capitalCase(faker.company.bsNoun()); | ||
const tabName = changeCase.capitalCase(faker.lorem.word()); | ||
const tabFields: prismicT.CustomTypeModelTab = buildMockGroupFieldMap({ | ||
@@ -45,0 +45,0 @@ seed: config.seed, |
@@ -35,3 +35,3 @@ import * as prismicT from "@prismicio/types"; | ||
.map(() => ({ | ||
name: changeCase.capitalCase(faker.company.bsNoun()), | ||
name: changeCase.pascalCase(faker.company.bsNoun()), | ||
width: faker.datatype.number({ min: 500, max: 2000 }), | ||
@@ -38,0 +38,0 @@ height: faker.datatype.number({ min: 500, max: 2000 }), |
@@ -13,29 +13,49 @@ import * as prismicT from "@prismicio/types"; | ||
type MockSharedSliceModelConfig = { | ||
variationsCount?: number; | ||
} & Pick< | ||
MockSharedSliceVariationModelConfig, | ||
"itemsFieldConfig" | "primaryFieldConfig" | ||
> & | ||
type MockSharedSliceModelConfig< | ||
Variation extends prismicT.SharedSliceModelVariation, | ||
> = ( | ||
| { | ||
variations?: Variation[]; | ||
variationsCount?: never; | ||
} | ||
| { | ||
variations?: never; | ||
variationsCount?: number; | ||
} | ||
) & | ||
Pick< | ||
MockSharedSliceVariationModelConfig, | ||
"itemsFieldConfig" | "primaryFieldConfig" | ||
> & | ||
MockModelConfig; | ||
export const sharedSlice = ( | ||
config: MockSharedSliceModelConfig = {}, | ||
): prismicT.SharedSliceModel => { | ||
export const sharedSlice = < | ||
Variation extends prismicT.SharedSliceModelVariation, | ||
>( | ||
config: MockSharedSliceModelConfig<Variation> = {}, | ||
): prismicT.SharedSliceModel<string, Variation> => { | ||
const faker = createFaker(config.seed); | ||
const variationsCount = | ||
config.variationsCount ?? faker.datatype.number({ min: 1, max: 3 }); | ||
const name = changeCase.capitalCase(faker.company.bsNoun()); | ||
const variations = Array(variationsCount) | ||
.fill(undefined) | ||
.map(() => | ||
sharedSliceVariation({ | ||
seed: config.seed, | ||
itemsFieldConfig: config.itemsFieldConfig, | ||
primaryFieldConfig: config.primaryFieldConfig, | ||
}), | ||
); | ||
let variations: Variation[] = []; | ||
if ("variations" in config) { | ||
variations = config.variations || []; | ||
} else { | ||
const variationsCount = | ||
config.variationsCount ?? faker.datatype.number({ min: 1, max: 3 }); | ||
variations = Array(variationsCount) | ||
.fill(undefined) | ||
.map( | ||
() => | ||
sharedSliceVariation({ | ||
seed: config.seed, | ||
itemsFieldConfig: config.itemsFieldConfig, | ||
primaryFieldConfig: config.primaryFieldConfig, | ||
}) as Variation, | ||
); | ||
} | ||
return { | ||
@@ -42,0 +62,0 @@ type: prismicT.CustomTypeModelSliceType.SharedSlice, |
import * as prismicT from "@prismicio/types"; | ||
import { buildContentRelationshipField } from "../lib/buildContentRelationshipField"; | ||
import { createFaker } from "../lib/createFaker"; | ||
import { generateCustomTypeId } from "../lib/generateCustomTypeId"; | ||
import { generateTags } from "../lib/generateTags"; | ||
@@ -8,6 +11,4 @@ import { MockValueConfig } from "../types"; | ||
import * as modelGen from "../model"; | ||
import { document as documentGen } from "./document"; | ||
import { buildContentRelationshipField } from "../lib/buildContentRelationshipField"; | ||
import { generateCustomTypeId } from "../lib/generateCustomTypeId"; | ||
import { generateTags } from "../lib/generateTags"; | ||
@@ -14,0 +15,0 @@ export type MockContentRelationshipValueConfig< |
@@ -16,2 +16,3 @@ import * as prismicT from "@prismicio/types"; | ||
import { timestamp } from "./timestamp"; | ||
import { buildAlternativeLanguage } from "../lib/buildAlternativeLanguage"; | ||
@@ -22,3 +23,3 @@ export type MockCustomTypeValueConfig< | ||
withURL?: boolean; | ||
sharedSliceModels?: prismicT.SharedSliceModel[]; | ||
alternateLanguages?: prismicT.PrismicDocument[]; | ||
configs?: ValueForModelMapConfigs; | ||
@@ -41,3 +42,3 @@ } & MockValueConfig<Model>; | ||
const dataFieldMmodelsMap: prismicT.CustomTypeModelTab = {}; | ||
const dataFieldModelsMap: prismicT.CustomTypeModelTab = {}; | ||
for (const key in fieldModelsMap) { | ||
@@ -49,3 +50,3 @@ const fieldModel = fieldModelsMap[key]; | ||
if (fieldModel.type !== prismicT.CustomTypeModelFieldType.UID) { | ||
dataFieldMmodelsMap[key] = fieldModel; | ||
dataFieldModelsMap[key] = fieldModel; | ||
} | ||
@@ -60,2 +61,9 @@ } | ||
const alternateLanguages = (config.alternateLanguages || []).map( | ||
(alternateLanguageDocument) => | ||
buildAlternativeLanguage({ | ||
document: alternateLanguageDocument, | ||
}), | ||
); | ||
return { | ||
@@ -71,3 +79,3 @@ type: model.id, | ||
linked_documents: [] as prismicT.PrismicDocument["linked_documents"], | ||
alternate_languages: [] as prismicT.PrismicDocument["alternate_languages"], | ||
alternate_languages: alternateLanguages, | ||
first_publication_date: timestamp({ seed: config.seed }), | ||
@@ -77,3 +85,3 @@ last_publication_date: timestamp({ seed: config.seed }), | ||
seed: config.seed, | ||
map: dataFieldMmodelsMap, | ||
map: dataFieldModelsMap, | ||
configs: config.configs, | ||
@@ -80,0 +88,0 @@ }), |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
463157
93
12216