@prismicio/types-internal 2.2.0 → 2.2.1-remove-import.alpha-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/UUID.d.ts +1 -2
- package/package.json +1 -1
- package/src/common/UUID.ts +1 -1
- package/lib/import/converters/Document.d.ts +0 -4
- package/lib/import/converters/Document.js +0 -21
- package/lib/import/converters/fields/Group.d.ts +0 -4
- package/lib/import/converters/fields/Group.js +0 -14
- package/lib/import/converters/fields/RepeatableZone.d.ts +0 -317
- package/lib/import/converters/fields/RepeatableZone.js +0 -15
- package/lib/import/converters/fields/RepeatableZoneItem.d.ts +0 -11
- package/lib/import/converters/fields/RepeatableZoneItem.js +0 -19
- package/lib/import/converters/fields/Slices/SharedSlice.d.ts +0 -4
- package/lib/import/converters/fields/Slices/SharedSlice.js +0 -19
- package/lib/import/converters/fields/Slices/SharedSliceContent.d.ts +0 -10
- package/lib/import/converters/fields/Slices/SharedSliceContent.js +0 -23
- package/lib/import/converters/fields/Slices/Slices.d.ts +0 -4
- package/lib/import/converters/fields/Slices/Slices.js +0 -16
- package/lib/import/converters/fields/Slices/index.d.ts +0 -1
- package/lib/import/converters/fields/Slices/index.js +0 -4
- package/lib/import/converters/fields/UID.d.ts +0 -3
- package/lib/import/converters/fields/UID.js +0 -10
- package/lib/import/converters/fields/index.d.ts +0 -4
- package/lib/import/converters/fields/index.js +0 -7
- package/lib/import/converters/fields/nestable/Boolean.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Boolean.js +0 -12
- package/lib/import/converters/fields/nestable/Color.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Color.js +0 -13
- package/lib/import/converters/fields/nestable/Date.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Date.js +0 -15
- package/lib/import/converters/fields/nestable/Embed.d.ts +0 -4
- package/lib/import/converters/fields/nestable/Embed.js +0 -32
- package/lib/import/converters/fields/nestable/GeoPoint.d.ts +0 -3
- package/lib/import/converters/fields/nestable/GeoPoint.js +0 -15
- package/lib/import/converters/fields/nestable/Image.d.ts +0 -28
- package/lib/import/converters/fields/nestable/Image.js +0 -67
- package/lib/import/converters/fields/nestable/Link.d.ts +0 -4
- package/lib/import/converters/fields/nestable/Link.js +0 -70
- package/lib/import/converters/fields/nestable/Nestable.d.ts +0 -5
- package/lib/import/converters/fields/nestable/Nestable.js +0 -35
- package/lib/import/converters/fields/nestable/Number.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Number.js +0 -13
- package/lib/import/converters/fields/nestable/RichText/embedBlock.d.ts +0 -4
- package/lib/import/converters/fields/nestable/RichText/embedBlock.js +0 -14
- package/lib/import/converters/fields/nestable/RichText/imageBlock.d.ts +0 -4
- package/lib/import/converters/fields/nestable/RichText/imageBlock.js +0 -12
- package/lib/import/converters/fields/nestable/RichText/index.d.ts +0 -4
- package/lib/import/converters/fields/nestable/RichText/index.js +0 -22
- package/lib/import/converters/fields/nestable/RichText/textBlock.d.ts +0 -4
- package/lib/import/converters/fields/nestable/RichText/textBlock.js +0 -54
- package/lib/import/converters/fields/nestable/Select.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Select.js +0 -13
- package/lib/import/converters/fields/nestable/Text.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Text.js +0 -13
- package/lib/import/converters/fields/nestable/Timestamp.d.ts +0 -3
- package/lib/import/converters/fields/nestable/Timestamp.js +0 -13
- package/lib/import/converters/fields/nestable/index.d.ts +0 -13
- package/lib/import/converters/fields/nestable/index.js +0 -16
- package/lib/import/converters/index.d.ts +0 -2
- package/lib/import/converters/index.js +0 -5
- package/lib/import/index.d.ts +0 -2
- package/lib/import/index.js +0 -5
- package/lib/import/validators/Document.d.ts +0 -6
- package/lib/import/validators/Document.js +0 -64
- package/lib/import/validators/fields/ImportContent.d.ts +0 -5
- package/lib/import/validators/fields/ImportContent.js +0 -21
- package/lib/import/validators/fields/ImportField.d.ts +0 -141
- package/lib/import/validators/fields/ImportField.js +0 -33
- package/lib/import/validators/fields/ImportGroup.d.ts +0 -345
- package/lib/import/validators/fields/ImportGroup.js +0 -27
- package/lib/import/validators/fields/ImportSlices/ImportSlices.d.ts +0 -8
- package/lib/import/validators/fields/ImportSlices/ImportSlices.js +0 -30
- package/lib/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.d.ts +0 -16
- package/lib/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.js +0 -61
- package/lib/import/validators/fields/ImportSlices/SharedSlice/errors.d.ts +0 -4
- package/lib/import/validators/fields/ImportSlices/SharedSlice/errors.js +0 -7
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.d.ts +0 -2
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.js +0 -15
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/SharedSliceContent.d.ts +0 -17
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/SharedSliceContent.js +0 -30
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/SharedSliceContentEntry.d.ts +0 -43
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/SharedSliceContentEntry.js +0 -69
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/errors.d.ts +0 -4
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/errors.js +0 -6
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/index.d.ts +0 -2
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/index.js +0 -5
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/types.d.ts +0 -1
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceContent/types.js +0 -2
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.d.ts +0 -9
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.js +0 -39
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.d.ts +0 -11
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.js +0 -24
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.d.ts +0 -11
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.js +0 -24
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/index.d.ts +0 -4
- package/lib/import/validators/fields/ImportSlices/SharedSlice/fields/index.js +0 -7
- package/lib/import/validators/fields/ImportSlices/SharedSlice/index.d.ts +0 -3
- package/lib/import/validators/fields/ImportSlices/SharedSlice/index.js +0 -6
- package/lib/import/validators/fields/ImportSlices/SharedSlice/utils.d.ts +0 -342
- package/lib/import/validators/fields/ImportSlices/SharedSlice/utils.js +0 -11
- package/lib/import/validators/fields/ImportSlices/index.d.ts +0 -1
- package/lib/import/validators/fields/ImportSlices/index.js +0 -4
- package/lib/import/validators/fields/ImportSlices/utils.d.ts +0 -4
- package/lib/import/validators/fields/ImportSlices/utils.js +0 -35
- package/lib/import/validators/fields/RepeatableZone.d.ts +0 -11
- package/lib/import/validators/fields/RepeatableZone.js +0 -14
- package/lib/import/validators/fields/RepeatableZoneItem.d.ts +0 -11
- package/lib/import/validators/fields/RepeatableZoneItem.js +0 -39
- package/lib/import/validators/fields/UID.d.ts +0 -6
- package/lib/import/validators/fields/UID.js +0 -15
- package/lib/import/validators/fields/index.d.ts +0 -4
- package/lib/import/validators/fields/index.js +0 -7
- package/lib/import/validators/fields/nestable/Boolean.d.ts +0 -6
- package/lib/import/validators/fields/nestable/Boolean.js +0 -6
- package/lib/import/validators/fields/nestable/Color.d.ts +0 -6
- package/lib/import/validators/fields/nestable/Color.js +0 -15
- package/lib/import/validators/fields/nestable/Date.d.ts +0 -6
- package/lib/import/validators/fields/nestable/Date.js +0 -19
- package/lib/import/validators/fields/nestable/Embed.d.ts +0 -13
- package/lib/import/validators/fields/nestable/Embed.js +0 -31
- package/lib/import/validators/fields/nestable/GeoPoint.d.ts +0 -13
- package/lib/import/validators/fields/nestable/GeoPoint.js +0 -13
- package/lib/import/validators/fields/nestable/Image/default.d.ts +0 -22
- package/lib/import/validators/fields/nestable/Image/default.js +0 -19
- package/lib/import/validators/fields/nestable/Image/index.d.ts +0 -45
- package/lib/import/validators/fields/nestable/Image/index.js +0 -41
- package/lib/import/validators/fields/nestable/Image/merge.d.ts +0 -23
- package/lib/import/validators/fields/nestable/Image/merge.js +0 -44
- package/lib/import/validators/fields/nestable/Image/model.d.ts +0 -18
- package/lib/import/validators/fields/nestable/Image/model.js +0 -2
- package/lib/import/validators/fields/nestable/Image/validators.d.ts +0 -35
- package/lib/import/validators/fields/nestable/Image/validators.js +0 -31
- package/lib/import/validators/fields/nestable/ImportRichText/ImportBlock.d.ts +0 -6
- package/lib/import/validators/fields/nestable/ImportRichText/ImportBlock.js +0 -25
- package/lib/import/validators/fields/nestable/ImportRichText/ImportRichText.d.ts +0 -24
- package/lib/import/validators/fields/nestable/ImportRichText/ImportRichText.js +0 -32
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.d.ts +0 -6
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.js +0 -18
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.d.ts +0 -10
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.js +0 -11
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.d.ts +0 -22
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.js +0 -13
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.d.ts +0 -78
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.js +0 -43
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/Span.d.ts +0 -79
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/Span.js +0 -27
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/index.d.ts +0 -4
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/index.js +0 -7
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.d.ts +0 -24
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.js +0 -18
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.d.ts +0 -12
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.js +0 -16
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.d.ts +0 -5
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.js +0 -10
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.d.ts +0 -15
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.js +0 -20
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/index.d.ts +0 -2
- package/lib/import/validators/fields/nestable/ImportRichText/blocks/spans/index.js +0 -5
- package/lib/import/validators/fields/nestable/ImportRichText/index.d.ts +0 -2
- package/lib/import/validators/fields/nestable/ImportRichText/index.js +0 -7
- package/lib/import/validators/fields/nestable/Link.d.ts +0 -53
- package/lib/import/validators/fields/nestable/Link.js +0 -35
- package/lib/import/validators/fields/nestable/Nestable.d.ts +0 -192
- package/lib/import/validators/fields/nestable/Nestable.js +0 -71
- package/lib/import/validators/fields/nestable/Number.d.ts +0 -17
- package/lib/import/validators/fields/nestable/Number.js +0 -17
- package/lib/import/validators/fields/nestable/Select.d.ts +0 -16
- package/lib/import/validators/fields/nestable/Select.js +0 -19
- package/lib/import/validators/fields/nestable/Text.d.ts +0 -6
- package/lib/import/validators/fields/nestable/Text.js +0 -6
- package/lib/import/validators/fields/nestable/Timestamp.d.ts +0 -7
- package/lib/import/validators/fields/nestable/Timestamp.js +0 -19
- package/lib/import/validators/fields/nestable/index.d.ts +0 -14
- package/lib/import/validators/fields/nestable/index.js +0 -19
- package/lib/import/validators/index.d.ts +0 -2
- package/lib/import/validators/index.js +0 -5
- package/lib/utils/io-ts.d.ts +0 -2
- package/lib/utils/io-ts.js +0 -22
- package/src/import/converters/Document.ts +0 -38
- package/src/import/converters/fields/Group.ts +0 -18
- package/src/import/converters/fields/RepeatableZone.ts +0 -19
- package/src/import/converters/fields/RepeatableZoneItem.ts +0 -32
- package/src/import/converters/fields/Slices/SharedSlice.ts +0 -24
- package/src/import/converters/fields/Slices/SharedSliceContent.ts +0 -27
- package/src/import/converters/fields/Slices/Slices.ts +0 -20
- package/src/import/converters/fields/Slices/index.ts +0 -1
- package/src/import/converters/fields/UID.ts +0 -9
- package/src/import/converters/fields/index.ts +0 -4
- package/src/import/converters/fields/nestable/Boolean.ts +0 -13
- package/src/import/converters/fields/nestable/Color.ts +0 -14
- package/src/import/converters/fields/nestable/Date.ts +0 -17
- package/src/import/converters/fields/nestable/Embed.ts +0 -37
- package/src/import/converters/fields/nestable/GeoPoint.ts +0 -16
- package/src/import/converters/fields/nestable/Image.ts +0 -91
- package/src/import/converters/fields/nestable/Link.ts +0 -77
- package/src/import/converters/fields/nestable/Nestable.ts +0 -55
- package/src/import/converters/fields/nestable/Number.ts +0 -14
- package/src/import/converters/fields/nestable/RichText/embedBlock.ts +0 -17
- package/src/import/converters/fields/nestable/RichText/imageBlock.ts +0 -17
- package/src/import/converters/fields/nestable/RichText/index.ts +0 -23
- package/src/import/converters/fields/nestable/RichText/textBlock.ts +0 -62
- package/src/import/converters/fields/nestable/Select.ts +0 -14
- package/src/import/converters/fields/nestable/Text.ts +0 -14
- package/src/import/converters/fields/nestable/Timestamp.ts +0 -14
- package/src/import/converters/fields/nestable/index.ts +0 -13
- package/src/import/converters/index.ts +0 -2
- package/src/import/index.ts +0 -2
- package/src/import/validators/Document.ts +0 -103
- package/src/import/validators/fields/ImportContent.ts +0 -30
- package/src/import/validators/fields/ImportField.ts +0 -36
- package/src/import/validators/fields/ImportGroup.ts +0 -45
- package/src/import/validators/fields/ImportSlices/ImportSlices.ts +0 -56
- package/src/import/validators/fields/ImportSlices/SharedSlice/SharedSlice.ts +0 -104
- package/src/import/validators/fields/ImportSlices/SharedSlice/errors.ts +0 -6
- package/src/import/validators/fields/ImportSlices/SharedSlice/fields/OptionalSharedSliceId.ts +0 -20
- package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceId.ts +0 -65
- package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceType.ts +0 -45
- package/src/import/validators/fields/ImportSlices/SharedSlice/fields/SharedSliceVariation.ts +0 -45
- package/src/import/validators/fields/ImportSlices/SharedSlice/fields/index.ts +0 -4
- package/src/import/validators/fields/ImportSlices/SharedSlice/index.ts +0 -3
- package/src/import/validators/fields/ImportSlices/SharedSlice/utils.ts +0 -21
- package/src/import/validators/fields/ImportSlices/index.ts +0 -1
- package/src/import/validators/fields/ImportSlices/utils.ts +0 -43
- package/src/import/validators/fields/RepeatableZone.ts +0 -21
- package/src/import/validators/fields/RepeatableZoneItem.ts +0 -64
- package/src/import/validators/fields/UID.ts +0 -27
- package/src/import/validators/fields/index.ts +0 -4
- package/src/import/validators/fields/nestable/Boolean.ts +0 -7
- package/src/import/validators/fields/nestable/Color.ts +0 -28
- package/src/import/validators/fields/nestable/Date.ts +0 -34
- package/src/import/validators/fields/nestable/Embed.ts +0 -41
- package/src/import/validators/fields/nestable/GeoPoint.ts +0 -21
- package/src/import/validators/fields/nestable/Image/default.ts +0 -25
- package/src/import/validators/fields/nestable/Image/index.ts +0 -73
- package/src/import/validators/fields/nestable/Image/merge.ts +0 -64
- package/src/import/validators/fields/nestable/Image/model.ts +0 -18
- package/src/import/validators/fields/nestable/Image/validators.ts +0 -45
- package/src/import/validators/fields/nestable/ImportRichText/ImportBlock.ts +0 -39
- package/src/import/validators/fields/nestable/ImportRichText/ImportRichText.ts +0 -54
- package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportBlockType.ts +0 -44
- package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportEmbedBlock.ts +0 -13
- package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportImageBlock.ts +0 -17
- package/src/import/validators/fields/nestable/ImportRichText/blocks/ImportTextBlock.ts +0 -56
- package/src/import/validators/fields/nestable/ImportRichText/blocks/Span.ts +0 -48
- package/src/import/validators/fields/nestable/ImportRichText/blocks/index.ts +0 -4
- package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/HyperlinkSpan.ts +0 -24
- package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/LabelSpan.ts +0 -19
- package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/SpanLocation.ts +0 -8
- package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/TextSpan.ts +0 -24
- package/src/import/validators/fields/nestable/ImportRichText/blocks/spans/index.ts +0 -2
- package/src/import/validators/fields/nestable/ImportRichText/index.ts +0 -2
- package/src/import/validators/fields/nestable/Link.ts +0 -59
- package/src/import/validators/fields/nestable/Nestable.ts +0 -88
- package/src/import/validators/fields/nestable/Number.ts +0 -38
- package/src/import/validators/fields/nestable/Select.ts +0 -38
- package/src/import/validators/fields/nestable/Text.ts +0 -7
- package/src/import/validators/fields/nestable/Timestamp.ts +0 -39
- package/src/import/validators/fields/nestable/index.ts +0 -14
- package/src/import/validators/index.ts +0 -2
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as t from "io-ts";
|
|
2
|
-
export declare const ImportSelect: (field?: ({
|
|
3
|
-
type: "Select";
|
|
4
|
-
} & {
|
|
5
|
-
fieldset?: string | null | undefined;
|
|
6
|
-
config?: {
|
|
7
|
-
label?: string | null | undefined;
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
default_value?: string;
|
|
10
|
-
options?: readonly string[];
|
|
11
|
-
};
|
|
12
|
-
}) | undefined) => t.Type<{
|
|
13
|
-
type: "Select";
|
|
14
|
-
value: string | null;
|
|
15
|
-
}, string | undefined, unknown>;
|
|
16
|
-
export declare type ImportSelect = t.TypeOf<ReturnType<typeof ImportSelect>>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImportSelect = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const t = (0, tslib_1.__importStar)(require("io-ts"));
|
|
6
|
-
const validators_1 = require("../../../../validators");
|
|
7
|
-
const ImportContent_1 = require("../ImportContent");
|
|
8
|
-
const selectValue = (config) => validators_1.String.pipe(new t.Type("ImportSelectValue", (u) => validators_1.String.is(u), (s, c) => {
|
|
9
|
-
var _a;
|
|
10
|
-
if (!(config === null || config === void 0 ? void 0 : config.options)) {
|
|
11
|
-
return t.failure(s, c, "The value must be defined in the custom type's configuration of the field");
|
|
12
|
-
}
|
|
13
|
-
if (!config.options.includes(s)) {
|
|
14
|
-
return t.failure(s, c, `The value must be one of these: ${(_a = config.options) === null || _a === void 0 ? void 0 : _a.join(",")}`);
|
|
15
|
-
}
|
|
16
|
-
return t.success(s);
|
|
17
|
-
}, t.identity));
|
|
18
|
-
const ImportSelect = (field) => (0, ImportContent_1.ImportContent)("Select", (0, validators_1.NullOrElse)(selectValue(field === null || field === void 0 ? void 0 : field.config)));
|
|
19
|
-
exports.ImportSelect = ImportSelect;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImportText = void 0;
|
|
4
|
-
const validators_1 = require("../../../../validators");
|
|
5
|
-
const ImportContent_1 = require("../ImportContent");
|
|
6
|
-
exports.ImportText = (0, ImportContent_1.ImportContent)("Text", (0, validators_1.NullOrElse)(validators_1.String));
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as t from "io-ts";
|
|
2
|
-
export declare const TIMESTAMP_INPUT_REGEX: RegExp;
|
|
3
|
-
export declare const ImportTimestamp: t.Type<{
|
|
4
|
-
type: "Timestamp";
|
|
5
|
-
value: Date | null;
|
|
6
|
-
}, Date | undefined, unknown>;
|
|
7
|
-
export declare type ImportTimestamp = t.TypeOf<typeof ImportTimestamp>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImportTimestamp = exports.TIMESTAMP_INPUT_REGEX = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const Either_1 = require("fp-ts/Either");
|
|
6
|
-
const function_1 = require("fp-ts/function");
|
|
7
|
-
const t = (0, tslib_1.__importStar)(require("io-ts"));
|
|
8
|
-
const validators_1 = require("../../../../validators");
|
|
9
|
-
const ImportContent_1 = require("../ImportContent");
|
|
10
|
-
exports.TIMESTAMP_INPUT_REGEX = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:(?:[+-]{1}\d{2}:?\d{2})|Z)$/;
|
|
11
|
-
const timestampValue = new t.Type("ImportTimestampValue", (u) => u instanceof Date, (u, c) => (0, function_1.pipe)(validators_1.String.validate(u, c), (0, Either_1.chain)((s) => {
|
|
12
|
-
const date = new Date(s);
|
|
13
|
-
const isInvalidDate = isNaN(date.getTime());
|
|
14
|
-
if (isInvalidDate || !exports.TIMESTAMP_INPUT_REGEX.test(s)) {
|
|
15
|
-
return t.failure(u, c, "The value must be a DateTime in the format YYYY-MM-DDTHH:MM:SS+0000");
|
|
16
|
-
}
|
|
17
|
-
return t.success(date);
|
|
18
|
-
})), t.identity);
|
|
19
|
-
exports.ImportTimestamp = (0, ImportContent_1.ImportContent)("Timestamp", (0, validators_1.NullOrElse)(timestampValue));
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export * from "./Boolean";
|
|
2
|
-
export * from "./Color";
|
|
3
|
-
export * from "./Date";
|
|
4
|
-
export { ImportEmbed } from "./Embed";
|
|
5
|
-
export * from "./GeoPoint";
|
|
6
|
-
export * from "./Image";
|
|
7
|
-
export * from "./Image/index";
|
|
8
|
-
export * from "./ImportRichText";
|
|
9
|
-
export * from "./Link";
|
|
10
|
-
export * from "./Nestable";
|
|
11
|
-
export * from "./Number";
|
|
12
|
-
export * from "./Select";
|
|
13
|
-
export * from "./Text";
|
|
14
|
-
export * from "./Timestamp";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ImportEmbed = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
(0, tslib_1.__exportStar)(require("./Boolean"), exports);
|
|
6
|
-
(0, tslib_1.__exportStar)(require("./Color"), exports);
|
|
7
|
-
(0, tslib_1.__exportStar)(require("./Date"), exports);
|
|
8
|
-
var Embed_1 = require("./Embed");
|
|
9
|
-
Object.defineProperty(exports, "ImportEmbed", { enumerable: true, get: function () { return Embed_1.ImportEmbed; } });
|
|
10
|
-
(0, tslib_1.__exportStar)(require("./GeoPoint"), exports);
|
|
11
|
-
(0, tslib_1.__exportStar)(require("./Image"), exports);
|
|
12
|
-
(0, tslib_1.__exportStar)(require("./Image/index"), exports);
|
|
13
|
-
(0, tslib_1.__exportStar)(require("./ImportRichText"), exports);
|
|
14
|
-
(0, tslib_1.__exportStar)(require("./Link"), exports);
|
|
15
|
-
(0, tslib_1.__exportStar)(require("./Nestable"), exports);
|
|
16
|
-
(0, tslib_1.__exportStar)(require("./Number"), exports);
|
|
17
|
-
(0, tslib_1.__exportStar)(require("./Select"), exports);
|
|
18
|
-
(0, tslib_1.__exportStar)(require("./Text"), exports);
|
|
19
|
-
(0, tslib_1.__exportStar)(require("./Timestamp"), exports);
|
package/lib/utils/io-ts.d.ts
DELETED
package/lib/utils/io-ts.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.combineValidationResults = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const E = (0, tslib_1.__importStar)(require("fp-ts/Either"));
|
|
6
|
-
const function_1 = require("fp-ts/function");
|
|
7
|
-
const RA = (0, tslib_1.__importStar)(require("fp-ts/ReadonlyArray"));
|
|
8
|
-
/*
|
|
9
|
-
* Semigroup simply defines how to concatenate two values of the same type.
|
|
10
|
-
* In this instance, Errors from io-ts are arrays already, so we just need to concatenate them.
|
|
11
|
-
*/
|
|
12
|
-
const validationErrorsSemigroup = {
|
|
13
|
-
concat: (a, b) => [...a, ...b],
|
|
14
|
-
};
|
|
15
|
-
/*
|
|
16
|
-
* This is a helper function to combine multiple io-ts validations into one.
|
|
17
|
-
* t.array(...) works in the same way - it collects all the errors when decoding an array of values.
|
|
18
|
-
* However, it requires you to pass in a single io-ts validator as a parameter, which is not always convenient.
|
|
19
|
-
* Sometimes we have arrays of validation results received from function calls that don't have a validator instance.
|
|
20
|
-
*/
|
|
21
|
-
const combineValidationResults = (validationResults) => (0, function_1.pipe)(validationResults, RA.traverse(E.getApplicativeValidation(validationErrorsSemigroup))((validation) => validation));
|
|
22
|
-
exports.combineValidationResults = combineValidationResults;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { Asset, Embed } from "../../common"
|
|
2
|
-
import type { Document, WidgetContent } from "../../content"
|
|
3
|
-
import type { ImportDocument } from "../validators"
|
|
4
|
-
import type { ImportField } from "../validators/fields/ImportField"
|
|
5
|
-
import {
|
|
6
|
-
convertNestableWidget,
|
|
7
|
-
importGroupConverter,
|
|
8
|
-
importSlicesConverter,
|
|
9
|
-
} from "./fields"
|
|
10
|
-
|
|
11
|
-
export function convertImportToContent(
|
|
12
|
-
document: ImportDocument,
|
|
13
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
14
|
-
embeds: Record<string, Embed | undefined>,
|
|
15
|
-
): Document {
|
|
16
|
-
return Object.entries(document).reduce<Document>(
|
|
17
|
-
(acc, [fieldKey, fieldValue]) => {
|
|
18
|
-
const newFieldValue = convertWidget(fieldValue, assets, embeds)
|
|
19
|
-
return newFieldValue ? { ...acc, [fieldKey]: newFieldValue } : acc
|
|
20
|
-
},
|
|
21
|
-
{},
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function convertWidget(
|
|
26
|
-
field: ImportField,
|
|
27
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
28
|
-
embeds: Record<string, Embed | undefined>,
|
|
29
|
-
): WidgetContent | undefined {
|
|
30
|
-
switch (field.type) {
|
|
31
|
-
case "Slices":
|
|
32
|
-
return importSlicesConverter(field.value, assets, embeds)
|
|
33
|
-
case "Group":
|
|
34
|
-
return importGroupConverter(field.value, assets, embeds)
|
|
35
|
-
default:
|
|
36
|
-
return convertNestableWidget(field, assets, embeds)
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Asset, Embed } from "../../../common"
|
|
2
|
-
import type { GroupContent } from "../../../content"
|
|
3
|
-
import { GroupContentType } from "../../../content"
|
|
4
|
-
import type { ImportGroup } from "../../validators/fields/ImportGroup"
|
|
5
|
-
import { repeatableZoneConverter } from "./RepeatableZone"
|
|
6
|
-
|
|
7
|
-
export const importGroupConverter = (
|
|
8
|
-
field: ImportGroup["value"],
|
|
9
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
10
|
-
embeds: Record<string, Embed | undefined>,
|
|
11
|
-
): GroupContent | undefined => {
|
|
12
|
-
if (field === null) return
|
|
13
|
-
|
|
14
|
-
return {
|
|
15
|
-
__TYPE__: GroupContentType,
|
|
16
|
-
value: repeatableZoneConverter(field, assets, embeds),
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Asset, Embed } from "../../../common"
|
|
2
|
-
import { GroupItemContentType, NestableContent } from "../../../content"
|
|
3
|
-
import type { RepeatableZone } from "../../validators"
|
|
4
|
-
import { repeatableZoneItemConverter } from "./RepeatableZoneItem"
|
|
5
|
-
|
|
6
|
-
export const repeatableZoneConverter = (
|
|
7
|
-
zone: RepeatableZone,
|
|
8
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
9
|
-
embeds: Record<string, Embed | undefined>,
|
|
10
|
-
) => {
|
|
11
|
-
return zone.map((item) => {
|
|
12
|
-
const groupContent: Record<string, NestableContent> =
|
|
13
|
-
repeatableZoneItemConverter(item, assets, embeds)
|
|
14
|
-
return {
|
|
15
|
-
__TYPE__: GroupItemContentType,
|
|
16
|
-
value: Object.entries(groupContent),
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { pipe } from "fp-ts/function"
|
|
2
|
-
import * as O from "fp-ts/Option"
|
|
3
|
-
import * as R from "fp-ts/Record"
|
|
4
|
-
|
|
5
|
-
import type { Asset, Embed } from "../../../common"
|
|
6
|
-
import type { NestableContent } from "../../../content"
|
|
7
|
-
import type { RepeatableZoneItem } from "../../validators"
|
|
8
|
-
import { convertNestableWidget } from "./nestable"
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Converts the RepeatableZoneItem which is a record of widget keys and ImportNestable values to a record of widget keys and NestableContent values.
|
|
12
|
-
*
|
|
13
|
-
* @param content a single RepeatableZoneItem
|
|
14
|
-
* @param assets assets that are required for a conversion of a nestable widget
|
|
15
|
-
* @param embeds embeds that are required for a conversion of a nestable widget
|
|
16
|
-
*/
|
|
17
|
-
export const repeatableZoneItemConverter = (
|
|
18
|
-
content: RepeatableZoneItem,
|
|
19
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
20
|
-
embeds: Record<string, Embed | undefined>,
|
|
21
|
-
): Record<string, NestableContent> =>
|
|
22
|
-
pipe(
|
|
23
|
-
content,
|
|
24
|
-
// convertNestableWidget can theoretically return undefined, so we need to filter out those values
|
|
25
|
-
R.filterMap((contentValue) =>
|
|
26
|
-
pipe(
|
|
27
|
-
contentValue,
|
|
28
|
-
(content) => content && convertNestableWidget(content, assets, embeds),
|
|
29
|
-
O.fromNullable,
|
|
30
|
-
),
|
|
31
|
-
),
|
|
32
|
-
)
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { v4 as uuid } from "uuid"
|
|
2
|
-
|
|
3
|
-
import type { Asset, Embed } from "../../../../common"
|
|
4
|
-
import type { SliceItemContent } from "../../../../content"
|
|
5
|
-
import type { SharedSlice as ImportSharedSlice } from "../../../validators/fields/ImportSlices/SharedSlice"
|
|
6
|
-
import { importSharedSliceContentConverter } from "./SharedSliceContent"
|
|
7
|
-
|
|
8
|
-
// TODO should we put it together with SharedSliceId validator?
|
|
9
|
-
const buildSharedSliceId = (slice_type: string) => `${slice_type}$${uuid()}`
|
|
10
|
-
|
|
11
|
-
export const sharedSliceConverter = (
|
|
12
|
-
slice: ImportSharedSlice,
|
|
13
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
14
|
-
embeds: Record<string, Embed | undefined>,
|
|
15
|
-
): SliceItemContent => {
|
|
16
|
-
// Right now we only support SharedSlices, if we support more types of slices in the future we'll need to select a correct converter here
|
|
17
|
-
const widget = importSharedSliceContentConverter(slice, assets, embeds)
|
|
18
|
-
return {
|
|
19
|
-
key: slice.id ?? buildSharedSliceId(slice.slice_type),
|
|
20
|
-
name: slice.slice_type,
|
|
21
|
-
maybeLabel: slice.slice_label ?? undefined,
|
|
22
|
-
widget,
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Asset, Embed } from "../../../../common"
|
|
2
|
-
import type { SharedSliceContent } from "../../../../content"
|
|
3
|
-
import { SharedSliceContentType } from "../../../../content"
|
|
4
|
-
import type { SharedSlice as ImportSharedSlice } from "../../../validators/fields/ImportSlices/SharedSlice"
|
|
5
|
-
import { repeatableZoneConverter } from "../RepeatableZone"
|
|
6
|
-
import { repeatableZoneItemConverter } from "../RepeatableZoneItem"
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Builds SharedSliceContent model from ImportSharedSlice
|
|
10
|
-
* @param field ImportSharedSlice to be converted - a single slice from the slices array in the import document
|
|
11
|
-
* @param assets assets that are required for a conversion of a nestable widget
|
|
12
|
-
* @param embeds embeds that are required for a conversion of a nestable widget
|
|
13
|
-
*/
|
|
14
|
-
export const importSharedSliceContentConverter = (
|
|
15
|
-
field: ImportSharedSlice,
|
|
16
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
17
|
-
embeds: Record<string, Embed | undefined>,
|
|
18
|
-
): SharedSliceContent => ({
|
|
19
|
-
__TYPE__: SharedSliceContentType,
|
|
20
|
-
primary: field.primary
|
|
21
|
-
? repeatableZoneItemConverter(field.primary, assets, embeds)
|
|
22
|
-
: {},
|
|
23
|
-
items: field.items
|
|
24
|
-
? repeatableZoneConverter(field.items, assets, embeds)
|
|
25
|
-
: [],
|
|
26
|
-
variation: field.variation,
|
|
27
|
-
})
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Asset, Embed } from "../../../../common"
|
|
2
|
-
import type { SliceItemContent, SlicesContent } from "../../../../content"
|
|
3
|
-
import type { ImportSlices } from "../../../validators/fields/ImportSlices"
|
|
4
|
-
import { sharedSliceConverter } from "./SharedSlice"
|
|
5
|
-
|
|
6
|
-
export const importSlicesConverter = (
|
|
7
|
-
field: ImportSlices["value"],
|
|
8
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
9
|
-
embeds: Record<string, Embed | undefined>,
|
|
10
|
-
): SlicesContent | undefined => {
|
|
11
|
-
if (field === null) return
|
|
12
|
-
|
|
13
|
-
return {
|
|
14
|
-
value: field.map((slice): SliceItemContent => {
|
|
15
|
-
// Right now we only support SharedSlices, if we support more types of slices in the future we'll need to select a correct converter here
|
|
16
|
-
return sharedSliceConverter(slice, assets, embeds)
|
|
17
|
-
}),
|
|
18
|
-
__TYPE__: "SliceContentType",
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./Slices"
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { BooleanContent } from "../../../../content"
|
|
2
|
-
import type { ImportBoolean } from "../../../validators"
|
|
3
|
-
|
|
4
|
-
export const booleanConverter = (
|
|
5
|
-
field: ImportBoolean["value"],
|
|
6
|
-
): BooleanContent | undefined => {
|
|
7
|
-
if (field === null) return
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
value: field,
|
|
11
|
-
__TYPE__: "BooleanContent",
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ColorContent } from "../../../../content"
|
|
2
|
-
import type { ImportColor } from "../../../validators"
|
|
3
|
-
|
|
4
|
-
export const colorConverter = (
|
|
5
|
-
field: ImportColor["value"],
|
|
6
|
-
): ColorContent | undefined => {
|
|
7
|
-
if (field === null) return
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
type: "Color",
|
|
11
|
-
value: field,
|
|
12
|
-
__TYPE__: "FieldContent",
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { DateContent } from "../../../../content"
|
|
2
|
-
import type { ImportDate } from "../../../validators"
|
|
3
|
-
|
|
4
|
-
export const dateConverter = (
|
|
5
|
-
field: ImportDate["value"],
|
|
6
|
-
): DateContent | undefined => {
|
|
7
|
-
if (field === null) return
|
|
8
|
-
|
|
9
|
-
const isoDate = field.toISOString()
|
|
10
|
-
const [withoutTime] = isoDate.split("T")
|
|
11
|
-
|
|
12
|
-
return {
|
|
13
|
-
type: "Date",
|
|
14
|
-
value: withoutTime || isoDate,
|
|
15
|
-
__TYPE__: "FieldContent",
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { Embed } from "../../../../common"
|
|
2
|
-
import { getEmbedOrThrow } from "../../../../common"
|
|
3
|
-
import type { EmbedContent } from "../../../../content"
|
|
4
|
-
import { withOptionals } from "../../../../utils/Objects"
|
|
5
|
-
import type { ImportEmbed } from "../../../validators"
|
|
6
|
-
|
|
7
|
-
export const embedConverter = (
|
|
8
|
-
field: ImportEmbed["value"],
|
|
9
|
-
embeds: Record<string, Embed | undefined>,
|
|
10
|
-
): EmbedContent | undefined => {
|
|
11
|
-
if (field === null) return
|
|
12
|
-
const embed = getEmbedOrThrow(embeds)(field.embed_url)
|
|
13
|
-
return withOptionals<EmbedContent>(
|
|
14
|
-
{
|
|
15
|
-
embed_url: field.embed_url,
|
|
16
|
-
type: embed.type,
|
|
17
|
-
all: {
|
|
18
|
-
embed_url: field.embed_url,
|
|
19
|
-
...embed,
|
|
20
|
-
},
|
|
21
|
-
__TYPE__: "EmbedContent",
|
|
22
|
-
},
|
|
23
|
-
[
|
|
24
|
-
["version", embed.version],
|
|
25
|
-
["title", embed.title],
|
|
26
|
-
["author_name", embed.author_name],
|
|
27
|
-
["author_url", embed.author_url],
|
|
28
|
-
["provider_name", embed.provider_name],
|
|
29
|
-
["provider_url", embed.provider_url],
|
|
30
|
-
["cache_age", embed.cache_age],
|
|
31
|
-
["thumbnail_url", embed.thumbnail_url],
|
|
32
|
-
["thumbnail_width", embed.thumbnail_width],
|
|
33
|
-
["thumbnail_height", embed.thumbnail_height],
|
|
34
|
-
["html", embed.html],
|
|
35
|
-
],
|
|
36
|
-
)
|
|
37
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { GeoPointContent } from "../../../../content"
|
|
2
|
-
import type { ImportGeoPoint } from "../../../validators"
|
|
3
|
-
|
|
4
|
-
export const geopointConverter = (
|
|
5
|
-
field: ImportGeoPoint["value"],
|
|
6
|
-
): GeoPointContent | undefined => {
|
|
7
|
-
if (field === null) return
|
|
8
|
-
|
|
9
|
-
return {
|
|
10
|
-
position: {
|
|
11
|
-
lat: field.latitude,
|
|
12
|
-
lng: field.longitude,
|
|
13
|
-
},
|
|
14
|
-
__TYPE__: "GeoPointContent",
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type { Asset } from "../../../../common"
|
|
2
|
-
import { getAssetOrThrow } from "../../../../common"
|
|
3
|
-
import type { ImageContent, ImageContentView } from "../../../../content"
|
|
4
|
-
import { withOptionals } from "../../../../utils/Objects"
|
|
5
|
-
import type { ImageField, ImportImage } from "../../../validators"
|
|
6
|
-
import type { ImportImageBlock } from "../../../validators/fields/nestable/ImportRichText/blocks"
|
|
7
|
-
|
|
8
|
-
export function convertImageView<Input extends ImageField | ImportImageBlock>(
|
|
9
|
-
inputImage: Input,
|
|
10
|
-
image: Asset,
|
|
11
|
-
) {
|
|
12
|
-
// We can do that because anyway all properties being read
|
|
13
|
-
const imageField: ImageField = {
|
|
14
|
-
...inputImage,
|
|
15
|
-
edit: {
|
|
16
|
-
x: 0,
|
|
17
|
-
y: 0,
|
|
18
|
-
zoom: 1,
|
|
19
|
-
...inputImage.edit,
|
|
20
|
-
},
|
|
21
|
-
dimensions: inputImage.dimensions ?? {},
|
|
22
|
-
}
|
|
23
|
-
return withOptionals<ImageContentView>(
|
|
24
|
-
{
|
|
25
|
-
origin: {
|
|
26
|
-
id: image.id,
|
|
27
|
-
url: image.origin_url,
|
|
28
|
-
// All images returned form Asset API should have width and height properties.
|
|
29
|
-
width: image.width ?? 0,
|
|
30
|
-
height: image.height ?? 0,
|
|
31
|
-
},
|
|
32
|
-
// All images returned form Asset API should have width and height properties.
|
|
33
|
-
// Image width and height will be only applied if there are no constraints and user didn't overwrite it
|
|
34
|
-
width: imageField?.dimensions?.width ?? image.width ?? 0,
|
|
35
|
-
height: imageField?.dimensions?.height ?? image.height ?? 0,
|
|
36
|
-
// If edit is not provided, we crop constraint width and height from the left upper corner.
|
|
37
|
-
// WARN: If constraints are greater than image dimensions cut outside the image (background will fill extra space).
|
|
38
|
-
edit: {
|
|
39
|
-
zoom: imageField.edit?.zoom ?? 1,
|
|
40
|
-
crop: {
|
|
41
|
-
x: imageField.edit?.x ?? 0,
|
|
42
|
-
y: imageField.edit?.y ?? 0,
|
|
43
|
-
},
|
|
44
|
-
background:
|
|
45
|
-
imageField.edit?.background ??
|
|
46
|
-
(image.extension === "png" ? "transparent" : "#ffffff"),
|
|
47
|
-
},
|
|
48
|
-
url: image.url,
|
|
49
|
-
},
|
|
50
|
-
[
|
|
51
|
-
["alt", imageField?.alt || image.alt],
|
|
52
|
-
["credits", imageField?.copyright || image.credits],
|
|
53
|
-
],
|
|
54
|
-
)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function convertThumbnails(
|
|
58
|
-
imageField: Exclude<ImportImage["value"], null>,
|
|
59
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
60
|
-
) {
|
|
61
|
-
return Object.entries(imageField.thumbnails).reduce(
|
|
62
|
-
(acc, [thumbnailName, thumbnail]) => {
|
|
63
|
-
return {
|
|
64
|
-
...acc,
|
|
65
|
-
[thumbnailName]: convertImageView(
|
|
66
|
-
thumbnail,
|
|
67
|
-
getAssetOrThrow(assets)(thumbnail.id),
|
|
68
|
-
),
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
{},
|
|
72
|
-
)
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// All assets from `imageField` must be present in `assets`
|
|
76
|
-
// If not then function will throw an error
|
|
77
|
-
export const imageConverter = (
|
|
78
|
-
imageField: ImportImage["value"],
|
|
79
|
-
assets: Record<Asset["id"], Asset | undefined>,
|
|
80
|
-
): ImageContent | undefined => {
|
|
81
|
-
if (!imageField) return
|
|
82
|
-
|
|
83
|
-
return {
|
|
84
|
-
...convertImageView<ImageField>(
|
|
85
|
-
imageField,
|
|
86
|
-
getAssetOrThrow(assets)(imageField.id),
|
|
87
|
-
),
|
|
88
|
-
thumbnails: convertThumbnails(imageField, assets),
|
|
89
|
-
__TYPE__: "ImageContent" as const,
|
|
90
|
-
}
|
|
91
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type { Asset } from "../../../../common"
|
|
2
|
-
import { getAssetOrThrow } from "../../../../common"
|
|
3
|
-
import type { LinkContent } from "../../../../content"
|
|
4
|
-
import type {
|
|
5
|
-
DocumentLink,
|
|
6
|
-
ImportLink,
|
|
7
|
-
MediaLink,
|
|
8
|
-
WebLink,
|
|
9
|
-
} from "../../../validators"
|
|
10
|
-
|
|
11
|
-
const webLinkConverter = (field: WebLink): LinkContent => ({
|
|
12
|
-
value: {
|
|
13
|
-
url: field.url,
|
|
14
|
-
target: field.target,
|
|
15
|
-
__TYPE__: "ExternalLink",
|
|
16
|
-
},
|
|
17
|
-
__TYPE__: "LinkContent",
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
const documentLinkConverter = (field: DocumentLink): LinkContent => ({
|
|
21
|
-
value: {
|
|
22
|
-
id: field.id,
|
|
23
|
-
__TYPE__: "DocumentLink",
|
|
24
|
-
},
|
|
25
|
-
__TYPE__: "LinkContent",
|
|
26
|
-
})
|
|
27
|
-
|
|
28
|
-
const fileLinkConverter = (field: MediaLink, asset: Asset): LinkContent => ({
|
|
29
|
-
value: {
|
|
30
|
-
id: field.id,
|
|
31
|
-
url: asset.origin_url,
|
|
32
|
-
name: asset.filename ?? "unknown.jpg",
|
|
33
|
-
kind: asset.kind,
|
|
34
|
-
size: asset.size ? String(asset.size) : "0",
|
|
35
|
-
__TYPE__: "FileLink",
|
|
36
|
-
},
|
|
37
|
-
__TYPE__: "LinkContent",
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
const imageLinkConverter = (field: MediaLink, asset: Asset): LinkContent => ({
|
|
41
|
-
value: {
|
|
42
|
-
id: field.id,
|
|
43
|
-
url: asset.origin_url,
|
|
44
|
-
height: String(asset.height ?? 1),
|
|
45
|
-
width: String(asset.width ?? 1),
|
|
46
|
-
name: asset.filename ?? "unknown.jpg",
|
|
47
|
-
kind: asset.kind,
|
|
48
|
-
size: asset.size ? String(asset.size) : "0",
|
|
49
|
-
__TYPE__: "ImageLink",
|
|
50
|
-
},
|
|
51
|
-
__TYPE__: "LinkContent",
|
|
52
|
-
})
|
|
53
|
-
|
|
54
|
-
export const linkConverter = (
|
|
55
|
-
field: ImportLink["value"],
|
|
56
|
-
assets: Record<string, Asset | undefined>,
|
|
57
|
-
): LinkContent | undefined => {
|
|
58
|
-
if (field === null) {
|
|
59
|
-
return
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
switch (field.link_type) {
|
|
63
|
-
case "Web":
|
|
64
|
-
return webLinkConverter(field)
|
|
65
|
-
case "Document":
|
|
66
|
-
return documentLinkConverter(field)
|
|
67
|
-
case "Media": {
|
|
68
|
-
const asset = getAssetOrThrow(assets)(field.id)
|
|
69
|
-
switch (asset.kind) {
|
|
70
|
-
case "all":
|
|
71
|
-
return fileLinkConverter(field, asset)
|
|
72
|
-
case "image":
|
|
73
|
-
return imageLinkConverter(field, asset)
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|