@datocms/cma-client 5.0.1 → 5.1.1
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/dist/cjs/BaseResource.js +3 -4
- package/dist/cjs/BaseResource.js.map +1 -1
- package/dist/cjs/buildClient.js +1 -1
- package/dist/cjs/buildClient.js.map +1 -1
- package/dist/cjs/fieldTypes/appearance/boolean.js +3 -0
- package/dist/cjs/fieldTypes/appearance/boolean.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/boolean_radio_group.js +3 -0
- package/dist/cjs/fieldTypes/appearance/boolean_radio_group.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/color_picker.js +3 -0
- package/dist/cjs/fieldTypes/appearance/color_picker.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/date_picker.js +3 -0
- package/dist/cjs/fieldTypes/appearance/date_picker.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/date_time_picker.js +3 -0
- package/dist/cjs/fieldTypes/appearance/date_time_picker.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/file.js +3 -0
- package/dist/cjs/fieldTypes/appearance/file.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/float.js +3 -0
- package/dist/cjs/fieldTypes/appearance/float.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/framed_single_block.js +3 -0
- package/dist/cjs/fieldTypes/appearance/framed_single_block.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/frameless_single_block.js +3 -0
- package/dist/cjs/fieldTypes/appearance/frameless_single_block.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/gallery.js +3 -0
- package/dist/cjs/fieldTypes/appearance/gallery.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/index.js +47 -0
- package/dist/cjs/fieldTypes/appearance/index.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/integer.js +3 -0
- package/dist/cjs/fieldTypes/appearance/integer.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/json.js +3 -0
- package/dist/cjs/fieldTypes/appearance/json.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/link_embed.js +3 -0
- package/dist/cjs/fieldTypes/appearance/link_embed.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/link_select.js +3 -0
- package/dist/cjs/fieldTypes/appearance/link_select.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/links_embed.js +3 -0
- package/dist/cjs/fieldTypes/appearance/links_embed.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/links_select.js +3 -0
- package/dist/cjs/fieldTypes/appearance/links_select.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/map.js +3 -0
- package/dist/cjs/fieldTypes/appearance/map.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/markdown.js +3 -0
- package/dist/cjs/fieldTypes/appearance/markdown.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/rich_text.js +3 -0
- package/dist/cjs/fieldTypes/appearance/rich_text.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/seo.js +3 -0
- package/dist/cjs/fieldTypes/appearance/seo.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/single_line.js +3 -0
- package/dist/cjs/fieldTypes/appearance/single_line.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/slug.js +3 -0
- package/dist/cjs/fieldTypes/appearance/slug.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/string_checkbox_group.js +3 -0
- package/dist/cjs/fieldTypes/appearance/string_checkbox_group.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/string_multi_select.js +3 -0
- package/dist/cjs/fieldTypes/appearance/string_multi_select.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/string_radio_group.js +3 -0
- package/dist/cjs/fieldTypes/appearance/string_radio_group.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/string_select.js +3 -0
- package/dist/cjs/fieldTypes/appearance/string_select.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/structured_text.js +3 -0
- package/dist/cjs/fieldTypes/appearance/structured_text.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/textarea.js +3 -0
- package/dist/cjs/fieldTypes/appearance/textarea.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/video.js +3 -0
- package/dist/cjs/fieldTypes/appearance/video.js.map +1 -0
- package/dist/cjs/fieldTypes/appearance/wysiwyg.js +3 -0
- package/dist/cjs/fieldTypes/appearance/wysiwyg.js.map +1 -0
- package/dist/cjs/fieldTypes/boolean.js +8 -0
- package/dist/cjs/fieldTypes/boolean.js.map +1 -0
- package/dist/cjs/fieldTypes/color.js +15 -0
- package/dist/cjs/fieldTypes/color.js.map +1 -0
- package/dist/cjs/fieldTypes/date.js +10 -0
- package/dist/cjs/fieldTypes/date.js.map +1 -0
- package/dist/cjs/fieldTypes/date_time.js +11 -0
- package/dist/cjs/fieldTypes/date_time.js.map +1 -0
- package/dist/cjs/fieldTypes/file.js +10 -0
- package/dist/cjs/fieldTypes/file.js.map +1 -0
- package/dist/cjs/fieldTypes/float.js +8 -0
- package/dist/cjs/fieldTypes/float.js.map +1 -0
- package/dist/cjs/fieldTypes/gallery.js +11 -0
- package/dist/cjs/fieldTypes/gallery.js.map +1 -0
- package/dist/cjs/fieldTypes/index.js +39 -0
- package/dist/cjs/fieldTypes/index.js.map +1 -0
- package/dist/cjs/fieldTypes/integer.js +8 -0
- package/dist/cjs/fieldTypes/integer.js.map +1 -0
- package/dist/cjs/fieldTypes/json.js +18 -0
- package/dist/cjs/fieldTypes/json.js.map +1 -0
- package/dist/cjs/fieldTypes/lat_lon.js +13 -0
- package/dist/cjs/fieldTypes/lat_lon.js.map +1 -0
- package/dist/cjs/fieldTypes/link.js +8 -0
- package/dist/cjs/fieldTypes/link.js.map +1 -0
- package/dist/cjs/fieldTypes/links.js +10 -0
- package/dist/cjs/fieldTypes/links.js.map +1 -0
- package/dist/cjs/fieldTypes/rich_text.js +53 -0
- package/dist/cjs/fieldTypes/rich_text.js.map +1 -0
- package/dist/cjs/fieldTypes/seo.js +16 -0
- package/dist/cjs/fieldTypes/seo.js.map +1 -0
- package/dist/cjs/fieldTypes/single_block.js +72 -0
- package/dist/cjs/fieldTypes/single_block.js.map +1 -0
- package/dist/cjs/fieldTypes/slug.js +10 -0
- package/dist/cjs/fieldTypes/slug.js.map +1 -0
- package/dist/cjs/fieldTypes/string.js +8 -0
- package/dist/cjs/fieldTypes/string.js.map +1 -0
- package/dist/cjs/fieldTypes/structured_text.js +87 -0
- package/dist/cjs/fieldTypes/structured_text.js.map +1 -0
- package/dist/cjs/fieldTypes/text.js +8 -0
- package/dist/cjs/fieldTypes/text.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/date_range.js +3 -0
- package/dist/cjs/fieldTypes/validators/date_range.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/date_time_range.js +3 -0
- package/dist/cjs/fieldTypes/validators/date_time_range.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/description_length.js +3 -0
- package/dist/cjs/fieldTypes/validators/description_length.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/enum.js +3 -0
- package/dist/cjs/fieldTypes/validators/enum.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/extension.js +3 -0
- package/dist/cjs/fieldTypes/validators/extension.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/file_size.js +3 -0
- package/dist/cjs/fieldTypes/validators/file_size.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/format.js +3 -0
- package/dist/cjs/fieldTypes/validators/format.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/image_aspect_ratio.js +3 -0
- package/dist/cjs/fieldTypes/validators/image_aspect_ratio.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/image_dimensions.js +3 -0
- package/dist/cjs/fieldTypes/validators/image_dimensions.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/index.js +44 -0
- package/dist/cjs/fieldTypes/validators/index.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/item_item_type.js +3 -0
- package/dist/cjs/fieldTypes/validators/item_item_type.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/items_item_type.js +3 -0
- package/dist/cjs/fieldTypes/validators/items_item_type.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/length.js +3 -0
- package/dist/cjs/fieldTypes/validators/length.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/number_range.js +3 -0
- package/dist/cjs/fieldTypes/validators/number_range.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/required.js +3 -0
- package/dist/cjs/fieldTypes/validators/required.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/required_alt_title.js +3 -0
- package/dist/cjs/fieldTypes/validators/required_alt_title.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/required_seo_fields.js +3 -0
- package/dist/cjs/fieldTypes/validators/required_seo_fields.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/rich_text_blocks.js +3 -0
- package/dist/cjs/fieldTypes/validators/rich_text_blocks.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/sanitization.js +3 -0
- package/dist/cjs/fieldTypes/validators/sanitization.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/single_block_blocks.js +3 -0
- package/dist/cjs/fieldTypes/validators/single_block_blocks.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/size.js +3 -0
- package/dist/cjs/fieldTypes/validators/size.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/slug_format.js +3 -0
- package/dist/cjs/fieldTypes/validators/slug_format.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/slug_title_field.js +3 -0
- package/dist/cjs/fieldTypes/validators/slug_title_field.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/structured_text_blocks.js +3 -0
- package/dist/cjs/fieldTypes/validators/structured_text_blocks.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/structured_text_inline_blocks.js +3 -0
- package/dist/cjs/fieldTypes/validators/structured_text_inline_blocks.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/structured_text_links.js +3 -0
- package/dist/cjs/fieldTypes/validators/structured_text_links.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/title_length.js +3 -0
- package/dist/cjs/fieldTypes/validators/title_length.js.map +1 -0
- package/dist/cjs/fieldTypes/validators/unique.js +3 -0
- package/dist/cjs/fieldTypes/validators/unique.js.map +1 -0
- package/dist/cjs/fieldTypes/video.js +14 -0
- package/dist/cjs/fieldTypes/video.js.map +1 -0
- package/dist/cjs/generated/Client.js +27 -79
- package/dist/cjs/generated/Client.js.map +1 -1
- package/dist/cjs/generated/SchemaTypes.js +0 -4
- package/dist/cjs/generated/SchemaTypes.js.map +1 -1
- package/dist/cjs/generated/SimpleSchemaTypes.js +0 -4
- package/dist/cjs/generated/SimpleSchemaTypes.js.map +1 -1
- package/dist/cjs/generated/resources/AccessToken.js +42 -74
- package/dist/cjs/generated/resources/AccessToken.js.map +1 -1
- package/dist/cjs/generated/resources/AuditLogEvent.js +11 -33
- package/dist/cjs/generated/resources/AuditLogEvent.js.map +1 -1
- package/dist/cjs/generated/resources/BuildEvent.js +43 -133
- package/dist/cjs/generated/resources/BuildEvent.js.map +1 -1
- package/dist/cjs/generated/resources/BuildTrigger.js +55 -85
- package/dist/cjs/generated/resources/BuildTrigger.js.map +1 -1
- package/dist/cjs/generated/resources/DailyUsage.js +10 -32
- package/dist/cjs/generated/resources/DailyUsage.js.map +1 -1
- package/dist/cjs/generated/resources/EditingSession.js +20 -44
- package/dist/cjs/generated/resources/EditingSession.js.map +1 -1
- package/dist/cjs/generated/resources/EmojiSuggestions.js +11 -33
- package/dist/cjs/generated/resources/EmojiSuggestions.js.map +1 -1
- package/dist/cjs/generated/resources/Environment.js +43 -75
- package/dist/cjs/generated/resources/Environment.js.map +1 -1
- package/dist/cjs/generated/resources/Field.js +57 -93
- package/dist/cjs/generated/resources/Field.js.map +1 -1
- package/dist/cjs/generated/resources/Fieldset.js +39 -69
- package/dist/cjs/generated/resources/Fieldset.js.map +1 -1
- package/dist/cjs/generated/resources/Item.js +133 -247
- package/dist/cjs/generated/resources/Item.js.map +1 -1
- package/dist/cjs/generated/resources/ItemType.js +47 -79
- package/dist/cjs/generated/resources/ItemType.js.map +1 -1
- package/dist/cjs/generated/resources/ItemTypeFilter.js +35 -65
- package/dist/cjs/generated/resources/ItemTypeFilter.js.map +1 -1
- package/dist/cjs/generated/resources/ItemVersion.js +50 -142
- package/dist/cjs/generated/resources/ItemVersion.js.map +1 -1
- package/dist/cjs/generated/resources/JobResult.js +11 -33
- package/dist/cjs/generated/resources/JobResult.js.map +1 -1
- package/dist/cjs/generated/resources/MaintenanceMode.js +21 -47
- package/dist/cjs/generated/resources/MaintenanceMode.js.map +1 -1
- package/dist/cjs/generated/resources/MenuItem.js +42 -74
- package/dist/cjs/generated/resources/MenuItem.js.map +1 -1
- package/dist/cjs/generated/resources/Plugin.js +41 -73
- package/dist/cjs/generated/resources/Plugin.js.map +1 -1
- package/dist/cjs/generated/resources/PublicInfo.js +10 -32
- package/dist/cjs/generated/resources/PublicInfo.js.map +1 -1
- package/dist/cjs/generated/resources/Role.js +41 -73
- package/dist/cjs/generated/resources/Role.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledPublication.js +18 -42
- package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledUnpublishing.js +18 -42
- package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/cjs/generated/resources/SchemaMenuItem.js +42 -74
- package/dist/cjs/generated/resources/SchemaMenuItem.js.map +1 -1
- package/dist/cjs/generated/resources/SearchResult.js +37 -125
- package/dist/cjs/generated/resources/SearchResult.js.map +1 -1
- package/dist/cjs/generated/resources/Session.js +11 -33
- package/dist/cjs/generated/resources/Session.js.map +1 -1
- package/dist/cjs/generated/resources/Site.js +63 -105
- package/dist/cjs/generated/resources/Site.js.map +1 -1
- package/dist/cjs/generated/resources/SiteInvitation.js +41 -73
- package/dist/cjs/generated/resources/SiteInvitation.js.map +1 -1
- package/dist/cjs/generated/resources/SsoGroup.js +29 -57
- package/dist/cjs/generated/resources/SsoGroup.js.map +1 -1
- package/dist/cjs/generated/resources/SsoSettings.js +21 -47
- package/dist/cjs/generated/resources/SsoSettings.js.map +1 -1
- package/dist/cjs/generated/resources/SsoUser.js +28 -56
- package/dist/cjs/generated/resources/SsoUser.js.map +1 -1
- package/dist/cjs/generated/resources/SubscriptionFeature.js +10 -32
- package/dist/cjs/generated/resources/SubscriptionFeature.js.map +1 -1
- package/dist/cjs/generated/resources/SubscriptionLimit.js +16 -40
- package/dist/cjs/generated/resources/SubscriptionLimit.js.map +1 -1
- package/dist/cjs/generated/resources/Upload.js +87 -191
- package/dist/cjs/generated/resources/Upload.js.map +1 -1
- package/dist/cjs/generated/resources/UploadCollection.js +42 -74
- package/dist/cjs/generated/resources/UploadCollection.js.map +1 -1
- package/dist/cjs/generated/resources/UploadFilter.js +35 -65
- package/dist/cjs/generated/resources/UploadFilter.js.map +1 -1
- package/dist/cjs/generated/resources/UploadRequest.js +11 -33
- package/dist/cjs/generated/resources/UploadRequest.js.map +1 -1
- package/dist/cjs/generated/resources/UploadSmartTag.js +37 -125
- package/dist/cjs/generated/resources/UploadSmartTag.js.map +1 -1
- package/dist/cjs/generated/resources/UploadTag.js +43 -133
- package/dist/cjs/generated/resources/UploadTag.js.map +1 -1
- package/dist/cjs/generated/resources/UploadTrack.js +31 -59
- package/dist/cjs/generated/resources/UploadTrack.js.map +1 -1
- package/dist/cjs/generated/resources/UsageCounter.js +12 -34
- package/dist/cjs/generated/resources/UsageCounter.js.map +1 -1
- package/dist/cjs/generated/resources/User.js +37 -67
- package/dist/cjs/generated/resources/User.js.map +1 -1
- package/dist/cjs/generated/resources/Webhook.js +35 -65
- package/dist/cjs/generated/resources/Webhook.js.map +1 -1
- package/dist/cjs/generated/resources/WebhookCall.js +48 -138
- package/dist/cjs/generated/resources/WebhookCall.js.map +1 -1
- package/dist/cjs/generated/resources/WhiteLabelSettings.js +16 -40
- package/dist/cjs/generated/resources/WhiteLabelSettings.js.map +1 -1
- package/dist/cjs/generated/resources/Workflow.js +34 -62
- package/dist/cjs/generated/resources/Workflow.js.map +1 -1
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/Role.js +42 -124
- package/dist/cjs/resources/Role.js.map +1 -1
- package/dist/cjs/utilities/blocks.js +597 -0
- package/dist/cjs/utilities/blocks.js.map +1 -0
- package/dist/cjs/{buildBlockRecord.js → utilities/buildBlockRecord.js} +2 -2
- package/dist/cjs/utilities/buildBlockRecord.js.map +1 -0
- package/dist/cjs/utilities/fieldValueLocalization.js +253 -0
- package/dist/cjs/utilities/fieldValueLocalization.js.map +1 -0
- package/dist/cjs/utilities/fieldsContainingReferences.js +45 -0
- package/dist/cjs/utilities/fieldsContainingReferences.js.map +1 -0
- package/dist/cjs/{idUtils.js → utilities/id.js} +14 -14
- package/dist/cjs/utilities/id.js.map +1 -0
- package/dist/cjs/utilities/recursiveBlocks.js +187 -0
- package/dist/cjs/utilities/recursiveBlocks.js.map +1 -0
- package/dist/cjs/utilities/schemaRepository.js +354 -0
- package/dist/cjs/utilities/schemaRepository.js.map +1 -0
- package/dist/cjs/utilities/structuredText.js +371 -0
- package/dist/cjs/utilities/structuredText.js.map +1 -0
- package/dist/esm/BaseResource.js +3 -5
- package/dist/esm/BaseResource.js.map +1 -1
- package/dist/esm/fieldTypes/appearance/boolean.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/boolean.js +2 -0
- package/dist/esm/fieldTypes/appearance/boolean.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/boolean_radio_group.d.ts +15 -0
- package/dist/esm/fieldTypes/appearance/boolean_radio_group.js +2 -0
- package/dist/esm/fieldTypes/appearance/boolean_radio_group.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/color_picker.d.ts +9 -0
- package/dist/esm/fieldTypes/appearance/color_picker.js +2 -0
- package/dist/esm/fieldTypes/appearance/color_picker.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/date_picker.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/date_picker.js +2 -0
- package/dist/esm/fieldTypes/appearance/date_picker.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/date_time_picker.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/date_time_picker.js +2 -0
- package/dist/esm/fieldTypes/appearance/date_time_picker.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/file.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/file.js +2 -0
- package/dist/esm/fieldTypes/appearance/file.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/float.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/float.js +2 -0
- package/dist/esm/fieldTypes/appearance/float.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/framed_single_block.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/framed_single_block.js +2 -0
- package/dist/esm/fieldTypes/appearance/framed_single_block.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/frameless_single_block.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/frameless_single_block.js +2 -0
- package/dist/esm/fieldTypes/appearance/frameless_single_block.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/gallery.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/gallery.js +2 -0
- package/dist/esm/fieldTypes/appearance/gallery.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/index.d.ts +30 -0
- package/dist/esm/fieldTypes/appearance/index.js +31 -0
- package/dist/esm/fieldTypes/appearance/index.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/integer.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/integer.js +2 -0
- package/dist/esm/fieldTypes/appearance/integer.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/json.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/json.js +2 -0
- package/dist/esm/fieldTypes/appearance/json.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/link_embed.d.ts +5 -0
- package/dist/esm/fieldTypes/appearance/link_embed.js +2 -0
- package/dist/esm/fieldTypes/appearance/link_embed.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/link_select.d.ts +5 -0
- package/dist/esm/fieldTypes/appearance/link_select.js +2 -0
- package/dist/esm/fieldTypes/appearance/link_select.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/links_embed.d.ts +5 -0
- package/dist/esm/fieldTypes/appearance/links_embed.js +2 -0
- package/dist/esm/fieldTypes/appearance/links_embed.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/links_select.d.ts +5 -0
- package/dist/esm/fieldTypes/appearance/links_select.js +2 -0
- package/dist/esm/fieldTypes/appearance/links_select.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/map.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/map.js +2 -0
- package/dist/esm/fieldTypes/appearance/map.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/markdown.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/markdown.js +2 -0
- package/dist/esm/fieldTypes/appearance/markdown.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/rich_text.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/rich_text.js +2 -0
- package/dist/esm/fieldTypes/appearance/rich_text.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/seo.d.ts +9 -0
- package/dist/esm/fieldTypes/appearance/seo.js +2 -0
- package/dist/esm/fieldTypes/appearance/seo.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/single_line.d.ts +9 -0
- package/dist/esm/fieldTypes/appearance/single_line.js +2 -0
- package/dist/esm/fieldTypes/appearance/single_line.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/slug.d.ts +9 -0
- package/dist/esm/fieldTypes/appearance/slug.js +2 -0
- package/dist/esm/fieldTypes/appearance/slug.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/string_checkbox_group.d.ts +15 -0
- package/dist/esm/fieldTypes/appearance/string_checkbox_group.js +2 -0
- package/dist/esm/fieldTypes/appearance/string_checkbox_group.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/string_multi_select.d.ts +15 -0
- package/dist/esm/fieldTypes/appearance/string_multi_select.js +2 -0
- package/dist/esm/fieldTypes/appearance/string_multi_select.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/string_radio_group.d.ts +15 -0
- package/dist/esm/fieldTypes/appearance/string_radio_group.js +2 -0
- package/dist/esm/fieldTypes/appearance/string_radio_group.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/string_select.d.ts +15 -0
- package/dist/esm/fieldTypes/appearance/string_select.js +2 -0
- package/dist/esm/fieldTypes/appearance/string_select.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/structured_text.d.ts +17 -0
- package/dist/esm/fieldTypes/appearance/structured_text.js +2 -0
- package/dist/esm/fieldTypes/appearance/structured_text.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/textarea.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/textarea.js +2 -0
- package/dist/esm/fieldTypes/appearance/textarea.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/video.d.ts +4 -0
- package/dist/esm/fieldTypes/appearance/video.js +2 -0
- package/dist/esm/fieldTypes/appearance/video.js.map +1 -0
- package/dist/esm/fieldTypes/appearance/wysiwyg.d.ts +7 -0
- package/dist/esm/fieldTypes/appearance/wysiwyg.js +2 -0
- package/dist/esm/fieldTypes/appearance/wysiwyg.js.map +1 -0
- package/dist/esm/fieldTypes/boolean.d.ts +17 -0
- package/dist/esm/fieldTypes/boolean.js +4 -0
- package/dist/esm/fieldTypes/boolean.js.map +1 -0
- package/dist/esm/fieldTypes/color.d.ts +22 -0
- package/dist/esm/fieldTypes/color.js +11 -0
- package/dist/esm/fieldTypes/color.js.map +1 -0
- package/dist/esm/fieldTypes/date.d.ts +20 -0
- package/dist/esm/fieldTypes/date.js +6 -0
- package/dist/esm/fieldTypes/date.js.map +1 -0
- package/dist/esm/fieldTypes/date_time.d.ts +20 -0
- package/dist/esm/fieldTypes/date_time.js +7 -0
- package/dist/esm/fieldTypes/date_time.js.map +1 -0
- package/dist/esm/fieldTypes/file.d.ts +41 -0
- package/dist/esm/fieldTypes/file.js +6 -0
- package/dist/esm/fieldTypes/file.js.map +1 -0
- package/dist/esm/fieldTypes/float.d.ts +20 -0
- package/dist/esm/fieldTypes/float.js +4 -0
- package/dist/esm/fieldTypes/float.js.map +1 -0
- package/dist/esm/fieldTypes/gallery.d.ts +41 -0
- package/dist/esm/fieldTypes/gallery.js +7 -0
- package/dist/esm/fieldTypes/gallery.js.map +1 -0
- package/dist/esm/fieldTypes/index.d.ts +22 -0
- package/dist/esm/fieldTypes/index.js +23 -0
- package/dist/esm/fieldTypes/index.js.map +1 -0
- package/dist/esm/fieldTypes/integer.d.ts +20 -0
- package/dist/esm/fieldTypes/integer.js +4 -0
- package/dist/esm/fieldTypes/integer.js.map +1 -0
- package/dist/esm/fieldTypes/json.d.ts +25 -0
- package/dist/esm/fieldTypes/json.js +14 -0
- package/dist/esm/fieldTypes/json.js.map +1 -0
- package/dist/esm/fieldTypes/lat_lon.d.ts +20 -0
- package/dist/esm/fieldTypes/lat_lon.js +9 -0
- package/dist/esm/fieldTypes/lat_lon.js.map +1 -0
- package/dist/esm/fieldTypes/link.d.ts +27 -0
- package/dist/esm/fieldTypes/link.js +4 -0
- package/dist/esm/fieldTypes/link.js.map +1 -0
- package/dist/esm/fieldTypes/links.d.ts +24 -0
- package/dist/esm/fieldTypes/links.js +6 -0
- package/dist/esm/fieldTypes/links.js.map +1 -0
- package/dist/esm/fieldTypes/rich_text.d.ts +100 -0
- package/dist/esm/fieldTypes/rich_text.js +47 -0
- package/dist/esm/fieldTypes/rich_text.js.map +1 -0
- package/dist/esm/fieldTypes/seo.d.ts +38 -0
- package/dist/esm/fieldTypes/seo.js +12 -0
- package/dist/esm/fieldTypes/seo.js.map +1 -0
- package/dist/esm/fieldTypes/single_block.d.ts +134 -0
- package/dist/esm/fieldTypes/single_block.js +63 -0
- package/dist/esm/fieldTypes/single_block.js.map +1 -0
- package/dist/esm/fieldTypes/slug.d.ts +26 -0
- package/dist/esm/fieldTypes/slug.js +6 -0
- package/dist/esm/fieldTypes/slug.js.map +1 -0
- package/dist/esm/fieldTypes/string.d.ts +37 -0
- package/dist/esm/fieldTypes/string.js +4 -0
- package/dist/esm/fieldTypes/string.js.map +1 -0
- package/dist/esm/fieldTypes/structured_text.d.ts +181 -0
- package/dist/esm/fieldTypes/structured_text.js +81 -0
- package/dist/esm/fieldTypes/structured_text.js.map +1 -0
- package/dist/esm/fieldTypes/text.d.ts +34 -0
- package/dist/esm/fieldTypes/text.js +4 -0
- package/dist/esm/fieldTypes/text.js.map +1 -0
- package/dist/esm/fieldTypes/validators/date_range.d.ts +14 -0
- package/dist/esm/fieldTypes/validators/date_range.js +2 -0
- package/dist/esm/fieldTypes/validators/date_range.js.map +1 -0
- package/dist/esm/fieldTypes/validators/date_time_range.d.ts +12 -0
- package/dist/esm/fieldTypes/validators/date_time_range.js +2 -0
- package/dist/esm/fieldTypes/validators/date_time_range.js.map +1 -0
- package/dist/esm/fieldTypes/validators/description_length.d.ts +11 -0
- package/dist/esm/fieldTypes/validators/description_length.js +2 -0
- package/dist/esm/fieldTypes/validators/description_length.js.map +1 -0
- package/dist/esm/fieldTypes/validators/enum.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/enum.js +2 -0
- package/dist/esm/fieldTypes/validators/enum.js.map +1 -0
- package/dist/esm/fieldTypes/validators/extension.d.ts +12 -0
- package/dist/esm/fieldTypes/validators/extension.js +2 -0
- package/dist/esm/fieldTypes/validators/extension.js.map +1 -0
- package/dist/esm/fieldTypes/validators/file_size.d.ts +16 -0
- package/dist/esm/fieldTypes/validators/file_size.js +2 -0
- package/dist/esm/fieldTypes/validators/file_size.js.map +1 -0
- package/dist/esm/fieldTypes/validators/format.d.ts +18 -0
- package/dist/esm/fieldTypes/validators/format.js +2 -0
- package/dist/esm/fieldTypes/validators/format.js.map +1 -0
- package/dist/esm/fieldTypes/validators/image_aspect_ratio.d.ts +28 -0
- package/dist/esm/fieldTypes/validators/image_aspect_ratio.js +2 -0
- package/dist/esm/fieldTypes/validators/image_aspect_ratio.js.map +1 -0
- package/dist/esm/fieldTypes/validators/image_dimensions.d.ts +28 -0
- package/dist/esm/fieldTypes/validators/image_dimensions.js +2 -0
- package/dist/esm/fieldTypes/validators/image_dimensions.js.map +1 -0
- package/dist/esm/fieldTypes/validators/index.d.ts +27 -0
- package/dist/esm/fieldTypes/validators/index.js +28 -0
- package/dist/esm/fieldTypes/validators/index.js.map +1 -0
- package/dist/esm/fieldTypes/validators/item_item_type.d.ts +29 -0
- package/dist/esm/fieldTypes/validators/item_item_type.js +2 -0
- package/dist/esm/fieldTypes/validators/item_item_type.js.map +1 -0
- package/dist/esm/fieldTypes/validators/items_item_type.d.ts +29 -0
- package/dist/esm/fieldTypes/validators/items_item_type.js +2 -0
- package/dist/esm/fieldTypes/validators/items_item_type.js.map +1 -0
- package/dist/esm/fieldTypes/validators/length.d.ts +19 -0
- package/dist/esm/fieldTypes/validators/length.js +2 -0
- package/dist/esm/fieldTypes/validators/length.js.map +1 -0
- package/dist/esm/fieldTypes/validators/number_range.d.ts +10 -0
- package/dist/esm/fieldTypes/validators/number_range.js +2 -0
- package/dist/esm/fieldTypes/validators/number_range.js.map +1 -0
- package/dist/esm/fieldTypes/validators/required.d.ts +4 -0
- package/dist/esm/fieldTypes/validators/required.js +2 -0
- package/dist/esm/fieldTypes/validators/required.js.map +1 -0
- package/dist/esm/fieldTypes/validators/required_alt_title.d.ts +12 -0
- package/dist/esm/fieldTypes/validators/required_alt_title.js +2 -0
- package/dist/esm/fieldTypes/validators/required_alt_title.js.map +1 -0
- package/dist/esm/fieldTypes/validators/required_seo_fields.d.ts +28 -0
- package/dist/esm/fieldTypes/validators/required_seo_fields.js +2 -0
- package/dist/esm/fieldTypes/validators/required_seo_fields.js.map +1 -0
- package/dist/esm/fieldTypes/validators/rich_text_blocks.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/rich_text_blocks.js +2 -0
- package/dist/esm/fieldTypes/validators/rich_text_blocks.js.map +1 -0
- package/dist/esm/fieldTypes/validators/sanitization.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/sanitization.js +2 -0
- package/dist/esm/fieldTypes/validators/sanitization.js.map +1 -0
- package/dist/esm/fieldTypes/validators/single_block_blocks.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/single_block_blocks.js +2 -0
- package/dist/esm/fieldTypes/validators/single_block_blocks.js.map +1 -0
- package/dist/esm/fieldTypes/validators/size.d.ts +28 -0
- package/dist/esm/fieldTypes/validators/size.js +2 -0
- package/dist/esm/fieldTypes/validators/size.js.map +1 -0
- package/dist/esm/fieldTypes/validators/slug_format.d.ts +12 -0
- package/dist/esm/fieldTypes/validators/slug_format.js +2 -0
- package/dist/esm/fieldTypes/validators/slug_format.js.map +1 -0
- package/dist/esm/fieldTypes/validators/slug_title_field.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/slug_title_field.js +2 -0
- package/dist/esm/fieldTypes/validators/slug_title_field.js.map +1 -0
- package/dist/esm/fieldTypes/validators/structured_text_blocks.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/structured_text_blocks.js +2 -0
- package/dist/esm/fieldTypes/validators/structured_text_blocks.js.map +1 -0
- package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.d.ts +7 -0
- package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.js +2 -0
- package/dist/esm/fieldTypes/validators/structured_text_inline_blocks.js.map +1 -0
- package/dist/esm/fieldTypes/validators/structured_text_links.d.ts +29 -0
- package/dist/esm/fieldTypes/validators/structured_text_links.js +2 -0
- package/dist/esm/fieldTypes/validators/structured_text_links.js.map +1 -0
- package/dist/esm/fieldTypes/validators/title_length.d.ts +11 -0
- package/dist/esm/fieldTypes/validators/title_length.js +2 -0
- package/dist/esm/fieldTypes/validators/title_length.js.map +1 -0
- package/dist/esm/fieldTypes/validators/unique.d.ts +4 -0
- package/dist/esm/fieldTypes/validators/unique.js +2 -0
- package/dist/esm/fieldTypes/validators/unique.js.map +1 -0
- package/dist/esm/fieldTypes/video.d.ts +25 -0
- package/dist/esm/fieldTypes/video.js +10 -0
- package/dist/esm/fieldTypes/video.js.map +1 -0
- package/dist/esm/generated/Client.js +25 -78
- package/dist/esm/generated/Client.js.map +1 -1
- package/dist/esm/generated/SchemaTypes.d.ts +74 -4
- package/dist/esm/generated/SchemaTypes.js +0 -4
- package/dist/esm/generated/SchemaTypes.js.map +1 -1
- package/dist/esm/generated/SimpleSchemaTypes.d.ts +66 -4
- package/dist/esm/generated/SimpleSchemaTypes.js +0 -4
- package/dist/esm/generated/SimpleSchemaTypes.js.map +1 -1
- package/dist/esm/generated/resources/AccessToken.js +40 -73
- package/dist/esm/generated/resources/AccessToken.js.map +1 -1
- package/dist/esm/generated/resources/AuditLogEvent.js +9 -32
- package/dist/esm/generated/resources/AuditLogEvent.js.map +1 -1
- package/dist/esm/generated/resources/BuildEvent.js +41 -132
- package/dist/esm/generated/resources/BuildEvent.js.map +1 -1
- package/dist/esm/generated/resources/BuildTrigger.js +53 -84
- package/dist/esm/generated/resources/BuildTrigger.js.map +1 -1
- package/dist/esm/generated/resources/DailyUsage.js +8 -31
- package/dist/esm/generated/resources/DailyUsage.js.map +1 -1
- package/dist/esm/generated/resources/EditingSession.js +18 -43
- package/dist/esm/generated/resources/EditingSession.js.map +1 -1
- package/dist/esm/generated/resources/EmojiSuggestions.js +9 -32
- package/dist/esm/generated/resources/EmojiSuggestions.js.map +1 -1
- package/dist/esm/generated/resources/Environment.js +41 -74
- package/dist/esm/generated/resources/Environment.js.map +1 -1
- package/dist/esm/generated/resources/Field.d.ts +4207 -7
- package/dist/esm/generated/resources/Field.js +55 -92
- package/dist/esm/generated/resources/Field.js.map +1 -1
- package/dist/esm/generated/resources/Fieldset.d.ts +2 -2
- package/dist/esm/generated/resources/Fieldset.js +37 -68
- package/dist/esm/generated/resources/Fieldset.js.map +1 -1
- package/dist/esm/generated/resources/Item.js +131 -246
- package/dist/esm/generated/resources/Item.js.map +1 -1
- package/dist/esm/generated/resources/ItemType.js +45 -78
- package/dist/esm/generated/resources/ItemType.js.map +1 -1
- package/dist/esm/generated/resources/ItemTypeFilter.js +33 -64
- package/dist/esm/generated/resources/ItemTypeFilter.js.map +1 -1
- package/dist/esm/generated/resources/ItemVersion.js +48 -141
- package/dist/esm/generated/resources/ItemVersion.js.map +1 -1
- package/dist/esm/generated/resources/JobResult.js +9 -32
- package/dist/esm/generated/resources/JobResult.js.map +1 -1
- package/dist/esm/generated/resources/MaintenanceMode.js +19 -46
- package/dist/esm/generated/resources/MaintenanceMode.js.map +1 -1
- package/dist/esm/generated/resources/MenuItem.js +40 -73
- package/dist/esm/generated/resources/MenuItem.js.map +1 -1
- package/dist/esm/generated/resources/Plugin.js +39 -72
- package/dist/esm/generated/resources/Plugin.js.map +1 -1
- package/dist/esm/generated/resources/PublicInfo.js +8 -31
- package/dist/esm/generated/resources/PublicInfo.js.map +1 -1
- package/dist/esm/generated/resources/Role.js +39 -72
- package/dist/esm/generated/resources/Role.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledPublication.js +16 -41
- package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledUnpublishing.js +16 -41
- package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/esm/generated/resources/SchemaMenuItem.js +40 -73
- package/dist/esm/generated/resources/SchemaMenuItem.js.map +1 -1
- package/dist/esm/generated/resources/SearchResult.js +35 -124
- package/dist/esm/generated/resources/SearchResult.js.map +1 -1
- package/dist/esm/generated/resources/Session.js +9 -32
- package/dist/esm/generated/resources/Session.js.map +1 -1
- package/dist/esm/generated/resources/Site.js +61 -104
- package/dist/esm/generated/resources/Site.js.map +1 -1
- package/dist/esm/generated/resources/SiteInvitation.js +39 -72
- package/dist/esm/generated/resources/SiteInvitation.js.map +1 -1
- package/dist/esm/generated/resources/SsoGroup.js +27 -56
- package/dist/esm/generated/resources/SsoGroup.js.map +1 -1
- package/dist/esm/generated/resources/SsoSettings.js +19 -46
- package/dist/esm/generated/resources/SsoSettings.js.map +1 -1
- package/dist/esm/generated/resources/SsoUser.js +26 -55
- package/dist/esm/generated/resources/SsoUser.js.map +1 -1
- package/dist/esm/generated/resources/SubscriptionFeature.js +8 -31
- package/dist/esm/generated/resources/SubscriptionFeature.js.map +1 -1
- package/dist/esm/generated/resources/SubscriptionLimit.js +14 -39
- package/dist/esm/generated/resources/SubscriptionLimit.js.map +1 -1
- package/dist/esm/generated/resources/Upload.js +85 -190
- package/dist/esm/generated/resources/Upload.js.map +1 -1
- package/dist/esm/generated/resources/UploadCollection.js +40 -73
- package/dist/esm/generated/resources/UploadCollection.js.map +1 -1
- package/dist/esm/generated/resources/UploadFilter.js +33 -64
- package/dist/esm/generated/resources/UploadFilter.js.map +1 -1
- package/dist/esm/generated/resources/UploadRequest.js +9 -32
- package/dist/esm/generated/resources/UploadRequest.js.map +1 -1
- package/dist/esm/generated/resources/UploadSmartTag.js +35 -124
- package/dist/esm/generated/resources/UploadSmartTag.js.map +1 -1
- package/dist/esm/generated/resources/UploadTag.js +41 -132
- package/dist/esm/generated/resources/UploadTag.js.map +1 -1
- package/dist/esm/generated/resources/UploadTrack.js +29 -58
- package/dist/esm/generated/resources/UploadTrack.js.map +1 -1
- package/dist/esm/generated/resources/UsageCounter.js +10 -33
- package/dist/esm/generated/resources/UsageCounter.js.map +1 -1
- package/dist/esm/generated/resources/User.js +35 -66
- package/dist/esm/generated/resources/User.js.map +1 -1
- package/dist/esm/generated/resources/Webhook.js +33 -64
- package/dist/esm/generated/resources/Webhook.js.map +1 -1
- package/dist/esm/generated/resources/WebhookCall.js +46 -137
- package/dist/esm/generated/resources/WebhookCall.js.map +1 -1
- package/dist/esm/generated/resources/WhiteLabelSettings.js +14 -39
- package/dist/esm/generated/resources/WhiteLabelSettings.js.map +1 -1
- package/dist/esm/generated/resources/Workflow.js +32 -61
- package/dist/esm/generated/resources/Workflow.js.map +1 -1
- package/dist/esm/index.d.ts +8 -2
- package/dist/esm/index.js +8 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/Role.js +41 -124
- package/dist/esm/resources/Role.js.map +1 -1
- package/dist/esm/utilities/blocks.d.ts +180 -0
- package/dist/esm/utilities/blocks.js +580 -0
- package/dist/esm/utilities/blocks.js.map +1 -0
- package/dist/esm/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
- package/dist/esm/{buildBlockRecord.js → utilities/buildBlockRecord.js} +1 -1
- package/dist/esm/utilities/buildBlockRecord.js.map +1 -0
- package/dist/esm/utilities/fieldValueLocalization.d.ts +165 -0
- package/dist/esm/utilities/fieldValueLocalization.js +237 -0
- package/dist/esm/utilities/fieldValueLocalization.js.map +1 -0
- package/dist/esm/utilities/fieldsContainingReferences.d.ts +4 -0
- package/dist/esm/utilities/fieldsContainingReferences.js +40 -0
- package/dist/esm/utilities/fieldsContainingReferences.js.map +1 -0
- package/dist/esm/{idUtils.js → utilities/id.js} +13 -13
- package/dist/esm/utilities/id.js.map +1 -0
- package/dist/esm/utilities/recursiveBlocks.d.ts +15 -0
- package/dist/esm/utilities/recursiveBlocks.js +177 -0
- package/dist/esm/utilities/recursiveBlocks.js.map +1 -0
- package/dist/esm/utilities/schemaRepository.d.ts +181 -0
- package/dist/esm/utilities/schemaRepository.js +350 -0
- package/dist/esm/utilities/schemaRepository.js.map +1 -0
- package/dist/esm/utilities/structuredText.d.ts +177 -0
- package/dist/esm/utilities/structuredText.js +354 -0
- package/dist/esm/utilities/structuredText.js.map +1 -0
- package/dist/types/fieldTypes/appearance/boolean.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/boolean_radio_group.d.ts +15 -0
- package/dist/types/fieldTypes/appearance/color_picker.d.ts +9 -0
- package/dist/types/fieldTypes/appearance/date_picker.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/date_time_picker.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/file.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/float.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/framed_single_block.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/frameless_single_block.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/gallery.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/index.d.ts +30 -0
- package/dist/types/fieldTypes/appearance/integer.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/json.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/link_embed.d.ts +5 -0
- package/dist/types/fieldTypes/appearance/link_select.d.ts +5 -0
- package/dist/types/fieldTypes/appearance/links_embed.d.ts +5 -0
- package/dist/types/fieldTypes/appearance/links_select.d.ts +5 -0
- package/dist/types/fieldTypes/appearance/map.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/markdown.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/rich_text.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/seo.d.ts +9 -0
- package/dist/types/fieldTypes/appearance/single_line.d.ts +9 -0
- package/dist/types/fieldTypes/appearance/slug.d.ts +9 -0
- package/dist/types/fieldTypes/appearance/string_checkbox_group.d.ts +15 -0
- package/dist/types/fieldTypes/appearance/string_multi_select.d.ts +15 -0
- package/dist/types/fieldTypes/appearance/string_radio_group.d.ts +15 -0
- package/dist/types/fieldTypes/appearance/string_select.d.ts +15 -0
- package/dist/types/fieldTypes/appearance/structured_text.d.ts +17 -0
- package/dist/types/fieldTypes/appearance/textarea.d.ts +7 -0
- package/dist/types/fieldTypes/appearance/video.d.ts +4 -0
- package/dist/types/fieldTypes/appearance/wysiwyg.d.ts +7 -0
- package/dist/types/fieldTypes/boolean.d.ts +17 -0
- package/dist/types/fieldTypes/color.d.ts +22 -0
- package/dist/types/fieldTypes/date.d.ts +20 -0
- package/dist/types/fieldTypes/date_time.d.ts +20 -0
- package/dist/types/fieldTypes/file.d.ts +41 -0
- package/dist/types/fieldTypes/float.d.ts +20 -0
- package/dist/types/fieldTypes/gallery.d.ts +41 -0
- package/dist/types/fieldTypes/index.d.ts +22 -0
- package/dist/types/fieldTypes/integer.d.ts +20 -0
- package/dist/types/fieldTypes/json.d.ts +25 -0
- package/dist/types/fieldTypes/lat_lon.d.ts +20 -0
- package/dist/types/fieldTypes/link.d.ts +27 -0
- package/dist/types/fieldTypes/links.d.ts +24 -0
- package/dist/types/fieldTypes/rich_text.d.ts +100 -0
- package/dist/types/fieldTypes/seo.d.ts +38 -0
- package/dist/types/fieldTypes/single_block.d.ts +134 -0
- package/dist/types/fieldTypes/slug.d.ts +26 -0
- package/dist/types/fieldTypes/string.d.ts +37 -0
- package/dist/types/fieldTypes/structured_text.d.ts +181 -0
- package/dist/types/fieldTypes/text.d.ts +34 -0
- package/dist/types/fieldTypes/validators/date_range.d.ts +14 -0
- package/dist/types/fieldTypes/validators/date_time_range.d.ts +12 -0
- package/dist/types/fieldTypes/validators/description_length.d.ts +11 -0
- package/dist/types/fieldTypes/validators/enum.d.ts +7 -0
- package/dist/types/fieldTypes/validators/extension.d.ts +12 -0
- package/dist/types/fieldTypes/validators/file_size.d.ts +16 -0
- package/dist/types/fieldTypes/validators/format.d.ts +18 -0
- package/dist/types/fieldTypes/validators/image_aspect_ratio.d.ts +28 -0
- package/dist/types/fieldTypes/validators/image_dimensions.d.ts +28 -0
- package/dist/types/fieldTypes/validators/index.d.ts +27 -0
- package/dist/types/fieldTypes/validators/item_item_type.d.ts +29 -0
- package/dist/types/fieldTypes/validators/items_item_type.d.ts +29 -0
- package/dist/types/fieldTypes/validators/length.d.ts +19 -0
- package/dist/types/fieldTypes/validators/number_range.d.ts +10 -0
- package/dist/types/fieldTypes/validators/required.d.ts +4 -0
- package/dist/types/fieldTypes/validators/required_alt_title.d.ts +12 -0
- package/dist/types/fieldTypes/validators/required_seo_fields.d.ts +28 -0
- package/dist/types/fieldTypes/validators/rich_text_blocks.d.ts +7 -0
- package/dist/types/fieldTypes/validators/sanitization.d.ts +7 -0
- package/dist/types/fieldTypes/validators/single_block_blocks.d.ts +7 -0
- package/dist/types/fieldTypes/validators/size.d.ts +28 -0
- package/dist/types/fieldTypes/validators/slug_format.d.ts +12 -0
- package/dist/types/fieldTypes/validators/slug_title_field.d.ts +7 -0
- package/dist/types/fieldTypes/validators/structured_text_blocks.d.ts +7 -0
- package/dist/types/fieldTypes/validators/structured_text_inline_blocks.d.ts +7 -0
- package/dist/types/fieldTypes/validators/structured_text_links.d.ts +29 -0
- package/dist/types/fieldTypes/validators/title_length.d.ts +11 -0
- package/dist/types/fieldTypes/validators/unique.d.ts +4 -0
- package/dist/types/fieldTypes/video.d.ts +25 -0
- package/dist/types/generated/SchemaTypes.d.ts +74 -4
- package/dist/types/generated/SimpleSchemaTypes.d.ts +66 -4
- package/dist/types/generated/resources/Field.d.ts +4207 -7
- package/dist/types/generated/resources/Fieldset.d.ts +2 -2
- package/dist/types/index.d.ts +8 -2
- package/dist/types/utilities/blocks.d.ts +180 -0
- package/dist/types/{buildBlockRecord.d.ts → utilities/buildBlockRecord.d.ts} +2 -2
- package/dist/types/utilities/fieldValueLocalization.d.ts +165 -0
- package/dist/types/utilities/fieldsContainingReferences.d.ts +4 -0
- package/dist/types/utilities/recursiveBlocks.d.ts +15 -0
- package/dist/types/utilities/schemaRepository.d.ts +181 -0
- package/dist/types/utilities/structuredText.d.ts +177 -0
- package/package.json +5 -4
- package/resources.json +2 -2
- package/src/fieldTypes/appearance/boolean.ts +4 -0
- package/src/fieldTypes/appearance/boolean_radio_group.ts +16 -0
- package/src/fieldTypes/appearance/color_picker.ts +9 -0
- package/src/fieldTypes/appearance/date_picker.ts +4 -0
- package/src/fieldTypes/appearance/date_time_picker.ts +4 -0
- package/src/fieldTypes/appearance/file.ts +4 -0
- package/src/fieldTypes/appearance/float.ts +7 -0
- package/src/fieldTypes/appearance/framed_single_block.ts +7 -0
- package/src/fieldTypes/appearance/frameless_single_block.ts +7 -0
- package/src/fieldTypes/appearance/gallery.ts +4 -0
- package/src/fieldTypes/appearance/index.ts +30 -0
- package/src/fieldTypes/appearance/integer.ts +7 -0
- package/src/fieldTypes/appearance/json.ts +4 -0
- package/src/fieldTypes/appearance/link_embed.ts +5 -0
- package/src/fieldTypes/appearance/link_select.ts +5 -0
- package/src/fieldTypes/appearance/links_embed.ts +5 -0
- package/src/fieldTypes/appearance/links_select.ts +5 -0
- package/src/fieldTypes/appearance/map.ts +4 -0
- package/src/fieldTypes/appearance/markdown.ts +19 -0
- package/src/fieldTypes/appearance/rich_text.ts +7 -0
- package/src/fieldTypes/appearance/seo.ts +19 -0
- package/src/fieldTypes/appearance/single_line.ts +9 -0
- package/src/fieldTypes/appearance/slug.ts +9 -0
- package/src/fieldTypes/appearance/string_checkbox_group.ts +16 -0
- package/src/fieldTypes/appearance/string_multi_select.ts +16 -0
- package/src/fieldTypes/appearance/string_radio_group.ts +16 -0
- package/src/fieldTypes/appearance/string_select.ts +16 -0
- package/src/fieldTypes/appearance/structured_text.ts +21 -0
- package/src/fieldTypes/appearance/textarea.ts +7 -0
- package/src/fieldTypes/appearance/video.ts +4 -0
- package/src/fieldTypes/appearance/wysiwyg.ts +29 -0
- package/src/fieldTypes/boolean.ts +25 -0
- package/src/fieldTypes/color.ts +35 -0
- package/src/fieldTypes/date.ts +26 -0
- package/src/fieldTypes/date_time.ts +34 -0
- package/src/fieldTypes/file.ts +47 -0
- package/src/fieldTypes/float.ts +25 -0
- package/src/fieldTypes/gallery.ts +55 -0
- package/src/fieldTypes/index.ts +23 -0
- package/src/fieldTypes/integer.ts +27 -0
- package/src/fieldTypes/json.ts +39 -0
- package/src/fieldTypes/lat_lon.ts +33 -0
- package/src/fieldTypes/link.ts +30 -0
- package/src/fieldTypes/links.ts +30 -0
- package/src/fieldTypes/rich_text.ts +151 -0
- package/src/fieldTypes/seo.ts +52 -0
- package/src/fieldTypes/single_block.ts +201 -0
- package/src/fieldTypes/slug.ts +32 -0
- package/src/fieldTypes/string.ts +41 -0
- package/src/fieldTypes/structured_text.ts +328 -0
- package/src/fieldTypes/text.ts +35 -0
- package/src/fieldTypes/validators/date_range.ts +16 -0
- package/src/fieldTypes/validators/date_time_range.ts +14 -0
- package/src/fieldTypes/validators/description_length.ts +13 -0
- package/src/fieldTypes/validators/enum.ts +7 -0
- package/src/fieldTypes/validators/extension.ts +14 -0
- package/src/fieldTypes/validators/file_size.ts +18 -0
- package/src/fieldTypes/validators/format.ts +18 -0
- package/src/fieldTypes/validators/image_aspect_ratio.ts +31 -0
- package/src/fieldTypes/validators/image_dimensions.ts +32 -0
- package/src/fieldTypes/validators/index.ts +27 -0
- package/src/fieldTypes/validators/item_item_type.ts +31 -0
- package/src/fieldTypes/validators/items_item_type.ts +31 -0
- package/src/fieldTypes/validators/length.ts +22 -0
- package/src/fieldTypes/validators/number_range.ts +12 -0
- package/src/fieldTypes/validators/required.ts +4 -0
- package/src/fieldTypes/validators/required_alt_title.ts +14 -0
- package/src/fieldTypes/validators/required_seo_fields.ts +32 -0
- package/src/fieldTypes/validators/rich_text_blocks.ts +7 -0
- package/src/fieldTypes/validators/sanitization.ts +7 -0
- package/src/fieldTypes/validators/single_block_blocks.ts +7 -0
- package/src/fieldTypes/validators/size.ts +32 -0
- package/src/fieldTypes/validators/slug_format.ts +14 -0
- package/src/fieldTypes/validators/slug_title_field.ts +7 -0
- package/src/fieldTypes/validators/structured_text_blocks.ts +7 -0
- package/src/fieldTypes/validators/structured_text_inline_blocks.ts +7 -0
- package/src/fieldTypes/validators/structured_text_links.ts +31 -0
- package/src/fieldTypes/validators/title_length.ts +13 -0
- package/src/fieldTypes/validators/unique.ts +4 -0
- package/src/fieldTypes/video.ts +37 -0
- package/src/generated/Client.ts +1 -1
- package/src/generated/SchemaTypes.ts +677 -4
- package/src/generated/SimpleSchemaTypes.ts +669 -4
- package/src/generated/resources/Field.ts +2 -2
- package/src/generated/resources/Fieldset.ts +2 -2
- package/src/index.ts +8 -2
- package/src/utilities/blocks.ts +626 -0
- package/src/{buildBlockRecord.ts → utilities/buildBlockRecord.ts} +3 -3
- package/src/utilities/fieldValueLocalization.ts +368 -0
- package/src/utilities/fieldsContainingReferences.ts +49 -0
- package/src/utilities/recursiveBlocks.ts +392 -0
- package/src/utilities/schemaRepository.ts +379 -0
- package/src/utilities/structuredText.ts +590 -0
- package/dist/cjs/buildBlockRecord.js.map +0 -1
- package/dist/cjs/idUtils.js.map +0 -1
- package/dist/esm/buildBlockRecord.js.map +0 -1
- package/dist/esm/idUtils.js.map +0 -1
- /package/dist/esm/{idUtils.d.ts → utilities/id.d.ts} +0 -0
- /package/dist/types/{idUtils.d.ts → utilities/id.d.ts} +0 -0
- /package/src/{idUtils.ts → utilities/id.ts} +0 -0
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import type * as SchemaTypes from '../generated/SchemaTypes';
|
|
2
|
+
import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* Localized Field Value Operations Utilities
|
|
6
|
+
*
|
|
7
|
+
* This module provides a unified interface for working with DatoCMS field values that may or may not be localized.
|
|
8
|
+
*
|
|
9
|
+
* Problem it solves:
|
|
10
|
+
* In DatoCMS, fields can be either localized (containing values for multiple locales as an object like
|
|
11
|
+
* `{ "en": "Hello", "it": "Ciao" }`) or non-localized (containing a single direct value like `"Hello"`).
|
|
12
|
+
* When processing field data, developers need to handle both cases differently, leading to repetitive
|
|
13
|
+
* conditional logic throughout the codebase.
|
|
14
|
+
*
|
|
15
|
+
* Why it's useful:
|
|
16
|
+
* - Provides a consistent API for operations (map, filter, test, visit) regardless of localization status
|
|
17
|
+
* - Eliminates the need for developers to manually check if a field is localized before processing
|
|
18
|
+
* - Reduces code duplication and potential bugs from inconsistent handling
|
|
19
|
+
* - Supports both synchronous and asynchronous operations
|
|
20
|
+
* - Maintains the original data structure (localized fields remain localized, non-localized remain direct)
|
|
21
|
+
*
|
|
22
|
+
* Example usage:
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Instead of manually checking localization:
|
|
25
|
+
* if (isLocalized(field)) {
|
|
26
|
+
* const result = {};
|
|
27
|
+
* for (const [locale, value] of Object.entries(fieldValue)) {
|
|
28
|
+
* result[locale] = processValue(value);
|
|
29
|
+
* }
|
|
30
|
+
* return result;
|
|
31
|
+
* } else {
|
|
32
|
+
* return processValue(fieldValue);
|
|
33
|
+
* }
|
|
34
|
+
*
|
|
35
|
+
* // Use the utility:
|
|
36
|
+
* return mapLocalizedFieldValues(field, fieldValue, (locale, value) => processValue(value));
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Represents a localized field value in DatoCMS.
|
|
42
|
+
*
|
|
43
|
+
* In DatoCMS, fields can be localized. In this scenario, their value contains values
|
|
44
|
+
* for various locales structured as an object, such as
|
|
45
|
+
* `{ "en": "Hello", "it": "Ciao" }`
|
|
46
|
+
*/
|
|
47
|
+
export type LocalizedFieldValue = Record<string, unknown>;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Determines whether a DatoCMS field is localized or not.
|
|
51
|
+
*
|
|
52
|
+
* This function handles both full Schema field objects and simplified Schema field objects
|
|
53
|
+
* by checking the appropriate property based on the object structure.
|
|
54
|
+
*
|
|
55
|
+
* @param field - The DatoCMS field definition (either full or simple schema)
|
|
56
|
+
* @returns true if the field is localized, false otherwise
|
|
57
|
+
*/
|
|
58
|
+
export function isLocalized(
|
|
59
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
60
|
+
): boolean {
|
|
61
|
+
return 'attributes' in field ? field.attributes.localized : field.localized;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* A normalized entry that represents a single value from either a localized or non-localized field.
|
|
66
|
+
*
|
|
67
|
+
* For localized fields, each locale produces one entry with `locale` set to the locale code (e.g., "en", "it").
|
|
68
|
+
* For non-localized fields, there's one entry with `locale` set to `undefined`.
|
|
69
|
+
*
|
|
70
|
+
* This uniform structure allows the same processing logic to work with both field types.
|
|
71
|
+
*/
|
|
72
|
+
export type PossiblyLocalizedEntry = {
|
|
73
|
+
locale: string | undefined;
|
|
74
|
+
value: unknown;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Converts a field value (localized or non-localized) into a uniform array of entries.
|
|
79
|
+
*
|
|
80
|
+
* This function normalizes the handling of field values by converting them into a consistent
|
|
81
|
+
* array format, regardless of whether the field is localized or not.
|
|
82
|
+
*
|
|
83
|
+
* @param field - The DatoCMS field definition that determines localization behavior
|
|
84
|
+
* @param value - The field value to convert (either a localized object or direct value)
|
|
85
|
+
* @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
|
|
86
|
+
*/
|
|
87
|
+
export function fieldValueToPossiblyLocalizedEntries(
|
|
88
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
89
|
+
value: unknown,
|
|
90
|
+
) {
|
|
91
|
+
if (isLocalized(field)) {
|
|
92
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
93
|
+
|
|
94
|
+
return Object.entries(localizedValue).map<PossiblyLocalizedEntry>(
|
|
95
|
+
([locale, value]) => ({ locale, value }),
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return [{ locale: undefined, value }];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Converts an array of possibly localized entries back into the appropriate field value format.
|
|
104
|
+
*
|
|
105
|
+
* This function is the inverse of `fieldValueToPossiblyLocalizedEntries`. It takes a uniform
|
|
106
|
+
* array of entries and converts them back to either a localized object or a direct value,
|
|
107
|
+
* depending on the field's localization setting.
|
|
108
|
+
*
|
|
109
|
+
* @param field - The DatoCMS field definition that determines the output format
|
|
110
|
+
* @param possiblyLocalizedEntries - Array of entries to convert back to field value format
|
|
111
|
+
* @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
|
|
112
|
+
*/
|
|
113
|
+
export function possiblyLocalizedEntriesToFieldValue(
|
|
114
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
115
|
+
possiblyLocalizedEntries: PossiblyLocalizedEntry[],
|
|
116
|
+
) {
|
|
117
|
+
if (isLocalized(field)) {
|
|
118
|
+
return Object.fromEntries(
|
|
119
|
+
possiblyLocalizedEntries.map(({ locale, value }) => [locale, value]),
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return possiblyLocalizedEntries[0]?.value;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Maps localized field values using a provided mapping function.
|
|
128
|
+
* For localized fields, applies the mapping function to each locale value.
|
|
129
|
+
* For non-localized fields, applies the mapping function directly to the only non-localizeed value.
|
|
130
|
+
*
|
|
131
|
+
* @template T - The type that the mapping function returns
|
|
132
|
+
* @param field - The DatoCMS field definition
|
|
133
|
+
* @param value - The field value (either localized object or direct value)
|
|
134
|
+
* @param mapFn - The function to apply to each locale value or the direct value
|
|
135
|
+
* @returns The mapped value with the same structure as the input
|
|
136
|
+
*/
|
|
137
|
+
export function mapLocalizedFieldValues<T>(
|
|
138
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
139
|
+
value: unknown,
|
|
140
|
+
mapFn: (locale: string | undefined, localeValue: unknown) => T,
|
|
141
|
+
) {
|
|
142
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
143
|
+
const mappedEntries = entries.map(({ locale, value }) => ({
|
|
144
|
+
locale,
|
|
145
|
+
value: mapFn(locale, value),
|
|
146
|
+
}));
|
|
147
|
+
return possiblyLocalizedEntriesToFieldValue(field, mappedEntries);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Maps localized field values using a provided mapping function (async version).
|
|
152
|
+
* For localized fields, applies the mapping function to each locale value.
|
|
153
|
+
* For non-localized fields, applies the mapping function directly to the only non-localizeed value.
|
|
154
|
+
*
|
|
155
|
+
* @template T - The type that the mapping function returns
|
|
156
|
+
* @param field - The DatoCMS field definition
|
|
157
|
+
* @param value - The field value (either localized object or direct value)
|
|
158
|
+
* @param mapFn - The function to apply to each locale value or the direct value
|
|
159
|
+
* @returns The mapped value with the same structure as the input
|
|
160
|
+
*/
|
|
161
|
+
export async function mapLocalizedFieldValuesAsync<T>(
|
|
162
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
163
|
+
value: unknown,
|
|
164
|
+
mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
|
|
165
|
+
) {
|
|
166
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
167
|
+
const mappedEntries = await Promise.all(
|
|
168
|
+
entries.map(async ({ locale, value }) => ({
|
|
169
|
+
locale,
|
|
170
|
+
value: await mapFn(locale, value),
|
|
171
|
+
})),
|
|
172
|
+
);
|
|
173
|
+
return possiblyLocalizedEntriesToFieldValue(field, mappedEntries);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Filters localized field values using a provided filter function.
|
|
178
|
+
* For localized fields, filters each locale value.
|
|
179
|
+
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
180
|
+
*
|
|
181
|
+
* @param field - The DatoCMS field definition
|
|
182
|
+
* @param value - The field value (either localized object or direct value)
|
|
183
|
+
* @param filterFn - The function to test each locale value or the direct value
|
|
184
|
+
* @returns The filtered value with the same structure as the input
|
|
185
|
+
*/
|
|
186
|
+
export function filterLocalizedFieldValues(
|
|
187
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
188
|
+
value: unknown,
|
|
189
|
+
filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
190
|
+
) {
|
|
191
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
192
|
+
const filteredEntries = entries.filter(({ locale, value }) =>
|
|
193
|
+
filterFn(locale, value),
|
|
194
|
+
);
|
|
195
|
+
|
|
196
|
+
if (isLocalized(field)) {
|
|
197
|
+
return possiblyLocalizedEntriesToFieldValue(field, filteredEntries);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Filters localized field values using a provided filter function (async version).
|
|
205
|
+
* For localized fields, filters each locale value.
|
|
206
|
+
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
207
|
+
*
|
|
208
|
+
* @param field - The DatoCMS field definition
|
|
209
|
+
* @param value - The field value (either localized object or direct value)
|
|
210
|
+
* @param filterFn - The function to test each locale value or the direct value
|
|
211
|
+
* @returns The filtered value with the same structure as the input
|
|
212
|
+
*/
|
|
213
|
+
export async function filterLocalizedFieldValuesAsync(
|
|
214
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
215
|
+
value: unknown,
|
|
216
|
+
filterFn: (
|
|
217
|
+
locale: string | undefined,
|
|
218
|
+
localeValue: unknown,
|
|
219
|
+
) => Promise<boolean>,
|
|
220
|
+
) {
|
|
221
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
222
|
+
const results = await Promise.all(
|
|
223
|
+
entries.map(async ({ locale, value }) => ({
|
|
224
|
+
locale,
|
|
225
|
+
value,
|
|
226
|
+
passed: await filterFn(locale, value),
|
|
227
|
+
})),
|
|
228
|
+
);
|
|
229
|
+
|
|
230
|
+
const filteredEntries = results
|
|
231
|
+
.filter(({ passed }) => passed)
|
|
232
|
+
.map(({ locale, value }) => ({ locale, value }));
|
|
233
|
+
|
|
234
|
+
if (isLocalized(field)) {
|
|
235
|
+
return possiblyLocalizedEntriesToFieldValue(field, filteredEntries);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Tests whether at least one localized field value passes the test implemented by the provided function.
|
|
243
|
+
* For localized fields, tests each locale value.
|
|
244
|
+
* For non-localized fields, tests the direct value.
|
|
245
|
+
*
|
|
246
|
+
* @param field - The DatoCMS field definition
|
|
247
|
+
* @param value - The field value (either localized object or direct value)
|
|
248
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
249
|
+
* @returns true if at least one value passes the test, false otherwise
|
|
250
|
+
*/
|
|
251
|
+
export function someLocalizedFieldValues(
|
|
252
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
253
|
+
value: unknown,
|
|
254
|
+
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
255
|
+
): boolean {
|
|
256
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
257
|
+
return entries.some(({ locale, value }) => testFn(locale, value));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Tests whether at least one localized field value passes the test implemented by the provided function (async version).
|
|
262
|
+
* For localized fields, tests each locale value.
|
|
263
|
+
* For non-localized fields, tests the direct value.
|
|
264
|
+
*
|
|
265
|
+
* @param field - The DatoCMS field definition
|
|
266
|
+
* @param value - The field value (either localized object or direct value)
|
|
267
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
268
|
+
* @returns true if at least one value passes the test, false otherwise
|
|
269
|
+
*/
|
|
270
|
+
export async function someLocalizedFieldValuesAsync(
|
|
271
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
272
|
+
value: unknown,
|
|
273
|
+
testFn: (
|
|
274
|
+
locale: string | undefined,
|
|
275
|
+
localeValue: unknown,
|
|
276
|
+
) => Promise<boolean>,
|
|
277
|
+
): Promise<boolean> {
|
|
278
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
279
|
+
const results = await Promise.all(
|
|
280
|
+
entries.map(({ locale, value }) => testFn(locale, value)),
|
|
281
|
+
);
|
|
282
|
+
return results.some((result) => result);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Tests whether all localized field values pass the test implemented by the provided function.
|
|
287
|
+
* For localized fields, tests each locale value.
|
|
288
|
+
* For non-localized fields, tests the direct value.
|
|
289
|
+
*
|
|
290
|
+
* @param field - The DatoCMS field definition
|
|
291
|
+
* @param value - The field value (either localized object or direct value)
|
|
292
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
293
|
+
* @returns true if all values pass the test, false otherwise
|
|
294
|
+
*/
|
|
295
|
+
export function everyLocalizedFieldValues(
|
|
296
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
297
|
+
value: unknown,
|
|
298
|
+
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
299
|
+
): boolean {
|
|
300
|
+
return !someLocalizedFieldValues(
|
|
301
|
+
field,
|
|
302
|
+
value,
|
|
303
|
+
(locale, localeValue) => !testFn(locale, localeValue),
|
|
304
|
+
);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Tests whether all localized field values pass the test implemented by the provided function (async version).
|
|
309
|
+
* For localized fields, tests each locale value.
|
|
310
|
+
* For non-localized fields, tests the direct value.
|
|
311
|
+
*
|
|
312
|
+
* @param field - The DatoCMS field definition
|
|
313
|
+
* @param value - The field value (either localized object or direct value)
|
|
314
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
315
|
+
* @returns true if all values pass the test, false otherwise
|
|
316
|
+
*/
|
|
317
|
+
export async function everyLocalizedFieldValuesAsync(
|
|
318
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
319
|
+
value: unknown,
|
|
320
|
+
testFn: (
|
|
321
|
+
locale: string | undefined,
|
|
322
|
+
localeValue: unknown,
|
|
323
|
+
) => Promise<boolean>,
|
|
324
|
+
): Promise<boolean> {
|
|
325
|
+
return !(await someLocalizedFieldValuesAsync(
|
|
326
|
+
field,
|
|
327
|
+
value,
|
|
328
|
+
async (locale, localeValue) => !(await testFn(locale, localeValue)),
|
|
329
|
+
));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Visits each localized field value with the provided function.
|
|
334
|
+
* For localized fields, visits each locale value.
|
|
335
|
+
* For non-localized fields, visits the direct value.
|
|
336
|
+
*
|
|
337
|
+
* @param field - The DatoCMS field definition
|
|
338
|
+
* @param value - The field value (either localized object or direct value)
|
|
339
|
+
* @param visitFn - The function to call for each locale value or the direct value
|
|
340
|
+
*/
|
|
341
|
+
export function visitLocalizedFieldValues(
|
|
342
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
343
|
+
value: unknown,
|
|
344
|
+
visitFn: (locale: string | undefined, localeValue: unknown) => void,
|
|
345
|
+
): void {
|
|
346
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
347
|
+
for (const { locale, value } of entries) {
|
|
348
|
+
visitFn(locale, value);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Visits each localized field value with the provided function (async version).
|
|
354
|
+
* For localized fields, visits each locale value.
|
|
355
|
+
* For non-localized fields, visits the direct value.
|
|
356
|
+
*
|
|
357
|
+
* @param field - The DatoCMS field definition
|
|
358
|
+
* @param value - The field value (either localized object or direct value)
|
|
359
|
+
* @param visitFn - The function to call for each locale value or the direct value
|
|
360
|
+
*/
|
|
361
|
+
export async function visitLocalizedFieldValuesAsync(
|
|
362
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
363
|
+
value: unknown,
|
|
364
|
+
visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
|
|
365
|
+
): Promise<void> {
|
|
366
|
+
const entries = fieldValueToPossiblyLocalizedEntries(field, value);
|
|
367
|
+
await Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
|
|
368
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type * as SchemaTypes from '../generated/SchemaTypes';
|
|
2
|
+
import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
|
|
3
|
+
|
|
4
|
+
export function modelIdsReferencedInField(
|
|
5
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
6
|
+
) {
|
|
7
|
+
const attributes = 'attributes' in field ? field.attributes : field;
|
|
8
|
+
|
|
9
|
+
switch (attributes.field_type) {
|
|
10
|
+
case 'link': {
|
|
11
|
+
return attributes.validators.item_item_type.item_types;
|
|
12
|
+
}
|
|
13
|
+
case 'links': {
|
|
14
|
+
return attributes.validators.items_item_type.item_types;
|
|
15
|
+
}
|
|
16
|
+
case 'structured_text': {
|
|
17
|
+
return attributes.validators.structured_text_links.item_types;
|
|
18
|
+
}
|
|
19
|
+
default: {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function blockModelIdsReferencedInField(
|
|
26
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
27
|
+
) {
|
|
28
|
+
const attributes = 'attributes' in field ? field.attributes : field;
|
|
29
|
+
|
|
30
|
+
switch (attributes.field_type) {
|
|
31
|
+
case 'single_block': {
|
|
32
|
+
return attributes.validators.single_block_blocks.item_types;
|
|
33
|
+
}
|
|
34
|
+
case 'rich_text': {
|
|
35
|
+
return attributes.validators.rich_text_blocks.item_types;
|
|
36
|
+
}
|
|
37
|
+
case 'structured_text': {
|
|
38
|
+
return [
|
|
39
|
+
...attributes.validators.structured_text_blocks.item_types,
|
|
40
|
+
...(attributes.validators.structured_text_inline_blocks
|
|
41
|
+
? attributes.validators.structured_text_inline_blocks.item_types
|
|
42
|
+
: []),
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
default: {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|