feat: v4.0.0 (#1016)
Co-authored-by: Denys Konovalov <kontakt@denyskon.de> Co-authored-by: Mathieu COSYNS <64072917+Mathieu-COSYNS@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
682576ffc4
commit
799c7e6936
@ -1,10 +1,20 @@
|
||||
/* eslint-disable import/prefer-default-export */
|
||||
import type { BaseField, Collection, Field } from '@staticcms/core/interface';
|
||||
import type {
|
||||
BaseField,
|
||||
Collection,
|
||||
CollectionFile,
|
||||
CollectionFileWithDefaults,
|
||||
CollectionWithDefaults,
|
||||
Field,
|
||||
FilesCollection,
|
||||
FilesCollectionWithDefaults,
|
||||
FolderCollection,
|
||||
FolderCollectionWithDefaults,
|
||||
} from '@staticcms/core';
|
||||
|
||||
export const createMockCollection = <EF extends BaseField>(
|
||||
export const createMockFolderCollection = <EF extends BaseField>(
|
||||
extra: Partial<Collection<EF>> = {},
|
||||
...fields: Field<EF>[]
|
||||
): Collection<EF> => ({
|
||||
): FolderCollection<EF> => ({
|
||||
name: 'mock_collection',
|
||||
label: 'Mock Collections',
|
||||
label_singular: 'Mock Collection',
|
||||
@ -29,3 +39,67 @@ export const createMockCollection = <EF extends BaseField>(
|
||||
],
|
||||
...extra,
|
||||
});
|
||||
|
||||
export const createMockFolderCollectionWithDefaults = <EF extends BaseField>(
|
||||
extra: Partial<CollectionWithDefaults<EF>> = {},
|
||||
...fields: Field<EF>[]
|
||||
): FolderCollectionWithDefaults<EF> => ({
|
||||
...createMockFolderCollection(extra, ...fields),
|
||||
i18n: extra.i18n,
|
||||
});
|
||||
|
||||
export const createMockCollectionFile = <EF extends BaseField>(
|
||||
extra: Partial<CollectionFile<EF>> = {},
|
||||
...fields: Field<EF>[]
|
||||
): CollectionFile<EF> => ({
|
||||
name: 'mock_collection',
|
||||
label: 'Mock Collections',
|
||||
label_singular: 'Mock Collection',
|
||||
file: 'mock_collection.md',
|
||||
description:
|
||||
'The description is a great place for tone setting, high level information, and editing guidelines that are specific to a collection.\n',
|
||||
fields: [
|
||||
{
|
||||
label: 'Title',
|
||||
name: 'title',
|
||||
widget: 'string',
|
||||
},
|
||||
...fields,
|
||||
],
|
||||
...extra,
|
||||
});
|
||||
|
||||
export const createMockCollectionFileWithDefaults = <EF extends BaseField>(
|
||||
extra: Partial<CollectionFileWithDefaults<EF>> = {},
|
||||
...fields: Field<EF>[]
|
||||
): CollectionFileWithDefaults<EF> => ({
|
||||
...createMockCollectionFile(extra, ...fields),
|
||||
i18n: extra.i18n,
|
||||
});
|
||||
|
||||
export const createMockFilesCollection = <EF extends BaseField>(
|
||||
extra: Omit<Partial<FilesCollection<EF>>, 'files'> & Pick<FilesCollection<EF>, 'files'>,
|
||||
): FilesCollection<EF> => ({
|
||||
name: 'mock_collection',
|
||||
label: 'Mock Collections',
|
||||
label_singular: 'Mock Collection',
|
||||
description:
|
||||
'The description is a great place for tone setting, high level information, and editing guidelines that are specific to a collection.\n',
|
||||
summary: '{{title}}',
|
||||
sortable_fields: {
|
||||
fields: ['title'],
|
||||
default: {
|
||||
field: 'title',
|
||||
},
|
||||
},
|
||||
...extra,
|
||||
});
|
||||
|
||||
export const createMockFilesCollectionWithDefaults = <EF extends BaseField>(
|
||||
extra: Omit<Partial<FilesCollectionWithDefaults<EF>>, 'files'> &
|
||||
Pick<FilesCollectionWithDefaults<EF>, 'files'>,
|
||||
): FilesCollectionWithDefaults<EF> => ({
|
||||
...createMockFilesCollection(extra),
|
||||
i18n: extra.i18n,
|
||||
files: extra.files,
|
||||
});
|
||||
|
Reference in New Issue
Block a user