@storyblok/schema 1.0.0-alpha.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.
- package/README.md +72 -0
- package/dist/generated/mapi-types.d.cts +732 -0
- package/dist/generated/mapi-types.d.mts +732 -0
- package/dist/generated/types.d.cts +155 -0
- package/dist/generated/types.d.mts +155 -0
- package/dist/helpers/create-story-helpers.cjs +42 -0
- package/dist/helpers/create-story-helpers.cjs.map +1 -0
- package/dist/helpers/create-story-helpers.d.cts +48 -0
- package/dist/helpers/create-story-helpers.d.mts +48 -0
- package/dist/helpers/create-story-helpers.mjs +42 -0
- package/dist/helpers/create-story-helpers.mjs.map +1 -0
- package/dist/helpers/define-asset-folder.cjs +40 -0
- package/dist/helpers/define-asset-folder.cjs.map +1 -0
- package/dist/helpers/define-asset-folder.d.cts +33 -0
- package/dist/helpers/define-asset-folder.d.mts +33 -0
- package/dist/helpers/define-asset-folder.mjs +37 -0
- package/dist/helpers/define-asset-folder.mjs.map +1 -0
- package/dist/helpers/define-asset.cjs +43 -0
- package/dist/helpers/define-asset.cjs.map +1 -0
- package/dist/helpers/define-asset.d.cts +32 -0
- package/dist/helpers/define-asset.d.mts +32 -0
- package/dist/helpers/define-asset.mjs +40 -0
- package/dist/helpers/define-asset.mjs.map +1 -0
- package/dist/helpers/define-block-folder.cjs +40 -0
- package/dist/helpers/define-block-folder.cjs.map +1 -0
- package/dist/helpers/define-block-folder.d.cts +34 -0
- package/dist/helpers/define-block-folder.d.mts +34 -0
- package/dist/helpers/define-block-folder.mjs +37 -0
- package/dist/helpers/define-block-folder.mjs.map +1 -0
- package/dist/helpers/define-block.cjs +51 -0
- package/dist/helpers/define-block.cjs.map +1 -0
- package/dist/helpers/define-block.d.cts +90 -0
- package/dist/helpers/define-block.d.mts +90 -0
- package/dist/helpers/define-block.mjs +48 -0
- package/dist/helpers/define-block.mjs.map +1 -0
- package/dist/helpers/define-datasource-entry.cjs +41 -0
- package/dist/helpers/define-datasource-entry.cjs.map +1 -0
- package/dist/helpers/define-datasource-entry.d.cts +48 -0
- package/dist/helpers/define-datasource-entry.d.mts +48 -0
- package/dist/helpers/define-datasource-entry.mjs +37 -0
- package/dist/helpers/define-datasource-entry.mjs.map +1 -0
- package/dist/helpers/define-datasource.cjs +33 -0
- package/dist/helpers/define-datasource.cjs.map +1 -0
- package/dist/helpers/define-datasource.d.cts +41 -0
- package/dist/helpers/define-datasource.d.mts +41 -0
- package/dist/helpers/define-datasource.mjs +30 -0
- package/dist/helpers/define-datasource.mjs.map +1 -0
- package/dist/helpers/define-field.cjs +17 -0
- package/dist/helpers/define-field.cjs.map +1 -0
- package/dist/helpers/define-field.d.cts +100 -0
- package/dist/helpers/define-field.d.mts +100 -0
- package/dist/helpers/define-field.mjs +16 -0
- package/dist/helpers/define-field.mjs.map +1 -0
- package/dist/helpers/define-internal-tag.cjs +37 -0
- package/dist/helpers/define-internal-tag.cjs.map +1 -0
- package/dist/helpers/define-internal-tag.d.cts +34 -0
- package/dist/helpers/define-internal-tag.d.mts +34 -0
- package/dist/helpers/define-internal-tag.mjs +34 -0
- package/dist/helpers/define-internal-tag.mjs.map +1 -0
- package/dist/helpers/define-link.cjs +22 -0
- package/dist/helpers/define-link.cjs.map +1 -0
- package/dist/helpers/define-link.d.cts +31 -0
- package/dist/helpers/define-link.d.mts +31 -0
- package/dist/helpers/define-link.mjs +21 -0
- package/dist/helpers/define-link.mjs.map +1 -0
- package/dist/helpers/define-preset.cjs +37 -0
- package/dist/helpers/define-preset.cjs.map +1 -0
- package/dist/helpers/define-preset.d.cts +35 -0
- package/dist/helpers/define-preset.d.mts +35 -0
- package/dist/helpers/define-preset.mjs +34 -0
- package/dist/helpers/define-preset.mjs.map +1 -0
- package/dist/helpers/define-space.cjs +34 -0
- package/dist/helpers/define-space.cjs.map +1 -0
- package/dist/helpers/define-space.d.cts +31 -0
- package/dist/helpers/define-space.d.mts +31 -0
- package/dist/helpers/define-space.mjs +31 -0
- package/dist/helpers/define-space.mjs.map +1 -0
- package/dist/helpers/define-story.cjs +94 -0
- package/dist/helpers/define-story.cjs.map +1 -0
- package/dist/helpers/define-story.d.cts +127 -0
- package/dist/helpers/define-story.d.mts +127 -0
- package/dist/helpers/define-story.mjs +90 -0
- package/dist/helpers/define-story.mjs.map +1 -0
- package/dist/helpers/define-tag.cjs +13 -0
- package/dist/helpers/define-tag.cjs.map +1 -0
- package/dist/helpers/define-tag.d.cts +23 -0
- package/dist/helpers/define-tag.d.mts +23 -0
- package/dist/helpers/define-tag.mjs +12 -0
- package/dist/helpers/define-tag.mjs.map +1 -0
- package/dist/helpers/define-user.cjs +32 -0
- package/dist/helpers/define-user.cjs.map +1 -0
- package/dist/helpers/define-user.d.cts +26 -0
- package/dist/helpers/define-user.d.mts +26 -0
- package/dist/helpers/define-user.mjs +30 -0
- package/dist/helpers/define-user.mjs.map +1 -0
- package/dist/helpers/schema-type.d.cts +40 -0
- package/dist/helpers/schema-type.d.mts +40 -0
- package/dist/index.cjs +55 -0
- package/dist/index.d.cts +19 -0
- package/dist/index.d.mts +19 -0
- package/dist/index.mjs +17 -0
- package/dist/utils/prettify.d.cts +9 -0
- package/dist/utils/prettify.d.mts +9 -0
- package/package.json +85 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
//#region src/generated/types.d.ts
|
|
2
|
+
type StoryBase = {
|
|
3
|
+
id: number;
|
|
4
|
+
name: string;
|
|
5
|
+
parent_id: number;
|
|
6
|
+
group_id: string;
|
|
7
|
+
alternates: Array<StoryAlternate>;
|
|
8
|
+
created_at: string;
|
|
9
|
+
sort_by_date: string | null;
|
|
10
|
+
tag_list: Array<string>;
|
|
11
|
+
updated_at: string;
|
|
12
|
+
published_at: string | null;
|
|
13
|
+
uuid: string;
|
|
14
|
+
content: BlokContent;
|
|
15
|
+
slug: string;
|
|
16
|
+
path: string | null;
|
|
17
|
+
full_slug: string;
|
|
18
|
+
is_startpage: boolean;
|
|
19
|
+
meta_data: {} | null;
|
|
20
|
+
first_published_at: string | null;
|
|
21
|
+
translated_slugs: Array<StoryTranslatedSlug> | null;
|
|
22
|
+
localized_paths?: Array<StoryLocalizedPath> | undefined;
|
|
23
|
+
position: number;
|
|
24
|
+
};
|
|
25
|
+
type StoryAlternate = {
|
|
26
|
+
id: number;
|
|
27
|
+
name: string;
|
|
28
|
+
slug: string;
|
|
29
|
+
published: boolean;
|
|
30
|
+
full_slug: string;
|
|
31
|
+
is_folder: boolean;
|
|
32
|
+
parent_id: number;
|
|
33
|
+
};
|
|
34
|
+
type AssetFieldValue = {
|
|
35
|
+
fieldtype: "asset";
|
|
36
|
+
id: number | null;
|
|
37
|
+
alt: string | null;
|
|
38
|
+
name?: string | undefined;
|
|
39
|
+
focus?: (string | null) | undefined;
|
|
40
|
+
title?: (string | null) | undefined;
|
|
41
|
+
source?: (string | null) | undefined;
|
|
42
|
+
filename: string;
|
|
43
|
+
copyright?: (string | null) | undefined;
|
|
44
|
+
meta_data?: {} | undefined;
|
|
45
|
+
is_external_url?: boolean | undefined;
|
|
46
|
+
};
|
|
47
|
+
type MultilinkFieldValue = {
|
|
48
|
+
fieldtype: "multilink";
|
|
49
|
+
id: string;
|
|
50
|
+
url: string;
|
|
51
|
+
linktype: "story" | "url" | "email" | "asset";
|
|
52
|
+
cached_url: string;
|
|
53
|
+
anchor?: (string | null) | undefined;
|
|
54
|
+
target?: (("_self" | "_blank") | null) | undefined;
|
|
55
|
+
};
|
|
56
|
+
type TableFieldValue = {
|
|
57
|
+
thead: Array<{
|
|
58
|
+
_uid: string;
|
|
59
|
+
component: "_table_head";
|
|
60
|
+
value?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
tbody: Array<{
|
|
63
|
+
_uid: string;
|
|
64
|
+
component: "_table_row";
|
|
65
|
+
body?: Array<{
|
|
66
|
+
_uid: string;
|
|
67
|
+
component: "_table_col";
|
|
68
|
+
value?: string | undefined;
|
|
69
|
+
}> | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
};
|
|
72
|
+
type RichtextFieldValue = {
|
|
73
|
+
type: "doc";
|
|
74
|
+
content?: Array<{}> | undefined;
|
|
75
|
+
};
|
|
76
|
+
type PluginFieldValue = {
|
|
77
|
+
plugin: string;
|
|
78
|
+
_uid?: string | undefined;
|
|
79
|
+
} & {
|
|
80
|
+
[key: string]: any | undefined;
|
|
81
|
+
};
|
|
82
|
+
type StoryLocalizedPath = {
|
|
83
|
+
path: string;
|
|
84
|
+
name?: (string | null) | undefined;
|
|
85
|
+
lang: string;
|
|
86
|
+
published?: (boolean | null) | undefined;
|
|
87
|
+
};
|
|
88
|
+
type StoryTranslatedSlug = {
|
|
89
|
+
path: string | null;
|
|
90
|
+
lang: string;
|
|
91
|
+
name?: (string | null) | undefined;
|
|
92
|
+
published?: (boolean | null) | undefined;
|
|
93
|
+
};
|
|
94
|
+
type BlokContent = {
|
|
95
|
+
_uid: string;
|
|
96
|
+
component: string;
|
|
97
|
+
_editable?: string | undefined;
|
|
98
|
+
} & {
|
|
99
|
+
[key: string]: string | number | boolean | Array<string | AssetFieldValue | BlokContent> | AssetFieldValue | MultilinkFieldValue | TableFieldValue | RichtextFieldValue | PluginFieldValue | undefined;
|
|
100
|
+
};
|
|
101
|
+
type Story = StoryBase & {
|
|
102
|
+
default_full_slug: string | null;
|
|
103
|
+
release_id: number | null;
|
|
104
|
+
lang: string;
|
|
105
|
+
};
|
|
106
|
+
type DatasourceEntry = {
|
|
107
|
+
id: number;
|
|
108
|
+
name: string;
|
|
109
|
+
value: string;
|
|
110
|
+
dimension_value?: (string | null) | undefined;
|
|
111
|
+
};
|
|
112
|
+
type Link = {
|
|
113
|
+
id: number;
|
|
114
|
+
uuid: string;
|
|
115
|
+
slug: string;
|
|
116
|
+
path: string | null;
|
|
117
|
+
parent_id?: (number | null) | undefined;
|
|
118
|
+
name: string;
|
|
119
|
+
is_folder: boolean;
|
|
120
|
+
published: boolean;
|
|
121
|
+
is_startpage: boolean;
|
|
122
|
+
position: number;
|
|
123
|
+
real_path: string;
|
|
124
|
+
published_at?: (string | null) | undefined;
|
|
125
|
+
created_at?: string | undefined;
|
|
126
|
+
updated_at?: string | undefined;
|
|
127
|
+
alternates?: Array<Partial<{
|
|
128
|
+
name: string;
|
|
129
|
+
slug: string;
|
|
130
|
+
path: string | null;
|
|
131
|
+
published: boolean;
|
|
132
|
+
}>> | undefined;
|
|
133
|
+
};
|
|
134
|
+
type Tag = {
|
|
135
|
+
name: string;
|
|
136
|
+
taggings_count: number;
|
|
137
|
+
};
|
|
138
|
+
type Datasource = {
|
|
139
|
+
id: number;
|
|
140
|
+
name: string;
|
|
141
|
+
slug: string;
|
|
142
|
+
dimensions?: Array<{
|
|
143
|
+
id?: number | undefined;
|
|
144
|
+
name?: string | undefined;
|
|
145
|
+
entry_value?: string | undefined;
|
|
146
|
+
datasource_id?: number | undefined;
|
|
147
|
+
created_at?: string | undefined;
|
|
148
|
+
updated_at?: string | undefined;
|
|
149
|
+
}> | undefined;
|
|
150
|
+
created_at: string;
|
|
151
|
+
updated_at: string;
|
|
152
|
+
};
|
|
153
|
+
//#endregion
|
|
154
|
+
export { AssetFieldValue, BlokContent, Datasource, DatasourceEntry, Link, MultilinkFieldValue, PluginFieldValue, RichtextFieldValue, Story, StoryAlternate, StoryBase, StoryLocalizedPath, StoryTranslatedSlug, TableFieldValue, Tag };
|
|
155
|
+
//# sourceMappingURL=types.d.cts.map
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
//#region src/generated/types.d.ts
|
|
2
|
+
type StoryBase = {
|
|
3
|
+
id: number;
|
|
4
|
+
name: string;
|
|
5
|
+
parent_id: number;
|
|
6
|
+
group_id: string;
|
|
7
|
+
alternates: Array<StoryAlternate>;
|
|
8
|
+
created_at: string;
|
|
9
|
+
sort_by_date: string | null;
|
|
10
|
+
tag_list: Array<string>;
|
|
11
|
+
updated_at: string;
|
|
12
|
+
published_at: string | null;
|
|
13
|
+
uuid: string;
|
|
14
|
+
content: BlokContent;
|
|
15
|
+
slug: string;
|
|
16
|
+
path: string | null;
|
|
17
|
+
full_slug: string;
|
|
18
|
+
is_startpage: boolean;
|
|
19
|
+
meta_data: {} | null;
|
|
20
|
+
first_published_at: string | null;
|
|
21
|
+
translated_slugs: Array<StoryTranslatedSlug> | null;
|
|
22
|
+
localized_paths?: Array<StoryLocalizedPath> | undefined;
|
|
23
|
+
position: number;
|
|
24
|
+
};
|
|
25
|
+
type StoryAlternate = {
|
|
26
|
+
id: number;
|
|
27
|
+
name: string;
|
|
28
|
+
slug: string;
|
|
29
|
+
published: boolean;
|
|
30
|
+
full_slug: string;
|
|
31
|
+
is_folder: boolean;
|
|
32
|
+
parent_id: number;
|
|
33
|
+
};
|
|
34
|
+
type AssetFieldValue = {
|
|
35
|
+
fieldtype: "asset";
|
|
36
|
+
id: number | null;
|
|
37
|
+
alt: string | null;
|
|
38
|
+
name?: string | undefined;
|
|
39
|
+
focus?: (string | null) | undefined;
|
|
40
|
+
title?: (string | null) | undefined;
|
|
41
|
+
source?: (string | null) | undefined;
|
|
42
|
+
filename: string;
|
|
43
|
+
copyright?: (string | null) | undefined;
|
|
44
|
+
meta_data?: {} | undefined;
|
|
45
|
+
is_external_url?: boolean | undefined;
|
|
46
|
+
};
|
|
47
|
+
type MultilinkFieldValue = {
|
|
48
|
+
fieldtype: "multilink";
|
|
49
|
+
id: string;
|
|
50
|
+
url: string;
|
|
51
|
+
linktype: "story" | "url" | "email" | "asset";
|
|
52
|
+
cached_url: string;
|
|
53
|
+
anchor?: (string | null) | undefined;
|
|
54
|
+
target?: (("_self" | "_blank") | null) | undefined;
|
|
55
|
+
};
|
|
56
|
+
type TableFieldValue = {
|
|
57
|
+
thead: Array<{
|
|
58
|
+
_uid: string;
|
|
59
|
+
component: "_table_head";
|
|
60
|
+
value?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
tbody: Array<{
|
|
63
|
+
_uid: string;
|
|
64
|
+
component: "_table_row";
|
|
65
|
+
body?: Array<{
|
|
66
|
+
_uid: string;
|
|
67
|
+
component: "_table_col";
|
|
68
|
+
value?: string | undefined;
|
|
69
|
+
}> | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
};
|
|
72
|
+
type RichtextFieldValue = {
|
|
73
|
+
type: "doc";
|
|
74
|
+
content?: Array<{}> | undefined;
|
|
75
|
+
};
|
|
76
|
+
type PluginFieldValue = {
|
|
77
|
+
plugin: string;
|
|
78
|
+
_uid?: string | undefined;
|
|
79
|
+
} & {
|
|
80
|
+
[key: string]: any | undefined;
|
|
81
|
+
};
|
|
82
|
+
type StoryLocalizedPath = {
|
|
83
|
+
path: string;
|
|
84
|
+
name?: (string | null) | undefined;
|
|
85
|
+
lang: string;
|
|
86
|
+
published?: (boolean | null) | undefined;
|
|
87
|
+
};
|
|
88
|
+
type StoryTranslatedSlug = {
|
|
89
|
+
path: string | null;
|
|
90
|
+
lang: string;
|
|
91
|
+
name?: (string | null) | undefined;
|
|
92
|
+
published?: (boolean | null) | undefined;
|
|
93
|
+
};
|
|
94
|
+
type BlokContent = {
|
|
95
|
+
_uid: string;
|
|
96
|
+
component: string;
|
|
97
|
+
_editable?: string | undefined;
|
|
98
|
+
} & {
|
|
99
|
+
[key: string]: string | number | boolean | Array<string | AssetFieldValue | BlokContent> | AssetFieldValue | MultilinkFieldValue | TableFieldValue | RichtextFieldValue | PluginFieldValue | undefined;
|
|
100
|
+
};
|
|
101
|
+
type Story = StoryBase & {
|
|
102
|
+
default_full_slug: string | null;
|
|
103
|
+
release_id: number | null;
|
|
104
|
+
lang: string;
|
|
105
|
+
};
|
|
106
|
+
type DatasourceEntry = {
|
|
107
|
+
id: number;
|
|
108
|
+
name: string;
|
|
109
|
+
value: string;
|
|
110
|
+
dimension_value?: (string | null) | undefined;
|
|
111
|
+
};
|
|
112
|
+
type Link = {
|
|
113
|
+
id: number;
|
|
114
|
+
uuid: string;
|
|
115
|
+
slug: string;
|
|
116
|
+
path: string | null;
|
|
117
|
+
parent_id?: (number | null) | undefined;
|
|
118
|
+
name: string;
|
|
119
|
+
is_folder: boolean;
|
|
120
|
+
published: boolean;
|
|
121
|
+
is_startpage: boolean;
|
|
122
|
+
position: number;
|
|
123
|
+
real_path: string;
|
|
124
|
+
published_at?: (string | null) | undefined;
|
|
125
|
+
created_at?: string | undefined;
|
|
126
|
+
updated_at?: string | undefined;
|
|
127
|
+
alternates?: Array<Partial<{
|
|
128
|
+
name: string;
|
|
129
|
+
slug: string;
|
|
130
|
+
path: string | null;
|
|
131
|
+
published: boolean;
|
|
132
|
+
}>> | undefined;
|
|
133
|
+
};
|
|
134
|
+
type Tag = {
|
|
135
|
+
name: string;
|
|
136
|
+
taggings_count: number;
|
|
137
|
+
};
|
|
138
|
+
type Datasource = {
|
|
139
|
+
id: number;
|
|
140
|
+
name: string;
|
|
141
|
+
slug: string;
|
|
142
|
+
dimensions?: Array<{
|
|
143
|
+
id?: number | undefined;
|
|
144
|
+
name?: string | undefined;
|
|
145
|
+
entry_value?: string | undefined;
|
|
146
|
+
datasource_id?: number | undefined;
|
|
147
|
+
created_at?: string | undefined;
|
|
148
|
+
updated_at?: string | undefined;
|
|
149
|
+
}> | undefined;
|
|
150
|
+
created_at: string;
|
|
151
|
+
updated_at: string;
|
|
152
|
+
};
|
|
153
|
+
//#endregion
|
|
154
|
+
export { AssetFieldValue, BlokContent, Datasource, DatasourceEntry, Link, MultilinkFieldValue, PluginFieldValue, RichtextFieldValue, Story, StoryAlternate, StoryBase, StoryLocalizedPath, StoryTranslatedSlug, TableFieldValue, Tag };
|
|
155
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const require_define_story = require('./define-story.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/create-story-helpers.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates story helper functions pre-bound to your component type union.
|
|
6
|
+
*
|
|
7
|
+
* `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the
|
|
8
|
+
* latter matches the `Schema` type produced by `InferSchema`, so a project's
|
|
9
|
+
* `Schema` can be passed directly without an extra wrapper.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import type { Schema } from './schema';
|
|
14
|
+
*
|
|
15
|
+
* const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =
|
|
16
|
+
* createStoryHelpers().withTypes<Schema>();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
function createStoryHelpers() {
|
|
20
|
+
return {
|
|
21
|
+
defineStory: require_define_story.defineStory,
|
|
22
|
+
defineMapiStory: require_define_story.defineMapiStory,
|
|
23
|
+
defineStoryCreate: require_define_story.defineStoryCreate,
|
|
24
|
+
defineStoryUpdate: require_define_story.defineStoryUpdate,
|
|
25
|
+
withTypes() {
|
|
26
|
+
const defineStory$1 = (component, story) => require_define_story.defineStory(component, story);
|
|
27
|
+
const defineMapiStory$1 = (component, story) => require_define_story.defineMapiStory(component, story);
|
|
28
|
+
const defineStoryCreate$1 = (component, story) => require_define_story.defineStoryCreate(component, story);
|
|
29
|
+
const defineStoryUpdate$1 = (component, story) => require_define_story.defineStoryUpdate(component, story);
|
|
30
|
+
return {
|
|
31
|
+
defineStory: defineStory$1,
|
|
32
|
+
defineMapiStory: defineMapiStory$1,
|
|
33
|
+
defineStoryCreate: defineStoryCreate$1,
|
|
34
|
+
defineStoryUpdate: defineStoryUpdate$1
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
exports.createStoryHelpers = createStoryHelpers;
|
|
42
|
+
//# sourceMappingURL=create-story-helpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-story-helpers.cjs","names":["defineStoryImpl","defineMapiStoryImpl","defineStoryCreateImpl","defineStoryUpdateImpl","defineStory","defineMapiStory","defineStoryCreate","defineStoryUpdate"],"sources":["../../src/helpers/create-story-helpers.ts"],"sourcesContent":["import type { Block } from './define-block';\nimport {\n defineMapiStory as defineMapiStoryImpl,\n defineStoryCreate as defineStoryCreateImpl,\n defineStory as defineStoryImpl,\n defineStoryUpdate as defineStoryUpdateImpl,\n} from './define-story';\nimport type { MapiStory, Story, StoryComponent, StoryCreate, StoryUpdate } from './define-story';\n\ntype StoryblokTypesConfig = { components: Block } | { blocks: Block };\n\ntype ResolveComponents<T extends StoryblokTypesConfig> =\n T extends { components: infer C extends Block } ? C\n : T extends { blocks: infer B extends Block } ? B\n : never;\n\ntype DefineStoryTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryImpl<TBlock, TBlocks>>[1],\n ) => Story<TBlock, TBlocks>;\n\ntype DefineMapiStoryTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineMapiStoryImpl<TBlock, TBlocks>>[1],\n ) => MapiStory<TBlock, TBlocks>;\n\ntype DefineStoryCreateTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryCreateImpl<TBlock, TBlocks>>[1],\n ) => StoryCreate<TBlock, TBlocks>;\n\ntype DefineStoryUpdateTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryUpdateImpl<TBlock, TBlocks>>[1],\n ) => StoryUpdate<TBlock, TBlocks>;\n\n/**\n * Creates story helper functions pre-bound to your component type union.\n *\n * `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the\n * latter matches the `Schema` type produced by `InferSchema`, so a project's\n * `Schema` can be passed directly without an extra wrapper.\n *\n * @example\n * ```ts\n * import type { Schema } from './schema';\n *\n * const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =\n * createStoryHelpers().withTypes<Schema>();\n * ```\n */\nexport function createStoryHelpers() {\n return {\n defineStory: defineStoryImpl,\n defineMapiStory: defineMapiStoryImpl,\n defineStoryCreate: defineStoryCreateImpl,\n defineStoryUpdate: defineStoryUpdateImpl,\n withTypes<T extends StoryblokTypesConfig>() {\n const defineStory: DefineStoryTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryImpl(component, story as any);\n\n const defineMapiStory: DefineMapiStoryTyped<ResolveComponents<T>> = (component, story) =>\n defineMapiStoryImpl(component, story as any);\n\n const defineStoryCreate: DefineStoryCreateTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryCreateImpl(component, story as any);\n\n const defineStoryUpdate: DefineStoryUpdateTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryUpdateImpl(component, story as any);\n\n return { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuDA,SAAgB,qBAAqB;AACnC,QAAO;EACL,aAAaA;EACb,iBAAiBC;EACjB,mBAAmBC;EACnB,mBAAmBC;EACnB,YAA4C;GAC1C,MAAMC,iBAAuD,WAAW,UACtEJ,iCAAgB,WAAW,MAAa;GAE1C,MAAMK,qBAA+D,WAAW,UAC9EJ,qCAAoB,WAAW,MAAa;GAE9C,MAAMK,uBAAmE,WAAW,UAClFJ,uCAAsB,WAAW,MAAa;GAEhD,MAAMK,uBAAmE,WAAW,UAClFJ,uCAAsB,WAAW,MAAa;AAEhD,UAAO;IAAE;IAAa;IAAiB;IAAmB;IAAmB;;EAEhF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Block } from "./define-block.cjs";
|
|
2
|
+
import { MapiStory, Story, StoryComponent, StoryCreate, StoryUpdate, defineMapiStory, defineStory, defineStoryCreate, defineStoryUpdate } from "./define-story.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/create-story-helpers.d.ts
|
|
5
|
+
type StoryblokTypesConfig = {
|
|
6
|
+
components: Block;
|
|
7
|
+
} | {
|
|
8
|
+
blocks: Block;
|
|
9
|
+
};
|
|
10
|
+
type ResolveComponents<T extends StoryblokTypesConfig> = T extends {
|
|
11
|
+
components: infer C extends Block;
|
|
12
|
+
} ? C : T extends {
|
|
13
|
+
blocks: infer B extends Block;
|
|
14
|
+
} ? B : never;
|
|
15
|
+
type DefineStoryTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStory<TBlock, TBlocks>>[1]) => Story<TBlock, TBlocks>;
|
|
16
|
+
type DefineMapiStoryTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineMapiStory<TBlock, TBlocks>>[1]) => MapiStory<TBlock, TBlocks>;
|
|
17
|
+
type DefineStoryCreateTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStoryCreate<TBlock, TBlocks>>[1]) => StoryCreate<TBlock, TBlocks>;
|
|
18
|
+
type DefineStoryUpdateTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStoryUpdate<TBlock, TBlocks>>[1]) => StoryUpdate<TBlock, TBlocks>;
|
|
19
|
+
/**
|
|
20
|
+
* Creates story helper functions pre-bound to your component type union.
|
|
21
|
+
*
|
|
22
|
+
* `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the
|
|
23
|
+
* latter matches the `Schema` type produced by `InferSchema`, so a project's
|
|
24
|
+
* `Schema` can be passed directly without an extra wrapper.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import type { Schema } from './schema';
|
|
29
|
+
*
|
|
30
|
+
* const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =
|
|
31
|
+
* createStoryHelpers().withTypes<Schema>();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
declare function createStoryHelpers(): {
|
|
35
|
+
defineStory: typeof defineStory;
|
|
36
|
+
defineMapiStory: typeof defineMapiStory;
|
|
37
|
+
defineStoryCreate: typeof defineStoryCreate;
|
|
38
|
+
defineStoryUpdate: typeof defineStoryUpdate;
|
|
39
|
+
withTypes<T extends StoryblokTypesConfig>(): {
|
|
40
|
+
defineStory: DefineStoryTyped<ResolveComponents<T>>;
|
|
41
|
+
defineMapiStory: DefineMapiStoryTyped<ResolveComponents<T>>;
|
|
42
|
+
defineStoryCreate: DefineStoryCreateTyped<ResolveComponents<T>>;
|
|
43
|
+
defineStoryUpdate: DefineStoryUpdateTyped<ResolveComponents<T>>;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { createStoryHelpers };
|
|
48
|
+
//# sourceMappingURL=create-story-helpers.d.cts.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Block } from "./define-block.mjs";
|
|
2
|
+
import { MapiStory, Story, StoryComponent, StoryCreate, StoryUpdate, defineMapiStory, defineStory, defineStoryCreate, defineStoryUpdate } from "./define-story.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/create-story-helpers.d.ts
|
|
5
|
+
type StoryblokTypesConfig = {
|
|
6
|
+
components: Block;
|
|
7
|
+
} | {
|
|
8
|
+
blocks: Block;
|
|
9
|
+
};
|
|
10
|
+
type ResolveComponents<T extends StoryblokTypesConfig> = T extends {
|
|
11
|
+
components: infer C extends Block;
|
|
12
|
+
} ? C : T extends {
|
|
13
|
+
blocks: infer B extends Block;
|
|
14
|
+
} ? B : never;
|
|
15
|
+
type DefineStoryTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStory<TBlock, TBlocks>>[1]) => Story<TBlock, TBlocks>;
|
|
16
|
+
type DefineMapiStoryTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineMapiStory<TBlock, TBlocks>>[1]) => MapiStory<TBlock, TBlocks>;
|
|
17
|
+
type DefineStoryCreateTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStoryCreate<TBlock, TBlocks>>[1]) => StoryCreate<TBlock, TBlocks>;
|
|
18
|
+
type DefineStoryUpdateTyped<TBlocks extends Block> = <const TBlock extends StoryComponent>(component: TBlock, story: Parameters<typeof defineStoryUpdate<TBlock, TBlocks>>[1]) => StoryUpdate<TBlock, TBlocks>;
|
|
19
|
+
/**
|
|
20
|
+
* Creates story helper functions pre-bound to your component type union.
|
|
21
|
+
*
|
|
22
|
+
* `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the
|
|
23
|
+
* latter matches the `Schema` type produced by `InferSchema`, so a project's
|
|
24
|
+
* `Schema` can be passed directly without an extra wrapper.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import type { Schema } from './schema';
|
|
29
|
+
*
|
|
30
|
+
* const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =
|
|
31
|
+
* createStoryHelpers().withTypes<Schema>();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
declare function createStoryHelpers(): {
|
|
35
|
+
defineStory: typeof defineStory;
|
|
36
|
+
defineMapiStory: typeof defineMapiStory;
|
|
37
|
+
defineStoryCreate: typeof defineStoryCreate;
|
|
38
|
+
defineStoryUpdate: typeof defineStoryUpdate;
|
|
39
|
+
withTypes<T extends StoryblokTypesConfig>(): {
|
|
40
|
+
defineStory: DefineStoryTyped<ResolveComponents<T>>;
|
|
41
|
+
defineMapiStory: DefineMapiStoryTyped<ResolveComponents<T>>;
|
|
42
|
+
defineStoryCreate: DefineStoryCreateTyped<ResolveComponents<T>>;
|
|
43
|
+
defineStoryUpdate: DefineStoryUpdateTyped<ResolveComponents<T>>;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
//#endregion
|
|
47
|
+
export { createStoryHelpers };
|
|
48
|
+
//# sourceMappingURL=create-story-helpers.d.mts.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { defineMapiStory, defineStory, defineStoryCreate, defineStoryUpdate } from "./define-story.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/create-story-helpers.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates story helper functions pre-bound to your component type union.
|
|
6
|
+
*
|
|
7
|
+
* `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the
|
|
8
|
+
* latter matches the `Schema` type produced by `InferSchema`, so a project's
|
|
9
|
+
* `Schema` can be passed directly without an extra wrapper.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import type { Schema } from './schema';
|
|
14
|
+
*
|
|
15
|
+
* const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =
|
|
16
|
+
* createStoryHelpers().withTypes<Schema>();
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
function createStoryHelpers() {
|
|
20
|
+
return {
|
|
21
|
+
defineStory,
|
|
22
|
+
defineMapiStory,
|
|
23
|
+
defineStoryCreate,
|
|
24
|
+
defineStoryUpdate,
|
|
25
|
+
withTypes() {
|
|
26
|
+
const defineStory$1 = (component, story) => defineStory(component, story);
|
|
27
|
+
const defineMapiStory$1 = (component, story) => defineMapiStory(component, story);
|
|
28
|
+
const defineStoryCreate$1 = (component, story) => defineStoryCreate(component, story);
|
|
29
|
+
const defineStoryUpdate$1 = (component, story) => defineStoryUpdate(component, story);
|
|
30
|
+
return {
|
|
31
|
+
defineStory: defineStory$1,
|
|
32
|
+
defineMapiStory: defineMapiStory$1,
|
|
33
|
+
defineStoryCreate: defineStoryCreate$1,
|
|
34
|
+
defineStoryUpdate: defineStoryUpdate$1
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createStoryHelpers };
|
|
42
|
+
//# sourceMappingURL=create-story-helpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-story-helpers.mjs","names":["defineStoryImpl","defineMapiStoryImpl","defineStoryCreateImpl","defineStoryUpdateImpl","defineStory","defineMapiStory","defineStoryCreate","defineStoryUpdate"],"sources":["../../src/helpers/create-story-helpers.ts"],"sourcesContent":["import type { Block } from './define-block';\nimport {\n defineMapiStory as defineMapiStoryImpl,\n defineStoryCreate as defineStoryCreateImpl,\n defineStory as defineStoryImpl,\n defineStoryUpdate as defineStoryUpdateImpl,\n} from './define-story';\nimport type { MapiStory, Story, StoryComponent, StoryCreate, StoryUpdate } from './define-story';\n\ntype StoryblokTypesConfig = { components: Block } | { blocks: Block };\n\ntype ResolveComponents<T extends StoryblokTypesConfig> =\n T extends { components: infer C extends Block } ? C\n : T extends { blocks: infer B extends Block } ? B\n : never;\n\ntype DefineStoryTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryImpl<TBlock, TBlocks>>[1],\n ) => Story<TBlock, TBlocks>;\n\ntype DefineMapiStoryTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineMapiStoryImpl<TBlock, TBlocks>>[1],\n ) => MapiStory<TBlock, TBlocks>;\n\ntype DefineStoryCreateTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryCreateImpl<TBlock, TBlocks>>[1],\n ) => StoryCreate<TBlock, TBlocks>;\n\ntype DefineStoryUpdateTyped<TBlocks extends Block> =\n <const TBlock extends StoryComponent>(\n component: TBlock,\n story: Parameters<typeof defineStoryUpdateImpl<TBlock, TBlocks>>[1],\n ) => StoryUpdate<TBlock, TBlocks>;\n\n/**\n * Creates story helper functions pre-bound to your component type union.\n *\n * `withTypes<T>()` accepts either `{ components: ... }` or `{ blocks: ... }` — the\n * latter matches the `Schema` type produced by `InferSchema`, so a project's\n * `Schema` can be passed directly without an extra wrapper.\n *\n * @example\n * ```ts\n * import type { Schema } from './schema';\n *\n * const { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate } =\n * createStoryHelpers().withTypes<Schema>();\n * ```\n */\nexport function createStoryHelpers() {\n return {\n defineStory: defineStoryImpl,\n defineMapiStory: defineMapiStoryImpl,\n defineStoryCreate: defineStoryCreateImpl,\n defineStoryUpdate: defineStoryUpdateImpl,\n withTypes<T extends StoryblokTypesConfig>() {\n const defineStory: DefineStoryTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryImpl(component, story as any);\n\n const defineMapiStory: DefineMapiStoryTyped<ResolveComponents<T>> = (component, story) =>\n defineMapiStoryImpl(component, story as any);\n\n const defineStoryCreate: DefineStoryCreateTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryCreateImpl(component, story as any);\n\n const defineStoryUpdate: DefineStoryUpdateTyped<ResolveComponents<T>> = (component, story) =>\n defineStoryUpdateImpl(component, story as any);\n\n return { defineStory, defineMapiStory, defineStoryCreate, defineStoryUpdate };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuDA,SAAgB,qBAAqB;AACnC,QAAO;EACQA;EACIC;EACEC;EACAC;EACnB,YAA4C;GAC1C,MAAMC,iBAAuD,WAAW,UACtEJ,YAAgB,WAAW,MAAa;GAE1C,MAAMK,qBAA+D,WAAW,UAC9EJ,gBAAoB,WAAW,MAAa;GAE9C,MAAMK,uBAAmE,WAAW,UAClFJ,kBAAsB,WAAW,MAAa;GAEhD,MAAMK,uBAAmE,WAAW,UAClFJ,kBAAsB,WAAW,MAAa;AAEhD,UAAO;IAAE;IAAa;IAAiB;IAAmB;IAAmB;;EAEhF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/helpers/define-asset-folder.ts
|
|
3
|
+
const ASSET_FOLDER_DEFAULTS = { id: 1 };
|
|
4
|
+
/**
|
|
5
|
+
* Defines an asset folder.
|
|
6
|
+
* When `uuid` is not provided, it defaults to the folder name
|
|
7
|
+
* (prefixed by `parent_uuid/` for nested folders).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const folder = defineAssetFolder({ name: 'Images' });
|
|
11
|
+
* // folder.uuid === 'Images'
|
|
12
|
+
*/
|
|
13
|
+
const defineAssetFolder = (assetFolder) => {
|
|
14
|
+
const uuid = assetFolder.uuid || (assetFolder.parent_uuid ? `${assetFolder.parent_uuid}/${assetFolder.name}` : assetFolder.name);
|
|
15
|
+
return {
|
|
16
|
+
...ASSET_FOLDER_DEFAULTS,
|
|
17
|
+
...assetFolder,
|
|
18
|
+
uuid
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Defines an asset folder creation payload.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* const payload = defineAssetFolderCreate({ name: 'Images' });
|
|
26
|
+
*/
|
|
27
|
+
const defineAssetFolderCreate = (assetFolder) => assetFolder;
|
|
28
|
+
/**
|
|
29
|
+
* Defines an asset folder update payload.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const payload = defineAssetFolderUpdate({ name: 'Updated Images' });
|
|
33
|
+
*/
|
|
34
|
+
const defineAssetFolderUpdate = (assetFolder) => assetFolder;
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.defineAssetFolder = defineAssetFolder;
|
|
38
|
+
exports.defineAssetFolderCreate = defineAssetFolderCreate;
|
|
39
|
+
exports.defineAssetFolderUpdate = defineAssetFolderUpdate;
|
|
40
|
+
//# sourceMappingURL=define-asset-folder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-asset-folder.cjs","names":[],"sources":["../../src/helpers/define-asset-folder.ts"],"sourcesContent":["import type { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from '../generated/mapi-types';\n\nconst ASSET_FOLDER_DEFAULTS = {\n id: 1,\n};\n\nexport type { AssetFolder, AssetFolderCreate, AssetFolderUpdate };\n\ntype AssetFolderInput = { name: string } & Partial<Omit<AssetFolder, 'name'>>;\n\n/**\n * Defines an asset folder.\n * When `uuid` is not provided, it defaults to the folder name\n * (prefixed by `parent_uuid/` for nested folders).\n *\n * @example\n * const folder = defineAssetFolder({ name: 'Images' });\n * // folder.uuid === 'Images'\n */\nexport const defineAssetFolder = (assetFolder: AssetFolderInput): AssetFolder => {\n const uuid = assetFolder.uuid\n || (assetFolder.parent_uuid ? `${assetFolder.parent_uuid}/${assetFolder.name}` : assetFolder.name);\n\n return {\n ...ASSET_FOLDER_DEFAULTS,\n ...assetFolder,\n uuid,\n };\n};\n\n/**\n * Defines an asset folder creation payload.\n *\n * @example\n * const payload = defineAssetFolderCreate({ name: 'Images' });\n */\nexport const defineAssetFolderCreate = (assetFolder: AssetFolderCreate): AssetFolderCreate => assetFolder;\n\n/**\n * Defines an asset folder update payload.\n *\n * @example\n * const payload = defineAssetFolderUpdate({ name: 'Updated Images' });\n */\nexport const defineAssetFolderUpdate = (assetFolder: AssetFolderUpdate): AssetFolderUpdate => assetFolder;\n"],"mappings":";;AAEA,MAAM,wBAAwB,EAC5B,IAAI,GACL;;;;;;;;;;AAeD,MAAa,qBAAqB,gBAA+C;CAC/E,MAAM,OAAO,YAAY,SACnB,YAAY,cAAc,GAAG,YAAY,YAAY,GAAG,YAAY,SAAS,YAAY;AAE/F,QAAO;EACL,GAAG;EACH,GAAG;EACH;EACD;;;;;;;;AASH,MAAa,2BAA2B,gBAAsD;;;;;;;AAQ9F,MAAa,2BAA2B,gBAAsD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from "../generated/mapi-types.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/define-asset-folder.d.ts
|
|
4
|
+
type AssetFolderInput = {
|
|
5
|
+
name: string;
|
|
6
|
+
} & Partial<Omit<AssetFolder, 'name'>>;
|
|
7
|
+
/**
|
|
8
|
+
* Defines an asset folder.
|
|
9
|
+
* When `uuid` is not provided, it defaults to the folder name
|
|
10
|
+
* (prefixed by `parent_uuid/` for nested folders).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const folder = defineAssetFolder({ name: 'Images' });
|
|
14
|
+
* // folder.uuid === 'Images'
|
|
15
|
+
*/
|
|
16
|
+
declare const defineAssetFolder: (assetFolder: AssetFolderInput) => AssetFolder;
|
|
17
|
+
/**
|
|
18
|
+
* Defines an asset folder creation payload.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const payload = defineAssetFolderCreate({ name: 'Images' });
|
|
22
|
+
*/
|
|
23
|
+
declare const defineAssetFolderCreate: (assetFolder: AssetFolderCreate) => AssetFolderCreate;
|
|
24
|
+
/**
|
|
25
|
+
* Defines an asset folder update payload.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const payload = defineAssetFolderUpdate({ name: 'Updated Images' });
|
|
29
|
+
*/
|
|
30
|
+
declare const defineAssetFolderUpdate: (assetFolder: AssetFolderUpdate) => AssetFolderUpdate;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { defineAssetFolder, defineAssetFolderCreate, defineAssetFolderUpdate };
|
|
33
|
+
//# sourceMappingURL=define-asset-folder.d.cts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from "../generated/mapi-types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/define-asset-folder.d.ts
|
|
4
|
+
type AssetFolderInput = {
|
|
5
|
+
name: string;
|
|
6
|
+
} & Partial<Omit<AssetFolder, 'name'>>;
|
|
7
|
+
/**
|
|
8
|
+
* Defines an asset folder.
|
|
9
|
+
* When `uuid` is not provided, it defaults to the folder name
|
|
10
|
+
* (prefixed by `parent_uuid/` for nested folders).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const folder = defineAssetFolder({ name: 'Images' });
|
|
14
|
+
* // folder.uuid === 'Images'
|
|
15
|
+
*/
|
|
16
|
+
declare const defineAssetFolder: (assetFolder: AssetFolderInput) => AssetFolder;
|
|
17
|
+
/**
|
|
18
|
+
* Defines an asset folder creation payload.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const payload = defineAssetFolderCreate({ name: 'Images' });
|
|
22
|
+
*/
|
|
23
|
+
declare const defineAssetFolderCreate: (assetFolder: AssetFolderCreate) => AssetFolderCreate;
|
|
24
|
+
/**
|
|
25
|
+
* Defines an asset folder update payload.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const payload = defineAssetFolderUpdate({ name: 'Updated Images' });
|
|
29
|
+
*/
|
|
30
|
+
declare const defineAssetFolderUpdate: (assetFolder: AssetFolderUpdate) => AssetFolderUpdate;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { defineAssetFolder, defineAssetFolderCreate, defineAssetFolderUpdate };
|
|
33
|
+
//# sourceMappingURL=define-asset-folder.d.mts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//#region src/helpers/define-asset-folder.ts
|
|
2
|
+
const ASSET_FOLDER_DEFAULTS = { id: 1 };
|
|
3
|
+
/**
|
|
4
|
+
* Defines an asset folder.
|
|
5
|
+
* When `uuid` is not provided, it defaults to the folder name
|
|
6
|
+
* (prefixed by `parent_uuid/` for nested folders).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const folder = defineAssetFolder({ name: 'Images' });
|
|
10
|
+
* // folder.uuid === 'Images'
|
|
11
|
+
*/
|
|
12
|
+
const defineAssetFolder = (assetFolder) => {
|
|
13
|
+
const uuid = assetFolder.uuid || (assetFolder.parent_uuid ? `${assetFolder.parent_uuid}/${assetFolder.name}` : assetFolder.name);
|
|
14
|
+
return {
|
|
15
|
+
...ASSET_FOLDER_DEFAULTS,
|
|
16
|
+
...assetFolder,
|
|
17
|
+
uuid
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Defines an asset folder creation payload.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* const payload = defineAssetFolderCreate({ name: 'Images' });
|
|
25
|
+
*/
|
|
26
|
+
const defineAssetFolderCreate = (assetFolder) => assetFolder;
|
|
27
|
+
/**
|
|
28
|
+
* Defines an asset folder update payload.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* const payload = defineAssetFolderUpdate({ name: 'Updated Images' });
|
|
32
|
+
*/
|
|
33
|
+
const defineAssetFolderUpdate = (assetFolder) => assetFolder;
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { defineAssetFolder, defineAssetFolderCreate, defineAssetFolderUpdate };
|
|
37
|
+
//# sourceMappingURL=define-asset-folder.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-asset-folder.mjs","names":[],"sources":["../../src/helpers/define-asset-folder.ts"],"sourcesContent":["import type { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from '../generated/mapi-types';\n\nconst ASSET_FOLDER_DEFAULTS = {\n id: 1,\n};\n\nexport type { AssetFolder, AssetFolderCreate, AssetFolderUpdate };\n\ntype AssetFolderInput = { name: string } & Partial<Omit<AssetFolder, 'name'>>;\n\n/**\n * Defines an asset folder.\n * When `uuid` is not provided, it defaults to the folder name\n * (prefixed by `parent_uuid/` for nested folders).\n *\n * @example\n * const folder = defineAssetFolder({ name: 'Images' });\n * // folder.uuid === 'Images'\n */\nexport const defineAssetFolder = (assetFolder: AssetFolderInput): AssetFolder => {\n const uuid = assetFolder.uuid\n || (assetFolder.parent_uuid ? `${assetFolder.parent_uuid}/${assetFolder.name}` : assetFolder.name);\n\n return {\n ...ASSET_FOLDER_DEFAULTS,\n ...assetFolder,\n uuid,\n };\n};\n\n/**\n * Defines an asset folder creation payload.\n *\n * @example\n * const payload = defineAssetFolderCreate({ name: 'Images' });\n */\nexport const defineAssetFolderCreate = (assetFolder: AssetFolderCreate): AssetFolderCreate => assetFolder;\n\n/**\n * Defines an asset folder update payload.\n *\n * @example\n * const payload = defineAssetFolderUpdate({ name: 'Updated Images' });\n */\nexport const defineAssetFolderUpdate = (assetFolder: AssetFolderUpdate): AssetFolderUpdate => assetFolder;\n"],"mappings":";AAEA,MAAM,wBAAwB,EAC5B,IAAI,GACL;;;;;;;;;;AAeD,MAAa,qBAAqB,gBAA+C;CAC/E,MAAM,OAAO,YAAY,SACnB,YAAY,cAAc,GAAG,YAAY,YAAY,GAAG,YAAY,SAAS,YAAY;AAE/F,QAAO;EACL,GAAG;EACH,GAAG;EACH;EACD;;;;;;;;AASH,MAAa,2BAA2B,gBAAsD;;;;;;;AAQ9F,MAAa,2BAA2B,gBAAsD"}
|