@datocms/cma-client 5.1.1 → 5.1.3
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/fieldTypes/boolean.js +7 -1
- package/dist/cjs/fieldTypes/boolean.js.map +1 -1
- package/dist/cjs/fieldTypes/color.js +7 -1
- package/dist/cjs/fieldTypes/color.js.map +1 -1
- package/dist/cjs/fieldTypes/date.js +7 -1
- package/dist/cjs/fieldTypes/date.js.map +1 -1
- package/dist/cjs/fieldTypes/date_time.js +7 -1
- package/dist/cjs/fieldTypes/date_time.js.map +1 -1
- package/dist/cjs/fieldTypes/file.js +7 -1
- package/dist/cjs/fieldTypes/file.js.map +1 -1
- package/dist/cjs/fieldTypes/float.js +7 -1
- package/dist/cjs/fieldTypes/float.js.map +1 -1
- package/dist/cjs/fieldTypes/gallery.js +7 -1
- package/dist/cjs/fieldTypes/gallery.js.map +1 -1
- package/dist/cjs/fieldTypes/integer.js +7 -1
- package/dist/cjs/fieldTypes/integer.js.map +1 -1
- package/dist/cjs/fieldTypes/json.js +7 -1
- package/dist/cjs/fieldTypes/json.js.map +1 -1
- package/dist/cjs/fieldTypes/lat_lon.js +7 -1
- package/dist/cjs/fieldTypes/lat_lon.js.map +1 -1
- package/dist/cjs/fieldTypes/link.js +7 -1
- package/dist/cjs/fieldTypes/link.js.map +1 -1
- package/dist/cjs/fieldTypes/links.js +7 -1
- package/dist/cjs/fieldTypes/links.js.map +1 -1
- package/dist/cjs/fieldTypes/rich_text.js +23 -5
- package/dist/cjs/fieldTypes/rich_text.js.map +1 -1
- package/dist/cjs/fieldTypes/seo.js +7 -1
- package/dist/cjs/fieldTypes/seo.js.map +1 -1
- package/dist/cjs/fieldTypes/single_block.js +37 -17
- package/dist/cjs/fieldTypes/single_block.js.map +1 -1
- package/dist/cjs/fieldTypes/slug.js +8 -2
- package/dist/cjs/fieldTypes/slug.js.map +1 -1
- package/dist/cjs/fieldTypes/string.js +7 -1
- package/dist/cjs/fieldTypes/string.js.map +1 -1
- package/dist/cjs/fieldTypes/structured_text.js +28 -22
- package/dist/cjs/fieldTypes/structured_text.js.map +1 -1
- package/dist/cjs/fieldTypes/text.js +7 -1
- package/dist/cjs/fieldTypes/text.js.map +1 -1
- package/dist/cjs/fieldTypes/video.js +7 -1
- package/dist/cjs/fieldTypes/video.js.map +1 -1
- package/dist/cjs/generated/{SchemaTypes.js → ApiTypes.js} +1 -1
- package/dist/cjs/generated/ApiTypes.js.map +1 -0
- package/dist/cjs/generated/Client.js +1 -1
- package/dist/cjs/generated/{SimpleSchemaTypes.js → RawApiTypes.js} +1 -1
- package/dist/cjs/generated/RawApiTypes.js.map +1 -0
- package/dist/cjs/generated/resources/AccessToken.js.map +1 -1
- package/dist/cjs/generated/resources/AuditLogEvent.js.map +1 -1
- package/dist/cjs/generated/resources/BuildEvent.js.map +1 -1
- package/dist/cjs/generated/resources/BuildTrigger.js.map +1 -1
- package/dist/cjs/generated/resources/EditingSession.js.map +1 -1
- package/dist/cjs/generated/resources/EmojiSuggestions.js.map +1 -1
- package/dist/cjs/generated/resources/Environment.js.map +1 -1
- package/dist/cjs/generated/resources/Field.js.map +1 -1
- package/dist/cjs/generated/resources/Fieldset.js.map +1 -1
- package/dist/cjs/generated/resources/Item.js.map +1 -1
- package/dist/cjs/generated/resources/ItemType.js.map +1 -1
- package/dist/cjs/generated/resources/ItemTypeFilter.js.map +1 -1
- package/dist/cjs/generated/resources/ItemVersion.js.map +1 -1
- package/dist/cjs/generated/resources/JobResult.js.map +1 -1
- package/dist/cjs/generated/resources/MaintenanceMode.js.map +1 -1
- package/dist/cjs/generated/resources/MenuItem.js.map +1 -1
- package/dist/cjs/generated/resources/Plugin.js.map +1 -1
- package/dist/cjs/generated/resources/PublicInfo.js.map +1 -1
- package/dist/cjs/generated/resources/Role.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/cjs/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/cjs/generated/resources/SchemaMenuItem.js.map +1 -1
- package/dist/cjs/generated/resources/SearchResult.js.map +1 -1
- package/dist/cjs/generated/resources/Session.js.map +1 -1
- package/dist/cjs/generated/resources/Site.js.map +1 -1
- package/dist/cjs/generated/resources/SiteInvitation.js.map +1 -1
- package/dist/cjs/generated/resources/SsoGroup.js.map +1 -1
- package/dist/cjs/generated/resources/SsoSettings.js.map +1 -1
- package/dist/cjs/generated/resources/SsoUser.js.map +1 -1
- package/dist/cjs/generated/resources/SubscriptionLimit.js.map +1 -1
- package/dist/cjs/generated/resources/Upload.js.map +1 -1
- package/dist/cjs/generated/resources/UploadCollection.js.map +1 -1
- package/dist/cjs/generated/resources/UploadFilter.js.map +1 -1
- package/dist/cjs/generated/resources/UploadRequest.js.map +1 -1
- package/dist/cjs/generated/resources/UploadSmartTag.js.map +1 -1
- package/dist/cjs/generated/resources/UploadTag.js.map +1 -1
- package/dist/cjs/generated/resources/UploadTrack.js.map +1 -1
- package/dist/cjs/generated/resources/UsageCounter.js.map +1 -1
- package/dist/cjs/generated/resources/User.js.map +1 -1
- package/dist/cjs/generated/resources/Webhook.js.map +1 -1
- package/dist/cjs/generated/resources/WebhookCall.js.map +1 -1
- package/dist/cjs/generated/resources/WhiteLabelSettings.js.map +1 -1
- package/dist/cjs/generated/resources/Workflow.js.map +1 -1
- package/dist/cjs/index.js +3 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/Role.js.map +1 -1
- package/dist/cjs/utilities/blocks.js +7 -7
- package/dist/cjs/utilities/blocks.js.map +1 -1
- package/dist/cjs/utilities/buildBlockRecord.js.map +1 -1
- package/dist/cjs/utilities/{fieldValueLocalization.js → fieldValue.js} +52 -52
- package/dist/cjs/utilities/fieldValue.js.map +1 -0
- package/dist/cjs/utilities/fieldsContainingReferences.js.map +1 -1
- package/dist/cjs/utilities/recursiveBlocks.js +18 -19
- package/dist/cjs/utilities/recursiveBlocks.js.map +1 -1
- package/dist/cjs/utilities/schemaRepository.js.map +1 -1
- package/dist/esm/fieldTypes/boolean.d.ts +2 -0
- package/dist/esm/fieldTypes/boolean.js +5 -0
- package/dist/esm/fieldTypes/boolean.js.map +1 -1
- package/dist/esm/fieldTypes/color.d.ts +2 -0
- package/dist/esm/fieldTypes/color.js +5 -0
- package/dist/esm/fieldTypes/color.js.map +1 -1
- package/dist/esm/fieldTypes/date.d.ts +2 -0
- package/dist/esm/fieldTypes/date.js +5 -0
- package/dist/esm/fieldTypes/date.js.map +1 -1
- package/dist/esm/fieldTypes/date_time.d.ts +2 -0
- package/dist/esm/fieldTypes/date_time.js +5 -0
- package/dist/esm/fieldTypes/date_time.js.map +1 -1
- package/dist/esm/fieldTypes/file.d.ts +2 -0
- package/dist/esm/fieldTypes/file.js +5 -0
- package/dist/esm/fieldTypes/file.js.map +1 -1
- package/dist/esm/fieldTypes/float.d.ts +2 -0
- package/dist/esm/fieldTypes/float.js +5 -0
- package/dist/esm/fieldTypes/float.js.map +1 -1
- package/dist/esm/fieldTypes/gallery.d.ts +2 -0
- package/dist/esm/fieldTypes/gallery.js +5 -0
- package/dist/esm/fieldTypes/gallery.js.map +1 -1
- package/dist/esm/fieldTypes/integer.d.ts +2 -0
- package/dist/esm/fieldTypes/integer.js +5 -0
- package/dist/esm/fieldTypes/integer.js.map +1 -1
- package/dist/esm/fieldTypes/json.d.ts +2 -0
- package/dist/esm/fieldTypes/json.js +5 -0
- package/dist/esm/fieldTypes/json.js.map +1 -1
- package/dist/esm/fieldTypes/lat_lon.d.ts +2 -0
- package/dist/esm/fieldTypes/lat_lon.js +5 -0
- package/dist/esm/fieldTypes/lat_lon.js.map +1 -1
- package/dist/esm/fieldTypes/link.d.ts +2 -0
- package/dist/esm/fieldTypes/link.js +5 -0
- package/dist/esm/fieldTypes/link.js.map +1 -1
- package/dist/esm/fieldTypes/links.d.ts +2 -0
- package/dist/esm/fieldTypes/links.js +5 -0
- package/dist/esm/fieldTypes/links.js.map +1 -1
- package/dist/esm/fieldTypes/rich_text.d.ts +13 -9
- package/dist/esm/fieldTypes/rich_text.js +20 -5
- package/dist/esm/fieldTypes/rich_text.js.map +1 -1
- package/dist/esm/fieldTypes/seo.d.ts +2 -0
- package/dist/esm/fieldTypes/seo.js +5 -0
- package/dist/esm/fieldTypes/seo.js.map +1 -1
- package/dist/esm/fieldTypes/single_block.d.ts +33 -23
- package/dist/esm/fieldTypes/single_block.js +30 -13
- package/dist/esm/fieldTypes/single_block.js.map +1 -1
- package/dist/esm/fieldTypes/slug.d.ts +2 -0
- package/dist/esm/fieldTypes/slug.js +6 -1
- package/dist/esm/fieldTypes/slug.js.map +1 -1
- package/dist/esm/fieldTypes/string.d.ts +2 -0
- package/dist/esm/fieldTypes/string.js +5 -0
- package/dist/esm/fieldTypes/string.js.map +1 -1
- package/dist/esm/fieldTypes/structured_text.d.ts +22 -83
- package/dist/esm/fieldTypes/structured_text.js +25 -22
- package/dist/esm/fieldTypes/structured_text.js.map +1 -1
- package/dist/esm/fieldTypes/text.d.ts +2 -0
- package/dist/esm/fieldTypes/text.js +5 -0
- package/dist/esm/fieldTypes/text.js.map +1 -1
- package/dist/esm/fieldTypes/video.d.ts +2 -0
- package/dist/esm/fieldTypes/video.js +5 -0
- package/dist/esm/fieldTypes/video.js.map +1 -1
- package/dist/esm/generated/{SimpleSchemaTypes.d.ts → ApiTypes.d.ts} +2 -2
- package/dist/esm/generated/ApiTypes.js +2 -0
- package/dist/esm/generated/ApiTypes.js.map +1 -0
- package/dist/esm/generated/Client.d.ts +1 -1
- package/dist/esm/generated/Client.js +1 -1
- package/dist/esm/generated/{SchemaTypes.d.ts → RawApiTypes.d.ts} +2 -2
- package/dist/esm/generated/RawApiTypes.js +2 -0
- package/dist/esm/generated/RawApiTypes.js.map +1 -0
- package/dist/esm/generated/resources/AccessToken.d.ts +14 -14
- package/dist/esm/generated/resources/AccessToken.js.map +1 -1
- package/dist/esm/generated/resources/AuditLogEvent.d.ts +4 -4
- package/dist/esm/generated/resources/AuditLogEvent.js.map +1 -1
- package/dist/esm/generated/resources/BuildEvent.d.ts +8 -8
- package/dist/esm/generated/resources/BuildEvent.js.map +1 -1
- package/dist/esm/generated/resources/BuildTrigger.d.ts +16 -16
- package/dist/esm/generated/resources/BuildTrigger.js.map +1 -1
- package/dist/esm/generated/resources/DailyUsage.d.ts +4 -4
- package/dist/esm/generated/resources/EditingSession.d.ts +7 -7
- package/dist/esm/generated/resources/EditingSession.js.map +1 -1
- package/dist/esm/generated/resources/EmojiSuggestions.d.ts +4 -4
- package/dist/esm/generated/resources/EmojiSuggestions.js.map +1 -1
- package/dist/esm/generated/resources/Environment.d.ts +14 -14
- package/dist/esm/generated/resources/Environment.js.map +1 -1
- package/dist/esm/generated/resources/Field.d.ts +713 -713
- package/dist/esm/generated/resources/Field.js.map +1 -1
- package/dist/esm/generated/resources/Fieldset.d.ts +12 -12
- package/dist/esm/generated/resources/Fieldset.js.map +1 -1
- package/dist/esm/generated/resources/Item.d.ts +36 -36
- package/dist/esm/generated/resources/Item.js.map +1 -1
- package/dist/esm/generated/resources/ItemType.d.ts +15 -15
- package/dist/esm/generated/resources/ItemType.js.map +1 -1
- package/dist/esm/generated/resources/ItemTypeFilter.d.ts +12 -12
- package/dist/esm/generated/resources/ItemTypeFilter.js.map +1 -1
- package/dist/esm/generated/resources/ItemVersion.d.ts +10 -10
- package/dist/esm/generated/resources/ItemVersion.js.map +1 -1
- package/dist/esm/generated/resources/JobResult.d.ts +4 -4
- package/dist/esm/generated/resources/JobResult.js.map +1 -1
- package/dist/esm/generated/resources/MaintenanceMode.d.ts +8 -8
- package/dist/esm/generated/resources/MaintenanceMode.js.map +1 -1
- package/dist/esm/generated/resources/MenuItem.d.ts +14 -14
- package/dist/esm/generated/resources/MenuItem.js.map +1 -1
- package/dist/esm/generated/resources/Plugin.d.ts +14 -14
- package/dist/esm/generated/resources/Plugin.js.map +1 -1
- package/dist/esm/generated/resources/PublicInfo.d.ts +4 -4
- package/dist/esm/generated/resources/PublicInfo.js.map +1 -1
- package/dist/esm/generated/resources/Role.d.ts +14 -14
- package/dist/esm/generated/resources/Role.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledPublication.d.ts +6 -6
- package/dist/esm/generated/resources/ScheduledPublication.js.map +1 -1
- package/dist/esm/generated/resources/ScheduledUnpublishing.d.ts +6 -6
- package/dist/esm/generated/resources/ScheduledUnpublishing.js.map +1 -1
- package/dist/esm/generated/resources/SchemaMenuItem.d.ts +14 -14
- package/dist/esm/generated/resources/SchemaMenuItem.js.map +1 -1
- package/dist/esm/generated/resources/SearchResult.d.ts +6 -6
- package/dist/esm/generated/resources/SearchResult.js.map +1 -1
- package/dist/esm/generated/resources/Session.d.ts +4 -4
- package/dist/esm/generated/resources/Session.js.map +1 -1
- package/dist/esm/generated/resources/Site.d.ts +24 -24
- package/dist/esm/generated/resources/Site.js.map +1 -1
- package/dist/esm/generated/resources/SiteInvitation.d.ts +14 -14
- package/dist/esm/generated/resources/SiteInvitation.js.map +1 -1
- package/dist/esm/generated/resources/SsoGroup.d.ts +10 -10
- package/dist/esm/generated/resources/SsoGroup.js.map +1 -1
- package/dist/esm/generated/resources/SsoSettings.d.ts +8 -8
- package/dist/esm/generated/resources/SsoSettings.js.map +1 -1
- package/dist/esm/generated/resources/SsoUser.d.ts +10 -10
- package/dist/esm/generated/resources/SsoUser.js.map +1 -1
- package/dist/esm/generated/resources/SubscriptionFeature.d.ts +4 -4
- package/dist/esm/generated/resources/SubscriptionLimit.d.ts +6 -6
- package/dist/esm/generated/resources/SubscriptionLimit.js.map +1 -1
- package/dist/esm/generated/resources/Upload.d.ts +22 -22
- package/dist/esm/generated/resources/Upload.js.map +1 -1
- package/dist/esm/generated/resources/UploadCollection.d.ts +14 -14
- package/dist/esm/generated/resources/UploadCollection.js.map +1 -1
- package/dist/esm/generated/resources/UploadFilter.d.ts +12 -12
- package/dist/esm/generated/resources/UploadFilter.js.map +1 -1
- package/dist/esm/generated/resources/UploadRequest.d.ts +4 -4
- package/dist/esm/generated/resources/UploadRequest.js.map +1 -1
- package/dist/esm/generated/resources/UploadSmartTag.d.ts +6 -6
- package/dist/esm/generated/resources/UploadSmartTag.js.map +1 -1
- package/dist/esm/generated/resources/UploadTag.d.ts +8 -8
- package/dist/esm/generated/resources/UploadTag.js.map +1 -1
- package/dist/esm/generated/resources/UploadTrack.d.ts +10 -10
- package/dist/esm/generated/resources/UploadTrack.js.map +1 -1
- package/dist/esm/generated/resources/UsageCounter.d.ts +4 -4
- package/dist/esm/generated/resources/UsageCounter.js.map +1 -1
- package/dist/esm/generated/resources/User.d.ts +12 -12
- package/dist/esm/generated/resources/User.js.map +1 -1
- package/dist/esm/generated/resources/Webhook.d.ts +12 -12
- package/dist/esm/generated/resources/Webhook.js.map +1 -1
- package/dist/esm/generated/resources/WebhookCall.d.ts +9 -9
- package/dist/esm/generated/resources/WebhookCall.js.map +1 -1
- package/dist/esm/generated/resources/WhiteLabelSettings.d.ts +6 -6
- package/dist/esm/generated/resources/WhiteLabelSettings.js.map +1 -1
- package/dist/esm/generated/resources/Workflow.d.ts +11 -11
- package/dist/esm/generated/resources/Workflow.js.map +1 -1
- package/dist/esm/index.d.ts +6 -4
- package/dist/esm/index.js +2 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/Role.d.ts +4 -4
- package/dist/esm/resources/Role.js.map +1 -1
- package/dist/esm/utilities/blocks.d.ts +17 -17
- package/dist/esm/utilities/blocks.js +3 -3
- package/dist/esm/utilities/blocks.js.map +1 -1
- package/dist/esm/utilities/buildBlockRecord.d.ts +5 -5
- package/dist/esm/utilities/buildBlockRecord.js.map +1 -1
- package/dist/{types/utilities/fieldValueLocalization.d.ts → esm/utilities/fieldValue.d.ts} +30 -29
- package/dist/esm/utilities/{fieldValueLocalization.js → fieldValue.js} +39 -39
- package/dist/esm/utilities/fieldValue.js.map +1 -0
- package/dist/esm/utilities/fieldsContainingReferences.d.ts +4 -4
- package/dist/esm/utilities/fieldsContainingReferences.js.map +1 -1
- package/dist/esm/utilities/recursiveBlocks.d.ts +13 -10
- package/dist/esm/utilities/recursiveBlocks.js +19 -20
- package/dist/esm/utilities/recursiveBlocks.js.map +1 -1
- package/dist/esm/utilities/schemaRepository.d.ts +29 -26
- package/dist/esm/utilities/schemaRepository.js.map +1 -1
- package/dist/types/fieldTypes/boolean.d.ts +2 -0
- package/dist/types/fieldTypes/color.d.ts +2 -0
- package/dist/types/fieldTypes/date.d.ts +2 -0
- package/dist/types/fieldTypes/date_time.d.ts +2 -0
- package/dist/types/fieldTypes/file.d.ts +2 -0
- package/dist/types/fieldTypes/float.d.ts +2 -0
- package/dist/types/fieldTypes/gallery.d.ts +2 -0
- package/dist/types/fieldTypes/integer.d.ts +2 -0
- package/dist/types/fieldTypes/json.d.ts +2 -0
- package/dist/types/fieldTypes/lat_lon.d.ts +2 -0
- package/dist/types/fieldTypes/link.d.ts +2 -0
- package/dist/types/fieldTypes/links.d.ts +2 -0
- package/dist/types/fieldTypes/rich_text.d.ts +13 -9
- package/dist/types/fieldTypes/seo.d.ts +2 -0
- package/dist/types/fieldTypes/single_block.d.ts +33 -23
- package/dist/types/fieldTypes/slug.d.ts +2 -0
- package/dist/types/fieldTypes/string.d.ts +2 -0
- package/dist/types/fieldTypes/structured_text.d.ts +22 -83
- package/dist/types/fieldTypes/text.d.ts +2 -0
- package/dist/types/fieldTypes/video.d.ts +2 -0
- package/dist/types/generated/{SimpleSchemaTypes.d.ts → ApiTypes.d.ts} +2 -2
- package/dist/types/generated/Client.d.ts +1 -1
- package/dist/types/generated/{SchemaTypes.d.ts → RawApiTypes.d.ts} +2 -2
- package/dist/types/generated/resources/AccessToken.d.ts +14 -14
- package/dist/types/generated/resources/AuditLogEvent.d.ts +4 -4
- package/dist/types/generated/resources/BuildEvent.d.ts +8 -8
- package/dist/types/generated/resources/BuildTrigger.d.ts +16 -16
- package/dist/types/generated/resources/DailyUsage.d.ts +4 -4
- package/dist/types/generated/resources/EditingSession.d.ts +7 -7
- package/dist/types/generated/resources/EmojiSuggestions.d.ts +4 -4
- package/dist/types/generated/resources/Environment.d.ts +14 -14
- package/dist/types/generated/resources/Field.d.ts +713 -713
- package/dist/types/generated/resources/Fieldset.d.ts +12 -12
- package/dist/types/generated/resources/Item.d.ts +36 -36
- package/dist/types/generated/resources/ItemType.d.ts +15 -15
- package/dist/types/generated/resources/ItemTypeFilter.d.ts +12 -12
- package/dist/types/generated/resources/ItemVersion.d.ts +10 -10
- package/dist/types/generated/resources/JobResult.d.ts +4 -4
- package/dist/types/generated/resources/MaintenanceMode.d.ts +8 -8
- package/dist/types/generated/resources/MenuItem.d.ts +14 -14
- package/dist/types/generated/resources/Plugin.d.ts +14 -14
- package/dist/types/generated/resources/PublicInfo.d.ts +4 -4
- package/dist/types/generated/resources/Role.d.ts +14 -14
- package/dist/types/generated/resources/ScheduledPublication.d.ts +6 -6
- package/dist/types/generated/resources/ScheduledUnpublishing.d.ts +6 -6
- package/dist/types/generated/resources/SchemaMenuItem.d.ts +14 -14
- package/dist/types/generated/resources/SearchResult.d.ts +6 -6
- package/dist/types/generated/resources/Session.d.ts +4 -4
- package/dist/types/generated/resources/Site.d.ts +24 -24
- package/dist/types/generated/resources/SiteInvitation.d.ts +14 -14
- package/dist/types/generated/resources/SsoGroup.d.ts +10 -10
- package/dist/types/generated/resources/SsoSettings.d.ts +8 -8
- package/dist/types/generated/resources/SsoUser.d.ts +10 -10
- package/dist/types/generated/resources/SubscriptionFeature.d.ts +4 -4
- package/dist/types/generated/resources/SubscriptionLimit.d.ts +6 -6
- package/dist/types/generated/resources/Upload.d.ts +22 -22
- package/dist/types/generated/resources/UploadCollection.d.ts +14 -14
- package/dist/types/generated/resources/UploadFilter.d.ts +12 -12
- package/dist/types/generated/resources/UploadRequest.d.ts +4 -4
- package/dist/types/generated/resources/UploadSmartTag.d.ts +6 -6
- package/dist/types/generated/resources/UploadTag.d.ts +8 -8
- package/dist/types/generated/resources/UploadTrack.d.ts +10 -10
- package/dist/types/generated/resources/UsageCounter.d.ts +4 -4
- package/dist/types/generated/resources/User.d.ts +12 -12
- package/dist/types/generated/resources/Webhook.d.ts +12 -12
- package/dist/types/generated/resources/WebhookCall.d.ts +9 -9
- package/dist/types/generated/resources/WhiteLabelSettings.d.ts +6 -6
- package/dist/types/generated/resources/Workflow.d.ts +11 -11
- package/dist/types/index.d.ts +6 -4
- package/dist/types/resources/Role.d.ts +4 -4
- package/dist/types/utilities/blocks.d.ts +17 -17
- package/dist/types/utilities/buildBlockRecord.d.ts +5 -5
- package/dist/{esm/utilities/fieldValueLocalization.d.ts → types/utilities/fieldValue.d.ts} +30 -29
- package/dist/types/utilities/fieldsContainingReferences.d.ts +4 -4
- package/dist/types/utilities/recursiveBlocks.d.ts +13 -10
- package/dist/types/utilities/schemaRepository.d.ts +29 -26
- package/package.json +5 -5
- package/src/fieldTypes/boolean.ts +11 -0
- package/src/fieldTypes/color.ts +11 -0
- package/src/fieldTypes/date.ts +11 -0
- package/src/fieldTypes/date_time.ts +11 -0
- package/src/fieldTypes/file.ts +11 -0
- package/src/fieldTypes/float.ts +11 -0
- package/src/fieldTypes/gallery.ts +11 -0
- package/src/fieldTypes/integer.ts +11 -0
- package/src/fieldTypes/json.ts +11 -0
- package/src/fieldTypes/lat_lon.ts +11 -0
- package/src/fieldTypes/link.ts +11 -0
- package/src/fieldTypes/links.ts +11 -0
- package/src/fieldTypes/rich_text.ts +45 -15
- package/src/fieldTypes/seo.ts +11 -0
- package/src/fieldTypes/single_block.ts +76 -30
- package/src/fieldTypes/slug.ts +12 -1
- package/src/fieldTypes/string.ts +11 -0
- package/src/fieldTypes/structured_text.ts +63 -148
- package/src/fieldTypes/text.ts +11 -0
- package/src/fieldTypes/video.ts +11 -0
- package/src/generated/{SimpleSchemaTypes.ts → ApiTypes.ts} +2 -2
- package/src/generated/Client.ts +2 -2
- package/src/generated/{SchemaTypes.ts → RawApiTypes.ts} +2 -2
- package/src/generated/resources/AccessToken.ts +32 -34
- package/src/generated/resources/AuditLogEvent.ts +8 -8
- package/src/generated/resources/BuildEvent.ts +16 -18
- package/src/generated/resources/BuildTrigger.ts +30 -30
- package/src/generated/resources/DailyUsage.ts +5 -5
- package/src/generated/resources/EditingSession.ts +12 -12
- package/src/generated/resources/EmojiSuggestions.ts +7 -7
- package/src/generated/resources/Environment.ts +33 -39
- package/src/generated/resources/Field.ts +40 -54
- package/src/generated/resources/Fieldset.ts +28 -36
- package/src/generated/resources/Item.ts +99 -126
- package/src/generated/resources/ItemType.ts +37 -45
- package/src/generated/resources/ItemTypeFilter.ts +26 -26
- package/src/generated/resources/ItemVersion.ts +22 -26
- package/src/generated/resources/JobResult.ts +6 -8
- package/src/generated/resources/MaintenanceMode.ts +13 -13
- package/src/generated/resources/MenuItem.ts +34 -44
- package/src/generated/resources/Plugin.ts +30 -42
- package/src/generated/resources/PublicInfo.ts +5 -7
- package/src/generated/resources/Role.ts +29 -44
- package/src/generated/resources/ScheduledPublication.ts +13 -13
- package/src/generated/resources/ScheduledUnpublishing.ts +13 -13
- package/src/generated/resources/SchemaMenuItem.ts +34 -34
- package/src/generated/resources/SearchResult.ts +12 -12
- package/src/generated/resources/Session.ts +8 -10
- package/src/generated/resources/Site.ts +43 -47
- package/src/generated/resources/SiteInvitation.ts +30 -30
- package/src/generated/resources/SsoGroup.ts +20 -24
- package/src/generated/resources/SsoSettings.ts +14 -16
- package/src/generated/resources/SsoUser.ts +18 -22
- package/src/generated/resources/SubscriptionFeature.ts +5 -5
- package/src/generated/resources/SubscriptionLimit.ts +9 -9
- package/src/generated/resources/Upload.ts +57 -73
- package/src/generated/resources/UploadCollection.ts +34 -34
- package/src/generated/resources/UploadFilter.ts +26 -26
- package/src/generated/resources/UploadRequest.ts +8 -8
- package/src/generated/resources/UploadSmartTag.ts +12 -12
- package/src/generated/resources/UploadTag.ts +18 -20
- package/src/generated/resources/UploadTrack.ts +25 -29
- package/src/generated/resources/UsageCounter.ts +8 -8
- package/src/generated/resources/User.ts +28 -39
- package/src/generated/resources/Webhook.ts +26 -34
- package/src/generated/resources/WebhookCall.ts +17 -19
- package/src/generated/resources/WhiteLabelSettings.ts +11 -11
- package/src/generated/resources/Workflow.ts +23 -29
- package/src/index.ts +8 -4
- package/src/resources/Role.ts +6 -6
- package/src/utilities/blocks.ts +30 -30
- package/src/utilities/buildBlockRecord.ts +4 -4
- package/src/utilities/{fieldValueLocalization.ts → fieldValue.ts} +59 -74
- package/src/utilities/fieldsContainingReferences.ts +4 -4
- package/src/utilities/recursiveBlocks.ts +47 -44
- package/src/utilities/schemaRepository.ts +53 -56
- package/dist/cjs/generated/SchemaTypes.js.map +0 -1
- package/dist/cjs/generated/SimpleSchemaTypes.js.map +0 -1
- package/dist/cjs/utilities/fieldValueLocalization.js.map +0 -1
- package/dist/cjs/utilities/structuredText.js +0 -371
- package/dist/cjs/utilities/structuredText.js.map +0 -1
- package/dist/esm/generated/SchemaTypes.js +0 -2
- package/dist/esm/generated/SchemaTypes.js.map +0 -1
- package/dist/esm/generated/SimpleSchemaTypes.js +0 -2
- package/dist/esm/generated/SimpleSchemaTypes.js.map +0 -1
- package/dist/esm/utilities/fieldValueLocalization.js.map +0 -1
- package/dist/esm/utilities/structuredText.d.ts +0 -177
- package/dist/esm/utilities/structuredText.js +0 -354
- package/dist/esm/utilities/structuredText.js.map +0 -1
- package/dist/types/utilities/structuredText.d.ts +0 -177
- package/src/utilities/structuredText.ts +0 -590
package/src/utilities/blocks.ts
CHANGED
|
@@ -22,6 +22,15 @@
|
|
|
22
22
|
* particularly useful when block transformations require async operations like API calls.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
+
import {
|
|
26
|
+
type TreePath,
|
|
27
|
+
collectNodes,
|
|
28
|
+
collectNodesAsync,
|
|
29
|
+
filterNodes,
|
|
30
|
+
filterNodesAsync,
|
|
31
|
+
mapNodes,
|
|
32
|
+
mapNodesAsync,
|
|
33
|
+
} from 'datocms-structured-text-utils';
|
|
25
34
|
import type {
|
|
26
35
|
BlockItemInARequest,
|
|
27
36
|
RichTextFieldValue,
|
|
@@ -34,17 +43,8 @@ import type {
|
|
|
34
43
|
StructuredTextFieldValueAsRequest,
|
|
35
44
|
StructuredTextFieldValueWithNestedBlocks,
|
|
36
45
|
} from '../fieldTypes';
|
|
37
|
-
import type * as
|
|
38
|
-
import type * as
|
|
39
|
-
import {
|
|
40
|
-
type TreePath,
|
|
41
|
-
filterNodes,
|
|
42
|
-
filterNodesAsync,
|
|
43
|
-
findAllNodes,
|
|
44
|
-
findAllNodesAsync,
|
|
45
|
-
mapNodes,
|
|
46
|
-
mapNodesAsync,
|
|
47
|
-
} from './structuredText';
|
|
46
|
+
import type * as ApiTypes from '../generated/ApiTypes';
|
|
47
|
+
import type * as RawApiTypes from '../generated/RawApiTypes';
|
|
48
48
|
|
|
49
49
|
type PossibleRichTextValue =
|
|
50
50
|
| RichTextFieldValue
|
|
@@ -59,12 +59,12 @@ type PossibleStructuredTextValue =
|
|
|
59
59
|
| StructuredTextFieldValueAsRequest
|
|
60
60
|
| StructuredTextFieldValueWithNestedBlocks;
|
|
61
61
|
|
|
62
|
-
function getFieldType(field:
|
|
62
|
+
function getFieldType(field: RawApiTypes.Field | ApiTypes.Field) {
|
|
63
63
|
return 'attributes' in field ? field.attributes.field_type : field.field_type;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
function* iterateBlocks(
|
|
67
|
-
field:
|
|
67
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
68
68
|
value: unknown,
|
|
69
69
|
): Generator<{ item: BlockItemInARequest; path: TreePath }> {
|
|
70
70
|
const fieldType = getFieldType(field);
|
|
@@ -91,7 +91,7 @@ function* iterateBlocks(
|
|
|
91
91
|
if (fieldType === 'structured_text') {
|
|
92
92
|
const structuredTextValue = value as PossibleStructuredTextValue;
|
|
93
93
|
if (structuredTextValue) {
|
|
94
|
-
const foundNodes =
|
|
94
|
+
const foundNodes = collectNodes(
|
|
95
95
|
structuredTextValue.document,
|
|
96
96
|
(node) => node.type === 'block' || node.type === 'inlineBlock',
|
|
97
97
|
);
|
|
@@ -107,7 +107,7 @@ function* iterateBlocks(
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
async function* iterateBlocksAsync(
|
|
110
|
-
field:
|
|
110
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
111
111
|
value: unknown,
|
|
112
112
|
): AsyncGenerator<{ item: BlockItemInARequest; path: TreePath }> {
|
|
113
113
|
const fieldType = getFieldType(field);
|
|
@@ -134,7 +134,7 @@ async function* iterateBlocksAsync(
|
|
|
134
134
|
if (fieldType === 'structured_text') {
|
|
135
135
|
const structuredTextValue = value as PossibleStructuredTextValue;
|
|
136
136
|
if (structuredTextValue) {
|
|
137
|
-
const foundNodes = await
|
|
137
|
+
const foundNodes = await collectNodesAsync(
|
|
138
138
|
structuredTextValue.document,
|
|
139
139
|
async (node) => node.type === 'block' || node.type === 'inlineBlock',
|
|
140
140
|
);
|
|
@@ -158,7 +158,7 @@ async function* iterateBlocksAsync(
|
|
|
158
158
|
* @param visitor - Synchronous function called for each block. Receives the block item and its path
|
|
159
159
|
*/
|
|
160
160
|
export function nonRecursiveVisitBlocksInFieldValue(
|
|
161
|
-
field:
|
|
161
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
162
162
|
value: unknown,
|
|
163
163
|
visitor: (item: BlockItemInARequest, path: TreePath) => void,
|
|
164
164
|
): void {
|
|
@@ -177,7 +177,7 @@ export function nonRecursiveVisitBlocksInFieldValue(
|
|
|
177
177
|
* @returns Promise that resolves when all blocks have been visited
|
|
178
178
|
*/
|
|
179
179
|
export async function nonRecursiveVisitBlocksInFieldValueAsync(
|
|
180
|
-
field:
|
|
180
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
181
181
|
value: unknown,
|
|
182
182
|
visitor: (item: BlockItemInARequest, path: TreePath) => Promise<void>,
|
|
183
183
|
): Promise<void> {
|
|
@@ -197,7 +197,7 @@ export async function nonRecursiveVisitBlocksInFieldValueAsync(
|
|
|
197
197
|
* @returns The new field value with transformed blocks
|
|
198
198
|
*/
|
|
199
199
|
export function nonRecursiveMapBlocksInFieldValue(
|
|
200
|
-
field:
|
|
200
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
201
201
|
value: unknown,
|
|
202
202
|
mapper: (item: BlockItemInARequest, path: TreePath) => BlockItemInARequest,
|
|
203
203
|
): unknown {
|
|
@@ -251,7 +251,7 @@ export function nonRecursiveMapBlocksInFieldValue(
|
|
|
251
251
|
* @returns Promise that resolves to the new field value with transformed blocks
|
|
252
252
|
*/
|
|
253
253
|
export async function nonRecursiveMapBlocksInFieldValueAsync(
|
|
254
|
-
field:
|
|
254
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
255
255
|
value: unknown,
|
|
256
256
|
mapper: (
|
|
257
257
|
item: BlockItemInARequest,
|
|
@@ -309,7 +309,7 @@ export async function nonRecursiveMapBlocksInFieldValueAsync(
|
|
|
309
309
|
* @returns Array of objects, each containing a matching block and its path
|
|
310
310
|
*/
|
|
311
311
|
export function nonRecursiveFindAllBlocksInFieldValue(
|
|
312
|
-
field:
|
|
312
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
313
313
|
value: unknown,
|
|
314
314
|
predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
|
|
315
315
|
): Array<{ item: BlockItemInARequest; path: TreePath }> {
|
|
@@ -334,7 +334,7 @@ export function nonRecursiveFindAllBlocksInFieldValue(
|
|
|
334
334
|
* @returns Promise that resolves to an array of objects, each containing a matching block and its path
|
|
335
335
|
*/
|
|
336
336
|
export async function nonRecursiveFindAllBlocksInFieldValueAsync(
|
|
337
|
-
field:
|
|
337
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
338
338
|
value: unknown,
|
|
339
339
|
predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
|
|
340
340
|
): Promise<Array<{ item: BlockItemInARequest; path: TreePath }>> {
|
|
@@ -360,7 +360,7 @@ export async function nonRecursiveFindAllBlocksInFieldValueAsync(
|
|
|
360
360
|
* @returns The new field value with filtered blocks
|
|
361
361
|
*/
|
|
362
362
|
export function nonRecursiveFilterBlocksInFieldValue(
|
|
363
|
-
field:
|
|
363
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
364
364
|
value: unknown,
|
|
365
365
|
predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
|
|
366
366
|
): unknown {
|
|
@@ -426,7 +426,7 @@ export function nonRecursiveFilterBlocksInFieldValue(
|
|
|
426
426
|
* @returns Promise that resolves to the new field value with filtered blocks
|
|
427
427
|
*/
|
|
428
428
|
export async function nonRecursiveFilterBlocksInFieldValueAsync(
|
|
429
|
-
field:
|
|
429
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
430
430
|
value: unknown,
|
|
431
431
|
predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
|
|
432
432
|
): Promise<unknown> {
|
|
@@ -493,7 +493,7 @@ export async function nonRecursiveFilterBlocksInFieldValueAsync(
|
|
|
493
493
|
* @returns The final accumulated value
|
|
494
494
|
*/
|
|
495
495
|
export function nonRecursiveReduceBlocksInFieldValue<R>(
|
|
496
|
-
field:
|
|
496
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
497
497
|
value: unknown,
|
|
498
498
|
reducer: (accumulator: R, item: BlockItemInARequest, path: TreePath) => R,
|
|
499
499
|
initialValue: R,
|
|
@@ -519,7 +519,7 @@ export function nonRecursiveReduceBlocksInFieldValue<R>(
|
|
|
519
519
|
* @returns Promise that resolves to the final accumulated value
|
|
520
520
|
*/
|
|
521
521
|
export async function nonRecursiveReduceBlocksInFieldValueAsync<R>(
|
|
522
|
-
field:
|
|
522
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
523
523
|
value: unknown,
|
|
524
524
|
reducer: (
|
|
525
525
|
accumulator: R,
|
|
@@ -547,7 +547,7 @@ export async function nonRecursiveReduceBlocksInFieldValueAsync<R>(
|
|
|
547
547
|
* @returns True if any block matches, false otherwise
|
|
548
548
|
*/
|
|
549
549
|
export function nonRecursiveSomeBlocksInFieldValue(
|
|
550
|
-
field:
|
|
550
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
551
551
|
value: unknown,
|
|
552
552
|
predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
|
|
553
553
|
): boolean {
|
|
@@ -570,7 +570,7 @@ export function nonRecursiveSomeBlocksInFieldValue(
|
|
|
570
570
|
* @returns Promise that resolves to true if any block matches, false otherwise
|
|
571
571
|
*/
|
|
572
572
|
export async function nonRecursiveSomeBlocksInFieldValueAsync(
|
|
573
|
-
field:
|
|
573
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
574
574
|
value: unknown,
|
|
575
575
|
predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
|
|
576
576
|
): Promise<boolean> {
|
|
@@ -593,7 +593,7 @@ export async function nonRecursiveSomeBlocksInFieldValueAsync(
|
|
|
593
593
|
* @returns True if all blocks match, false otherwise
|
|
594
594
|
*/
|
|
595
595
|
export function nonRecursiveEveryBlockInFieldValue(
|
|
596
|
-
field:
|
|
596
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
597
597
|
value: unknown,
|
|
598
598
|
predicate: (item: BlockItemInARequest, path: TreePath) => boolean,
|
|
599
599
|
): boolean {
|
|
@@ -612,7 +612,7 @@ export function nonRecursiveEveryBlockInFieldValue(
|
|
|
612
612
|
* @returns Promise that resolves to true if all blocks match, false otherwise
|
|
613
613
|
*/
|
|
614
614
|
export async function nonRecursiveEveryBlockInFieldValueAsync(
|
|
615
|
-
field:
|
|
615
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
616
616
|
value: unknown,
|
|
617
617
|
predicate: (item: BlockItemInARequest, path: TreePath) => Promise<boolean>,
|
|
618
618
|
): Promise<boolean> {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as Utils from '@datocms/rest-client-utils';
|
|
2
|
-
import type * as
|
|
3
|
-
import type * as
|
|
2
|
+
import type * as ApiTypes from '../generated/ApiTypes';
|
|
3
|
+
import type * as RawApiTypes from '../generated/RawApiTypes';
|
|
4
4
|
import { Item } from '../generated/resources';
|
|
5
5
|
|
|
6
|
-
export function buildBlockRecord(body:
|
|
7
|
-
return Utils.serializeRequestBody<
|
|
6
|
+
export function buildBlockRecord(body: ApiTypes.ItemUpdateSchema) {
|
|
7
|
+
return Utils.serializeRequestBody<RawApiTypes.ItemUpdateSchema>(body, {
|
|
8
8
|
type: Item.TYPE,
|
|
9
9
|
attributes: '*',
|
|
10
10
|
relationships: ['item_type'],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type * as
|
|
2
|
-
import type * as
|
|
1
|
+
import type * as ApiTypes from '../generated/ApiTypes';
|
|
2
|
+
import type * as RawApiTypes from '../generated/RawApiTypes';
|
|
3
3
|
|
|
4
4
|
/*
|
|
5
5
|
* Localized Field Value Operations Utilities
|
|
@@ -18,23 +18,6 @@ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
|
|
|
18
18
|
* - Reduces code duplication and potential bugs from inconsistent handling
|
|
19
19
|
* - Supports both synchronous and asynchronous operations
|
|
20
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
21
|
*/
|
|
39
22
|
|
|
40
23
|
/**
|
|
@@ -44,7 +27,7 @@ import type * as SimpleSchemaTypes from '../generated/SimpleSchemaTypes';
|
|
|
44
27
|
* for various locales structured as an object, such as
|
|
45
28
|
* `{ "en": "Hello", "it": "Ciao" }`
|
|
46
29
|
*/
|
|
47
|
-
export type LocalizedFieldValue = Record<string,
|
|
30
|
+
export type LocalizedFieldValue<T = unknown> = Record<string, T>;
|
|
48
31
|
|
|
49
32
|
/**
|
|
50
33
|
* Determines whether a DatoCMS field is localized or not.
|
|
@@ -56,7 +39,7 @@ export type LocalizedFieldValue = Record<string, unknown>;
|
|
|
56
39
|
* @returns true if the field is localized, false otherwise
|
|
57
40
|
*/
|
|
58
41
|
export function isLocalized(
|
|
59
|
-
field:
|
|
42
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
60
43
|
): boolean {
|
|
61
44
|
return 'attributes' in field ? field.attributes.localized : field.localized;
|
|
62
45
|
}
|
|
@@ -69,11 +52,13 @@ export function isLocalized(
|
|
|
69
52
|
*
|
|
70
53
|
* This uniform structure allows the same processing logic to work with both field types.
|
|
71
54
|
*/
|
|
72
|
-
export type
|
|
55
|
+
export type FieldValueEntry = {
|
|
73
56
|
locale: string | undefined;
|
|
74
57
|
value: unknown;
|
|
75
58
|
};
|
|
76
59
|
|
|
60
|
+
export type PossiblyLocalizedEntry = FieldValueEntry;
|
|
61
|
+
|
|
77
62
|
/**
|
|
78
63
|
* Converts a field value (localized or non-localized) into a uniform array of entries.
|
|
79
64
|
*
|
|
@@ -84,14 +69,14 @@ export type PossiblyLocalizedEntry = {
|
|
|
84
69
|
* @param value - The field value to convert (either a localized object or direct value)
|
|
85
70
|
* @returns Array of entries where each entry contains a locale (string for localized, undefined for non-localized) and the corresponding value
|
|
86
71
|
*/
|
|
87
|
-
export function
|
|
88
|
-
field:
|
|
72
|
+
export function fieldValueToEntries(
|
|
73
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
89
74
|
value: unknown,
|
|
90
75
|
) {
|
|
91
76
|
if (isLocalized(field)) {
|
|
92
77
|
const localizedValue = value as LocalizedFieldValue;
|
|
93
78
|
|
|
94
|
-
return Object.entries(localizedValue).map<
|
|
79
|
+
return Object.entries(localizedValue).map<FieldValueEntry>(
|
|
95
80
|
([locale, value]) => ({ locale, value }),
|
|
96
81
|
);
|
|
97
82
|
}
|
|
@@ -110,9 +95,9 @@ export function fieldValueToPossiblyLocalizedEntries(
|
|
|
110
95
|
* @param possiblyLocalizedEntries - Array of entries to convert back to field value format
|
|
111
96
|
* @returns Either a localized object (for localized fields) or the direct value (for non-localized fields)
|
|
112
97
|
*/
|
|
113
|
-
export function
|
|
114
|
-
field:
|
|
115
|
-
possiblyLocalizedEntries:
|
|
98
|
+
export function entriesToFieldValue(
|
|
99
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
100
|
+
possiblyLocalizedEntries: FieldValueEntry[],
|
|
116
101
|
) {
|
|
117
102
|
if (isLocalized(field)) {
|
|
118
103
|
return Object.fromEntries(
|
|
@@ -124,9 +109,9 @@ export function possiblyLocalizedEntriesToFieldValue(
|
|
|
124
109
|
}
|
|
125
110
|
|
|
126
111
|
/**
|
|
127
|
-
* Maps
|
|
112
|
+
* Maps field values using a provided mapping function.
|
|
128
113
|
* For localized fields, applies the mapping function to each locale value.
|
|
129
|
-
* For non-localized fields, applies the mapping function directly to the
|
|
114
|
+
* For non-localized fields, applies the mapping function directly to the value.
|
|
130
115
|
*
|
|
131
116
|
* @template T - The type that the mapping function returns
|
|
132
117
|
* @param field - The DatoCMS field definition
|
|
@@ -134,23 +119,23 @@ export function possiblyLocalizedEntriesToFieldValue(
|
|
|
134
119
|
* @param mapFn - The function to apply to each locale value or the direct value
|
|
135
120
|
* @returns The mapped value with the same structure as the input
|
|
136
121
|
*/
|
|
137
|
-
export function
|
|
138
|
-
field:
|
|
122
|
+
export function mapFieldValue<T>(
|
|
123
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
139
124
|
value: unknown,
|
|
140
125
|
mapFn: (locale: string | undefined, localeValue: unknown) => T,
|
|
141
126
|
) {
|
|
142
|
-
const entries =
|
|
127
|
+
const entries = fieldValueToEntries(field, value);
|
|
143
128
|
const mappedEntries = entries.map(({ locale, value }) => ({
|
|
144
129
|
locale,
|
|
145
130
|
value: mapFn(locale, value),
|
|
146
131
|
}));
|
|
147
|
-
return
|
|
132
|
+
return entriesToFieldValue(field, mappedEntries);
|
|
148
133
|
}
|
|
149
134
|
|
|
150
135
|
/**
|
|
151
|
-
* Maps
|
|
136
|
+
* Maps field values using a provided mapping function (async version).
|
|
152
137
|
* For localized fields, applies the mapping function to each locale value.
|
|
153
|
-
* For non-localized fields, applies the mapping function directly to the
|
|
138
|
+
* For non-localized fields, applies the mapping function directly to the value.
|
|
154
139
|
*
|
|
155
140
|
* @template T - The type that the mapping function returns
|
|
156
141
|
* @param field - The DatoCMS field definition
|
|
@@ -158,23 +143,23 @@ export function mapLocalizedFieldValues<T>(
|
|
|
158
143
|
* @param mapFn - The function to apply to each locale value or the direct value
|
|
159
144
|
* @returns The mapped value with the same structure as the input
|
|
160
145
|
*/
|
|
161
|
-
export async function
|
|
162
|
-
field:
|
|
146
|
+
export async function mapFieldValueAsync<T>(
|
|
147
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
163
148
|
value: unknown,
|
|
164
149
|
mapFn: (locale: string | undefined, localeValue: unknown) => Promise<T>,
|
|
165
150
|
) {
|
|
166
|
-
const entries =
|
|
151
|
+
const entries = fieldValueToEntries(field, value);
|
|
167
152
|
const mappedEntries = await Promise.all(
|
|
168
153
|
entries.map(async ({ locale, value }) => ({
|
|
169
154
|
locale,
|
|
170
155
|
value: await mapFn(locale, value),
|
|
171
156
|
})),
|
|
172
157
|
);
|
|
173
|
-
return
|
|
158
|
+
return entriesToFieldValue(field, mappedEntries);
|
|
174
159
|
}
|
|
175
160
|
|
|
176
161
|
/**
|
|
177
|
-
* Filters
|
|
162
|
+
* Filters field values using a provided filter function.
|
|
178
163
|
* For localized fields, filters each locale value.
|
|
179
164
|
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
180
165
|
*
|
|
@@ -183,25 +168,25 @@ export async function mapLocalizedFieldValuesAsync<T>(
|
|
|
183
168
|
* @param filterFn - The function to test each locale value or the direct value
|
|
184
169
|
* @returns The filtered value with the same structure as the input
|
|
185
170
|
*/
|
|
186
|
-
export function
|
|
187
|
-
field:
|
|
171
|
+
export function filterFieldValue(
|
|
172
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
188
173
|
value: unknown,
|
|
189
174
|
filterFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
190
175
|
) {
|
|
191
|
-
const entries =
|
|
176
|
+
const entries = fieldValueToEntries(field, value);
|
|
192
177
|
const filteredEntries = entries.filter(({ locale, value }) =>
|
|
193
178
|
filterFn(locale, value),
|
|
194
179
|
);
|
|
195
180
|
|
|
196
181
|
if (isLocalized(field)) {
|
|
197
|
-
return
|
|
182
|
+
return entriesToFieldValue(field, filteredEntries);
|
|
198
183
|
}
|
|
199
184
|
|
|
200
185
|
return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
|
|
201
186
|
}
|
|
202
187
|
|
|
203
188
|
/**
|
|
204
|
-
* Filters
|
|
189
|
+
* Filters field values using a provided filter function (async version).
|
|
205
190
|
* For localized fields, filters each locale value.
|
|
206
191
|
* For non-localized fields, returns the value if the filter passes, otherwise undefined.
|
|
207
192
|
*
|
|
@@ -210,15 +195,15 @@ export function filterLocalizedFieldValues(
|
|
|
210
195
|
* @param filterFn - The function to test each locale value or the direct value
|
|
211
196
|
* @returns The filtered value with the same structure as the input
|
|
212
197
|
*/
|
|
213
|
-
export async function
|
|
214
|
-
field:
|
|
198
|
+
export async function filterFieldValueAsync(
|
|
199
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
215
200
|
value: unknown,
|
|
216
201
|
filterFn: (
|
|
217
202
|
locale: string | undefined,
|
|
218
203
|
localeValue: unknown,
|
|
219
204
|
) => Promise<boolean>,
|
|
220
205
|
) {
|
|
221
|
-
const entries =
|
|
206
|
+
const entries = fieldValueToEntries(field, value);
|
|
222
207
|
const results = await Promise.all(
|
|
223
208
|
entries.map(async ({ locale, value }) => ({
|
|
224
209
|
locale,
|
|
@@ -232,14 +217,14 @@ export async function filterLocalizedFieldValuesAsync(
|
|
|
232
217
|
.map(({ locale, value }) => ({ locale, value }));
|
|
233
218
|
|
|
234
219
|
if (isLocalized(field)) {
|
|
235
|
-
return
|
|
220
|
+
return entriesToFieldValue(field, filteredEntries);
|
|
236
221
|
}
|
|
237
222
|
|
|
238
223
|
return filteredEntries.length > 0 ? filteredEntries[0]?.value : undefined;
|
|
239
224
|
}
|
|
240
225
|
|
|
241
226
|
/**
|
|
242
|
-
* Tests whether at least one
|
|
227
|
+
* Tests whether at least one field value passes the test implemented by the provided function.
|
|
243
228
|
* For localized fields, tests each locale value.
|
|
244
229
|
* For non-localized fields, tests the direct value.
|
|
245
230
|
*
|
|
@@ -248,17 +233,17 @@ export async function filterLocalizedFieldValuesAsync(
|
|
|
248
233
|
* @param testFn - The function to test each locale value or the direct value
|
|
249
234
|
* @returns true if at least one value passes the test, false otherwise
|
|
250
235
|
*/
|
|
251
|
-
export function
|
|
252
|
-
field:
|
|
236
|
+
export function someFieldValue(
|
|
237
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
253
238
|
value: unknown,
|
|
254
239
|
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
255
240
|
): boolean {
|
|
256
|
-
const entries =
|
|
241
|
+
const entries = fieldValueToEntries(field, value);
|
|
257
242
|
return entries.some(({ locale, value }) => testFn(locale, value));
|
|
258
243
|
}
|
|
259
244
|
|
|
260
245
|
/**
|
|
261
|
-
* Tests whether at least one
|
|
246
|
+
* Tests whether at least one field value passes the test implemented by the provided function (async version).
|
|
262
247
|
* For localized fields, tests each locale value.
|
|
263
248
|
* For non-localized fields, tests the direct value.
|
|
264
249
|
*
|
|
@@ -267,15 +252,15 @@ export function someLocalizedFieldValues(
|
|
|
267
252
|
* @param testFn - The function to test each locale value or the direct value
|
|
268
253
|
* @returns true if at least one value passes the test, false otherwise
|
|
269
254
|
*/
|
|
270
|
-
export async function
|
|
271
|
-
field:
|
|
255
|
+
export async function someFieldValueAsync(
|
|
256
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
272
257
|
value: unknown,
|
|
273
258
|
testFn: (
|
|
274
259
|
locale: string | undefined,
|
|
275
260
|
localeValue: unknown,
|
|
276
261
|
) => Promise<boolean>,
|
|
277
262
|
): Promise<boolean> {
|
|
278
|
-
const entries =
|
|
263
|
+
const entries = fieldValueToEntries(field, value);
|
|
279
264
|
const results = await Promise.all(
|
|
280
265
|
entries.map(({ locale, value }) => testFn(locale, value)),
|
|
281
266
|
);
|
|
@@ -283,7 +268,7 @@ export async function someLocalizedFieldValuesAsync(
|
|
|
283
268
|
}
|
|
284
269
|
|
|
285
270
|
/**
|
|
286
|
-
* Tests whether all
|
|
271
|
+
* Tests whether all field values pass the test implemented by the provided function.
|
|
287
272
|
* For localized fields, tests each locale value.
|
|
288
273
|
* For non-localized fields, tests the direct value.
|
|
289
274
|
*
|
|
@@ -292,12 +277,12 @@ export async function someLocalizedFieldValuesAsync(
|
|
|
292
277
|
* @param testFn - The function to test each locale value or the direct value
|
|
293
278
|
* @returns true if all values pass the test, false otherwise
|
|
294
279
|
*/
|
|
295
|
-
export function
|
|
296
|
-
field:
|
|
280
|
+
export function everyFieldValue(
|
|
281
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
297
282
|
value: unknown,
|
|
298
283
|
testFn: (locale: string | undefined, localeValue: unknown) => boolean,
|
|
299
284
|
): boolean {
|
|
300
|
-
return !
|
|
285
|
+
return !someFieldValue(
|
|
301
286
|
field,
|
|
302
287
|
value,
|
|
303
288
|
(locale, localeValue) => !testFn(locale, localeValue),
|
|
@@ -305,7 +290,7 @@ export function everyLocalizedFieldValues(
|
|
|
305
290
|
}
|
|
306
291
|
|
|
307
292
|
/**
|
|
308
|
-
* Tests whether all
|
|
293
|
+
* Tests whether all field values pass the test implemented by the provided function (async version).
|
|
309
294
|
* For localized fields, tests each locale value.
|
|
310
295
|
* For non-localized fields, tests the direct value.
|
|
311
296
|
*
|
|
@@ -314,15 +299,15 @@ export function everyLocalizedFieldValues(
|
|
|
314
299
|
* @param testFn - The function to test each locale value or the direct value
|
|
315
300
|
* @returns true if all values pass the test, false otherwise
|
|
316
301
|
*/
|
|
317
|
-
export async function
|
|
318
|
-
field:
|
|
302
|
+
export async function everyFieldValueAsync(
|
|
303
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
319
304
|
value: unknown,
|
|
320
305
|
testFn: (
|
|
321
306
|
locale: string | undefined,
|
|
322
307
|
localeValue: unknown,
|
|
323
308
|
) => Promise<boolean>,
|
|
324
309
|
): Promise<boolean> {
|
|
325
|
-
return !(await
|
|
310
|
+
return !(await someFieldValueAsync(
|
|
326
311
|
field,
|
|
327
312
|
value,
|
|
328
313
|
async (locale, localeValue) => !(await testFn(locale, localeValue)),
|
|
@@ -330,7 +315,7 @@ export async function everyLocalizedFieldValuesAsync(
|
|
|
330
315
|
}
|
|
331
316
|
|
|
332
317
|
/**
|
|
333
|
-
* Visits each
|
|
318
|
+
* Visits each field value with the provided function.
|
|
334
319
|
* For localized fields, visits each locale value.
|
|
335
320
|
* For non-localized fields, visits the direct value.
|
|
336
321
|
*
|
|
@@ -338,19 +323,19 @@ export async function everyLocalizedFieldValuesAsync(
|
|
|
338
323
|
* @param value - The field value (either localized object or direct value)
|
|
339
324
|
* @param visitFn - The function to call for each locale value or the direct value
|
|
340
325
|
*/
|
|
341
|
-
export function
|
|
342
|
-
field:
|
|
326
|
+
export function visitFieldValue(
|
|
327
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
343
328
|
value: unknown,
|
|
344
329
|
visitFn: (locale: string | undefined, localeValue: unknown) => void,
|
|
345
330
|
): void {
|
|
346
|
-
const entries =
|
|
331
|
+
const entries = fieldValueToEntries(field, value);
|
|
347
332
|
for (const { locale, value } of entries) {
|
|
348
333
|
visitFn(locale, value);
|
|
349
334
|
}
|
|
350
335
|
}
|
|
351
336
|
|
|
352
337
|
/**
|
|
353
|
-
* Visits each
|
|
338
|
+
* Visits each field value with the provided function (async version).
|
|
354
339
|
* For localized fields, visits each locale value.
|
|
355
340
|
* For non-localized fields, visits the direct value.
|
|
356
341
|
*
|
|
@@ -358,11 +343,11 @@ export function visitLocalizedFieldValues(
|
|
|
358
343
|
* @param value - The field value (either localized object or direct value)
|
|
359
344
|
* @param visitFn - The function to call for each locale value or the direct value
|
|
360
345
|
*/
|
|
361
|
-
export async function
|
|
362
|
-
field:
|
|
346
|
+
export async function visitFieldValueAsync(
|
|
347
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
363
348
|
value: unknown,
|
|
364
349
|
visitFn: (locale: string | undefined, localeValue: unknown) => Promise<void>,
|
|
365
350
|
): Promise<void> {
|
|
366
|
-
const entries =
|
|
351
|
+
const entries = fieldValueToEntries(field, value);
|
|
367
352
|
await Promise.all(entries.map(({ locale, value }) => visitFn(locale, value)));
|
|
368
353
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type * as
|
|
2
|
-
import type * as
|
|
1
|
+
import type * as ApiTypes from '../generated/ApiTypes';
|
|
2
|
+
import type * as RawApiTypes from '../generated/RawApiTypes';
|
|
3
3
|
|
|
4
4
|
export function modelIdsReferencedInField(
|
|
5
|
-
field:
|
|
5
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
6
6
|
) {
|
|
7
7
|
const attributes = 'attributes' in field ? field.attributes : field;
|
|
8
8
|
|
|
@@ -23,7 +23,7 @@ export function modelIdsReferencedInField(
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export function blockModelIdsReferencedInField(
|
|
26
|
-
field:
|
|
26
|
+
field: RawApiTypes.Field | ApiTypes.Field,
|
|
27
27
|
) {
|
|
28
28
|
const attributes = 'attributes' in field ? field.attributes : field;
|
|
29
29
|
|