@datocms/cma-client 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +13 -35
- 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 +218 -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 +72 -7
- package/dist/esm/generated/SchemaTypes.js +0 -4
- package/dist/esm/generated/SchemaTypes.js.map +1 -1
- package/dist/esm/generated/SimpleSchemaTypes.d.ts +65 -8
- 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.d.ts +2 -2
- package/dist/esm/generated/resources/UploadRequest.js +11 -34
- 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 +123 -0
- package/dist/esm/utilities/fieldValueLocalization.js +204 -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 +72 -7
- package/dist/types/generated/SimpleSchemaTypes.d.ts +65 -8
- package/dist/types/generated/resources/Field.d.ts +4207 -7
- package/dist/types/generated/resources/Fieldset.d.ts +2 -2
- package/dist/types/generated/resources/UploadRequest.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 +123 -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 +3 -3
- 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 +645 -7
- package/src/generated/SimpleSchemaTypes.ts +638 -8
- package/src/generated/resources/Field.ts +2 -2
- package/src/generated/resources/Fieldset.ts +2 -2
- package/src/generated/resources/UploadRequest.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 +339 -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,339 @@
|
|
|
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
|
+
* In DatoCMS, fields can be localized. In this scenario, their value contains values
|
|
42
|
+
* for various locales structured as an object, such as
|
|
43
|
+
`{ "en": "Hello", "it": "Ciao" }`)
|
|
44
|
+
*/
|
|
45
|
+
export type LocalizedFieldValue = Record<string, unknown>;
|
|
46
|
+
|
|
47
|
+
export function isLocalized(
|
|
48
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
49
|
+
): boolean {
|
|
50
|
+
return 'attributes' in field ? field.attributes.localized : field.localized;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Maps localized field values using a provided mapping function.
|
|
55
|
+
* For localized fields, applies the mapping function to each locale value.
|
|
56
|
+
* For non-localized fields, applies the mapping function directly to the only non-localizeed value.
|
|
57
|
+
*
|
|
58
|
+
* @template T - The type that the mapping function returns
|
|
59
|
+
* @param field - The DatoCMS field definition
|
|
60
|
+
* @param value - The field value (either localized object or direct value)
|
|
61
|
+
* @param mapFn - The function to apply to each locale value or the direct value
|
|
62
|
+
* @returns The mapped value with the same structure as the input
|
|
63
|
+
*/
|
|
64
|
+
export function mapLocalizedFieldValues<T>(
|
|
65
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
66
|
+
value: unknown,
|
|
67
|
+
mapFn: (locale: string | undefined, localeValue: unknown) => T,
|
|
68
|
+
) {
|
|
69
|
+
if (isLocalized(field)) {
|
|
70
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
71
|
+
|
|
72
|
+
return Object.fromEntries(
|
|
73
|
+
Object.entries(localizedValue).map(([locale, value]) => [
|
|
74
|
+
locale,
|
|
75
|
+
mapFn(locale, value),
|
|
76
|
+
]),
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return mapFn(undefined, value);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Maps localized field values using a provided mapping function (async version).
|
|
85
|
+
* For localized fields, applies the mapping function to each locale value.
|
|
86
|
+
* For non-localized fields, applies the mapping function directly to the only non-localizeed value.
|
|
87
|
+
*
|
|
88
|
+
* @template T - The type that the mapping function returns
|
|
89
|
+
* @param field - The DatoCMS field definition
|
|
90
|
+
* @param value - The field value (either localized object or direct value)
|
|
91
|
+
* @param mapFn - The function to apply to each locale value or the direct value
|
|
92
|
+
* @returns The mapped value with the same structure as the input
|
|
93
|
+
*/
|
|
94
|
+
export async function mapLocalizedFieldValuesAsync<T>(
|
|
95
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
96
|
+
value: unknown,
|
|
97
|
+
mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
|
|
98
|
+
) {
|
|
99
|
+
if (isLocalized(field)) {
|
|
100
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
101
|
+
|
|
102
|
+
return Object.fromEntries(
|
|
103
|
+
await Promise.all(
|
|
104
|
+
Object.entries(localizedValue).map<Promise<[string, unknown]>>(
|
|
105
|
+
async ([locale, value]) => [locale, await mapFn(locale, value)],
|
|
106
|
+
),
|
|
107
|
+
),
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return await mapFn(undefined, value);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Filters localized field values using a provided filter function.
|
|
116
|
+
* For localized fields, filters each locale value.
|
|
117
|
+
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
118
|
+
*
|
|
119
|
+
* @param field - The DatoCMS field definition
|
|
120
|
+
* @param value - The field value (either localized object or direct value)
|
|
121
|
+
* @param filterFn - The function to test each locale value or the direct value
|
|
122
|
+
* @returns The filtered value with the same structure as the input
|
|
123
|
+
*/
|
|
124
|
+
export function filterLocalizedFieldValues(
|
|
125
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
126
|
+
value: unknown,
|
|
127
|
+
filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
128
|
+
) {
|
|
129
|
+
if (isLocalized(field)) {
|
|
130
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
131
|
+
|
|
132
|
+
return Object.fromEntries(
|
|
133
|
+
Object.entries(localizedValue).filter(([locale, value]) =>
|
|
134
|
+
filterFn(locale, value),
|
|
135
|
+
),
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return filterFn(undefined, value) ? value : undefined;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Filters localized field values using a provided filter function (async version).
|
|
144
|
+
* For localized fields, filters each locale value.
|
|
145
|
+
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
146
|
+
*
|
|
147
|
+
* @param field - The DatoCMS field definition
|
|
148
|
+
* @param value - The field value (either localized object or direct value)
|
|
149
|
+
* @param filterFn - The function to test each locale value or the direct value
|
|
150
|
+
* @returns The filtered value with the same structure as the input
|
|
151
|
+
*/
|
|
152
|
+
export async function filterLocalizedFieldValuesAsync(
|
|
153
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
154
|
+
value: unknown,
|
|
155
|
+
filterFn: (
|
|
156
|
+
locale: string | undefined,
|
|
157
|
+
localeValue: unknown,
|
|
158
|
+
) => Promise<boolean>,
|
|
159
|
+
) {
|
|
160
|
+
if (isLocalized(field)) {
|
|
161
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
162
|
+
|
|
163
|
+
const results = await Promise.all(
|
|
164
|
+
Object.entries(localizedValue).map<Promise<[string, unknown, boolean]>>(
|
|
165
|
+
async ([locale, value]) => [
|
|
166
|
+
locale,
|
|
167
|
+
value,
|
|
168
|
+
await filterFn(locale, value),
|
|
169
|
+
],
|
|
170
|
+
),
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
return Object.fromEntries(
|
|
174
|
+
results
|
|
175
|
+
.filter(([, , passed]) => passed)
|
|
176
|
+
.map(([locale, value]) => [locale, value]),
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
return (await filterFn(undefined, value)) ? value : undefined;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Tests whether at least one localized field value passes the test implemented by the provided function.
|
|
185
|
+
* For localized fields, tests each locale value.
|
|
186
|
+
* For non-localized fields, tests the direct value.
|
|
187
|
+
*
|
|
188
|
+
* @param field - The DatoCMS field definition
|
|
189
|
+
* @param value - The field value (either localized object or direct value)
|
|
190
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
191
|
+
* @returns true if at least one value passes the test, false otherwise
|
|
192
|
+
*/
|
|
193
|
+
export function someLocalizedFieldValues(
|
|
194
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
195
|
+
value: unknown,
|
|
196
|
+
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
197
|
+
): boolean {
|
|
198
|
+
if (isLocalized(field)) {
|
|
199
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
200
|
+
|
|
201
|
+
return Object.entries(localizedValue).some(([locale, value]) =>
|
|
202
|
+
testFn(locale, value),
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return testFn(undefined, value);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Tests whether at least one localized field value passes the test implemented by the provided function (async version).
|
|
211
|
+
* For localized fields, tests each locale value.
|
|
212
|
+
* For non-localized fields, tests the direct value.
|
|
213
|
+
*
|
|
214
|
+
* @param field - The DatoCMS field definition
|
|
215
|
+
* @param value - The field value (either localized object or direct value)
|
|
216
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
217
|
+
* @returns true if at least one value passes the test, false otherwise
|
|
218
|
+
*/
|
|
219
|
+
export async function someLocalizedFieldValuesAsync(
|
|
220
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
221
|
+
value: unknown,
|
|
222
|
+
testFn: (
|
|
223
|
+
locale: string | undefined,
|
|
224
|
+
localeValue: unknown,
|
|
225
|
+
) => Promise<boolean>,
|
|
226
|
+
): Promise<boolean> {
|
|
227
|
+
if (isLocalized(field)) {
|
|
228
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
229
|
+
|
|
230
|
+
const results = await Promise.all(
|
|
231
|
+
Object.entries(localizedValue).map(
|
|
232
|
+
async ([locale, value]) => await testFn(locale, value),
|
|
233
|
+
),
|
|
234
|
+
);
|
|
235
|
+
|
|
236
|
+
return results.some((result) => result);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return await testFn(undefined, value);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Tests whether all localized field values pass the test implemented by the provided function.
|
|
244
|
+
* For localized fields, tests each locale value.
|
|
245
|
+
* For non-localized fields, tests the direct value.
|
|
246
|
+
*
|
|
247
|
+
* @param field - The DatoCMS field definition
|
|
248
|
+
* @param value - The field value (either localized object or direct value)
|
|
249
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
250
|
+
* @returns true if all values pass the test, false otherwise
|
|
251
|
+
*/
|
|
252
|
+
export function everyLocalizedFieldValues(
|
|
253
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
254
|
+
value: unknown,
|
|
255
|
+
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
256
|
+
): boolean {
|
|
257
|
+
return !someLocalizedFieldValues(
|
|
258
|
+
field,
|
|
259
|
+
value,
|
|
260
|
+
(locale, localeValue) => !testFn(locale, localeValue),
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Tests whether all localized field values pass the test implemented by the provided function (async version).
|
|
266
|
+
* For localized fields, tests each locale value.
|
|
267
|
+
* For non-localized fields, tests the direct value.
|
|
268
|
+
*
|
|
269
|
+
* @param field - The DatoCMS field definition
|
|
270
|
+
* @param value - The field value (either localized object or direct value)
|
|
271
|
+
* @param testFn - The function to test each locale value or the direct value
|
|
272
|
+
* @returns true if all values pass the test, false otherwise
|
|
273
|
+
*/
|
|
274
|
+
export async function everyLocalizedFieldValuesAsync(
|
|
275
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
276
|
+
value: unknown,
|
|
277
|
+
testFn: (
|
|
278
|
+
locale: string | undefined,
|
|
279
|
+
localeValue: unknown,
|
|
280
|
+
) => Promise<boolean>,
|
|
281
|
+
): Promise<boolean> {
|
|
282
|
+
return !(await someLocalizedFieldValuesAsync(
|
|
283
|
+
field,
|
|
284
|
+
value,
|
|
285
|
+
async (locale, localeValue) => !(await testFn(locale, localeValue)),
|
|
286
|
+
));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Visits each localized field value with the provided function.
|
|
291
|
+
* For localized fields, visits each locale value.
|
|
292
|
+
* For non-localized fields, visits the direct value.
|
|
293
|
+
*
|
|
294
|
+
* @param field - The DatoCMS field definition
|
|
295
|
+
* @param value - The field value (either localized object or direct value)
|
|
296
|
+
* @param visitFn - The function to call for each locale value or the direct value
|
|
297
|
+
*/
|
|
298
|
+
export function visitLocalizedFieldValues(
|
|
299
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
300
|
+
value: unknown,
|
|
301
|
+
visitFn: (locale: string | undefined, localeValue: unknown) => void,
|
|
302
|
+
): void {
|
|
303
|
+
if (isLocalized(field)) {
|
|
304
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
305
|
+
|
|
306
|
+
for (const [locale, value] of Object.entries(localizedValue)) {
|
|
307
|
+
visitFn(locale, value);
|
|
308
|
+
}
|
|
309
|
+
} else {
|
|
310
|
+
visitFn(undefined, value);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Visits each localized field value with the provided function (async version).
|
|
316
|
+
* For localized fields, visits each locale value.
|
|
317
|
+
* For non-localized fields, visits the direct value.
|
|
318
|
+
*
|
|
319
|
+
* @param field - The DatoCMS field definition
|
|
320
|
+
* @param value - The field value (either localized object or direct value)
|
|
321
|
+
* @param visitFn - The function to call for each locale value or the direct value
|
|
322
|
+
*/
|
|
323
|
+
export async function visitLocalizedFieldValuesAsync(
|
|
324
|
+
field: SchemaTypes.Field | SimpleSchemaTypes.Field,
|
|
325
|
+
value: unknown,
|
|
326
|
+
visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
|
|
327
|
+
): Promise<void> {
|
|
328
|
+
if (isLocalized(field)) {
|
|
329
|
+
const localizedValue = value as LocalizedFieldValue;
|
|
330
|
+
|
|
331
|
+
await Promise.all(
|
|
332
|
+
Object.entries(localizedValue).map(
|
|
333
|
+
async ([locale, value]) => await visitFn(locale, value),
|
|
334
|
+
),
|
|
335
|
+
);
|
|
336
|
+
} else {
|
|
337
|
+
await visitFn(undefined, value);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
@@ -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
|
+
}
|