@squiz/dx-json-schema-lib 1.82.6 → 1.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/manifest/v1/DxComponentInputSchema.spec.js +12 -0
- package/lib/manifest/v1/DxComponentInputSchema.spec.js.map +1 -1
- package/lib/manifest/v1/DxContentMetaSchema.json +4 -0
- package/lib/manifest/v1/JobV1.d.ts +8 -0
- package/lib/manifest/v1/v1.d.ts +8 -0
- package/lib/primitiveTypes/index.d.ts +1 -0
- package/lib/primitiveTypes/index.js +1 -0
- package/lib/primitiveTypes/index.js.map +1 -1
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.d.ts +28 -0
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.js +100 -0
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.js.map +1 -0
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.spec.d.ts +1 -0
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.spec.js +225 -0
- package/lib/primitiveTypes/mapMatrixAssetToSquizPrimitive.spec.js.map +1 -0
- package/package.json +1 -1
- package/src/manifest/v1/DxComponentInputSchema.spec.ts +18 -0
- package/src/manifest/v1/DxContentMetaSchema.json +4 -0
- package/src/manifest/v1/JobV1.ts +8 -0
- package/src/manifest/v1/v1.ts +8 -0
- package/src/primitiveTypes/index.ts +1 -0
- package/src/primitiveTypes/mapMatrixAssetToSquizPrimitive.spec.ts +239 -0
- package/src/primitiveTypes/mapMatrixAssetToSquizPrimitive.ts +120 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 1.84.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 07202d4: Add the previewPlaceholder property to the schema.
|
|
8
|
+
|
|
9
|
+
## 1.83.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 1e5f754: Export Matrix asset to primitive types resolver fns
|
|
14
|
+
|
|
3
15
|
## 1.82.6
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -64,6 +64,18 @@ describe('DxComponentInputSchema', () => {
|
|
|
64
64
|
foo: 'bar',
|
|
65
65
|
}), SchemaValidationError_1.SchemaValidationError, 'failed validation: Additional property `foo` in `#` is not allowed');
|
|
66
66
|
});
|
|
67
|
+
it('should allow previewPlaceholder to be a string', () => {
|
|
68
|
+
expect(() => jsonValidationService.validateContentSchema({
|
|
69
|
+
type: 'object',
|
|
70
|
+
previewPlaceholder: 'foo',
|
|
71
|
+
})).not.toThrowError();
|
|
72
|
+
});
|
|
73
|
+
it('should allow previewPlaceholder to be a boolean', () => {
|
|
74
|
+
expect(() => jsonValidationService.validateContentSchema({
|
|
75
|
+
type: 'object',
|
|
76
|
+
previewPlaceholder: true,
|
|
77
|
+
})).not.toThrowError();
|
|
78
|
+
});
|
|
67
79
|
it('should allow a nested property to be an array of of objects which have a property of type to be "FormattedText" that is required', () => {
|
|
68
80
|
expect(() => jsonValidationService.validateContentSchema({
|
|
69
81
|
type: 'object',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DxComponentInputSchema.spec.js","sourceRoot":"","sources":["../../../src/manifest/v1/DxComponentInputSchema.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DxComponentInputSchema.spec.js","sourceRoot":"","sources":["../../../src/manifest/v1/DxComponentInputSchema.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,10 @@ export type CoreSchemaMetaSchema2 = {
|
|
|
76
76
|
anyOf?: SchemaArray;
|
|
77
77
|
oneOf?: SchemaArray;
|
|
78
78
|
not?: CoreSchemaMetaSchema2;
|
|
79
|
+
/**
|
|
80
|
+
* Placeholder text to display in the preview
|
|
81
|
+
*/
|
|
82
|
+
previewPlaceholder?: string | boolean;
|
|
79
83
|
} | boolean;
|
|
80
84
|
/**
|
|
81
85
|
* @minItems 1
|
|
@@ -199,6 +203,10 @@ export interface CoreSchemaMetaSchema1 {
|
|
|
199
203
|
anyOf?: SchemaArray;
|
|
200
204
|
oneOf?: SchemaArray;
|
|
201
205
|
not?: CoreSchemaMetaSchema2;
|
|
206
|
+
/**
|
|
207
|
+
* Placeholder text to display in the preview
|
|
208
|
+
*/
|
|
209
|
+
previewPlaceholder?: string | boolean;
|
|
202
210
|
}
|
|
203
211
|
export interface UiMetadata {
|
|
204
212
|
/**
|
package/lib/manifest/v1/v1.d.ts
CHANGED
|
@@ -76,6 +76,10 @@ export type CoreSchemaMetaSchema2 = {
|
|
|
76
76
|
anyOf?: SchemaArray;
|
|
77
77
|
oneOf?: SchemaArray;
|
|
78
78
|
not?: CoreSchemaMetaSchema2;
|
|
79
|
+
/**
|
|
80
|
+
* Placeholder text to display in the preview
|
|
81
|
+
*/
|
|
82
|
+
previewPlaceholder?: string | boolean;
|
|
79
83
|
} | boolean;
|
|
80
84
|
/**
|
|
81
85
|
* @minItems 1
|
|
@@ -334,6 +338,10 @@ export interface CoreSchemaMetaSchema1 {
|
|
|
334
338
|
anyOf?: SchemaArray;
|
|
335
339
|
oneOf?: SchemaArray;
|
|
336
340
|
not?: CoreSchemaMetaSchema2;
|
|
341
|
+
/**
|
|
342
|
+
* Placeholder text to display in the preview
|
|
343
|
+
*/
|
|
344
|
+
previewPlaceholder?: string | boolean;
|
|
337
345
|
}
|
|
338
346
|
export interface UiMetadata {
|
|
339
347
|
/**
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./SquizImage"), exports);
|
|
18
18
|
__exportStar(require("./FormattedText"), exports);
|
|
19
19
|
__exportStar(require("./SquizLink"), exports);
|
|
20
|
+
__exportStar(require("./mapMatrixAssetToSquizPrimitive"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/primitiveTypes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC;AAChC,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/primitiveTypes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC;AAChC,8CAA4B;AAC5B,mEAAiD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
4
|
+
*/
|
|
5
|
+
import type { SquizImageType } from './SquizImage';
|
|
6
|
+
import type { SquizLinkType } from './SquizLink';
|
|
7
|
+
import type { MatrixAssetLinkType } from '../resolvableTypes/MatrixAsset';
|
|
8
|
+
/**
|
|
9
|
+
* Minimal Matrix asset shape used for mapping to Squiz primitives.
|
|
10
|
+
* Compatible with MANIFEST_MODELS.v1.MatrixAssetSchema and API response shapes.
|
|
11
|
+
*/
|
|
12
|
+
export interface MatrixAssetLike {
|
|
13
|
+
url: string;
|
|
14
|
+
type: string;
|
|
15
|
+
attributes: Record<string, unknown>;
|
|
16
|
+
/** Optional; when present, varieties (for image types) may be read from it */
|
|
17
|
+
additional?: unknown;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Maps a Matrix asset and link reference to a SquizLink shape.
|
|
21
|
+
* Mirrors the logic in content-api MatrixResolutionService.mapMatrixAssetToSquizLink.
|
|
22
|
+
*/
|
|
23
|
+
export declare function mapMatrixAssetToSquizLink(asset: MatrixAssetLike, matrixLinkAsset: MatrixAssetLinkType['__shape__']): SquizLinkType['__shape__'];
|
|
24
|
+
/**
|
|
25
|
+
* Maps a Matrix image asset to a SquizImage shape.
|
|
26
|
+
* Mirrors the logic in content-api MatrixResolutionService.mapMatrixAssetToSquizImage.
|
|
27
|
+
*/
|
|
28
|
+
export declare function mapMatrixAssetToSquizImage(asset: MatrixAssetLike): SquizImageType['__shape__'];
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright Squiz Australia Pty Ltd. All Rights Reserved.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.mapMatrixAssetToSquizLink = mapMatrixAssetToSquizLink;
|
|
8
|
+
exports.mapMatrixAssetToSquizImage = mapMatrixAssetToSquizImage;
|
|
9
|
+
const MATRIX_IMAGE_TYPES = /^image$|^image_variety$/;
|
|
10
|
+
/**
|
|
11
|
+
* Maps a Matrix asset and link reference to a SquizLink shape.
|
|
12
|
+
* Mirrors the logic in content-api MatrixResolutionService.mapMatrixAssetToSquizLink.
|
|
13
|
+
*/
|
|
14
|
+
function mapMatrixAssetToSquizLink(asset, matrixLinkAsset) {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const text = (typeof matrixLinkAsset.text === 'string' && matrixLinkAsset.text) || ((_a = asset.attributes) === null || _a === void 0 ? void 0 : _a.name) || '';
|
|
17
|
+
return {
|
|
18
|
+
text,
|
|
19
|
+
url: (_b = asset.url) !== null && _b !== void 0 ? _b : '',
|
|
20
|
+
target: matrixLinkAsset.target,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Maps a Matrix image asset to a SquizImage shape.
|
|
25
|
+
* Mirrors the logic in content-api MatrixResolutionService.mapMatrixAssetToSquizImage.
|
|
26
|
+
*/
|
|
27
|
+
function mapMatrixAssetToSquizImage(asset) {
|
|
28
|
+
var _a, _b, _c, _d, _e;
|
|
29
|
+
if (!MATRIX_IMAGE_TYPES.test(asset.type)) {
|
|
30
|
+
throw new Error(`Matrix asset is not an image: ${asset.type}`);
|
|
31
|
+
}
|
|
32
|
+
const variations = (_b = (_a = asset.additional) === null || _a === void 0 ? void 0 : _a.varieties) !== null && _b !== void 0 ? _b : [];
|
|
33
|
+
const isVariety = asset.type === 'image_variety';
|
|
34
|
+
return {
|
|
35
|
+
name: (_c = asset.attributes) === null || _c === void 0 ? void 0 : _c.title,
|
|
36
|
+
alt: (_d = asset.attributes) === null || _d === void 0 ? void 0 : _d.alt,
|
|
37
|
+
caption: (_e = asset.attributes) === null || _e === void 0 ? void 0 : _e.caption,
|
|
38
|
+
imageVariations: {
|
|
39
|
+
original: mapMatrixAssetToSquizImageVariation(asset, isVariety),
|
|
40
|
+
aspectRatios: variations.map((v) => mapMatrixAssetToSquizImageVariation(v, true)),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function mapMatrixAssetToSquizImageVariation(matrixAsset, isVariety) {
|
|
45
|
+
var _a;
|
|
46
|
+
const prefix = isVariety ? 'variety_' : '';
|
|
47
|
+
const attrs = (_a = matrixAsset.attributes) !== null && _a !== void 0 ? _a : {};
|
|
48
|
+
const width = attrs[`${prefix}width`];
|
|
49
|
+
const height = attrs[`${prefix}height`];
|
|
50
|
+
const mimeType = getMimeTypeFromUrl(matrixAsset.url);
|
|
51
|
+
return {
|
|
52
|
+
url: matrixAsset.url,
|
|
53
|
+
width,
|
|
54
|
+
height,
|
|
55
|
+
byteSize: attrs[`${prefix}size`],
|
|
56
|
+
mimeType,
|
|
57
|
+
aspectRatio: isVariety ? calculateAspectRatio(width, height) : '4:3',
|
|
58
|
+
sha1Hash: '',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function getMimeTypeFromUrl(url) {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
const ext = url.includes('.') ? (_b = (_a = url.split('.').pop()) === null || _a === void 0 ? void 0 : _a.replace(/\?.*/, '')) === null || _b === void 0 ? void 0 : _b.toLowerCase() : '';
|
|
64
|
+
const mimeMap = {
|
|
65
|
+
jpg: 'image/jpeg',
|
|
66
|
+
jpeg: 'image/jpeg',
|
|
67
|
+
png: 'image/png',
|
|
68
|
+
gif: 'image/gif',
|
|
69
|
+
webp: 'image/webp',
|
|
70
|
+
svg: 'image/svg+xml',
|
|
71
|
+
};
|
|
72
|
+
return (ext && mimeMap[ext]) || 'image/jpeg';
|
|
73
|
+
}
|
|
74
|
+
function calculateAspectRatio(width, height) {
|
|
75
|
+
if (!width || !height)
|
|
76
|
+
return '4:3';
|
|
77
|
+
const gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));
|
|
78
|
+
const d = gcd(width, height);
|
|
79
|
+
const sx = width / d;
|
|
80
|
+
const sy = height / d;
|
|
81
|
+
const ratio = width / height;
|
|
82
|
+
const standardRatios = [
|
|
83
|
+
{ label: '16:9', value: 16 / 9 },
|
|
84
|
+
{ label: '3:2', value: 3 / 2 },
|
|
85
|
+
{ label: '4:3', value: 4 / 3 },
|
|
86
|
+
{ label: '1:1', value: 1 },
|
|
87
|
+
];
|
|
88
|
+
const cmp = width >= height ? ratio : 1 / ratio;
|
|
89
|
+
let bestLabel = '';
|
|
90
|
+
let bestDiff = Infinity;
|
|
91
|
+
for (const { label, value } of standardRatios) {
|
|
92
|
+
const diff = Math.abs(cmp - value);
|
|
93
|
+
if (diff < bestDiff) {
|
|
94
|
+
bestDiff = diff;
|
|
95
|
+
bestLabel = label;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return bestDiff <= 0.2 ? bestLabel : `${sx}:${sy}`;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=mapMatrixAssetToSquizPrimitive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapMatrixAssetToSquizPrimitive.js","sourceRoot":"","sources":["../../src/primitiveTypes/mapMatrixAssetToSquizPrimitive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mapMatrixAssetToSquizPrimitive_1 = require("./mapMatrixAssetToSquizPrimitive");
|
|
4
|
+
describe('mapMatrixAssetToSquizPrimitive', () => {
|
|
5
|
+
describe('mapMatrixAssetToSquizLink', () => {
|
|
6
|
+
it('should map asset and link to SquizLink with text from matrixLinkAsset', () => {
|
|
7
|
+
const asset = {
|
|
8
|
+
url: 'https://example.com/page',
|
|
9
|
+
type: 'link',
|
|
10
|
+
attributes: { name: 'Fallback Name' },
|
|
11
|
+
};
|
|
12
|
+
const matrixLinkAsset = {
|
|
13
|
+
matrixAssetId: '123',
|
|
14
|
+
matrixIdentifier: 'prod',
|
|
15
|
+
text: 'Click here',
|
|
16
|
+
target: '_blank',
|
|
17
|
+
};
|
|
18
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizLink)(asset, matrixLinkAsset);
|
|
19
|
+
expect(result).toEqual({
|
|
20
|
+
text: 'Click here',
|
|
21
|
+
url: 'https://example.com/page',
|
|
22
|
+
target: '_blank',
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
it('should fall back to asset.attributes.name when matrixLinkAsset.text is empty', () => {
|
|
26
|
+
const asset = {
|
|
27
|
+
url: 'https://example.com/page',
|
|
28
|
+
type: 'link',
|
|
29
|
+
attributes: { name: 'Link Name' },
|
|
30
|
+
};
|
|
31
|
+
const matrixLinkAsset = {
|
|
32
|
+
matrixAssetId: '123',
|
|
33
|
+
matrixIdentifier: 'prod',
|
|
34
|
+
text: '',
|
|
35
|
+
target: '_self',
|
|
36
|
+
};
|
|
37
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizLink)(asset, matrixLinkAsset);
|
|
38
|
+
expect(result.text).toBe('Link Name');
|
|
39
|
+
expect(result.url).toBe('https://example.com/page');
|
|
40
|
+
expect(result.target).toBe('_self');
|
|
41
|
+
});
|
|
42
|
+
it('should fall back to empty string when neither text nor attributes.name present', () => {
|
|
43
|
+
const asset = {
|
|
44
|
+
url: 'https://example.com/page',
|
|
45
|
+
type: 'link',
|
|
46
|
+
attributes: {},
|
|
47
|
+
};
|
|
48
|
+
const matrixLinkAsset = {
|
|
49
|
+
matrixAssetId: '123',
|
|
50
|
+
matrixIdentifier: 'prod',
|
|
51
|
+
target: '_parent',
|
|
52
|
+
};
|
|
53
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizLink)(asset, matrixLinkAsset);
|
|
54
|
+
expect(result).toEqual({
|
|
55
|
+
text: '',
|
|
56
|
+
url: 'https://example.com/page',
|
|
57
|
+
target: '_parent',
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
it('should use empty url when asset.url is missing', () => {
|
|
61
|
+
const asset = {
|
|
62
|
+
url: undefined,
|
|
63
|
+
type: 'link',
|
|
64
|
+
attributes: {},
|
|
65
|
+
};
|
|
66
|
+
const matrixLinkAsset = {
|
|
67
|
+
matrixAssetId: '123',
|
|
68
|
+
matrixIdentifier: 'prod',
|
|
69
|
+
text: 'Link',
|
|
70
|
+
target: '_top',
|
|
71
|
+
};
|
|
72
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizLink)(asset, matrixLinkAsset);
|
|
73
|
+
expect(result.url).toBe('');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('mapMatrixAssetToSquizImage', () => {
|
|
77
|
+
it('should throw when asset type is not image or image_variety', () => {
|
|
78
|
+
const asset = {
|
|
79
|
+
url: 'https://example.com/file.pdf',
|
|
80
|
+
type: 'document',
|
|
81
|
+
attributes: {},
|
|
82
|
+
};
|
|
83
|
+
expect(() => (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset)).toThrow('Matrix asset is not an image: document');
|
|
84
|
+
});
|
|
85
|
+
it('should map image asset to SquizImage shape', () => {
|
|
86
|
+
const asset = {
|
|
87
|
+
url: 'https://example.com/photo.jpg',
|
|
88
|
+
type: 'image',
|
|
89
|
+
attributes: {
|
|
90
|
+
title: 'Photo Title',
|
|
91
|
+
alt: 'Alt text',
|
|
92
|
+
caption: 'Caption text',
|
|
93
|
+
width: 800,
|
|
94
|
+
height: 600,
|
|
95
|
+
size: 102400,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
99
|
+
expect(result.name).toBe('Photo Title');
|
|
100
|
+
expect(result.alt).toBe('Alt text');
|
|
101
|
+
expect(result.caption).toBe('Caption text');
|
|
102
|
+
expect(result.imageVariations.original).toMatchObject({
|
|
103
|
+
url: 'https://example.com/photo.jpg',
|
|
104
|
+
width: 800,
|
|
105
|
+
height: 600,
|
|
106
|
+
byteSize: 102400,
|
|
107
|
+
mimeType: 'image/jpeg',
|
|
108
|
+
aspectRatio: '4:3',
|
|
109
|
+
sha1Hash: '',
|
|
110
|
+
});
|
|
111
|
+
expect(result.imageVariations.aspectRatios).toEqual([]);
|
|
112
|
+
});
|
|
113
|
+
it('should use variety_ prefix for image_variety type', () => {
|
|
114
|
+
const asset = {
|
|
115
|
+
url: 'https://example.com/variety.webp',
|
|
116
|
+
type: 'image_variety',
|
|
117
|
+
attributes: {
|
|
118
|
+
title: 'Variety',
|
|
119
|
+
variety_width: 400,
|
|
120
|
+
variety_height: 300,
|
|
121
|
+
variety_size: 5000,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
125
|
+
expect(result.imageVariations.original).toMatchObject({
|
|
126
|
+
url: 'https://example.com/variety.webp',
|
|
127
|
+
width: 400,
|
|
128
|
+
height: 300,
|
|
129
|
+
byteSize: 5000,
|
|
130
|
+
mimeType: 'image/webp',
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
it('should map mime type from url extension', () => {
|
|
134
|
+
const cases = [
|
|
135
|
+
{ url: 'https://example.com/a.jpg', mime: 'image/jpeg' },
|
|
136
|
+
{ url: 'https://example.com/b.jpeg', mime: 'image/jpeg' },
|
|
137
|
+
{ url: 'https://example.com/c.png', mime: 'image/png' },
|
|
138
|
+
{ url: 'https://example.com/d.gif', mime: 'image/gif' },
|
|
139
|
+
{ url: 'https://example.com/e.webp', mime: 'image/webp' },
|
|
140
|
+
{ url: 'https://example.com/f.svg', mime: 'image/svg+xml' },
|
|
141
|
+
{ url: 'https://example.com/g.jpg?query=1', mime: 'image/jpeg' },
|
|
142
|
+
];
|
|
143
|
+
cases.forEach(({ url, mime }) => {
|
|
144
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)({
|
|
145
|
+
url,
|
|
146
|
+
type: 'image',
|
|
147
|
+
attributes: { width: 1, height: 1, size: 1 },
|
|
148
|
+
});
|
|
149
|
+
expect(result.imageVariations.original.mimeType).toBe(mime);
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
it('should default to image/jpeg when extension is unknown', () => {
|
|
153
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)({
|
|
154
|
+
url: 'https://example.com/file.xyz',
|
|
155
|
+
type: 'image',
|
|
156
|
+
attributes: { width: 1, height: 1, size: 1 },
|
|
157
|
+
});
|
|
158
|
+
expect(result.imageVariations.original.mimeType).toBe('image/jpeg');
|
|
159
|
+
});
|
|
160
|
+
it('should include aspect ratios from additional.varieties', () => {
|
|
161
|
+
const asset = {
|
|
162
|
+
url: 'https://example.com/main.jpg',
|
|
163
|
+
type: 'image',
|
|
164
|
+
attributes: {
|
|
165
|
+
title: 'Main',
|
|
166
|
+
width: 1600,
|
|
167
|
+
height: 900,
|
|
168
|
+
size: 200000,
|
|
169
|
+
},
|
|
170
|
+
additional: {
|
|
171
|
+
varieties: [
|
|
172
|
+
{
|
|
173
|
+
url: 'https://example.com/16x9.jpg',
|
|
174
|
+
type: 'image_variety',
|
|
175
|
+
attributes: {
|
|
176
|
+
variety_width: 1600,
|
|
177
|
+
variety_height: 900,
|
|
178
|
+
variety_size: 100000,
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
],
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
185
|
+
expect(result.imageVariations.aspectRatios).toHaveLength(1);
|
|
186
|
+
expect(result.imageVariations.aspectRatios[0]).toMatchObject({
|
|
187
|
+
url: 'https://example.com/16x9.jpg',
|
|
188
|
+
width: 1600,
|
|
189
|
+
height: 900,
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
it('should handle missing additional or varieties', () => {
|
|
193
|
+
const asset = {
|
|
194
|
+
url: 'https://example.com/photo.jpg',
|
|
195
|
+
type: 'image',
|
|
196
|
+
attributes: { width: 100, height: 100, size: 0 },
|
|
197
|
+
};
|
|
198
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
199
|
+
expect(result.imageVariations.aspectRatios).toEqual([]);
|
|
200
|
+
});
|
|
201
|
+
it('should calculate aspect ratio for variety (e.g. 16:9)', () => {
|
|
202
|
+
const asset = {
|
|
203
|
+
url: 'https://example.com/v.jpg',
|
|
204
|
+
type: 'image_variety',
|
|
205
|
+
attributes: {
|
|
206
|
+
variety_width: 1920,
|
|
207
|
+
variety_height: 1080,
|
|
208
|
+
variety_size: 0,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
212
|
+
expect(result.imageVariations.original.aspectRatio).toBe('16:9');
|
|
213
|
+
});
|
|
214
|
+
it('should default aspect ratio to 4:3 when dimensions missing for variety', () => {
|
|
215
|
+
const asset = {
|
|
216
|
+
url: 'https://example.com/v.jpg',
|
|
217
|
+
type: 'image_variety',
|
|
218
|
+
attributes: {},
|
|
219
|
+
};
|
|
220
|
+
const result = (0, mapMatrixAssetToSquizPrimitive_1.mapMatrixAssetToSquizImage)(asset);
|
|
221
|
+
expect(result.imageVariations.original.aspectRatio).toBe('4:3');
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=mapMatrixAssetToSquizPrimitive.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapMatrixAssetToSquizPrimitive.spec.js","sourceRoot":"","sources":["../../src/primitiveTypes/mapMatrixAssetToSquizPrimitive.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -91,6 +91,24 @@ describe('DxComponentInputSchema', () => {
|
|
|
91
91
|
);
|
|
92
92
|
});
|
|
93
93
|
|
|
94
|
+
it('should allow previewPlaceholder to be a string', () => {
|
|
95
|
+
expect(() =>
|
|
96
|
+
jsonValidationService.validateContentSchema({
|
|
97
|
+
type: 'object',
|
|
98
|
+
previewPlaceholder: 'foo',
|
|
99
|
+
}),
|
|
100
|
+
).not.toThrowError();
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it('should allow previewPlaceholder to be a boolean', () => {
|
|
104
|
+
expect(() =>
|
|
105
|
+
jsonValidationService.validateContentSchema({
|
|
106
|
+
type: 'object',
|
|
107
|
+
previewPlaceholder: true,
|
|
108
|
+
}),
|
|
109
|
+
).not.toThrowError();
|
|
110
|
+
});
|
|
111
|
+
|
|
94
112
|
it('should allow a nested property to be an array of of objects which have a property of type to be "FormattedText" that is required', () => {
|
|
95
113
|
expect(() =>
|
|
96
114
|
jsonValidationService.validateContentSchema({
|
package/src/manifest/v1/JobV1.ts
CHANGED
|
@@ -205,6 +205,10 @@ export type CoreSchemaMetaSchema2 =
|
|
|
205
205
|
anyOf?: SchemaArray;
|
|
206
206
|
oneOf?: SchemaArray;
|
|
207
207
|
not?: CoreSchemaMetaSchema2;
|
|
208
|
+
/**
|
|
209
|
+
* Placeholder text to display in the preview
|
|
210
|
+
*/
|
|
211
|
+
previewPlaceholder?: string | boolean;
|
|
208
212
|
}
|
|
209
213
|
| boolean;
|
|
210
214
|
/**
|
|
@@ -456,6 +460,10 @@ export interface CoreSchemaMetaSchema1 {
|
|
|
456
460
|
anyOf?: SchemaArray;
|
|
457
461
|
oneOf?: SchemaArray;
|
|
458
462
|
not?: CoreSchemaMetaSchema2;
|
|
463
|
+
/**
|
|
464
|
+
* Placeholder text to display in the preview
|
|
465
|
+
*/
|
|
466
|
+
previewPlaceholder?: string | boolean;
|
|
459
467
|
}
|
|
460
468
|
export interface UiMetadata {
|
|
461
469
|
/**
|
package/src/manifest/v1/v1.ts
CHANGED
|
@@ -205,6 +205,10 @@ export type CoreSchemaMetaSchema2 =
|
|
|
205
205
|
anyOf?: SchemaArray;
|
|
206
206
|
oneOf?: SchemaArray;
|
|
207
207
|
not?: CoreSchemaMetaSchema2;
|
|
208
|
+
/**
|
|
209
|
+
* Placeholder text to display in the preview
|
|
210
|
+
*/
|
|
211
|
+
previewPlaceholder?: string | boolean;
|
|
208
212
|
}
|
|
209
213
|
| boolean;
|
|
210
214
|
/**
|
|
@@ -2835,6 +2839,10 @@ export interface CoreSchemaMetaSchema1 {
|
|
|
2835
2839
|
anyOf?: SchemaArray;
|
|
2836
2840
|
oneOf?: SchemaArray;
|
|
2837
2841
|
not?: CoreSchemaMetaSchema2;
|
|
2842
|
+
/**
|
|
2843
|
+
* Placeholder text to display in the preview
|
|
2844
|
+
*/
|
|
2845
|
+
previewPlaceholder?: string | boolean;
|
|
2838
2846
|
}
|
|
2839
2847
|
export interface UiMetadata {
|
|
2840
2848
|
/**
|