@datocms/cma-client 5.1.11 → 5.1.13
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 +313 -178
- package/dist/cjs/fieldTypes/file.js +6 -6
- package/dist/cjs/fieldTypes/gallery.js +7 -7
- package/dist/cjs/fieldTypes/rich_text.js +14 -12
- package/dist/cjs/fieldTypes/rich_text.js.map +1 -1
- package/dist/cjs/fieldTypes/schema.js +3 -0
- package/dist/cjs/fieldTypes/schema.js.map +1 -0
- package/dist/cjs/fieldTypes/single_block.js +13 -12
- package/dist/cjs/fieldTypes/single_block.js.map +1 -1
- package/dist/cjs/fieldTypes/structured_text.js +13 -12
- package/dist/cjs/fieldTypes/structured_text.js.map +1 -1
- package/dist/cjs/generated/Client.js +1 -1
- package/dist/cjs/generated/resources/Item.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/cjs/generated/resources/Upload.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utilities/buildBlockRecord.js +1 -46
- package/dist/cjs/utilities/buildBlockRecord.js.map +1 -1
- package/dist/cjs/utilities/duplicateBlockRecord.js +50 -0
- package/dist/cjs/utilities/duplicateBlockRecord.js.map +1 -0
- package/dist/cjs/utilities/inspectItem.js +50 -20
- package/dist/cjs/utilities/inspectItem.js.map +1 -1
- package/dist/cjs/utilities/nonRecursiveBlocks.js +1 -170
- package/dist/cjs/utilities/nonRecursiveBlocks.js.map +1 -1
- package/dist/cjs/utilities/recursiveBlocks.js +52 -112
- package/dist/cjs/utilities/recursiveBlocks.js.map +1 -1
- package/dist/esm/fieldTypes/file.d.ts +3 -3
- package/dist/esm/fieldTypes/file.js +3 -3
- package/dist/esm/fieldTypes/gallery.d.ts +5 -5
- package/dist/esm/fieldTypes/gallery.js +5 -5
- package/dist/esm/fieldTypes/rich_text.d.ts +8 -9
- package/dist/esm/fieldTypes/rich_text.js +9 -7
- package/dist/esm/fieldTypes/rich_text.js.map +1 -1
- package/dist/esm/fieldTypes/schema.d.ts +59 -0
- package/dist/esm/fieldTypes/schema.js +2 -0
- package/dist/esm/fieldTypes/schema.js.map +1 -0
- package/dist/esm/fieldTypes/single_block.d.ts +30 -15
- package/dist/esm/fieldTypes/single_block.js +8 -7
- package/dist/esm/fieldTypes/single_block.js.map +1 -1
- package/dist/esm/fieldTypes/structured_text.d.ts +14 -15
- package/dist/esm/fieldTypes/structured_text.js +8 -7
- package/dist/esm/fieldTypes/structured_text.js.map +1 -1
- package/dist/esm/generated/ApiTypes.d.ts +94 -980
- package/dist/esm/generated/Client.js +1 -1
- package/dist/esm/generated/RawApiTypes.d.ts +160 -999
- package/dist/esm/generated/resources/Field.d.ts +300 -300
- package/dist/esm/generated/resources/Item.d.ts +34 -34
- package/dist/esm/generated/resources/Item.js.map +1 -1
- package/dist/esm/generated/resources/ItemVersion.d.ts +3 -1
- package/dist/esm/generated/resources/ScheduledPublication.d.ts +3 -3
- package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledUnpublishing.d.ts +3 -3
- package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/esm/generated/resources/Upload.d.ts +6 -6
- package/dist/esm/generated/resources/Upload.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utilities/buildBlockRecord.d.ts +11 -5
- package/dist/esm/utilities/buildBlockRecord.js +0 -44
- package/dist/esm/utilities/buildBlockRecord.js.map +1 -1
- package/dist/esm/utilities/duplicateBlockRecord.d.ts +6 -0
- package/dist/esm/utilities/duplicateBlockRecord.js +46 -0
- package/dist/esm/utilities/duplicateBlockRecord.js.map +1 -0
- package/dist/esm/utilities/inspectItem.d.ts +3 -3
- package/dist/esm/utilities/inspectItem.js +28 -21
- package/dist/esm/utilities/inspectItem.js.map +1 -1
- package/dist/esm/utilities/itemDefinition.d.ts +25 -27
- package/dist/esm/utilities/nonRecursiveBlocks.d.ts +10 -75
- package/dist/esm/utilities/nonRecursiveBlocks.js +1 -164
- package/dist/esm/utilities/nonRecursiveBlocks.js.map +1 -1
- package/dist/esm/utilities/recursiveBlocks.d.ts +53 -23
- package/dist/esm/utilities/recursiveBlocks.js +52 -112
- package/dist/esm/utilities/recursiveBlocks.js.map +1 -1
- package/dist/types/fieldTypes/file.d.ts +3 -3
- package/dist/types/fieldTypes/gallery.d.ts +5 -5
- package/dist/types/fieldTypes/rich_text.d.ts +8 -9
- package/dist/types/fieldTypes/schema.d.ts +59 -0
- package/dist/types/fieldTypes/single_block.d.ts +30 -15
- package/dist/types/fieldTypes/structured_text.d.ts +14 -15
- package/dist/types/generated/ApiTypes.d.ts +94 -980
- package/dist/types/generated/RawApiTypes.d.ts +160 -999
- package/dist/types/generated/resources/Field.d.ts +300 -300
- package/dist/types/generated/resources/Item.d.ts +34 -34
- package/dist/types/generated/resources/ItemVersion.d.ts +3 -1
- package/dist/types/generated/resources/ScheduledPublication.d.ts +3 -3
- package/dist/types/generated/resources/ScheduledUnpublishing.d.ts +3 -3
- package/dist/types/generated/resources/Upload.d.ts +6 -6
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utilities/buildBlockRecord.d.ts +11 -5
- package/dist/types/utilities/duplicateBlockRecord.d.ts +6 -0
- package/dist/types/utilities/inspectItem.d.ts +3 -3
- package/dist/types/utilities/itemDefinition.d.ts +25 -27
- package/dist/types/utilities/nonRecursiveBlocks.d.ts +10 -75
- package/dist/types/utilities/recursiveBlocks.d.ts +53 -23
- package/package.json +4 -4
- package/src/fieldTypes/file.ts +6 -6
- package/src/fieldTypes/gallery.ts +10 -10
- package/src/fieldTypes/rich_text.ts +26 -24
- package/src/fieldTypes/schema.ts +657 -0
- package/src/fieldTypes/single_block.ts +61 -38
- package/src/fieldTypes/structured_text.ts +57 -51
- package/src/generated/ApiTypes.ts +221 -1880
- package/src/generated/Client.ts +1 -1
- package/src/generated/RawApiTypes.ts +276 -2113
- package/src/generated/resources/Item.ts +93 -187
- package/src/generated/resources/ScheduledPublication.ts +4 -15
- package/src/generated/resources/ScheduledUnpublishing.ts +4 -15
- package/src/generated/resources/Upload.ts +9 -32
- package/src/index.ts +1 -0
- package/src/utilities/buildBlockRecord.ts +16 -56
- package/src/utilities/duplicateBlockRecord.ts +53 -0
- package/src/utilities/inspectItem.ts +64 -52
- package/src/utilities/itemDefinition.ts +109 -98
- package/src/utilities/nonRecursiveBlocks.ts +25 -279
- package/src/utilities/recursiveBlocks.ts +337 -72
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Utils from '@datocms/rest-client-utils';
|
|
2
2
|
import BaseResource from '../../BaseResource';
|
|
3
|
-
import type { ItemTypeDefinition
|
|
3
|
+
import type { ItemTypeDefinition } from '../../utilities/itemDefinition';
|
|
4
4
|
import type * as ApiTypes from '../ApiTypes';
|
|
5
5
|
import type * as RawApiTypes from '../RawApiTypes';
|
|
6
6
|
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
@@ -16,10 +16,10 @@ export default class Item extends BaseResource {
|
|
|
16
16
|
*/
|
|
17
17
|
list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: ApiTypes.ItemInstancesHrefSchema & {
|
|
18
18
|
nested: true;
|
|
19
|
-
}): Promise<ApiTypes.ItemInstancesTargetSchema<
|
|
19
|
+
}): Promise<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
|
|
20
20
|
list<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: ApiTypes.ItemInstancesHrefSchema & {
|
|
21
21
|
nested?: false | undefined;
|
|
22
|
-
}): Promise<ApiTypes.ItemInstancesTargetSchema<
|
|
22
|
+
}): Promise<ApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>>;
|
|
23
23
|
/**
|
|
24
24
|
* List all records
|
|
25
25
|
*
|
|
@@ -30,11 +30,11 @@ export default class Item extends BaseResource {
|
|
|
30
30
|
*/
|
|
31
31
|
rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams: RawApiTypes.ItemInstancesHrefSchema & {
|
|
32
32
|
nested: true;
|
|
33
|
-
}): Promise<RawApiTypes.ItemInstancesTargetSchema<
|
|
33
|
+
}): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
|
|
34
34
|
rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema & {
|
|
35
35
|
nested?: false | undefined;
|
|
36
|
-
}): Promise<RawApiTypes.ItemInstancesTargetSchema<
|
|
37
|
-
rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema): Promise<RawApiTypes.ItemInstancesTargetSchema<
|
|
36
|
+
}): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, false>>;
|
|
37
|
+
rawList<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: RawApiTypes.ItemInstancesHrefSchema): Promise<RawApiTypes.ItemInstancesTargetSchema<NoInfer<D>, true>>;
|
|
38
38
|
/**
|
|
39
39
|
* Async iterator to auto-paginate over elements returned by list()
|
|
40
40
|
*
|
|
@@ -43,7 +43,7 @@ export default class Item extends BaseResource {
|
|
|
43
43
|
* @throws {ApiError}
|
|
44
44
|
* @throws {TimeoutError}
|
|
45
45
|
*/
|
|
46
|
-
listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<ApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.
|
|
46
|
+
listPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<ApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<ApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
|
|
47
47
|
/**
|
|
48
48
|
* Async iterator to auto-paginate over elements returned by rawList()
|
|
49
49
|
*
|
|
@@ -52,7 +52,7 @@ export default class Item extends BaseResource {
|
|
|
52
52
|
* @throws {ApiError}
|
|
53
53
|
* @throws {TimeoutError}
|
|
54
54
|
*/
|
|
55
|
-
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<RawApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<
|
|
55
|
+
rawListPagedIterator<D extends ItemTypeDefinition = ItemTypeDefinition>(queryParams?: Utils.OmitFromKnownKeys<RawApiTypes.ItemInstancesHrefSchema, 'page'>, iteratorOptions?: Utils.IteratorOptions): AsyncGenerator<RawApiTypes.ItemInNestedResponse<NoInfer<D>>, void, unknown>;
|
|
56
56
|
/**
|
|
57
57
|
* Validates an existing record field
|
|
58
58
|
*
|
|
@@ -63,7 +63,7 @@ export default class Item extends BaseResource {
|
|
|
63
63
|
*
|
|
64
64
|
* @deprecated This API call is to be considered private and might change without notice
|
|
65
65
|
*/
|
|
66
|
-
validateExisting<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body: ApiTypes.ItemValidateExistingSchema<
|
|
66
|
+
validateExisting<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body: ApiTypes.ItemValidateExistingSchema<NoInfer<D>>): Promise<void>;
|
|
67
67
|
/**
|
|
68
68
|
* Validates an existing record field
|
|
69
69
|
*
|
|
@@ -74,7 +74,7 @@ export default class Item extends BaseResource {
|
|
|
74
74
|
*
|
|
75
75
|
* @deprecated This API call is to be considered private and might change without notice
|
|
76
76
|
*/
|
|
77
|
-
rawValidateExisting<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body: RawApiTypes.ItemValidateExistingSchema<
|
|
77
|
+
rawValidateExisting<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body: RawApiTypes.ItemValidateExistingSchema<NoInfer<D>>): Promise<void>;
|
|
78
78
|
/**
|
|
79
79
|
* Validates a record field
|
|
80
80
|
*
|
|
@@ -85,7 +85,7 @@ export default class Item extends BaseResource {
|
|
|
85
85
|
*
|
|
86
86
|
* @deprecated This API call is to be considered private and might change without notice
|
|
87
87
|
*/
|
|
88
|
-
validateNew<D extends ItemTypeDefinition = ItemTypeDefinition>(body: ApiTypes.ItemValidateNewSchema<
|
|
88
|
+
validateNew<D extends ItemTypeDefinition = ItemTypeDefinition>(body: ApiTypes.ItemValidateNewSchema<NoInfer<D>>): Promise<void>;
|
|
89
89
|
/**
|
|
90
90
|
* Validates a record field
|
|
91
91
|
*
|
|
@@ -96,7 +96,7 @@ export default class Item extends BaseResource {
|
|
|
96
96
|
*
|
|
97
97
|
* @deprecated This API call is to be considered private and might change without notice
|
|
98
98
|
*/
|
|
99
|
-
rawValidateNew<D extends ItemTypeDefinition = ItemTypeDefinition>(body: RawApiTypes.ItemValidateNewSchema<
|
|
99
|
+
rawValidateNew<D extends ItemTypeDefinition = ItemTypeDefinition>(body: RawApiTypes.ItemValidateNewSchema<NoInfer<D>>): Promise<void>;
|
|
100
100
|
/**
|
|
101
101
|
* Create a new record
|
|
102
102
|
*
|
|
@@ -105,7 +105,7 @@ export default class Item extends BaseResource {
|
|
|
105
105
|
* @throws {ApiError}
|
|
106
106
|
* @throws {TimeoutError}
|
|
107
107
|
*/
|
|
108
|
-
create<D extends ItemTypeDefinition = ItemTypeDefinition>(body: ApiTypes.ItemCreateSchema<
|
|
108
|
+
create<D extends ItemTypeDefinition = ItemTypeDefinition>(body: ApiTypes.ItemCreateSchema<NoInfer<D>>): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
109
109
|
/**
|
|
110
110
|
* Create a new record
|
|
111
111
|
*
|
|
@@ -114,7 +114,7 @@ export default class Item extends BaseResource {
|
|
|
114
114
|
* @throws {ApiError}
|
|
115
115
|
* @throws {TimeoutError}
|
|
116
116
|
*/
|
|
117
|
-
rawCreate<D extends ItemTypeDefinition = ItemTypeDefinition>(body: RawApiTypes.ItemCreateSchema<
|
|
117
|
+
rawCreate<D extends ItemTypeDefinition = ItemTypeDefinition>(body: RawApiTypes.ItemCreateSchema<NoInfer<D>>): Promise<RawApiTypes.ItemCreateTargetSchema<NoInfer<D>, true>>;
|
|
118
118
|
/**
|
|
119
119
|
* Duplicate a record
|
|
120
120
|
*
|
|
@@ -123,7 +123,7 @@ export default class Item extends BaseResource {
|
|
|
123
123
|
* @throws {ApiError}
|
|
124
124
|
* @throws {TimeoutError}
|
|
125
125
|
*/
|
|
126
|
-
duplicate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.
|
|
126
|
+
duplicate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
127
127
|
/**
|
|
128
128
|
* Duplicate a record
|
|
129
129
|
*
|
|
@@ -132,7 +132,7 @@ export default class Item extends BaseResource {
|
|
|
132
132
|
* @throws {ApiError}
|
|
133
133
|
* @throws {TimeoutError}
|
|
134
134
|
*/
|
|
135
|
-
rawDuplicate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ItemDuplicateJobSchema<
|
|
135
|
+
rawDuplicate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ItemDuplicateJobSchema<NoInfer<D>, true>>;
|
|
136
136
|
/**
|
|
137
137
|
* Update a record
|
|
138
138
|
*
|
|
@@ -141,7 +141,7 @@ export default class Item extends BaseResource {
|
|
|
141
141
|
* @throws {ApiError}
|
|
142
142
|
* @throws {TimeoutError}
|
|
143
143
|
*/
|
|
144
|
-
update<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body: ApiTypes.ItemUpdateSchema<
|
|
144
|
+
update<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body: ApiTypes.ItemUpdateSchema<NoInfer<D>>): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
145
145
|
/**
|
|
146
146
|
* Update a record
|
|
147
147
|
*
|
|
@@ -150,7 +150,7 @@ export default class Item extends BaseResource {
|
|
|
150
150
|
* @throws {ApiError}
|
|
151
151
|
* @throws {TimeoutError}
|
|
152
152
|
*/
|
|
153
|
-
rawUpdate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body: RawApiTypes.ItemUpdateSchema<
|
|
153
|
+
rawUpdate<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body: RawApiTypes.ItemUpdateSchema<NoInfer<D>>): Promise<RawApiTypes.ItemUpdateTargetSchema<NoInfer<D>, true>>;
|
|
154
154
|
/**
|
|
155
155
|
* Referenced records
|
|
156
156
|
*
|
|
@@ -161,10 +161,10 @@ export default class Item extends BaseResource {
|
|
|
161
161
|
*/
|
|
162
162
|
references<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, queryParams: ApiTypes.ItemReferencesHrefSchema & {
|
|
163
163
|
nested: true;
|
|
164
|
-
}): Promise<ApiTypes.ItemReferencesTargetSchema<
|
|
164
|
+
}): Promise<ApiTypes.ItemReferencesTargetSchema<NoInfer<D>, true>>;
|
|
165
165
|
references<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, queryParams?: ApiTypes.ItemReferencesHrefSchema & {
|
|
166
166
|
nested?: false | undefined;
|
|
167
|
-
}): Promise<ApiTypes.ItemReferencesTargetSchema<
|
|
167
|
+
}): Promise<ApiTypes.ItemReferencesTargetSchema<NoInfer<D>, false>>;
|
|
168
168
|
/**
|
|
169
169
|
* Referenced records
|
|
170
170
|
*
|
|
@@ -175,11 +175,11 @@ export default class Item extends BaseResource {
|
|
|
175
175
|
*/
|
|
176
176
|
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams: RawApiTypes.ItemReferencesHrefSchema & {
|
|
177
177
|
nested: true;
|
|
178
|
-
}): Promise<RawApiTypes.ItemReferencesTargetSchema<
|
|
178
|
+
}): Promise<RawApiTypes.ItemReferencesTargetSchema<NoInfer<D>, true>>;
|
|
179
179
|
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemReferencesHrefSchema & {
|
|
180
180
|
nested?: false | undefined;
|
|
181
|
-
}): Promise<RawApiTypes.ItemReferencesTargetSchema<
|
|
182
|
-
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemReferencesHrefSchema): Promise<RawApiTypes.ItemReferencesTargetSchema<
|
|
181
|
+
}): Promise<RawApiTypes.ItemReferencesTargetSchema<NoInfer<D>, false>>;
|
|
182
|
+
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemReferencesHrefSchema): Promise<RawApiTypes.ItemReferencesTargetSchema<NoInfer<D>, true>>;
|
|
183
183
|
/**
|
|
184
184
|
* Retrieve a record
|
|
185
185
|
*
|
|
@@ -190,10 +190,10 @@ export default class Item extends BaseResource {
|
|
|
190
190
|
*/
|
|
191
191
|
find<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, queryParams: ApiTypes.ItemSelfHrefSchema & {
|
|
192
192
|
nested: true;
|
|
193
|
-
}): Promise<ApiTypes.ItemSelfTargetSchema<
|
|
193
|
+
}): Promise<ApiTypes.ItemSelfTargetSchema<NoInfer<D>, true>>;
|
|
194
194
|
find<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, queryParams?: ApiTypes.ItemSelfHrefSchema & {
|
|
195
195
|
nested?: false | undefined;
|
|
196
|
-
}): Promise<ApiTypes.ItemSelfTargetSchema<
|
|
196
|
+
}): Promise<ApiTypes.ItemSelfTargetSchema<NoInfer<D>, false>>;
|
|
197
197
|
/**
|
|
198
198
|
* Retrieve a record
|
|
199
199
|
*
|
|
@@ -204,11 +204,11 @@ export default class Item extends BaseResource {
|
|
|
204
204
|
*/
|
|
205
205
|
rawFind<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams: RawApiTypes.ItemSelfHrefSchema & {
|
|
206
206
|
nested: true;
|
|
207
|
-
}): Promise<RawApiTypes.ItemSelfTargetSchema<
|
|
207
|
+
}): Promise<RawApiTypes.ItemSelfTargetSchema<NoInfer<D>, true>>;
|
|
208
208
|
rawFind<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemSelfHrefSchema & {
|
|
209
209
|
nested?: false | undefined;
|
|
210
|
-
}): Promise<RawApiTypes.ItemSelfTargetSchema<
|
|
211
|
-
rawFind<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemSelfHrefSchema): Promise<RawApiTypes.ItemSelfTargetSchema<
|
|
210
|
+
}): Promise<RawApiTypes.ItemSelfTargetSchema<NoInfer<D>, false>>;
|
|
211
|
+
rawFind<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, queryParams?: RawApiTypes.ItemSelfHrefSchema): Promise<RawApiTypes.ItemSelfTargetSchema<NoInfer<D>, true>>;
|
|
212
212
|
/**
|
|
213
213
|
* Retrieve information regarding changes between current and published versions of the record
|
|
214
214
|
*
|
|
@@ -239,7 +239,7 @@ export default class Item extends BaseResource {
|
|
|
239
239
|
* @throws {ApiError}
|
|
240
240
|
* @throws {TimeoutError}
|
|
241
241
|
*/
|
|
242
|
-
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.
|
|
242
|
+
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
243
243
|
/**
|
|
244
244
|
* Delete a record
|
|
245
245
|
*
|
|
@@ -248,7 +248,7 @@ export default class Item extends BaseResource {
|
|
|
248
248
|
* @throws {ApiError}
|
|
249
249
|
* @throws {TimeoutError}
|
|
250
250
|
*/
|
|
251
|
-
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ItemDestroyJobSchema<
|
|
251
|
+
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ItemDestroyJobSchema<NoInfer<D>, true>>;
|
|
252
252
|
/**
|
|
253
253
|
* Publish a record
|
|
254
254
|
*
|
|
@@ -257,7 +257,7 @@ export default class Item extends BaseResource {
|
|
|
257
257
|
* @throws {ApiError}
|
|
258
258
|
* @throws {TimeoutError}
|
|
259
259
|
*/
|
|
260
|
-
publish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body?: ApiTypes.ItemPublishSchema, queryParams?: ApiTypes.ItemPublishHrefSchema): Promise<ApiTypes.
|
|
260
|
+
publish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body?: ApiTypes.ItemPublishSchema, queryParams?: ApiTypes.ItemPublishHrefSchema): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
261
261
|
/**
|
|
262
262
|
* Publish a record
|
|
263
263
|
*
|
|
@@ -266,7 +266,7 @@ export default class Item extends BaseResource {
|
|
|
266
266
|
* @throws {ApiError}
|
|
267
267
|
* @throws {TimeoutError}
|
|
268
268
|
*/
|
|
269
|
-
rawPublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body?: RawApiTypes.ItemPublishSchema, queryParams?: RawApiTypes.ItemPublishHrefSchema): Promise<RawApiTypes.ItemPublishTargetSchema<
|
|
269
|
+
rawPublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body?: RawApiTypes.ItemPublishSchema, queryParams?: RawApiTypes.ItemPublishHrefSchema): Promise<RawApiTypes.ItemPublishTargetSchema<NoInfer<D>, true>>;
|
|
270
270
|
/**
|
|
271
271
|
* Unpublish a record
|
|
272
272
|
*
|
|
@@ -275,7 +275,7 @@ export default class Item extends BaseResource {
|
|
|
275
275
|
* @throws {ApiError}
|
|
276
276
|
* @throws {TimeoutError}
|
|
277
277
|
*/
|
|
278
|
-
unpublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body?: ApiTypes.ItemUnpublishSchema, queryParams?: ApiTypes.ItemUnpublishHrefSchema): Promise<ApiTypes.
|
|
278
|
+
unpublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData, body?: ApiTypes.ItemUnpublishSchema, queryParams?: ApiTypes.ItemUnpublishHrefSchema): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
279
279
|
/**
|
|
280
280
|
* Unpublish a record
|
|
281
281
|
*
|
|
@@ -284,7 +284,7 @@ export default class Item extends BaseResource {
|
|
|
284
284
|
* @throws {ApiError}
|
|
285
285
|
* @throws {TimeoutError}
|
|
286
286
|
*/
|
|
287
|
-
rawUnpublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body?: RawApiTypes.ItemUnpublishSchema, queryParams?: RawApiTypes.ItemUnpublishHrefSchema): Promise<RawApiTypes.ItemUnpublishTargetSchema<
|
|
287
|
+
rawUnpublish<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string, body?: RawApiTypes.ItemUnpublishSchema, queryParams?: RawApiTypes.ItemUnpublishHrefSchema): Promise<RawApiTypes.ItemUnpublishTargetSchema<NoInfer<D>, true>>;
|
|
288
288
|
/**
|
|
289
289
|
* Publish items in bulk
|
|
290
290
|
*
|
|
@@ -12,7 +12,9 @@ export default class ItemVersion extends BaseResource {
|
|
|
12
12
|
* @throws {ApiError}
|
|
13
13
|
* @throws {TimeoutError}
|
|
14
14
|
*/
|
|
15
|
-
restore(itemVersionId: string | ApiTypes.ItemVersionData): Promise<ApiTypes.
|
|
15
|
+
restore(itemVersionId: string | ApiTypes.ItemVersionData): Promise<[ApiTypes.Item<import("../..").ItemTypeDefinition<{
|
|
16
|
+
locales: string;
|
|
17
|
+
}, string, {}>>, ApiTypes.ItemVersion]>;
|
|
16
18
|
/**
|
|
17
19
|
* Restore an old record version
|
|
18
20
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BaseResource from '../../BaseResource';
|
|
2
|
-
import type { ItemTypeDefinition
|
|
2
|
+
import type { ItemTypeDefinition } from '../../utilities/itemDefinition';
|
|
3
3
|
import type * as ApiTypes from '../ApiTypes';
|
|
4
4
|
import type * as RawApiTypes from '../RawApiTypes';
|
|
5
5
|
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
@@ -31,7 +31,7 @@ export default class ScheduledPublication extends BaseResource {
|
|
|
31
31
|
* @throws {ApiError}
|
|
32
32
|
* @throws {TimeoutError}
|
|
33
33
|
*/
|
|
34
|
-
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.
|
|
34
|
+
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
35
35
|
/**
|
|
36
36
|
* Delete a scheduled publication
|
|
37
37
|
*
|
|
@@ -40,6 +40,6 @@ export default class ScheduledPublication extends BaseResource {
|
|
|
40
40
|
* @throws {ApiError}
|
|
41
41
|
* @throws {TimeoutError}
|
|
42
42
|
*/
|
|
43
|
-
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ScheduledPublicationDestroyTargetSchema<
|
|
43
|
+
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ScheduledPublicationDestroyTargetSchema<NoInfer<D>, true>>;
|
|
44
44
|
}
|
|
45
45
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import BaseResource from '../../BaseResource';
|
|
2
|
-
import type { ItemTypeDefinition
|
|
2
|
+
import type { ItemTypeDefinition } from '../../utilities/itemDefinition';
|
|
3
3
|
import type * as ApiTypes from '../ApiTypes';
|
|
4
4
|
import type * as RawApiTypes from '../RawApiTypes';
|
|
5
5
|
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
@@ -31,7 +31,7 @@ export default class ScheduledUnpublishing extends BaseResource {
|
|
|
31
31
|
* @throws {ApiError}
|
|
32
32
|
* @throws {TimeoutError}
|
|
33
33
|
*/
|
|
34
|
-
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.
|
|
34
|
+
destroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string | ApiTypes.ItemData): Promise<ApiTypes.Item<NoInfer<D>>>;
|
|
35
35
|
/**
|
|
36
36
|
* Delete a scheduled unpublishing
|
|
37
37
|
*
|
|
@@ -40,6 +40,6 @@ export default class ScheduledUnpublishing extends BaseResource {
|
|
|
40
40
|
* @throws {ApiError}
|
|
41
41
|
* @throws {TimeoutError}
|
|
42
42
|
*/
|
|
43
|
-
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ScheduledUnpublishingDestroyTargetSchema<
|
|
43
|
+
rawDestroy<D extends ItemTypeDefinition = ItemTypeDefinition>(itemId: string): Promise<RawApiTypes.ScheduledUnpublishingDestroyTargetSchema<NoInfer<D>, true>>;
|
|
44
44
|
}
|
|
45
45
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Utils from '@datocms/rest-client-utils';
|
|
2
2
|
import BaseResource from '../../BaseResource';
|
|
3
|
-
import type { ItemTypeDefinition
|
|
3
|
+
import type { ItemTypeDefinition } from '../../utilities/itemDefinition';
|
|
4
4
|
import type * as ApiTypes from '../ApiTypes';
|
|
5
5
|
import type * as RawApiTypes from '../RawApiTypes';
|
|
6
6
|
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
@@ -124,10 +124,10 @@ export default class Upload extends BaseResource {
|
|
|
124
124
|
*/
|
|
125
125
|
references<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string | ApiTypes.UploadData, queryParams: ApiTypes.UploadReferencesHrefSchema & {
|
|
126
126
|
nested: true;
|
|
127
|
-
}): Promise<ApiTypes.UploadReferencesTargetSchema<
|
|
127
|
+
}): Promise<ApiTypes.UploadReferencesTargetSchema<NoInfer<D>, true>>;
|
|
128
128
|
references<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string | ApiTypes.UploadData, queryParams?: ApiTypes.UploadReferencesHrefSchema & {
|
|
129
129
|
nested?: false | undefined;
|
|
130
|
-
}): Promise<ApiTypes.UploadReferencesTargetSchema<
|
|
130
|
+
}): Promise<ApiTypes.UploadReferencesTargetSchema<NoInfer<D>, false>>;
|
|
131
131
|
/**
|
|
132
132
|
* Referenced records
|
|
133
133
|
*
|
|
@@ -138,11 +138,11 @@ export default class Upload extends BaseResource {
|
|
|
138
138
|
*/
|
|
139
139
|
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string, queryParams: RawApiTypes.UploadReferencesHrefSchema & {
|
|
140
140
|
nested: true;
|
|
141
|
-
}): Promise<RawApiTypes.UploadReferencesTargetSchema<
|
|
141
|
+
}): Promise<RawApiTypes.UploadReferencesTargetSchema<NoInfer<D>, true>>;
|
|
142
142
|
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string, queryParams?: RawApiTypes.UploadReferencesHrefSchema & {
|
|
143
143
|
nested?: false | undefined;
|
|
144
|
-
}): Promise<RawApiTypes.UploadReferencesTargetSchema<
|
|
145
|
-
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string, queryParams?: RawApiTypes.UploadReferencesHrefSchema): Promise<RawApiTypes.UploadReferencesTargetSchema<
|
|
144
|
+
}): Promise<RawApiTypes.UploadReferencesTargetSchema<NoInfer<D>, false>>;
|
|
145
|
+
rawReferences<D extends ItemTypeDefinition = ItemTypeDefinition>(uploadId: string, queryParams?: RawApiTypes.UploadReferencesHrefSchema): Promise<RawApiTypes.UploadReferencesTargetSchema<NoInfer<D>, true>>;
|
|
146
146
|
/**
|
|
147
147
|
* Add tags to assets in bulk
|
|
148
148
|
*
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { Client } from './generated/Client';
|
|
|
5
5
|
export type { ClientConfigOptions } from './generated/Client';
|
|
6
6
|
export * as Resources from './generated/resources';
|
|
7
7
|
export * from './utilities/buildBlockRecord';
|
|
8
|
+
export * from './utilities/duplicateBlockRecord';
|
|
8
9
|
export * from './utilities/fieldsContainingReferences';
|
|
9
10
|
export * from './utilities/id';
|
|
10
11
|
export * from './utilities/inspectItem';
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NewBlockInRequest } from '../fieldTypes';
|
|
2
2
|
import type * as ApiTypes from '../generated/ApiTypes';
|
|
3
|
-
import type { ItemTypeDefinition,
|
|
4
|
-
import type { SchemaRepository } from './schemaRepository';
|
|
3
|
+
import type { ItemTypeDefinition, ToItemAttributesInRequest } from './itemDefinition';
|
|
5
4
|
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
type UpdateOrCreateBlockRecordSchema<D extends ItemTypeDefinition = ItemTypeDefinition> = {
|
|
6
|
+
id?: ApiTypes.ItemIdentity;
|
|
7
|
+
type?: ApiTypes.ItemType1;
|
|
8
|
+
item_type: ApiTypes.ItemTypeData<D>;
|
|
9
|
+
meta?: ApiTypes.ItemUpdateSchema['meta'];
|
|
10
|
+
creator?: ApiTypes.ItemUpdateSchema['creator'];
|
|
11
|
+
__itemTypeId?: D['itemTypeId'];
|
|
12
|
+
} & ToItemAttributesInRequest<D>;
|
|
13
|
+
export declare function buildBlockRecord<D extends ItemTypeDefinition = ItemTypeDefinition>(body: UpdateOrCreateBlockRecordSchema<NoInfer<D>>): NewBlockInRequest<NoInfer<D>>;
|
|
8
14
|
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ItemWithOptionalIdAndMeta, NewBlockInRequest } from '../fieldTypes';
|
|
2
|
+
import type { ItemTypeDefinition } from './itemDefinition';
|
|
3
|
+
import type { SchemaRepository } from './schemaRepository';
|
|
4
|
+
type NoInfer<T> = [T][T extends any ? 0 : never];
|
|
5
|
+
export declare function duplicateBlockRecord<D extends ItemTypeDefinition = ItemTypeDefinition>(existingBlock: ItemWithOptionalIdAndMeta<NoInfer<D>>, schemaRepository: SchemaRepository): Promise<NewBlockInRequest<NoInfer<D>>>;
|
|
6
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
3
|
-
type Item = ApiTypes.Item | RawApiTypes.Item |
|
|
1
|
+
import { type NewBlockInRequest, type UpdatedBlockInRequest } from '../fieldTypes';
|
|
2
|
+
import type { ApiTypes, RawApiTypes } from '../index';
|
|
3
|
+
type Item = ApiTypes.Item | RawApiTypes.Item | NewBlockInRequest | UpdatedBlockInRequest | RawApiTypes.ItemCreateSchema | RawApiTypes.ItemUpdateSchema | ApiTypes.ItemCreateSchema | ApiTypes.ItemUpdateSchema;
|
|
4
4
|
export type InspectItemOptions = {
|
|
5
5
|
maxWidth?: number;
|
|
6
6
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BooleanFieldValue, ColorFieldValue, DateFieldValue, DateTimeFieldValue, FileFieldValue,
|
|
1
|
+
import type { BlockInNestedResponse, BlockInRequest, BooleanFieldValue, ColorFieldValue, DateFieldValue, DateTimeFieldValue, FileFieldValue, FileFieldValueInRequest, FloatFieldValue, GalleryFieldValue, GalleryFieldValueInRequest, IntegerFieldValue, JsonFieldValue, LatLonFieldValue, LinkFieldValue, LinksFieldValue, RichTextFieldValue, RichTextFieldValueInNestedResponse, RichTextFieldValueInRequest, SeoFieldValue, SingleBlockFieldValue, SingleBlockFieldValueInNestedResponse, SingleBlockFieldValueInRequest, SlugFieldValue, StringFieldValue, StructuredTextFieldValue, StructuredTextFieldValueInNestedResponse, StructuredTextFieldValueInRequest, TextFieldValue, VideoFieldValue } from '../fieldTypes';
|
|
2
2
|
import type { LocalizedFieldValue } from './normalizedFieldValues';
|
|
3
3
|
/** Base field definition */
|
|
4
4
|
type BaseFieldDefinition<Type extends string> = {
|
|
@@ -27,11 +27,6 @@ export type ItemTypeDefinition<Settings extends {
|
|
|
27
27
|
itemTypeId: ItemTypeId;
|
|
28
28
|
fields: FieldDefinitions;
|
|
29
29
|
};
|
|
30
|
-
/** Item definition */
|
|
31
|
-
export type ItemDefinition<ItemTypeId extends string = string, FieldValues extends Record<string, unknown> = Record<string, unknown>> = {
|
|
32
|
-
itemTypeId: ItemTypeId;
|
|
33
|
-
fields: FieldValues;
|
|
34
|
-
};
|
|
35
30
|
/** Standard field values (response format) */
|
|
36
31
|
type FieldTypeToValue = {
|
|
37
32
|
boolean: BooleanFieldValue;
|
|
@@ -57,25 +52,25 @@ type FieldTypeToValue = {
|
|
|
57
52
|
unknown: unknown;
|
|
58
53
|
};
|
|
59
54
|
/** Request field values (request format with optional metadata) */
|
|
60
|
-
type
|
|
55
|
+
type FieldTypeToValueInRequest = {
|
|
61
56
|
boolean: BooleanFieldValue;
|
|
62
57
|
color: ColorFieldValue;
|
|
63
58
|
date: DateFieldValue;
|
|
64
59
|
date_time: DateTimeFieldValue;
|
|
65
|
-
file:
|
|
60
|
+
file: FileFieldValueInRequest;
|
|
66
61
|
float: FloatFieldValue;
|
|
67
|
-
gallery:
|
|
62
|
+
gallery: GalleryFieldValueInRequest;
|
|
68
63
|
integer: IntegerFieldValue;
|
|
69
64
|
json: JsonFieldValue;
|
|
70
65
|
lat_lon: LatLonFieldValue;
|
|
71
66
|
link: LinkFieldValue;
|
|
72
67
|
links: LinksFieldValue;
|
|
73
|
-
rich_text:
|
|
68
|
+
rich_text: RichTextFieldValueInRequest;
|
|
74
69
|
seo: SeoFieldValue;
|
|
75
|
-
single_block:
|
|
70
|
+
single_block: SingleBlockFieldValueInRequest;
|
|
76
71
|
slug: SlugFieldValue;
|
|
77
72
|
string: StringFieldValue;
|
|
78
|
-
structured_text:
|
|
73
|
+
structured_text: StructuredTextFieldValueInRequest;
|
|
79
74
|
text: TextFieldValue;
|
|
80
75
|
video: VideoFieldValue;
|
|
81
76
|
unknown: unknown;
|
|
@@ -86,26 +81,29 @@ type LocalizeIfNeeded<T extends FieldDefinition, Value, Locales extends string>
|
|
|
86
81
|
} ? LocalizedFieldValue<Value, Locales> : Value;
|
|
87
82
|
/** Standard mapping */
|
|
88
83
|
type FieldDefinitionToFieldValue<T extends FieldDefinition, Locales extends string> = LocalizeIfNeeded<T, FieldTypeToValue[T['type']], Locales>;
|
|
89
|
-
/**
|
|
90
|
-
type
|
|
84
|
+
/** InRequest mapping (block fields become generic over allowed blocks) */
|
|
85
|
+
type FieldDefinitionToFieldValueInRequest<T extends FieldDefinition, Locales extends string> = T extends RichTextFieldDefinition<infer B> ? LocalizeIfNeeded<T, RichTextFieldValueInRequest<B>, Locales> : T extends SingleBlockFieldDefinition<infer B> ? LocalizeIfNeeded<T, SingleBlockFieldValueInRequest<B>, Locales> : T extends StructuredTextFieldDefinition<infer B, infer I> ? LocalizeIfNeeded<T, StructuredTextFieldValueInRequest<T extends {
|
|
91
86
|
blocks: any;
|
|
92
|
-
} ?
|
|
87
|
+
} ? B : never, T extends {
|
|
93
88
|
inline_blocks: any;
|
|
94
|
-
} ?
|
|
95
|
-
type
|
|
89
|
+
} ? I : never>, Locales> : LocalizeIfNeeded<T, FieldTypeToValueInRequest[T['type']], Locales>;
|
|
90
|
+
type FieldDefinitionToFieldValueInNestedResponse<T extends FieldDefinition, Locales extends string> = T extends RichTextFieldDefinition<infer B> ? LocalizeIfNeeded<T, RichTextFieldValueInNestedResponse<B>, Locales> : T extends SingleBlockFieldDefinition<infer B> ? LocalizeIfNeeded<T, SingleBlockFieldValueInNestedResponse<B>, Locales> : T extends StructuredTextFieldDefinition<infer B, infer I> ? LocalizeIfNeeded<T, StructuredTextFieldValueInNestedResponse<T extends {
|
|
96
91
|
blocks: any;
|
|
97
|
-
} ?
|
|
92
|
+
} ? B : never, T extends {
|
|
98
93
|
inline_blocks: any;
|
|
99
|
-
} ?
|
|
94
|
+
} ? I : never>, Locales> : LocalizeIfNeeded<T, FieldTypeToValue[T['type']], Locales>;
|
|
100
95
|
/** Transformers */
|
|
101
|
-
export type
|
|
96
|
+
export type ToItemAttributes<T extends ItemTypeDefinition<any, any, any>> = T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? Record<string, unknown> : {
|
|
102
97
|
[K in keyof Fields]: Fields[K] extends FieldDefinition ? FieldDefinitionToFieldValue<Fields[K], Settings['locales']> : never;
|
|
98
|
+
} : never;
|
|
99
|
+
export type ToItemAttributesInRequest<T extends ItemTypeDefinition<any, any, any>> = T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? Record<string, unknown> : Partial<{
|
|
100
|
+
[K in keyof Fields]: Fields[K] extends FieldDefinition ? FieldDefinitionToFieldValueInRequest<Fields[K], Settings['locales']> : never;
|
|
103
101
|
}> : never;
|
|
104
|
-
export type
|
|
105
|
-
[K in keyof Fields]: Fields[K] extends FieldDefinition ?
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
[K in keyof Fields]: Fields[K] extends
|
|
109
|
-
}
|
|
110
|
-
export type
|
|
102
|
+
export type ToItemAttributesInNestedResponse<T extends ItemTypeDefinition<any, any, any>> = T extends ItemTypeDefinition<infer Settings, infer ItemTypeId, infer Fields> ? keyof Fields extends never ? Record<string, unknown> : {
|
|
103
|
+
[K in keyof Fields]: Fields[K] extends FieldDefinition ? FieldDefinitionToFieldValueInNestedResponse<Fields[K], Settings['locales']> : never;
|
|
104
|
+
} : never;
|
|
105
|
+
type NestedItemTypeDefinitions<T extends ItemTypeDefinition<any, any, any>, Seen extends string = never> = T extends ItemTypeDefinition<any, infer Id, infer Fields> ? Id extends Seen ? never : {
|
|
106
|
+
[K in keyof Fields]: Fields[K] extends RichTextFieldDefinition<infer B> ? B | NestedItemTypeDefinitions<B, Seen | Id> : Fields[K] extends SingleBlockFieldDefinition<infer B> ? B | NestedItemTypeDefinitions<B, Seen | Id> : Fields[K] extends StructuredTextFieldDefinition<infer B, infer I> ? B | I | NestedItemTypeDefinitions<B, Seen | Id> | NestedItemTypeDefinitions<I, Seen | Id> : never;
|
|
107
|
+
}[keyof Fields] : never;
|
|
108
|
+
export type ExtractNestedBlocksFromFieldValue<T> = T extends RichTextFieldValueInNestedResponse<infer D> ? BlockInNestedResponse<D> | BlockInNestedResponse<NestedItemTypeDefinitions<D>> : T extends SingleBlockFieldValueInNestedResponse<infer D> ? BlockInNestedResponse<D> | BlockInNestedResponse<NestedItemTypeDefinitions<D>> : T extends StructuredTextFieldValueInNestedResponse<infer DB, infer DI> ? BlockInNestedResponse<DB> | BlockInNestedResponse<NestedItemTypeDefinitions<DB>> | BlockInNestedResponse<DI> | BlockInNestedResponse<NestedItemTypeDefinitions<DI>> : T extends StructuredTextFieldValueInNestedResponse<infer D> ? BlockInNestedResponse<D> | BlockInNestedResponse<NestedItemTypeDefinitions<D>> : T extends RichTextFieldValueInRequest<infer D> ? BlockInRequest<D> | BlockInRequest<NestedItemTypeDefinitions<D>> : T extends SingleBlockFieldValueInRequest<infer D> ? BlockInRequest<D> | BlockInRequest<NestedItemTypeDefinitions<D>> : T extends StructuredTextFieldValueInRequest<infer DB, infer DI> ? BlockInRequest<DB> | BlockInRequest<NestedItemTypeDefinitions<DB>> | BlockInRequest<DI> | BlockInRequest<NestedItemTypeDefinitions<DI>> : T extends StructuredTextFieldValueInRequest<infer D> ? BlockInRequest<D> | BlockInRequest<NestedItemTypeDefinitions<D>> : never;
|
|
111
109
|
export {};
|