@prismicio/types-internal 3.17.0-pr.144.f39b468 → 3.17.0-pr.145.680cd65
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/common/Asset.cjs +1 -0
- package/dist/common/Asset.cjs.map +1 -1
- package/dist/common/Embed.cjs +1 -0
- package/dist/common/Embed.cjs.map +1 -1
- package/dist/common/HexaColorCode.cjs +2 -0
- package/dist/common/HexaColorCode.cjs.map +1 -1
- package/dist/common/HexaColorCode.d.cts +1 -1
- package/dist/common/HexaColorCode.d.ts +1 -1
- package/dist/common/HexaColorCode.js +1 -1
- package/dist/common/UUID.cjs +3 -2
- package/dist/common/UUID.cjs.map +1 -1
- package/dist/common/UUID.d.cts +11 -0
- package/dist/common/UUID.d.cts.map +1 -0
- package/dist/common/UUID.d.ts +11 -0
- package/dist/common/UUID.d.ts.map +1 -0
- package/dist/common/WidgetKey.cjs +3 -2
- package/dist/common/WidgetKey.cjs.map +1 -1
- package/dist/common/index.cjs +10 -6
- package/dist/common/index.d.cts +1 -1
- package/dist/common/index.d.ts +1 -1
- package/dist/common/index.js +1 -1
- package/dist/content/Document.cjs +48 -47
- package/dist/content/Document.cjs.map +1 -1
- package/dist/content/Document.d.cts +20 -20
- package/dist/content/Document.d.cts.map +1 -1
- package/dist/content/Document.d.ts +20 -20
- package/dist/content/Document.d.ts.map +1 -1
- package/dist/content/LegacyContentCtx.cjs +4 -3
- package/dist/content/LegacyContentCtx.cjs.map +1 -1
- package/dist/content/fields/EmptyContent.cjs +3 -2
- package/dist/content/fields/EmptyContent.cjs.map +1 -1
- package/dist/content/fields/GroupContent.cjs +26 -25
- package/dist/content/fields/GroupContent.cjs.map +1 -1
- package/dist/content/fields/UIDContent.cjs +3 -2
- package/dist/content/fields/UIDContent.cjs.map +1 -1
- package/dist/content/fields/WidgetContent.cjs +18 -17
- package/dist/content/fields/WidgetContent.cjs.map +1 -1
- package/dist/content/fields/WidgetContent.d.cts +10 -10
- package/dist/content/fields/WidgetContent.d.ts +10 -10
- package/dist/content/fields/index.cjs +209 -32
- package/dist/content/fields/index.d.cts +33 -0
- package/dist/content/fields/index.d.ts +2 -1
- package/dist/content/fields/index.js +2 -0
- package/dist/content/fields/nestable/BooleanContent.cjs +3 -2
- package/dist/content/fields/nestable/BooleanContent.cjs.map +1 -1
- package/dist/content/fields/nestable/EmbedContent.cjs +14 -13
- package/dist/content/fields/nestable/EmbedContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/ColorContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/ColorContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/DateContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/DateContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/NumberContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/NumberContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/RangeContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/RangeContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/SelectContent.cjs +16 -15
- package/dist/content/fields/nestable/FieldContent/SelectContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/TextContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/TextContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/TimestampContent.cjs +14 -13
- package/dist/content/fields/nestable/FieldContent/TimestampContent.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/common.cjs +1 -0
- package/dist/content/fields/nestable/FieldContent/common.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/index.cjs +39 -15
- package/dist/content/fields/nestable/FieldContent/index.cjs.map +1 -1
- package/dist/content/fields/nestable/FieldContent/index.d.cts +1 -1
- package/dist/content/fields/nestable/FieldContent/index.d.ts +1 -1
- package/dist/content/fields/nestable/FieldContent/index.js +1 -1
- package/dist/content/fields/nestable/GeoPointContent.cjs +3 -2
- package/dist/content/fields/nestable/GeoPointContent.cjs.map +1 -1
- package/dist/content/fields/nestable/ImageContent.cjs +10 -9
- package/dist/content/fields/nestable/ImageContent.cjs.map +1 -1
- package/dist/content/fields/nestable/IntegrationFieldContent.cjs +3 -2
- package/dist/content/fields/nestable/IntegrationFieldContent.cjs.map +1 -1
- package/dist/content/fields/nestable/LinkContent.cjs +26 -25
- package/dist/content/fields/nestable/LinkContent.cjs.map +1 -1
- package/dist/content/fields/nestable/NestableContent.cjs +77 -76
- package/dist/content/fields/nestable/NestableContent.cjs.map +1 -1
- package/dist/content/fields/nestable/RepeatableContent.cjs +11 -10
- package/dist/content/fields/nestable/RepeatableContent.cjs.map +1 -1
- package/dist/content/fields/nestable/RichTextContent/Blocks.cjs +31 -30
- package/dist/content/fields/nestable/RichTextContent/Blocks.cjs.map +1 -1
- package/dist/content/fields/nestable/RichTextContent/index.cjs +17 -5
- package/dist/content/fields/nestable/RichTextContent/index.cjs.map +1 -1
- package/dist/content/fields/nestable/RichTextContent/index.d.cts +1 -1
- package/dist/content/fields/nestable/RichTextContent/index.d.ts +1 -1
- package/dist/content/fields/nestable/RichTextContent/index.js +1 -1
- package/dist/content/fields/nestable/SeparatorContent.cjs +3 -2
- package/dist/content/fields/nestable/SeparatorContent.cjs.map +1 -1
- package/dist/content/fields/nestable/TableContent.cjs +13 -12
- package/dist/content/fields/nestable/TableContent.cjs.map +1 -1
- package/dist/content/fields/nestable/index.cjs +135 -21
- package/dist/content/fields/nestable/index.d.cts +22 -0
- package/dist/content/fields/nestable/index.d.ts +2 -1
- package/dist/content/fields/nestable/index.js +2 -0
- package/dist/content/fields/slices/Slice/CompositeSliceContent.cjs +19 -18
- package/dist/content/fields/slices/Slice/CompositeSliceContent.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/CompositeSliceContent.d.cts +2 -2
- package/dist/content/fields/slices/Slice/CompositeSliceContent.d.cts.map +1 -1
- package/dist/content/fields/slices/Slice/CompositeSliceContent.d.ts +2 -2
- package/dist/content/fields/slices/Slice/CompositeSliceContent.d.ts.map +1 -1
- package/dist/content/fields/slices/Slice/RepeatableContent.cjs +6 -5
- package/dist/content/fields/slices/Slice/RepeatableContent.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/RepeatableContent.d.cts +779 -0
- package/dist/content/fields/slices/Slice/RepeatableContent.d.cts.map +1 -0
- package/dist/content/fields/slices/Slice/RepeatableContent.d.ts +779 -0
- package/dist/content/fields/slices/Slice/RepeatableContent.d.ts.map +1 -0
- package/dist/content/fields/slices/Slice/SharedSliceContent.cjs +27 -26
- package/dist/content/fields/slices/Slice/SharedSliceContent.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/SharedSliceContent.d.cts +4 -4
- package/dist/content/fields/slices/Slice/SharedSliceContent.d.cts.map +1 -1
- package/dist/content/fields/slices/Slice/SharedSliceContent.d.ts +4 -4
- package/dist/content/fields/slices/Slice/SharedSliceContent.d.ts.map +1 -1
- package/dist/content/fields/slices/Slice/SimpleSliceContent.cjs +11 -10
- package/dist/content/fields/slices/Slice/SimpleSliceContent.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/SlicePrimaryContent.cjs +10 -9
- package/dist/content/fields/slices/Slice/SlicePrimaryContent.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/index.cjs +35 -13
- package/dist/content/fields/slices/Slice/index.cjs.map +1 -1
- package/dist/content/fields/slices/Slice/index.d.cts +7 -7
- package/dist/content/fields/slices/Slice/index.d.ts +7 -7
- package/dist/content/fields/slices/Slice/index.js +1 -1
- package/dist/content/fields/slices/SliceItem.cjs +24 -23
- package/dist/content/fields/slices/SliceItem.cjs.map +1 -1
- package/dist/content/fields/slices/SliceItem.d.cts +8 -8
- package/dist/content/fields/slices/SliceItem.d.cts.map +1 -1
- package/dist/content/fields/slices/SliceItem.d.ts +8 -8
- package/dist/content/fields/slices/SliceItem.d.ts.map +1 -1
- package/dist/content/fields/slices/SlicesContent.cjs +50 -49
- package/dist/content/fields/slices/SlicesContent.cjs.map +1 -1
- package/dist/content/fields/slices/SlicesContent.d.cts +8 -8
- package/dist/content/fields/slices/SlicesContent.d.cts.map +1 -1
- package/dist/content/fields/slices/SlicesContent.d.ts +8 -8
- package/dist/content/fields/slices/SlicesContent.d.ts.map +1 -1
- package/dist/content/fields/slices/index.cjs +47 -7
- package/dist/content/fields/slices/index.d.cts +8 -0
- package/dist/content/fields/slices/index.d.ts +2 -1
- package/dist/content/fields/slices/index.js +2 -0
- package/dist/content/fields/withDefaultValues.cjs +11 -10
- package/dist/content/fields/withDefaultValues.cjs.map +1 -1
- package/dist/content/fields/withDefaultValues.d.cts +16 -0
- package/dist/content/fields/withDefaultValues.d.cts.map +1 -0
- package/dist/content/fields/withDefaultValues.d.ts +18 -0
- package/dist/content/fields/withDefaultValues.d.ts.map +1 -0
- package/dist/content/helpers.cjs +1 -0
- package/dist/content/helpers.cjs.map +1 -1
- package/dist/content/index.cjs +417 -226
- package/dist/content/index.d.cts +1 -1
- package/dist/content/index.d.ts +1 -1
- package/dist/content/index.js +1 -1
- package/dist/content/utils.cjs +7 -4
- package/dist/content/utils.cjs.map +1 -1
- package/dist/content/utils.d.cts +1 -1
- package/dist/content/utils.d.ts +1 -1
- package/dist/content/utils.js +1 -1
- package/dist/customtypes/CustomType.cjs +8 -7
- package/dist/customtypes/CustomType.cjs.map +1 -1
- package/dist/customtypes/Section.cjs +11 -10
- package/dist/customtypes/Section.cjs.map +1 -1
- package/dist/customtypes/diff/Changes.cjs +1 -0
- package/dist/customtypes/diff/Changes.cjs.map +1 -1
- package/dist/customtypes/diff/SharedSlice.cjs +13 -12
- package/dist/customtypes/diff/SharedSlice.cjs.map +1 -1
- package/dist/customtypes/diff/Variation.cjs +19 -18
- package/dist/customtypes/diff/Variation.cjs.map +1 -1
- package/dist/customtypes/diff/Widgets.cjs +0 -0
- package/dist/customtypes/diff/Widgets.js +0 -0
- package/dist/customtypes/diff/index.cjs +8 -3
- package/dist/customtypes/diff/index.d.cts +5 -0
- package/dist/customtypes/diff/index.d.ts +2 -1
- package/dist/customtypes/diff/index.js +2 -0
- package/dist/customtypes/index.cjs +272 -152
- package/dist/customtypes/index.d.cts +2 -2
- package/dist/customtypes/index.d.ts +2 -2
- package/dist/customtypes/index.js +1 -1
- package/dist/customtypes/widgets/Group.cjs +11 -10
- package/dist/customtypes/widgets/Group.cjs.map +1 -1
- package/dist/customtypes/widgets/UID.cjs +4 -3
- package/dist/customtypes/widgets/UID.cjs.map +1 -1
- package/dist/customtypes/widgets/Widget.cjs +47 -46
- package/dist/customtypes/widgets/Widget.cjs.map +1 -1
- package/dist/customtypes/widgets/index.cjs +129 -28
- package/dist/customtypes/widgets/index.d.cts +30 -0
- package/dist/customtypes/widgets/index.d.ts +3 -2
- package/dist/customtypes/widgets/index.js +2 -0
- package/dist/customtypes/widgets/nestable/BooleanField.cjs +3 -2
- package/dist/customtypes/widgets/nestable/BooleanField.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Color.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Color.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Date.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Date.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Embed.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Embed.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/GeoPoint.cjs +4 -3
- package/dist/customtypes/widgets/nestable/GeoPoint.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Image.cjs +7 -6
- package/dist/customtypes/widgets/nestable/Image.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/IntegrationField.cjs +4 -3
- package/dist/customtypes/widgets/nestable/IntegrationField.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Link.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Link.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/NestableWidget.cjs +33 -32
- package/dist/customtypes/widgets/nestable/NestableWidget.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Number.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Number.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Range.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Range.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/RichText.cjs +6 -5
- package/dist/customtypes/widgets/nestable/RichText.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Select.cjs +8 -7
- package/dist/customtypes/widgets/nestable/Select.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Separator.cjs +3 -2
- package/dist/customtypes/widgets/nestable/Separator.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Table.cjs +8 -7
- package/dist/customtypes/widgets/nestable/Table.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Text.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Text.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/Timestamp.cjs +4 -3
- package/dist/customtypes/widgets/nestable/Timestamp.cjs.map +1 -1
- package/dist/customtypes/widgets/nestable/index.cjs +73 -17
- package/dist/customtypes/widgets/nestable/index.d.cts +18 -0
- package/dist/customtypes/widgets/nestable/index.d.ts +2 -1
- package/dist/customtypes/widgets/nestable/index.js +2 -0
- package/dist/customtypes/widgets/shared/ImageConstraint.cjs +5 -5
- package/dist/customtypes/widgets/shared/ImageConstraint.d.cts +1 -2
- package/dist/customtypes/widgets/shared/ImageConstraint.d.cts.map +1 -1
- package/dist/customtypes/widgets/shared/ImageConstraint.d.ts +1 -1
- package/dist/customtypes/widgets/shared/index.cjs +4 -1
- package/dist/customtypes/widgets/shared/index.d.cts +2 -0
- package/dist/customtypes/widgets/shared/index.d.ts +2 -1
- package/dist/customtypes/widgets/shared/index.js +2 -0
- package/dist/customtypes/widgets/slices/CompositeSlice.cjs +8 -7
- package/dist/customtypes/widgets/slices/CompositeSlice.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/LegacySlice.cjs +4 -3
- package/dist/customtypes/widgets/slices/LegacySlice.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/SharedSlice.cjs +8 -7
- package/dist/customtypes/widgets/slices/SharedSlice.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/SharedSliceRef.cjs +3 -2
- package/dist/customtypes/widgets/slices/SharedSliceRef.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/Slice.cjs +0 -0
- package/dist/customtypes/widgets/slices/Slice.js +0 -0
- package/dist/customtypes/widgets/slices/SlicePrimaryWidget.cjs +5 -4
- package/dist/customtypes/widgets/slices/SlicePrimaryWidget.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/Slices.cjs +18 -17
- package/dist/customtypes/widgets/slices/Slices.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/SlicesTypes.cjs +5 -4
- package/dist/customtypes/widgets/slices/SlicesTypes.cjs.map +1 -1
- package/dist/customtypes/widgets/slices/index.cjs +38 -7
- package/dist/customtypes/widgets/slices/index.d.cts +9 -0
- package/dist/customtypes/widgets/slices/index.d.ts +2 -1
- package/dist/customtypes/widgets/slices/index.js +2 -0
- package/dist/index.cjs +10 -10
- package/dist/utils/Arrays.cjs +1 -0
- package/dist/utils/Arrays.cjs.map +1 -1
- package/dist/utils/Arrays.d.cts +1 -1
- package/dist/utils/Arrays.d.ts +1 -1
- package/dist/utils/DocumentId.cjs +12 -0
- package/dist/utils/DocumentId.cjs.map +1 -0
- package/dist/utils/DocumentId.d.cts +7 -0
- package/dist/utils/DocumentId.d.cts.map +1 -0
- package/dist/utils/DocumentId.d.ts +7 -0
- package/dist/utils/DocumentId.d.ts.map +1 -0
- package/dist/utils/DocumentId.js +9 -0
- package/dist/utils/DocumentId.js.map +1 -0
- package/dist/utils/Fields.cjs +1 -0
- package/dist/utils/Objects.cjs +3 -0
- package/dist/utils/Objects.cjs.map +1 -1
- package/dist/utils/Objects.d.cts +1 -1
- package/dist/utils/Objects.d.ts +1 -1
- package/dist/utils/Objects.js +1 -1
- package/dist/utils/index.cjs +33 -8
- package/dist/utils/index.d.cts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/validators/BasicTypes.cjs +9 -6
- package/dist/validators/BasicTypes.cjs.map +1 -1
- package/dist/validators/BasicTypes.d.cts +3 -1
- package/dist/validators/BasicTypes.d.cts.map +1 -1
- package/dist/validators/BasicTypes.d.ts +3 -1
- package/dist/validators/BasicTypes.d.ts.map +1 -1
- package/dist/validators/BasicTypes.js +1 -1
- package/dist/validators/DateFromString.cjs +3 -3
- package/dist/validators/DateFromString.cjs.map +1 -1
- package/dist/validators/DateFromString.d.cts +1 -2
- package/dist/validators/DateFromString.d.ts +1 -1
- package/dist/validators/DateFromStringOrNumber.cjs +1 -1
- package/dist/validators/DateFromStringOrNumber.d.cts +1 -2
- package/dist/validators/DateFromStringOrNumber.d.ts +1 -1
- package/dist/validators/DateFromTsMs.cjs +1 -1
- package/dist/validators/DateFromTsMs.d.cts +1 -2
- package/dist/validators/DateFromTsMs.d.ts +1 -1
- package/dist/validators/DefaultOrElse.cjs +4 -3
- package/dist/validators/DefaultOrElse.cjs.map +1 -1
- package/dist/validators/IntFromNumber.cjs +1 -1
- package/dist/validators/IntFromNumber.d.cts +2 -1
- package/dist/validators/IntFromNumber.d.cts.map +1 -1
- package/dist/validators/IntFromNumber.d.ts +2 -1
- package/dist/validators/IntFromNumber.d.ts.map +1 -1
- package/dist/validators/IntFromPixels.cjs +1 -1
- package/dist/validators/IntFromPixels.d.cts +2 -1
- package/dist/validators/IntFromPixels.d.cts.map +1 -1
- package/dist/validators/IntFromPixels.d.ts +2 -1
- package/dist/validators/IntFromPixels.d.ts.map +1 -1
- package/dist/validators/NonEmptyString.cjs +3 -3
- package/dist/validators/NonEmptyString.cjs.map +1 -1
- package/dist/validators/NonEmptyString.d.cts +1 -2
- package/dist/validators/NonEmptyString.d.ts +1 -1
- package/dist/validators/NonEmptyStringOrNull.cjs +3 -3
- package/dist/validators/NonEmptyStringOrNull.cjs.map +1 -1
- package/dist/validators/NonEmptyStringOrNull.d.cts +1 -2
- package/dist/validators/NonEmptyStringOrNull.d.ts +1 -1
- package/dist/validators/NumberOrNull.cjs +3 -3
- package/dist/validators/NumberOrNull.cjs.map +1 -1
- package/dist/validators/NumberOrNull.d.cts +1 -2
- package/dist/validators/NumberOrNull.d.ts +1 -1
- package/dist/validators/NumberRange.cjs +3 -3
- package/dist/validators/NumberRange.cjs.map +1 -1
- package/dist/validators/NumberRange.d.cts +1 -2
- package/dist/validators/NumberRange.d.cts.map +1 -1
- package/dist/validators/NumberRange.d.ts +1 -1
- package/dist/validators/StringFromBoolean.cjs +1 -1
- package/dist/validators/StringFromBoolean.d.cts +2 -1
- package/dist/validators/StringFromBoolean.d.cts.map +1 -1
- package/dist/validators/StringFromBoolean.d.ts +2 -1
- package/dist/validators/StringFromBoolean.d.ts.map +1 -1
- package/dist/validators/StringFromNumber.cjs +1 -1
- package/dist/validators/StringFromNumber.d.cts +2 -1
- package/dist/validators/StringFromNumber.d.cts.map +1 -1
- package/dist/validators/StringFromNumber.d.ts +2 -1
- package/dist/validators/StringFromNumber.d.ts.map +1 -1
- package/dist/validators/StringOrNull.cjs +3 -3
- package/dist/validators/StringOrNull.cjs.map +1 -1
- package/dist/validators/StringOrNull.d.cts +1 -2
- package/dist/validators/StringOrNull.d.ts +1 -1
- package/dist/validators/TrimmedString.cjs +1 -1
- package/dist/validators/TrimmedString.d.cts +9 -0
- package/dist/validators/TrimmedString.d.cts.map +1 -0
- package/dist/validators/TrimmedString.d.ts +9 -0
- package/dist/validators/TrimmedString.d.ts.map +1 -0
- package/dist/validators/function.cjs +8 -0
- package/dist/validators/function.cjs.map +1 -1
- package/dist/validators/function.d.cts +1 -1
- package/dist/validators/function.d.ts +1 -1
- package/dist/validators/function.js +1 -1
- package/dist/validators/index.cjs +65 -37
- package/dist/validators/index.d.cts +13 -13
- package/dist/validators/index.d.ts +13 -13
- package/dist/validators/index.js +1 -1
- package/package.json +31 -24
package/dist/common/Asset.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Asset.cjs","names":[],"sources":["../../src/common/Asset.ts"],"sourcesContent":["export type Asset = {\n\tid: string\n\tlast_modified: string\n\tkind: \"image\" | \"all\"\n\tfilename?: string\n\textension?: string\n\tsize?: number\n\torigin_url: string\n\turl: string\n\twidth?: number\n\theight?: number\n\tnotes?: string\n\tcredits?: string\n\talt?: string\n}\n\nexport const getAssetOrThrow =\n\t(assets: Record<Asset[\"id\"], Asset | undefined>) => (assetId: Asset[\"id\"]) => {\n\t\tconst asset = assets[assetId]\n\t\tif (!asset) {\n\t\t\tthrow new Error(`Missing asset with id '${assetId}'!`)\n\t\t}\n\t\treturn asset\n\t}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Asset.cjs","names":[],"sources":["../../src/common/Asset.ts"],"sourcesContent":["export type Asset = {\n\tid: string\n\tlast_modified: string\n\tkind: \"image\" | \"all\"\n\tfilename?: string\n\textension?: string\n\tsize?: number\n\torigin_url: string\n\turl: string\n\twidth?: number\n\theight?: number\n\tnotes?: string\n\tcredits?: string\n\talt?: string\n}\n\nexport const getAssetOrThrow =\n\t(assets: Record<Asset[\"id\"], Asset | undefined>) => (assetId: Asset[\"id\"]) => {\n\t\tconst asset = assets[assetId]\n\t\tif (!asset) {\n\t\t\tthrow new Error(`Missing asset with id '${assetId}'!`)\n\t\t}\n\t\treturn asset\n\t}\n"],"mappings":";;;AAgBA,MAAa,mBACX,YAAoD,YAAyB;CAC7E,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MACJ,OAAM,IAAI,MAAM,0BAA0B,QAAQ,IAAI;AAEvD,QAAO"}
|
package/dist/common/Embed.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Embed.cjs","names":[],"sources":["../../src/common/Embed.ts"],"sourcesContent":["// This type represents response format from oEmbed API\nexport type Embed = {\n\ttype: string\n\tversion?: string | null\n\tauthor_name?: string | null\n\tauthor_url?: string | null\n\tprovider_name?: string | null\n\tprovider_url?: string | null\n\tcache_age?: string | null\n\tthumbnail_url?: string | null\n\tthumbnail_width?: number | null\n\tthumbnail_height?: number | null\n\thtml?: string | null\n\ttitle?: string | null\n}\n\nexport const getEmbedOrThrow =\n\t(embeds: Record<string, Embed | undefined>) => (embedUrl: string) => {\n\t\tconst embed = embeds[embedUrl]\n\t\tif (!embed) throw new Error(`Missing embed with url '${embedUrl}'`)\n\t\treturn embed\n\t}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Embed.cjs","names":[],"sources":["../../src/common/Embed.ts"],"sourcesContent":["// This type represents response format from oEmbed API\nexport type Embed = {\n\ttype: string\n\tversion?: string | null\n\tauthor_name?: string | null\n\tauthor_url?: string | null\n\tprovider_name?: string | null\n\tprovider_url?: string | null\n\tcache_age?: string | null\n\tthumbnail_url?: string | null\n\tthumbnail_width?: number | null\n\tthumbnail_height?: number | null\n\thtml?: string | null\n\ttitle?: string | null\n}\n\nexport const getEmbedOrThrow =\n\t(embeds: Record<string, Embed | undefined>) => (embedUrl: string) => {\n\t\tconst embed = embeds[embedUrl]\n\t\tif (!embed) throw new Error(`Missing embed with url '${embedUrl}'`)\n\t\treturn embed\n\t}\n"],"mappings":";;;AAgBA,MAAa,mBACX,YAA+C,aAAqB;CACpE,MAAM,QAAQ,OAAO;AACrB,KAAI,CAAC,MAAO,OAAM,IAAI,MAAM,2BAA2B,SAAS,GAAG;AACnE,QAAO"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
|
|
3
4
|
//#region src/common/HexaColorCode.ts
|
|
@@ -6,6 +7,7 @@ const hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
|
|
|
6
7
|
const HexaColor = { is: (strColor) => hexaColorCodeRegex.test(strColor) };
|
|
7
8
|
|
|
8
9
|
//#endregion
|
|
10
|
+
exports.HexaColor = HexaColor;
|
|
9
11
|
Object.defineProperty(exports, 'HexaColorCode_exports', {
|
|
10
12
|
enumerable: true,
|
|
11
13
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HexaColorCode.cjs","names":[],"sources":["../../src/common/HexaColorCode.ts"],"sourcesContent":["/*\n ** This type is not exhaustif because typescript can't compute all the possible solutions if we try to be explicit\n ** more information: https://medium.com/@steve.alves2/how-to-type-hex-colors-in-typescript-3c3b9a32baa7\n */\nexport type HexaColorCode = `#${string}`\n\nconst hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/\nexport const HexaColor = {\n\tis: (strColor: string): strColor is HexaColorCode => hexaColorCodeRegex.test(strColor),\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"HexaColorCode.cjs","names":[],"sources":["../../src/common/HexaColorCode.ts"],"sourcesContent":["/*\n ** This type is not exhaustif because typescript can't compute all the possible solutions if we try to be explicit\n ** more information: https://medium.com/@steve.alves2/how-to-type-hex-colors-in-typescript-3c3b9a32baa7\n */\nexport type HexaColorCode = `#${string}`\n\nconst hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/\nexport const HexaColor = {\n\tis: (strColor: string): strColor is HexaColorCode => hexaColorCodeRegex.test(strColor),\n}\n"],"mappings":";;;;;AAMA,MAAM,qBAAqB;AAC3B,MAAa,YAAY,EACxB,KAAK,aAAgD,mBAAmB,KAAK,SAAS,EACtF"}
|
|
@@ -6,5 +6,5 @@ const hexaColorCodeRegex = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
|
|
|
6
6
|
const HexaColor = { is: (strColor) => hexaColorCodeRegex.test(strColor) };
|
|
7
7
|
|
|
8
8
|
//#endregion
|
|
9
|
-
export { HexaColorCode_exports };
|
|
9
|
+
export { HexaColor, HexaColorCode_exports };
|
|
10
10
|
//# sourceMappingURL=HexaColorCode.js.map
|
package/dist/common/UUID.cjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
-
const
|
|
3
|
+
const require_validators_function = require('../validators/function.cjs');
|
|
3
4
|
let io_ts = require("io-ts");
|
|
4
5
|
io_ts = require_runtime.__toESM(io_ts);
|
|
5
6
|
|
|
6
7
|
//#region src/common/UUID.ts
|
|
7
|
-
const UUID =
|
|
8
|
+
const UUID = require_validators_function.withCustomError(io_ts.brand(io_ts.string, (s) => typeof s === "string" && /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(s), "UUID"), () => "The value must be a valid UUID");
|
|
8
9
|
|
|
9
10
|
//#endregion
|
|
10
11
|
exports.UUID = UUID;
|
package/dist/common/UUID.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UUID.cjs","names":["withCustomError","t"],"sources":["../../src/common/UUID.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { withCustomError } from \"../validators/function\"\n\nexport interface UUIDBrand {\n\treadonly UUID: unique symbol\n}\n\nexport const UUID = withCustomError(\n\tt.brand(\n\t\tt.string,\n\t\t(s): s is t.Branded<string, UUIDBrand> =>\n\t\t\ttypeof s === \"string\" &&\n\t\t\t/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(\n\t\t\t\ts,\n\t\t\t),\n\t\t\"UUID\",\n\t),\n\t() => \"The value must be a valid UUID\",\n)\n\nexport type UUID = t.TypeOf<typeof UUID>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"UUID.cjs","names":["withCustomError","t"],"sources":["../../src/common/UUID.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { withCustomError } from \"../validators/function\"\n\nexport interface UUIDBrand {\n\treadonly UUID: unique symbol\n}\n\nexport const UUID = withCustomError(\n\tt.brand(\n\t\tt.string,\n\t\t(s): s is t.Branded<string, UUIDBrand> =>\n\t\t\ttypeof s === \"string\" &&\n\t\t\t/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i.test(\n\t\t\t\ts,\n\t\t\t),\n\t\t\"UUID\",\n\t),\n\t() => \"The value must be a valid UUID\",\n)\n\nexport type UUID = t.TypeOf<typeof UUID>\n"],"mappings":";;;;;;;AAQA,MAAa,OAAOA,4CACnBC,MAAE,MACDA,MAAE,SACD,MACA,OAAO,MAAM,YACb,2JAA2J,KAC1J,EACA,EACF,OACA,QACK,iCACN"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as t from "io-ts";
|
|
2
|
+
|
|
3
|
+
//#region src/common/UUID.d.ts
|
|
4
|
+
interface UUIDBrand {
|
|
5
|
+
readonly UUID: unique symbol;
|
|
6
|
+
}
|
|
7
|
+
declare const UUID: t.BrandC<t.StringC, UUIDBrand>;
|
|
8
|
+
type UUID = t.TypeOf<typeof UUID>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { UUID, UUIDBrand };
|
|
11
|
+
//# sourceMappingURL=UUID.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UUID.d.cts","names":[],"sources":["../../src/common/UUID.ts"],"mappings":";;;UAIiB,SAAA;EAAA,SACP,IAAA;AAAA;AAAA,cAGG,IAAA,EAAI,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA;AAAA,KAaL,IAAA,GAAO,CAAA,CAAE,MAAA,QAAc,IAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as t from "io-ts";
|
|
2
|
+
|
|
3
|
+
//#region src/common/UUID.d.ts
|
|
4
|
+
interface UUIDBrand {
|
|
5
|
+
readonly UUID: unique symbol;
|
|
6
|
+
}
|
|
7
|
+
declare const UUID: t.BrandC<t.StringC, UUIDBrand>;
|
|
8
|
+
type UUID = t.TypeOf<typeof UUID>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { UUID, UUIDBrand };
|
|
11
|
+
//# sourceMappingURL=UUID.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UUID.d.ts","names":[],"sources":["../../src/common/UUID.ts"],"mappings":";;;UAIiB,SAAA;EAAA,SACP,IAAA;AAAA;AAAA,cAGG,IAAA,EAAI,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,SAAA;AAAA,KAaL,IAAA,GAAO,CAAA,CAAE,MAAA,QAAc,IAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
-
const
|
|
3
|
+
const require_validators_function = require('../validators/function.cjs');
|
|
3
4
|
let io_ts = require("io-ts");
|
|
4
5
|
io_ts = require_runtime.__toESM(io_ts);
|
|
5
6
|
|
|
6
7
|
//#region src/common/WidgetKey.ts
|
|
7
8
|
const widgetKeyRegex = /* @__PURE__ */ new RegExp("^[^<>]+$");
|
|
8
|
-
const WidgetKey =
|
|
9
|
+
const WidgetKey = require_validators_function.refineType(io_ts.string, "WidgetKey", (s) => s.length === 0 || widgetKeyRegex.test(s));
|
|
9
10
|
|
|
10
11
|
//#endregion
|
|
11
12
|
exports.WidgetKey = WidgetKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetKey.cjs","names":["refineType","t"],"sources":["../../src/common/WidgetKey.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { refineType } from \"../validators/function\"\n\nconst widgetKeyRegex = new RegExp(\"^[^<>]+$\")\n\nexport const WidgetKey = refineType(\n\tt.string,\n\t\"WidgetKey\",\n\t(s: string) => s.length === 0 || widgetKeyRegex.test(s),\n)\n\nexport type WidgetKey = t.TypeOf<typeof WidgetKey>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"WidgetKey.cjs","names":["refineType","t"],"sources":["../../src/common/WidgetKey.ts"],"sourcesContent":["import * as t from \"io-ts\"\n\nimport { refineType } from \"../validators/function\"\n\nconst widgetKeyRegex = new RegExp(\"^[^<>]+$\")\n\nexport const WidgetKey = refineType(\n\tt.string,\n\t\"WidgetKey\",\n\t(s: string) => s.length === 0 || widgetKeyRegex.test(s),\n)\n\nexport type WidgetKey = t.TypeOf<typeof WidgetKey>\n"],"mappings":";;;;;;;AAIA,MAAM,iCAAiB,IAAI,OAAO,WAAW;AAE7C,MAAa,YAAYA,uCACxBC,MAAE,QACF,cACC,MAAc,EAAE,WAAW,KAAK,eAAe,KAAK,EAAE,CACvD"}
|
package/dist/common/index.cjs
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const require_common_Asset = require('./Asset.cjs');
|
|
4
|
+
const require_common_Embed = require('./Embed.cjs');
|
|
5
|
+
const require_common_WidgetKey = require('./WidgetKey.cjs');
|
|
5
6
|
|
|
6
7
|
//#region src/common/index.ts
|
|
7
8
|
var common_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
8
|
-
WidgetKey: () =>
|
|
9
|
-
getAssetOrThrow: () =>
|
|
10
|
-
getEmbedOrThrow: () =>
|
|
9
|
+
WidgetKey: () => require_common_WidgetKey.WidgetKey,
|
|
10
|
+
getAssetOrThrow: () => require_common_Asset.getAssetOrThrow,
|
|
11
|
+
getEmbedOrThrow: () => require_common_Embed.getEmbedOrThrow
|
|
11
12
|
});
|
|
12
13
|
|
|
13
14
|
//#endregion
|
|
15
|
+
exports.WidgetKey = require_common_WidgetKey.WidgetKey;
|
|
14
16
|
Object.defineProperty(exports, 'common_exports', {
|
|
15
17
|
enumerable: true,
|
|
16
18
|
get: function () {
|
|
17
19
|
return common_exports;
|
|
18
20
|
}
|
|
19
21
|
});
|
|
22
|
+
exports.getAssetOrThrow = require_common_Asset.getAssetOrThrow;
|
|
23
|
+
exports.getEmbedOrThrow = require_common_Embed.getEmbedOrThrow;
|
|
20
24
|
//# sourceMappingURL=index.cjs.map
|
package/dist/common/index.d.cts
CHANGED
|
@@ -7,5 +7,5 @@ declare namespace index_d_exports {
|
|
|
7
7
|
export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow };
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
|
-
export { index_d_exports };
|
|
10
|
+
export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow, index_d_exports };
|
|
11
11
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/common/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ declare namespace index_d_exports {
|
|
|
7
7
|
export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow };
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
|
-
export { index_d_exports };
|
|
10
|
+
export { Asset, Embed, WidgetKey, getAssetOrThrow, getEmbedOrThrow, index_d_exports };
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/common/index.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
-
const
|
|
3
|
+
const require_common_WidgetKey = require('../common/WidgetKey.cjs');
|
|
3
4
|
require('../common/index.cjs');
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const require_common_UUID = require('../common/UUID.cjs');
|
|
6
|
+
const require_customtypes_widgets_nestable_NestableWidget = require('../customtypes/widgets/nestable/NestableWidget.cjs');
|
|
7
|
+
const require_customtypes_CustomType = require('../customtypes/CustomType.cjs');
|
|
7
8
|
require('../customtypes/index.cjs');
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
9
|
+
const require_content_utils = require('./utils.cjs');
|
|
10
|
+
const require_content_LegacyContentCtx = require('./LegacyContentCtx.cjs');
|
|
11
|
+
const require_content_fields_nestable_RepeatableContent = require('./fields/nestable/RepeatableContent.cjs');
|
|
12
|
+
const require_content_fields_nestable_TableContent = require('./fields/nestable/TableContent.cjs');
|
|
13
|
+
const require_content_fields_nestable_NestableContent = require('./fields/nestable/NestableContent.cjs');
|
|
14
|
+
const require_content_fields_GroupContent = require('./fields/GroupContent.cjs');
|
|
15
|
+
const require_content_fields_slices_SliceItem = require('./fields/slices/SliceItem.cjs');
|
|
16
|
+
const require_content_fields_slices_SlicesContent = require('./fields/slices/SlicesContent.cjs');
|
|
17
|
+
const require_content_fields_WidgetContent = require('./fields/WidgetContent.cjs');
|
|
17
18
|
require('./fields/index.cjs');
|
|
18
19
|
let io_ts = require("io-ts");
|
|
19
20
|
io_ts = require_runtime.__toESM(io_ts);
|
|
@@ -22,8 +23,8 @@ let fp_ts_lib_Either = require("fp-ts/lib/Either");
|
|
|
22
23
|
let fp_ts_lib_function = require("fp-ts/lib/function");
|
|
23
24
|
|
|
24
25
|
//#region src/content/Document.ts
|
|
25
|
-
const Document = io_ts.record(
|
|
26
|
-
const legacyDocReader = io_ts.record(
|
|
26
|
+
const Document = io_ts.record(require_common_WidgetKey.WidgetKey, require_content_fields_WidgetContent.WidgetContent);
|
|
27
|
+
const legacyDocReader = io_ts.record(require_common_WidgetKey.WidgetKey, io_ts.unknown);
|
|
27
28
|
/**
|
|
28
29
|
* `DocumentLegacyCodec` handles decoding and encoding documents to the legacy
|
|
29
30
|
* format used by Prismic DB, therefore, this function itself is not "legacy".
|
|
@@ -32,7 +33,7 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
|
|
|
32
33
|
return new io_ts.Type("Document", (u) => !!u && typeof u === "object", (doc) => {
|
|
33
34
|
return (0, fp_ts_lib_function.pipe)(legacyDocReader.decode(doc), fp_ts.either.map((parsedDoc) => {
|
|
34
35
|
return Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {
|
|
35
|
-
const parsedW =
|
|
36
|
+
const parsedW = require_content_fields_WidgetContent.WidgetLegacy(require_content_LegacyContentCtx.defaultCtx(widgetKey, allTypes, allKeys)).decode(widgetValue);
|
|
36
37
|
if (!parsedW || (0, fp_ts_lib_Either.isLeft)(parsedW)) return acc;
|
|
37
38
|
return {
|
|
38
39
|
...acc,
|
|
@@ -42,7 +43,7 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
|
|
|
42
43
|
}));
|
|
43
44
|
}, (g) => {
|
|
44
45
|
return Object.entries(g).reduce((acc, [key, value]) => {
|
|
45
|
-
const result =
|
|
46
|
+
const result = require_content_fields_WidgetContent.WidgetLegacy(require_content_LegacyContentCtx.defaultCtx(key, allTypes)).encode(value);
|
|
46
47
|
if (!result) return acc;
|
|
47
48
|
return {
|
|
48
49
|
content: {
|
|
@@ -68,14 +69,14 @@ const DocumentLegacyCodec = (allTypes, allKeys) => {
|
|
|
68
69
|
function extractMetadata(data) {
|
|
69
70
|
const { types, widgets, keys } = Object.entries(data).reduce((acc, [k, v]) => {
|
|
70
71
|
if (k.endsWith("_TYPE")) {
|
|
71
|
-
const decodedValue =
|
|
72
|
+
const decodedValue = require_content_LegacyContentCtx.FieldOrSliceType.decode(v);
|
|
72
73
|
if ((0, fp_ts_lib_Either.isRight)(decodedValue)) return {
|
|
73
74
|
...acc,
|
|
74
75
|
types: acc.types.set(k.substring(0, k.length - 5), decodedValue.right)
|
|
75
76
|
};
|
|
76
77
|
}
|
|
77
78
|
if (k.endsWith("_KEY")) {
|
|
78
|
-
const decodedValue =
|
|
79
|
+
const decodedValue = require_common_UUID.UUID.decode(v);
|
|
79
80
|
if ((0, fp_ts_lib_Either.isRight)(decodedValue)) return {
|
|
80
81
|
...acc,
|
|
81
82
|
keys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right)
|
|
@@ -104,7 +105,7 @@ function extractMetadata(data) {
|
|
|
104
105
|
};
|
|
105
106
|
}
|
|
106
107
|
function parseLegacyDocument(legacyDoc, customType) {
|
|
107
|
-
const result = (0, fp_ts_lib_function.pipe)(io_ts.record(
|
|
108
|
+
const result = (0, fp_ts_lib_function.pipe)(io_ts.record(require_common_WidgetKey.WidgetKey, io_ts.unknown).decode(legacyDoc), fp_ts.either.chain((doc) => {
|
|
108
109
|
const { types, widgets, keys } = extractMetadata(doc);
|
|
109
110
|
return DocumentLegacyCodec(types, keys).decode(widgets);
|
|
110
111
|
}));
|
|
@@ -127,19 +128,19 @@ const DocumentLegacy = {
|
|
|
127
128
|
function simplifyCustomType(customType) {
|
|
128
129
|
return {
|
|
129
130
|
customTypeId: customType?.id,
|
|
130
|
-
fields: Object.fromEntries(
|
|
131
|
+
fields: Object.fromEntries(require_customtypes_CustomType.flattenSections(customType))
|
|
131
132
|
};
|
|
132
133
|
}
|
|
133
134
|
function fillDocumentWithDefaultValues(customType, document) {
|
|
134
|
-
const { fields } = customType &&
|
|
135
|
+
const { fields } = customType && require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
|
|
135
136
|
return Object.entries(fields).reduce((updatedDocument, [fieldKey, fieldDef]) => {
|
|
136
137
|
const fieldContent = document[fieldKey];
|
|
137
138
|
const updatedField = (() => {
|
|
138
139
|
switch (fieldDef.type) {
|
|
139
|
-
case "Group": return
|
|
140
|
+
case "Group": return require_content_fields_GroupContent.isGroupContent(fieldContent) ? require_content_fields_GroupContent.groupContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
|
|
140
141
|
case "Choice":
|
|
141
|
-
case "Slices": return
|
|
142
|
-
default: return fieldContent === void 0 &&
|
|
142
|
+
case "Slices": return require_content_fields_slices_SlicesContent.isSlicesContent(fieldContent) ? require_content_fields_slices_SlicesContent.slicesContentWithDefaultValues(fieldDef, fieldContent) : fieldContent;
|
|
143
|
+
default: return fieldContent === void 0 && require_customtypes_widgets_nestable_NestableWidget.NestableWidget.is(fieldDef) ? require_content_fields_nestable_NestableContent.NestableContentDefaultValue(fieldDef) : fieldContent;
|
|
143
144
|
}
|
|
144
145
|
})();
|
|
145
146
|
return updatedField ? {
|
|
@@ -158,7 +159,7 @@ function fillDocumentWithDefaultValues(customType, document) {
|
|
|
158
159
|
* the transform function
|
|
159
160
|
*/
|
|
160
161
|
function traverseDocument({ document, customType }) {
|
|
161
|
-
const model = customType &&
|
|
162
|
+
const model = customType && require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
|
|
162
163
|
return ({ transformWidget = ({ content }) => content, transformSlice = ({ content }) => content }) => {
|
|
163
164
|
const fieldModels = model && Object.entries(model.fields).reduce((acc, [key, def]) => ({
|
|
164
165
|
...acc,
|
|
@@ -166,7 +167,7 @@ function traverseDocument({ document, customType }) {
|
|
|
166
167
|
}), {});
|
|
167
168
|
return Object.entries(document).reduce((acc, [key, content]) => {
|
|
168
169
|
const fieldModel = fieldModels && fieldModels[key];
|
|
169
|
-
const path =
|
|
170
|
+
const path = require_content_utils.ContentPath.make([{
|
|
170
171
|
key: model?.customTypeId,
|
|
171
172
|
type: "CustomType"
|
|
172
173
|
}, {
|
|
@@ -175,7 +176,7 @@ function traverseDocument({ document, customType }) {
|
|
|
175
176
|
}]);
|
|
176
177
|
const transformedWidget = (() => {
|
|
177
178
|
switch (content.__TYPE__) {
|
|
178
|
-
case "SliceContentType": return
|
|
179
|
+
case "SliceContentType": return require_content_fields_slices_SlicesContent.traverseSlices({
|
|
179
180
|
path,
|
|
180
181
|
key,
|
|
181
182
|
model: fieldModel?.type === "Slices" || fieldModel?.type === "Choice" ? fieldModel : void 0,
|
|
@@ -184,21 +185,21 @@ function traverseDocument({ document, customType }) {
|
|
|
184
185
|
transformWidget,
|
|
185
186
|
transformSlice
|
|
186
187
|
});
|
|
187
|
-
case "GroupContentType": return
|
|
188
|
+
case "GroupContentType": return require_content_fields_GroupContent.traverseGroupContent({
|
|
188
189
|
path,
|
|
189
190
|
key,
|
|
190
191
|
apiId: key,
|
|
191
192
|
model: fieldModel?.type === "Group" ? fieldModel : void 0,
|
|
192
193
|
content
|
|
193
194
|
})(transformWidget);
|
|
194
|
-
case "RepeatableContent": return
|
|
195
|
+
case "RepeatableContent": return require_content_fields_nestable_RepeatableContent.traverseRepeatableContent({
|
|
195
196
|
path,
|
|
196
197
|
key,
|
|
197
198
|
apiId: key,
|
|
198
199
|
model: fieldModel?.type === "Link" ? fieldModel : void 0,
|
|
199
200
|
content
|
|
200
201
|
})(transformWidget);
|
|
201
|
-
case "TableContent": return
|
|
202
|
+
case "TableContent": return require_content_fields_nestable_TableContent.traverseTableContent({
|
|
202
203
|
path,
|
|
203
204
|
key,
|
|
204
205
|
apiId: key,
|
|
@@ -224,26 +225,26 @@ function traverseDocument({ document, customType }) {
|
|
|
224
225
|
function collectWidgets(document, is) {
|
|
225
226
|
const collected = {};
|
|
226
227
|
traverseDocument({ document })({ transformWidget: ({ content, path }) => {
|
|
227
|
-
const key =
|
|
228
|
+
const key = require_content_utils.ContentPath.serialize(path);
|
|
228
229
|
if (is(content, path)) collected[key] = content;
|
|
229
230
|
return content;
|
|
230
231
|
} });
|
|
231
232
|
return collected;
|
|
232
233
|
}
|
|
233
234
|
function migrateDocument(document, customType) {
|
|
234
|
-
const model =
|
|
235
|
-
if (!Object.values(
|
|
235
|
+
const model = require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
|
|
236
|
+
if (!Object.values(require_customtypes_CustomType.collectSharedSlices(model)).some((slice) => Boolean(slice.legacyPaths))) return document;
|
|
236
237
|
return traverseDocument({
|
|
237
238
|
document,
|
|
238
239
|
customType
|
|
239
|
-
})({ transformSlice:
|
|
240
|
+
})({ transformSlice: require_content_fields_slices_SliceItem.migrateSliceItem });
|
|
240
241
|
}
|
|
241
242
|
function traverseDocumentWithModel({ document, customType }) {
|
|
242
|
-
const model =
|
|
243
|
+
const model = require_customtypes_CustomType.StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType;
|
|
243
244
|
return ({ transformWidget, transformSlice }) => {
|
|
244
245
|
return Object.entries(model.fields).reduce((acc, [key, fieldModel]) => {
|
|
245
246
|
const content = document[key];
|
|
246
|
-
const path =
|
|
247
|
+
const path = require_content_utils.ContentPath.make([{
|
|
247
248
|
key: model.customTypeId,
|
|
248
249
|
type: "CustomType"
|
|
249
250
|
}, {
|
|
@@ -253,40 +254,40 @@ function traverseDocumentWithModel({ document, customType }) {
|
|
|
253
254
|
const transformedWidget = (() => {
|
|
254
255
|
switch (fieldModel.type) {
|
|
255
256
|
case "Choice":
|
|
256
|
-
case "Slices": return
|
|
257
|
+
case "Slices": return require_content_fields_slices_SlicesContent.traverseSlicesWithModel({
|
|
257
258
|
path,
|
|
258
259
|
key,
|
|
259
260
|
model: fieldModel,
|
|
260
|
-
content:
|
|
261
|
+
content: require_content_fields_slices_SlicesContent.isSlicesContent(content) ? content : void 0
|
|
261
262
|
})({
|
|
262
263
|
transformWidget,
|
|
263
264
|
transformSlice
|
|
264
265
|
});
|
|
265
|
-
case "Group": return
|
|
266
|
+
case "Group": return require_content_fields_GroupContent.traverseGroupContentWithModel({
|
|
266
267
|
path,
|
|
267
268
|
key,
|
|
268
269
|
model: fieldModel,
|
|
269
|
-
content:
|
|
270
|
+
content: require_content_fields_GroupContent.isGroupContent(content) ? content : void 0
|
|
270
271
|
})(transformWidget);
|
|
271
272
|
case "Link":
|
|
272
|
-
if (fieldModel.config?.repeat === true) return
|
|
273
|
+
if (fieldModel.config?.repeat === true) return require_content_fields_nestable_RepeatableContent.traverseRepeatableContentWithModel({
|
|
273
274
|
path,
|
|
274
275
|
key,
|
|
275
276
|
model: fieldModel,
|
|
276
|
-
content:
|
|
277
|
+
content: require_content_fields_nestable_RepeatableContent.isRepeatableContent(content) ? content : void 0
|
|
277
278
|
})(transformWidget);
|
|
278
279
|
return transformWidget({
|
|
279
280
|
path,
|
|
280
281
|
key,
|
|
281
282
|
apiId: key,
|
|
282
283
|
model: fieldModel,
|
|
283
|
-
content:
|
|
284
|
+
content: require_content_fields_nestable_NestableContent.isNestableContent(content) ? content : void 0
|
|
284
285
|
});
|
|
285
|
-
case "Table": return
|
|
286
|
+
case "Table": return require_content_fields_nestable_TableContent.traverseTableContentWithModel({
|
|
286
287
|
path,
|
|
287
288
|
key,
|
|
288
289
|
model: fieldModel,
|
|
289
|
-
content:
|
|
290
|
+
content: require_content_fields_nestable_TableContent.isTableContent(content) ? content : void 0
|
|
290
291
|
})(transformWidget);
|
|
291
292
|
case "UID": return transformWidget({
|
|
292
293
|
path,
|
|
@@ -300,7 +301,7 @@ function traverseDocumentWithModel({ document, customType }) {
|
|
|
300
301
|
key,
|
|
301
302
|
apiId: key,
|
|
302
303
|
model: fieldModel,
|
|
303
|
-
content:
|
|
304
|
+
content: require_content_fields_nestable_NestableContent.isNestableContent(content) ? content : void 0
|
|
304
305
|
});
|
|
305
306
|
}
|
|
306
307
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.cjs","names":["t","WidgetKey","WidgetContent","either","WidgetLegacy","defaultCtx","FieldOrSliceType","UUID","flattenSections","StaticCustomType","isGroupContent","groupContentWithDefaultValues","isSlicesContent","slicesContentWithDefaultValues","NestableWidget","NestableContentDefaultValue","ContentPath","traverseSlices","traverseGroupContent","traverseRepeatableContent","traverseTableContent","collectSharedSlices","migrateSliceItem","traverseSlicesWithModel","traverseGroupContentWithModel","traverseRepeatableContentWithModel","isRepeatableContent","isNestableContent","traverseTableContentWithModel","isTableContent"],"sources":["../../src/content/Document.ts"],"sourcesContent":["import { either } from \"fp-ts\"\nimport { isLeft, isRight } from \"fp-ts/lib/Either\"\nimport { pipe } from \"fp-ts/lib/function\"\nimport * as t from \"io-ts\"\n\nimport { WidgetKey } from \"../common\"\nimport { UUID } from \"../common/UUID\"\nimport {\n\ttype StaticWidget,\n\tcollectSharedSlices,\n\tflattenSections,\n\tNestableWidget,\n\tStaticCustomType,\n} from \"../customtypes\"\nimport {\n\tgroupContentWithDefaultValues,\n\tisGroupContent,\n\tisNestableContent,\n\tisRepeatableContent,\n\tisSlicesContent,\n\tisTableContent,\n\tmigrateSliceItem,\n\tNestableContentDefaultValue,\n\tslicesContentWithDefaultValues,\n\ttraverseGroupContent,\n\ttraverseGroupContentWithModel,\n\ttraverseRepeatableContent,\n\ttraverseRepeatableContentWithModel,\n\ttraverseSlices,\n\ttraverseSlicesWithModel,\n\ttraverseTableContent,\n\ttraverseTableContentWithModel,\n\tWidgetContent,\n\tWidgetLegacy,\n} from \"./fields\"\nimport type { LegacyContentCtx, WithTypes } from \"./LegacyContentCtx\";\nimport { defaultCtx, FieldOrSliceType } from \"./LegacyContentCtx\"\nimport type {\n\tTraverseSliceContentFn,\n\tTraverseSliceContentWithModelFn,\n\tTraverseWidgetContentFn,\n\tTraverseWidgetContentWithModelFn} from \"./utils\";\nimport {\n\tContentPath\n} from \"./utils\"\n\nexport const Document = t.record(WidgetKey, WidgetContent)\nexport type Document = t.TypeOf<typeof Document>\n\nconst legacyDocReader = t.record(WidgetKey, t.unknown)\ntype DocumentLegacy = t.TypeOf<typeof legacyDocReader>\n\n/**\n * `DocumentLegacyCodec` handles decoding and encoding documents to the legacy\n * format used by Prismic DB, therefore, this function itself is not \"legacy\".\n */\nconst DocumentLegacyCodec = (\n\tallTypes?: LegacyContentCtx[\"allTypes\"],\n\tallKeys?: LegacyContentCtx[\"allKeys\"],\n) => {\n\treturn new t.Type<Document, WithTypes<DocumentLegacy>, unknown>(\n\t\t\"Document\",\n\t\t(u): u is Document => !!u && typeof u === \"object\",\n\t\t(doc) => {\n\t\t\treturn pipe(\n\t\t\t\tlegacyDocReader.decode(doc),\n\t\t\t\teither.map((parsedDoc) => {\n\t\t\t\t\treturn Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {\n\t\t\t\t\t\tconst widgetCtx = defaultCtx(widgetKey, allTypes, allKeys)\n\t\t\t\t\t\tconst parsedW = WidgetLegacy(widgetCtx).decode(widgetValue)\n\t\t\t\t\t\tif (!parsedW || isLeft(parsedW)) return acc\n\n\t\t\t\t\t\treturn { ...acc, [widgetKey]: parsedW.right }\n\t\t\t\t\t}, {})\n\t\t\t\t}),\n\t\t\t)\n\t\t},\n\t\t(g: Document) => {\n\t\t\treturn Object.entries(g).reduce(\n\t\t\t\t(acc, [key, value]) => {\n\t\t\t\t\tconst widgetCtx = defaultCtx(key, allTypes)\n\t\t\t\t\tconst result = WidgetLegacy(widgetCtx).encode(value)\n\t\t\t\t\tif (!result) return acc\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: { ...acc.content, [key]: result.content },\n\t\t\t\t\t\ttypes: { ...acc.types, ...result.types },\n\t\t\t\t\t\tkeys: { ...acc.keys, ...result.keys },\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ content: {}, types: {}, keys: {} },\n\t\t\t)\n\t\t},\n\t)\n}\n\nfunction extractMetadata(data: { [p: string]: unknown }): {\n\ttypes: Map<string, FieldOrSliceType>\n\twidgets: Partial<Record<WidgetKey, unknown>>\n\tkeys: Map<string, string>\n\tslugs: ReadonlyArray<string>\n\tuid: string | undefined\n} {\n\tconst fields: [string, unknown][] = Object.entries(data)\n\n\tconst { types, widgets, keys } = fields.reduce(\n\t\t(acc, [k, v]) => {\n\t\t\tif (k.endsWith(\"_TYPE\")) {\n\t\t\t\tconst decodedValue = FieldOrSliceType.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\ttypes: acc.types.set(k.substring(0, k.length - 5), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (k.endsWith(\"_KEY\")) {\n\t\t\t\tconst decodedValue = UUID.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\tkeys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!k.endsWith(\"_POSITION\") && !k.endsWith(\"_TYPE\") && !k.endsWith(\"_KEY\")) {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\twidgets: {\n\t\t\t\t\t\t...acc.widgets,\n\t\t\t\t\t\t[k]: v,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc\n\t\t},\n\t\t{\n\t\t\ttypes: new Map<string, FieldOrSliceType>(),\n\t\t\twidgets: {},\n\t\t\tkeys: new Map<string, string>(),\n\t\t},\n\t)\n\n\tconst slugs = (data[\"slugs_INTERNAL\"] as string[]) || []\n\tconst uid = data[\"uid\"] as string | undefined\n\n\treturn {\n\t\twidgets,\n\t\ttypes,\n\t\tkeys,\n\t\tuid,\n\t\tslugs,\n\t}\n}\n\nfunction parseLegacyDocument(\n\tlegacyDoc: unknown,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n): Document | undefined {\n\tconst result = pipe(\n\t\t// ensure it's the right document format first\n\t\tt.record(WidgetKey, t.unknown).decode(legacyDoc),\n\t\teither.chain((doc) => {\n\t\t\t// extract all metadata, meaning all _TYPES keys from legacy format + the widgets as unknown\n\t\t\tconst { types, widgets, keys } = extractMetadata(doc)\n\t\t\t// parse the actual widgets\n\t\t\treturn DocumentLegacyCodec(types, keys).decode(widgets)\n\t\t}),\n\t)\n\n\treturn isLeft(result) ? undefined : migrateDocument(result.right, customType)\n}\n\nfunction encodeToLegacyDocument(document: Document): DocumentLegacy {\n\tconst encoded = DocumentLegacyCodec().encode(document)\n\treturn { ...encoded.content, ...encoded.types, ...encoded.keys }\n}\n\nexport const DocumentLegacy = {\n\t_codec: DocumentLegacyCodec,\n\textractMetadata,\n\tparse: parseLegacyDocument,\n\tencode: encodeToLegacyDocument,\n}\n\nfunction simplifyCustomType(customType: StaticCustomType): {\n\tcustomTypeId: string\n\tfields: Record<string, StaticWidget>\n} {\n\treturn {\n\t\tcustomTypeId: customType?.id,\n\t\tfields: Object.fromEntries(flattenSections(customType)),\n\t}\n}\n\nexport function fillDocumentWithDefaultValues(\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n\tdocument: Document,\n): Document {\n\tconst { fields } =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn Object.entries(fields).reduce<Document>((updatedDocument, [fieldKey, fieldDef]) => {\n\t\tconst fieldContent = document[fieldKey]\n\n\t\tconst updatedField = (() => {\n\t\t\tswitch (fieldDef.type) {\n\t\t\t\tcase \"Group\":\n\t\t\t\t\treturn isGroupContent(fieldContent)\n\t\t\t\t\t\t? groupContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tcase \"Choice\":\n\t\t\t\tcase \"Slices\":\n\t\t\t\t\treturn isSlicesContent(fieldContent)\n\t\t\t\t\t\t? slicesContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tdefault:\n\t\t\t\t\treturn fieldContent === undefined && NestableWidget.is(fieldDef)\n\t\t\t\t\t\t? NestableContentDefaultValue(fieldDef)\n\t\t\t\t\t\t: fieldContent\n\t\t\t}\n\t\t})()\n\n\t\treturn updatedField\n\t\t\t? {\n\t\t\t\t\t...updatedDocument,\n\t\t\t\t\t[fieldKey]: updatedField,\n\t\t\t\t}\n\t\t\t: updatedDocument\n\t}, document)\n}\n/**\n * @param model: Can be optional if we simply want to loop through the content\n * without any consideration for the attached model\n * @param document: The content we actually want to iterate on in an immutable fashion\n * @param transform: A user function that provides a way to transform any kind\n * of content wherever it is in a structured Prismic object content.\n * @returns A transformed document with the user's transformation applied with\n * the transform function\n */\nexport function traverseDocument({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType?:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n\t\t| undefined\n}) {\n\tconst model =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\treturn ({\n\t\ttransformWidget = ({ content }) => content,\n\t\ttransformSlice = ({ content }) => content,\n\t}: {\n\t\ttransformWidget?: TraverseWidgetContentFn\n\t\ttransformSlice?: TraverseSliceContentFn\n\t}): Document => {\n\t\tconst fieldModels =\n\t\t\tmodel &&\n\t\t\tObject.entries(model.fields).reduce<Record<string, StaticWidget>>(\n\t\t\t\t(acc, [key, def]) => ({ ...acc, [key]: def }),\n\t\t\t\t{},\n\t\t\t)\n\n\t\treturn Object.entries(document).reduce((acc, [key, content]) => {\n\t\t\tconst fieldModel = fieldModels && fieldModels[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model?.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (content.__TYPE__) {\n\t\t\t\t\tcase \"SliceContentType\":\n\t\t\t\t\t\treturn traverseSlices({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type === \"Slices\" || fieldModel?.type === \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\tcase \"GroupContentType\":\n\t\t\t\t\t\treturn traverseGroupContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Group\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"RepeatableContent\":\n\t\t\t\t\t\treturn traverseRepeatableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Link\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"TableContent\":\n\t\t\t\t\t\treturn traverseTableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Table\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Group\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Slices\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n\n// /**\n// * The goal is to be able to collect all widgets or slices of a given type at any level of nesting inside a prismic content\n// *\n// * @param document parsed prismic content\n// * @param is typeguard to match specifically the type of widget we want to collect\n// * @returns a record containing the path of the widget as key and the typed collected content as value\n// */\nexport function collectWidgets<W extends WidgetContent>(\n\tdocument: Document,\n\tis: (content: WidgetContent, path: ContentPath) => content is W,\n): Record<string, W> {\n\tconst collected: Record<string, W> = {}\n\n\ttraverseDocument({ document })({\n\t\ttransformWidget: ({ content, path }) => {\n\t\t\tconst key = ContentPath.serialize(path)\n\t\t\tif (is(content, path)) collected[key] = content\n\t\t\treturn content\n\t\t},\n\t})\n\treturn collected\n}\n\nexport function migrateDocument(\n\tdocument: Document,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\tconst needsMigration = Object.values(collectSharedSlices(model)).some((slice) =>\n\t\tBoolean(slice.legacyPaths),\n\t)\n\n\tif (!needsMigration) return document\n\n\treturn traverseDocument({\n\t\tdocument,\n\t\tcustomType,\n\t})({\n\t\ttransformSlice: migrateSliceItem,\n\t})\n}\n\nexport function traverseDocumentWithModel({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n}) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn ({\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t}: {\n\t\ttransformWidget: TraverseWidgetContentWithModelFn\n\t\ttransformSlice: TraverseSliceContentWithModelFn\n\t}): Document => {\n\t\treturn Object.entries(model.fields).reduce<Document>((acc, [key, fieldModel]) => {\n\t\t\tconst content = document[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (fieldModel.type) {\n\t\t\t\t\tcase \"Choice\":\n\t\t\t\t\tcase \"Slices\": {\n\t\t\t\t\t\tconst slicesContent = isSlicesContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseSlicesWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: slicesContent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Group\": {\n\t\t\t\t\t\tconst groupContent = isGroupContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseGroupContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: groupContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Link\": {\n\t\t\t\t\t\tif (fieldModel.config?.repeat === true) {\n\t\t\t\t\t\t\tconst repeatableContent = isRepeatableContent(content) ? content : undefined\n\t\t\t\t\t\t\treturn traverseRepeatableContentWithModel({\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\t\tcontent: repeatableContent,\n\t\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Table\": {\n\t\t\t\t\t\tconst tableContent = isTableContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseTableContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: tableContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"UID\": {\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Document.cjs","names":["t","WidgetKey","WidgetContent","either","WidgetLegacy","defaultCtx","FieldOrSliceType","UUID","flattenSections","StaticCustomType","isGroupContent","groupContentWithDefaultValues","isSlicesContent","slicesContentWithDefaultValues","NestableWidget","NestableContentDefaultValue","ContentPath","traverseSlices","traverseGroupContent","traverseRepeatableContent","traverseTableContent","collectSharedSlices","migrateSliceItem","traverseSlicesWithModel","traverseGroupContentWithModel","traverseRepeatableContentWithModel","isRepeatableContent","isNestableContent","traverseTableContentWithModel","isTableContent"],"sources":["../../src/content/Document.ts"],"sourcesContent":["import { either } from \"fp-ts\"\nimport { isLeft, isRight } from \"fp-ts/lib/Either\"\nimport { pipe } from \"fp-ts/lib/function\"\nimport * as t from \"io-ts\"\n\nimport { WidgetKey } from \"../common\"\nimport { UUID } from \"../common/UUID\"\nimport {\n\ttype StaticWidget,\n\tcollectSharedSlices,\n\tflattenSections,\n\tNestableWidget,\n\tStaticCustomType,\n} from \"../customtypes\"\nimport {\n\tgroupContentWithDefaultValues,\n\tisGroupContent,\n\tisNestableContent,\n\tisRepeatableContent,\n\tisSlicesContent,\n\tisTableContent,\n\tmigrateSliceItem,\n\tNestableContentDefaultValue,\n\tslicesContentWithDefaultValues,\n\ttraverseGroupContent,\n\ttraverseGroupContentWithModel,\n\ttraverseRepeatableContent,\n\ttraverseRepeatableContentWithModel,\n\ttraverseSlices,\n\ttraverseSlicesWithModel,\n\ttraverseTableContent,\n\ttraverseTableContentWithModel,\n\tWidgetContent,\n\tWidgetLegacy,\n} from \"./fields\"\nimport type { LegacyContentCtx, WithTypes } from \"./LegacyContentCtx\";\nimport { defaultCtx, FieldOrSliceType } from \"./LegacyContentCtx\"\nimport type {\n\tTraverseSliceContentFn,\n\tTraverseSliceContentWithModelFn,\n\tTraverseWidgetContentFn,\n\tTraverseWidgetContentWithModelFn} from \"./utils\";\nimport {\n\tContentPath\n} from \"./utils\"\n\nexport const Document = t.record(WidgetKey, WidgetContent)\nexport type Document = t.TypeOf<typeof Document>\n\nconst legacyDocReader = t.record(WidgetKey, t.unknown)\ntype DocumentLegacy = t.TypeOf<typeof legacyDocReader>\n\n/**\n * `DocumentLegacyCodec` handles decoding and encoding documents to the legacy\n * format used by Prismic DB, therefore, this function itself is not \"legacy\".\n */\nconst DocumentLegacyCodec = (\n\tallTypes?: LegacyContentCtx[\"allTypes\"],\n\tallKeys?: LegacyContentCtx[\"allKeys\"],\n) => {\n\treturn new t.Type<Document, WithTypes<DocumentLegacy>, unknown>(\n\t\t\"Document\",\n\t\t(u): u is Document => !!u && typeof u === \"object\",\n\t\t(doc) => {\n\t\t\treturn pipe(\n\t\t\t\tlegacyDocReader.decode(doc),\n\t\t\t\teither.map((parsedDoc) => {\n\t\t\t\t\treturn Object.entries(parsedDoc).reduce((acc, [widgetKey, widgetValue]) => {\n\t\t\t\t\t\tconst widgetCtx = defaultCtx(widgetKey, allTypes, allKeys)\n\t\t\t\t\t\tconst parsedW = WidgetLegacy(widgetCtx).decode(widgetValue)\n\t\t\t\t\t\tif (!parsedW || isLeft(parsedW)) return acc\n\n\t\t\t\t\t\treturn { ...acc, [widgetKey]: parsedW.right }\n\t\t\t\t\t}, {})\n\t\t\t\t}),\n\t\t\t)\n\t\t},\n\t\t(g: Document) => {\n\t\t\treturn Object.entries(g).reduce(\n\t\t\t\t(acc, [key, value]) => {\n\t\t\t\t\tconst widgetCtx = defaultCtx(key, allTypes)\n\t\t\t\t\tconst result = WidgetLegacy(widgetCtx).encode(value)\n\t\t\t\t\tif (!result) return acc\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcontent: { ...acc.content, [key]: result.content },\n\t\t\t\t\t\ttypes: { ...acc.types, ...result.types },\n\t\t\t\t\t\tkeys: { ...acc.keys, ...result.keys },\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ content: {}, types: {}, keys: {} },\n\t\t\t)\n\t\t},\n\t)\n}\n\nfunction extractMetadata(data: { [p: string]: unknown }): {\n\ttypes: Map<string, FieldOrSliceType>\n\twidgets: Partial<Record<WidgetKey, unknown>>\n\tkeys: Map<string, string>\n\tslugs: ReadonlyArray<string>\n\tuid: string | undefined\n} {\n\tconst fields: [string, unknown][] = Object.entries(data)\n\n\tconst { types, widgets, keys } = fields.reduce(\n\t\t(acc, [k, v]) => {\n\t\t\tif (k.endsWith(\"_TYPE\")) {\n\t\t\t\tconst decodedValue = FieldOrSliceType.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\ttypes: acc.types.set(k.substring(0, k.length - 5), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (k.endsWith(\"_KEY\")) {\n\t\t\t\tconst decodedValue = UUID.decode(v)\n\t\t\t\tif (isRight(decodedValue)) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\tkeys: acc.keys.set(k.substring(0, k.length - 4), decodedValue.right),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!k.endsWith(\"_POSITION\") && !k.endsWith(\"_TYPE\") && !k.endsWith(\"_KEY\")) {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\twidgets: {\n\t\t\t\t\t\t...acc.widgets,\n\t\t\t\t\t\t[k]: v,\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn acc\n\t\t},\n\t\t{\n\t\t\ttypes: new Map<string, FieldOrSliceType>(),\n\t\t\twidgets: {},\n\t\t\tkeys: new Map<string, string>(),\n\t\t},\n\t)\n\n\tconst slugs = (data[\"slugs_INTERNAL\"] as string[]) || []\n\tconst uid = data[\"uid\"] as string | undefined\n\n\treturn {\n\t\twidgets,\n\t\ttypes,\n\t\tkeys,\n\t\tuid,\n\t\tslugs,\n\t}\n}\n\nfunction parseLegacyDocument(\n\tlegacyDoc: unknown,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n): Document | undefined {\n\tconst result = pipe(\n\t\t// ensure it's the right document format first\n\t\tt.record(WidgetKey, t.unknown).decode(legacyDoc),\n\t\teither.chain((doc) => {\n\t\t\t// extract all metadata, meaning all _TYPES keys from legacy format + the widgets as unknown\n\t\t\tconst { types, widgets, keys } = extractMetadata(doc)\n\t\t\t// parse the actual widgets\n\t\t\treturn DocumentLegacyCodec(types, keys).decode(widgets)\n\t\t}),\n\t)\n\n\treturn isLeft(result) ? undefined : migrateDocument(result.right, customType)\n}\n\nfunction encodeToLegacyDocument(document: Document): DocumentLegacy {\n\tconst encoded = DocumentLegacyCodec().encode(document)\n\treturn { ...encoded.content, ...encoded.types, ...encoded.keys }\n}\n\nexport const DocumentLegacy = {\n\t_codec: DocumentLegacyCodec,\n\textractMetadata,\n\tparse: parseLegacyDocument,\n\tencode: encodeToLegacyDocument,\n}\n\nfunction simplifyCustomType(customType: StaticCustomType): {\n\tcustomTypeId: string\n\tfields: Record<string, StaticWidget>\n} {\n\treturn {\n\t\tcustomTypeId: customType?.id,\n\t\tfields: Object.fromEntries(flattenSections(customType)),\n\t}\n}\n\nexport function fillDocumentWithDefaultValues(\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n\tdocument: Document,\n): Document {\n\tconst { fields } =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn Object.entries(fields).reduce<Document>((updatedDocument, [fieldKey, fieldDef]) => {\n\t\tconst fieldContent = document[fieldKey]\n\n\t\tconst updatedField = (() => {\n\t\t\tswitch (fieldDef.type) {\n\t\t\t\tcase \"Group\":\n\t\t\t\t\treturn isGroupContent(fieldContent)\n\t\t\t\t\t\t? groupContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tcase \"Choice\":\n\t\t\t\tcase \"Slices\":\n\t\t\t\t\treturn isSlicesContent(fieldContent)\n\t\t\t\t\t\t? slicesContentWithDefaultValues(fieldDef, fieldContent)\n\t\t\t\t\t\t: fieldContent\n\t\t\t\tdefault:\n\t\t\t\t\treturn fieldContent === undefined && NestableWidget.is(fieldDef)\n\t\t\t\t\t\t? NestableContentDefaultValue(fieldDef)\n\t\t\t\t\t\t: fieldContent\n\t\t\t}\n\t\t})()\n\n\t\treturn updatedField\n\t\t\t? {\n\t\t\t\t\t...updatedDocument,\n\t\t\t\t\t[fieldKey]: updatedField,\n\t\t\t\t}\n\t\t\t: updatedDocument\n\t}, document)\n}\n/**\n * @param model: Can be optional if we simply want to loop through the content\n * without any consideration for the attached model\n * @param document: The content we actually want to iterate on in an immutable fashion\n * @param transform: A user function that provides a way to transform any kind\n * of content wherever it is in a structured Prismic object content.\n * @returns A transformed document with the user's transformation applied with\n * the transform function\n */\nexport function traverseDocument({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType?:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n\t\t| undefined\n}) {\n\tconst model =\n\t\tcustomType && StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\treturn ({\n\t\ttransformWidget = ({ content }) => content,\n\t\ttransformSlice = ({ content }) => content,\n\t}: {\n\t\ttransformWidget?: TraverseWidgetContentFn\n\t\ttransformSlice?: TraverseSliceContentFn\n\t}): Document => {\n\t\tconst fieldModels =\n\t\t\tmodel &&\n\t\t\tObject.entries(model.fields).reduce<Record<string, StaticWidget>>(\n\t\t\t\t(acc, [key, def]) => ({ ...acc, [key]: def }),\n\t\t\t\t{},\n\t\t\t)\n\n\t\treturn Object.entries(document).reduce((acc, [key, content]) => {\n\t\t\tconst fieldModel = fieldModels && fieldModels[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model?.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (content.__TYPE__) {\n\t\t\t\t\tcase \"SliceContentType\":\n\t\t\t\t\t\treturn traverseSlices({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type === \"Slices\" || fieldModel?.type === \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\tcase \"GroupContentType\":\n\t\t\t\t\t\treturn traverseGroupContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Group\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"RepeatableContent\":\n\t\t\t\t\t\treturn traverseRepeatableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Link\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tcase \"TableContent\":\n\t\t\t\t\t\treturn traverseTableContent({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel?.type === \"Table\" ? fieldModel : undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel:\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Group\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Slices\" &&\n\t\t\t\t\t\t\t\tfieldModel?.type !== \"Choice\"\n\t\t\t\t\t\t\t\t\t? fieldModel\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n\n// /**\n// * The goal is to be able to collect all widgets or slices of a given type at any level of nesting inside a prismic content\n// *\n// * @param document parsed prismic content\n// * @param is typeguard to match specifically the type of widget we want to collect\n// * @returns a record containing the path of the widget as key and the typed collected content as value\n// */\nexport function collectWidgets<W extends WidgetContent>(\n\tdocument: Document,\n\tis: (content: WidgetContent, path: ContentPath) => content is W,\n): Record<string, W> {\n\tconst collected: Record<string, W> = {}\n\n\ttraverseDocument({ document })({\n\t\ttransformWidget: ({ content, path }) => {\n\t\t\tconst key = ContentPath.serialize(path)\n\t\t\tif (is(content, path)) collected[key] = content\n\t\t\treturn content\n\t\t},\n\t})\n\treturn collected\n}\n\nexport function migrateDocument(\n\tdocument: Document,\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t },\n) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\tconst needsMigration = Object.values(collectSharedSlices(model)).some((slice) =>\n\t\tBoolean(slice.legacyPaths),\n\t)\n\n\tif (!needsMigration) return document\n\n\treturn traverseDocument({\n\t\tdocument,\n\t\tcustomType,\n\t})({\n\t\ttransformSlice: migrateSliceItem,\n\t})\n}\n\nexport function traverseDocumentWithModel({\n\tdocument,\n\tcustomType,\n}: {\n\tdocument: Document\n\tcustomType:\n\t\t| StaticCustomType\n\t\t| {\n\t\t\t\tcustomTypeId: string\n\t\t\t\tfields: Record<string, StaticWidget>\n\t\t }\n}) {\n\tconst model = StaticCustomType.is(customType) ? simplifyCustomType(customType) : customType\n\n\treturn ({\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t}: {\n\t\ttransformWidget: TraverseWidgetContentWithModelFn\n\t\ttransformSlice: TraverseSliceContentWithModelFn\n\t}): Document => {\n\t\treturn Object.entries(model.fields).reduce<Document>((acc, [key, fieldModel]) => {\n\t\t\tconst content = document[key]\n\n\t\t\tconst path = ContentPath.make([\n\t\t\t\t{ key: model.customTypeId, type: \"CustomType\" },\n\t\t\t\t{ key, type: \"Widget\" },\n\t\t\t])\n\n\t\t\tconst transformedWidget = (() => {\n\t\t\t\tswitch (fieldModel.type) {\n\t\t\t\t\tcase \"Choice\":\n\t\t\t\t\tcase \"Slices\": {\n\t\t\t\t\t\tconst slicesContent = isSlicesContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseSlicesWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: slicesContent,\n\t\t\t\t\t\t})({ transformWidget, transformSlice })\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Group\": {\n\t\t\t\t\t\tconst groupContent = isGroupContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseGroupContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: groupContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Link\": {\n\t\t\t\t\t\tif (fieldModel.config?.repeat === true) {\n\t\t\t\t\t\t\tconst repeatableContent = isRepeatableContent(content) ? content : undefined\n\t\t\t\t\t\t\treturn traverseRepeatableContentWithModel({\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\t\tcontent: repeatableContent,\n\t\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tcase \"Table\": {\n\t\t\t\t\t\tconst tableContent = isTableContent(content) ? content : undefined\n\t\t\t\t\t\treturn traverseTableContentWithModel({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: tableContent,\n\t\t\t\t\t\t})(transformWidget)\n\t\t\t\t\t}\n\t\t\t\t\tcase \"UID\": {\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tconst nestableContent = isNestableContent(content) ? content : undefined\n\t\t\t\t\t\treturn transformWidget({\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tapiId: key,\n\t\t\t\t\t\t\tmodel: fieldModel,\n\t\t\t\t\t\t\tcontent: nestableContent,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})()\n\n\t\t\treturn {\n\t\t\t\t...acc,\n\t\t\t\t...(transformedWidget ? { [key]: transformedWidget } : {}),\n\t\t\t}\n\t\t}, {})\n\t}\n}\n"],"mappings":"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"}
|