@squiz/dx-json-schema-lib 1.54.1-alpha.9 → 1.56.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/.npm/_logs/{2023-10-23T22_05_18_376Z-debug-0.log → 2023-11-01T22_51_21_421Z-debug-0.log} +18 -18
- package/lib/JsonValidationService.d.ts +1 -0
- package/lib/JsonValidationService.js +13 -2
- package/lib/JsonValidationService.js.map +1 -1
- package/lib/JsonValidationService.spec.js +64 -13
- package/lib/JsonValidationService.spec.js.map +1 -1
- package/lib/formatted-text/v1/resolveFormattedTextNodes.js +1 -2
- package/lib/formatted-text/v1/resolveFormattedTextNodes.js.map +1 -1
- package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js +0 -102
- package/lib/formatted-text/v1/resolveFormattedTextNodes.spec.js.map +1 -1
- package/lib/primitiveTypes/SquizLink.d.ts +1 -1
- package/lib/primitiveTypes/SquizLink.js +2 -2
- package/package.json +2 -2
- package/src/JsonValidationService.spec.ts +68 -14
- package/src/JsonValidationService.ts +16 -2
- package/src/formatted-text/v1/resolveFormattedTextNodes.spec.ts +0 -112
- package/src/formatted-text/v1/resolveFormattedTextNodes.ts +1 -2
- package/src/primitiveTypes/SquizLink.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
| @@ -120,108 +120,6 @@ describe('resolveFormattedNodes', () => { | |
| 120 120 | 
             
                    const result = await (0, resolveFormattedTextNodes_1.resolveFormattedTextNodes)(testItem, testSchema, testResolverMap);
         | 
| 121 121 | 
             
                    expect(result).toEqual(expectedItem);
         | 
| 122 122 | 
             
                });
         | 
| 123 | 
            -
                it('should resolve Matrix Images items in an array', async () => {
         | 
| 124 | 
            -
                    const testSchema = {
         | 
| 125 | 
            -
                        type: 'object',
         | 
| 126 | 
            -
                        properties: {
         | 
| 127 | 
            -
                            images: {
         | 
| 128 | 
            -
                                title: 'Images',
         | 
| 129 | 
            -
                                description: 'Gallery images',
         | 
| 130 | 
            -
                                type: 'array',
         | 
| 131 | 
            -
                                items: {
         | 
| 132 | 
            -
                                    title: 'Image item',
         | 
| 133 | 
            -
                                    type: 'SquizImage',
         | 
| 134 | 
            -
                                },
         | 
| 135 | 
            -
                            },
         | 
| 136 | 
            -
                        },
         | 
| 137 | 
            -
                        required: ['images'],
         | 
| 138 | 
            -
                    };
         | 
| 139 | 
            -
                    const testItem = {
         | 
| 140 | 
            -
                        images: [
         | 
| 141 | 
            -
                            {
         | 
| 142 | 
            -
                                type: 'matrix-image',
         | 
| 143 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 144 | 
            -
                                matrixDomain: 'example.com',
         | 
| 145 | 
            -
                                matrixAssetId: '54321',
         | 
| 146 | 
            -
                            },
         | 
| 147 | 
            -
                            {
         | 
| 148 | 
            -
                                type: 'matrix-image',
         | 
| 149 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 150 | 
            -
                                matrixDomain: 'example.com',
         | 
| 151 | 
            -
                                matrixAssetId: '54321',
         | 
| 152 | 
            -
                            },
         | 
| 153 | 
            -
                            {
         | 
| 154 | 
            -
                                type: 'matrix-image',
         | 
| 155 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 156 | 
            -
                                matrixDomain: 'example.com',
         | 
| 157 | 
            -
                                matrixAssetId: '54321',
         | 
| 158 | 
            -
                            },
         | 
| 159 | 
            -
                        ],
         | 
| 160 | 
            -
                    };
         | 
| 161 | 
            -
                    const expectedItem = {
         | 
| 162 | 
            -
                        images: [
         | 
| 163 | 
            -
                            { type: 'text', value: 'Image 54321' },
         | 
| 164 | 
            -
                            { type: 'text', value: 'Image 54321' },
         | 
| 165 | 
            -
                            { type: 'text', value: 'Image 54321' },
         | 
| 166 | 
            -
                        ],
         | 
| 167 | 
            -
                    };
         | 
| 168 | 
            -
                    const result = await (0, resolveFormattedTextNodes_1.resolveFormattedTextNodes)(testItem, testSchema, testResolverMap);
         | 
| 169 | 
            -
                    expect(result).toEqual(expectedItem);
         | 
| 170 | 
            -
                });
         | 
| 171 | 
            -
                it('should resolve Matrix Asset Uri items in an array', async () => {
         | 
| 172 | 
            -
                    const testSchema = {
         | 
| 173 | 
            -
                        type: 'object',
         | 
| 174 | 
            -
                        properties: {
         | 
| 175 | 
            -
                            links: {
         | 
| 176 | 
            -
                                title: 'Links',
         | 
| 177 | 
            -
                                description: 'Matrix Links',
         | 
| 178 | 
            -
                                type: 'array',
         | 
| 179 | 
            -
                                items: {
         | 
| 180 | 
            -
                                    title: 'A link',
         | 
| 181 | 
            -
                                    type: 'SquizLink',
         | 
| 182 | 
            -
                                },
         | 
| 183 | 
            -
                            },
         | 
| 184 | 
            -
                        },
         | 
| 185 | 
            -
                        required: ['links'],
         | 
| 186 | 
            -
                    };
         | 
| 187 | 
            -
                    const testItem = {
         | 
| 188 | 
            -
                        links: [
         | 
| 189 | 
            -
                            {
         | 
| 190 | 
            -
                                type: 'link-to-matrix-asset',
         | 
| 191 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 192 | 
            -
                                matrixDomain: 'example.com',
         | 
| 193 | 
            -
                                matrixAssetId: '12345',
         | 
| 194 | 
            -
                                target: '_blank',
         | 
| 195 | 
            -
                                children: [{ type: 'text', value: 'linked text' }],
         | 
| 196 | 
            -
                            },
         | 
| 197 | 
            -
                            {
         | 
| 198 | 
            -
                                type: 'link-to-matrix-asset',
         | 
| 199 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 200 | 
            -
                                matrixDomain: 'example.com',
         | 
| 201 | 
            -
                                matrixAssetId: '12345',
         | 
| 202 | 
            -
                                target: '_blank',
         | 
| 203 | 
            -
                                children: [{ type: 'text', value: 'linked text' }],
         | 
| 204 | 
            -
                            },
         | 
| 205 | 
            -
                            {
         | 
| 206 | 
            -
                                type: 'link-to-matrix-asset',
         | 
| 207 | 
            -
                                matrixIdentifier: 'abc123',
         | 
| 208 | 
            -
                                matrixDomain: 'example.com',
         | 
| 209 | 
            -
                                matrixAssetId: '12345',
         | 
| 210 | 
            -
                                target: '_blank',
         | 
| 211 | 
            -
                                children: [{ type: 'text', value: 'linked text' }],
         | 
| 212 | 
            -
                            },
         | 
| 213 | 
            -
                        ],
         | 
| 214 | 
            -
                    };
         | 
| 215 | 
            -
                    const expectedItem = {
         | 
| 216 | 
            -
                        links: [
         | 
| 217 | 
            -
                            { type: 'text', value: 'Link to asset 12345' },
         | 
| 218 | 
            -
                            { type: 'text', value: 'Link to asset 12345' },
         | 
| 219 | 
            -
                            { type: 'text', value: 'Link to asset 12345' },
         | 
| 220 | 
            -
                        ],
         | 
| 221 | 
            -
                    };
         | 
| 222 | 
            -
                    const result = await (0, resolveFormattedTextNodes_1.resolveFormattedTextNodes)(testItem, testSchema, testResolverMap);
         | 
| 223 | 
            -
                    expect(result).toEqual(expectedItem);
         | 
| 224 | 
            -
                });
         | 
| 225 123 | 
             
                it('should not alter non resolvable array items', async () => {
         | 
| 226 124 | 
             
                    const testSchema = {
         | 
| 227 125 | 
             
                        type: 'object',
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"resolveFormattedTextNodes.spec.js","sourceRoot":"","sources":["../../../src/formatted-text/v1/resolveFormattedTextNodes.spec.ts"],"names":[],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"resolveFormattedTextNodes.spec.js","sourceRoot":"","sources":["../../../src/formatted-text/v1/resolveFormattedTextNodes.spec.ts"],"names":[],"mappings":"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"}
         | 
| @@ -6,7 +6,7 @@ exports.SquizLinkType = (0, TypeResolver_1.PrimitiveType)({ | |
| 6 6 | 
             
                title: 'SquizLink',
         | 
| 7 7 | 
             
                type: 'object',
         | 
| 8 8 | 
             
                properties: {
         | 
| 9 | 
            -
                     | 
| 9 | 
            +
                    text: {
         | 
| 10 10 | 
             
                        type: 'string',
         | 
| 11 11 | 
             
                    },
         | 
| 12 12 | 
             
                    url: {
         | 
| @@ -17,6 +17,6 @@ exports.SquizLinkType = (0, TypeResolver_1.PrimitiveType)({ | |
| 17 17 | 
             
                        enum: ['_blank', '_parent', '_self', '_top'],
         | 
| 18 18 | 
             
                    },
         | 
| 19 19 | 
             
                },
         | 
| 20 | 
            -
                required: [' | 
| 20 | 
            +
                required: ['text', 'url'],
         | 
| 21 21 | 
             
            });
         | 
| 22 22 | 
             
            //# sourceMappingURL=SquizLink.js.map
         | 
    
        package/package.json
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
              "name": "@squiz/dx-json-schema-lib",
         | 
| 3 | 
            -
              "version": "1. | 
| 3 | 
            +
              "version": "1.56.0",
         | 
| 4 4 | 
             
              "description": "",
         | 
| 5 5 | 
             
              "main": "lib/index.js",
         | 
| 6 6 | 
             
              "scripts": {
         | 
| @@ -31,5 +31,5 @@ | |
| 31 31 | 
             
                "@squiz/json-schema-library": "7.4.7",
         | 
| 32 32 | 
             
                "ts-brand": "0.0.2"
         | 
| 33 33 | 
             
              },
         | 
| 34 | 
            -
              "gitHead": " | 
| 34 | 
            +
              "gitHead": "75ada12a27c0dfd6f648c14846e4f4abc44658bd"
         | 
| 35 35 | 
             
            }
         | 
| @@ -16,7 +16,7 @@ import { | |
| 16 16 | 
             
            import { FormattedTextType, SquizImageType, SquizLinkType } from './primitiveTypes';
         | 
| 17 17 | 
             
            import { TypeResolverBuilder } from './jsonTypeResolution/TypeResolverBuilder';
         | 
| 18 18 | 
             
            import { MatrixAssetUri } from './validators/utils/matrixAssetValidator';
         | 
| 19 | 
            -
            import { MatrixAssetType } from './resolvableTypes';
         | 
| 19 | 
            +
            import { MatrixAssetLinkType, MatrixAssetType } from './resolvableTypes';
         | 
| 20 20 |  | 
| 21 21 | 
             
            function expectToThrowErrorMatchingTypeAndMessage(
         | 
| 22 22 | 
             
              // eslint-disable-next-line @typescript-eslint/ban-types
         | 
| @@ -1467,7 +1467,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1467 1467 | 
             
                    },
         | 
| 1468 1468 | 
             
                  },
         | 
| 1469 1469 | 
             
                  link: {
         | 
| 1470 | 
            -
                     | 
| 1470 | 
            +
                    text: 'test-link',
         | 
| 1471 1471 | 
             
                    url: 'https://www.squiz.net',
         | 
| 1472 1472 | 
             
                    target: '_blank',
         | 
| 1473 1473 | 
             
                  },
         | 
| @@ -1521,7 +1521,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1521 1521 | 
             
                    },
         | 
| 1522 1522 | 
             
                  },
         | 
| 1523 1523 | 
             
                  link: {
         | 
| 1524 | 
            -
                     | 
| 1524 | 
            +
                    text: 'test-link',
         | 
| 1525 1525 | 
             
                    url: 'https://www.squiz.net',
         | 
| 1526 1526 | 
             
                    target: '_blank',
         | 
| 1527 1527 | 
             
                  },
         | 
| @@ -1570,7 +1570,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1570 1570 | 
             
                  },
         | 
| 1571 1571 | 
             
                  //@ts-expect-error - wrong type
         | 
| 1572 1572 | 
             
                  link: {
         | 
| 1573 | 
            -
                     | 
| 1573 | 
            +
                    text: 'test-link',
         | 
| 1574 1574 | 
             
                    target: '_blank',
         | 
| 1575 1575 | 
             
                  },
         | 
| 1576 1576 | 
             
                  text: formattedText,
         | 
| @@ -1579,7 +1579,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1579 1579 | 
             
                expectToThrowErrorMatchingTypeAndMessage(
         | 
| 1580 1580 | 
             
                  () => jsonSchemaService.validateInput(input, schema),
         | 
| 1581 1581 | 
             
                  SchemaValidationError,
         | 
| 1582 | 
            -
                  'failed validation: Value `{"name":"test-image.jpeg","imageVariations":{"original":{"width":100,"url":"https://www.squiz.net","byteSize":100,"mimeType":"image/jpeg","sha1Hash":"123"}}}` in `#/image` does not match any given oneof schema,\nValue `{" | 
| 1582 | 
            +
                  'failed validation: Value `{"name":"test-image.jpeg","imageVariations":{"original":{"width":100,"url":"https://www.squiz.net","byteSize":100,"mimeType":"image/jpeg","sha1Hash":"123"}}}` in `#/image` does not match any given oneof schema,\nValue `{"text":"test-link","target":"_blank"}` in `#/link` does not match any given oneof schema,\nValue `[{"children":[{"type":"text","value":"hello"}]}]` in `#/text` does not match any given oneof schema',
         | 
| 1583 1583 | 
             
                  {
         | 
| 1584 1584 | 
             
                    '#/image': [
         | 
| 1585 1585 | 
             
                      {
         | 
| @@ -1623,9 +1623,9 @@ describe('JSONSchemaService - validation', () => { | |
| 1623 1623 | 
             
                          ],
         | 
| 1624 1624 | 
             
                          oneOf: [{ $ref: 'SquizLink.json' }],
         | 
| 1625 1625 | 
             
                          pointer: '#/link',
         | 
| 1626 | 
            -
                          value: '{" | 
| 1626 | 
            +
                          value: '{"text":"test-link","target":"_blank"}',
         | 
| 1627 1627 | 
             
                        },
         | 
| 1628 | 
            -
                        message: 'Value `{" | 
| 1628 | 
            +
                        message: 'Value `{"text":"test-link","target":"_blank"}` in `#/link` does not match any given oneof schema',
         | 
| 1629 1629 | 
             
                      },
         | 
| 1630 1630 | 
             
                    ],
         | 
| 1631 1631 | 
             
                    '#/text': [
         | 
| @@ -1701,7 +1701,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1701 1701 | 
             
                  },
         | 
| 1702 1702 | 
             
                  //@ts-expect-error - wrong type
         | 
| 1703 1703 | 
             
                  link: {
         | 
| 1704 | 
            -
                     | 
| 1704 | 
            +
                    text: 'test-link',
         | 
| 1705 1705 | 
             
                    target: '_blank',
         | 
| 1706 1706 | 
             
                  },
         | 
| 1707 1707 | 
             
                  text: formattedText,
         | 
| @@ -1712,7 +1712,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1712 1712 | 
             
                expectToThrowErrorMatchingTypeAndMessage(
         | 
| 1713 1713 | 
             
                  () => jsonSchemaService.validateInput(input, schema),
         | 
| 1714 1714 | 
             
                  SchemaValidationError,
         | 
| 1715 | 
            -
                  'failed validation: Value `{"name":"test-image.jpeg","imageVariations":{"original":{"width":100,"url":"https://www.squiz.net","byteSize":100,"mimeType":"image/jpeg","sha1Hash":"123"}}}` in `#/image` does not match any given oneof schema,\nValue `{" | 
| 1715 | 
            +
                  'failed validation: Value `{"name":"test-image.jpeg","imageVariations":{"original":{"width":100,"url":"https://www.squiz.net","byteSize":100,"mimeType":"image/jpeg","sha1Hash":"123"}}}` in `#/image` does not match any given oneof schema,\nValue `{"text":"test-link","target":"_blank"}` in `#/link` does not match any given oneof schema,\nValue `[{"children":[{"type":"text","value":"hello"}]}]` in `#/text` does not match any given oneof schema,\nValue matrix-asset-uri (matrix://123) in `#/asset` is not a valid matrix asset uri',
         | 
| 1716 1716 | 
             
                  {
         | 
| 1717 1717 | 
             
                    '#/asset': [
         | 
| 1718 1718 | 
             
                      {
         | 
| @@ -1775,9 +1775,9 @@ describe('JSONSchemaService - validation', () => { | |
| 1775 1775 | 
             
                          ],
         | 
| 1776 1776 | 
             
                          oneOf: [{ $ref: 'SquizLink.json' }],
         | 
| 1777 1777 | 
             
                          pointer: '#/link',
         | 
| 1778 | 
            -
                          value: '{" | 
| 1778 | 
            +
                          value: '{"text":"test-link","target":"_blank"}',
         | 
| 1779 1779 | 
             
                        },
         | 
| 1780 | 
            -
                        message: 'Value `{" | 
| 1780 | 
            +
                        message: 'Value `{"text":"test-link","target":"_blank"}` in `#/link` does not match any given oneof schema',
         | 
| 1781 1781 | 
             
                      },
         | 
| 1782 1782 | 
             
                    ],
         | 
| 1783 1783 | 
             
                    '#/text': [
         | 
| @@ -1867,7 +1867,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1867 1867 | 
             
                    matrixDomain: 'domain',
         | 
| 1868 1868 | 
             
                  },
         | 
| 1869 1869 | 
             
                  link: {
         | 
| 1870 | 
            -
                     | 
| 1870 | 
            +
                    text: 'test-link',
         | 
| 1871 1871 | 
             
                    url: 'https://www.squiz.net',
         | 
| 1872 1872 | 
             
                    target: '_blank',
         | 
| 1873 1873 | 
             
                  },
         | 
| @@ -1959,7 +1959,7 @@ describe('JSONSchemaService - validation', () => { | |
| 1959 1959 | 
             
                );
         | 
| 1960 1960 | 
             
              });
         | 
| 1961 1961 |  | 
| 1962 | 
            -
              it('should resolve an array of items containing resolvable types', async () => {
         | 
| 1962 | 
            +
              it('should only resolve an array of items containing resolvable types, other arrays are unaffected', async () => {
         | 
| 1963 1963 | 
             
                const typeResolver = TypeResolverBuilder.new()
         | 
| 1964 1964 | 
             
                  .addPrimitive(SquizImageType)
         | 
| 1965 1965 | 
             
                  .addPrimitive(SquizLinkType)
         | 
| @@ -1980,6 +1980,13 @@ describe('JSONSchemaService - validation', () => { | |
| 1980 1980 | 
             
                      },
         | 
| 1981 1981 | 
             
                    };
         | 
| 1982 1982 | 
             
                  })
         | 
| 1983 | 
            +
                  .addResolver(SquizLinkType, MatrixAssetLinkType, (): SquizLinkType['__shape__'] => {
         | 
| 1984 | 
            +
                    return {
         | 
| 1985 | 
            +
                      text: 'link text',
         | 
| 1986 | 
            +
                      url: 'www.test.com',
         | 
| 1987 | 
            +
                      target: '_self',
         | 
| 1988 | 
            +
                    };
         | 
| 1989 | 
            +
                  })
         | 
| 1983 1990 | 
             
                  .build();
         | 
| 1984 1991 |  | 
| 1985 1992 | 
             
                const jsonSchemaService = new JSONSchemaService(typeResolver, ComponentInputMetaSchema);
         | 
| @@ -1994,12 +2001,40 @@ describe('JSONSchemaService - validation', () => { | |
| 1994 2001 | 
             
                        type: 'SquizImage',
         | 
| 1995 2002 | 
             
                      },
         | 
| 1996 2003 | 
             
                    },
         | 
| 2004 | 
            +
                    squizLink: {
         | 
| 2005 | 
            +
                      title: 'Squiz link',
         | 
| 2006 | 
            +
                      type: 'array',
         | 
| 2007 | 
            +
                      items: {
         | 
| 2008 | 
            +
                        type: 'SquizLink',
         | 
| 2009 | 
            +
                      },
         | 
| 2010 | 
            +
                    },
         | 
| 2011 | 
            +
                    //custom format
         | 
| 2012 | 
            +
                    multiLine: {
         | 
| 2013 | 
            +
                      title: 'Multi-line (textarea)',
         | 
| 2014 | 
            +
                      type: 'array',
         | 
| 2015 | 
            +
                      items: {
         | 
| 2016 | 
            +
                        type: 'string',
         | 
| 2017 | 
            +
                        format: 'multi-line',
         | 
| 2018 | 
            +
                      },
         | 
| 2019 | 
            +
                    },
         | 
| 2020 | 
            +
                    //string array
         | 
| 2021 | 
            +
                    listOfStrings: {
         | 
| 2022 | 
            +
                      type: 'array',
         | 
| 2023 | 
            +
                      title: 'A list of strings',
         | 
| 2024 | 
            +
                      items: {
         | 
| 2025 | 
            +
                        type: 'string',
         | 
| 2026 | 
            +
                        default: 'Holy smokes',
         | 
| 2027 | 
            +
                      },
         | 
| 2028 | 
            +
                    },
         | 
| 1997 2029 | 
             
                  },
         | 
| 1998 | 
            -
                  required: ['images'],
         | 
| 2030 | 
            +
                  required: ['images', 'links'],
         | 
| 1999 2031 | 
             
                };
         | 
| 2000 2032 |  | 
| 2001 2033 | 
             
                const input: {
         | 
| 2002 2034 | 
             
                  images: Array<MatrixAssetType['__shape__']>;
         | 
| 2035 | 
            +
                  squizLink: Array<MatrixAssetLinkType['__shape__']>;
         | 
| 2036 | 
            +
                  multiline: Array<string>;
         | 
| 2037 | 
            +
                  listOfStrings: Array<string>;
         | 
| 2003 2038 | 
             
                } = {
         | 
| 2004 2039 | 
             
                  images: [
         | 
| 2005 2040 | 
             
                    {
         | 
| @@ -2008,6 +2043,16 @@ describe('JSONSchemaService - validation', () => { | |
| 2008 2043 | 
             
                      matrixIdentifier: 'feaas-matrix-us',
         | 
| 2009 2044 | 
             
                    },
         | 
| 2010 2045 | 
             
                  ],
         | 
| 2046 | 
            +
                  squizLink: [
         | 
| 2047 | 
            +
                    {
         | 
| 2048 | 
            +
                      matrixDomain: 'https://feaas-page-render-us.dev.matrix.squiz.cloud/59',
         | 
| 2049 | 
            +
                      matrixAssetId: '160',
         | 
| 2050 | 
            +
                      matrixIdentifier: 'feaas-matrix-us',
         | 
| 2051 | 
            +
                      target: '_self',
         | 
| 2052 | 
            +
                    },
         | 
| 2053 | 
            +
                  ],
         | 
| 2054 | 
            +
                  multiline: ['wow', 'much', 'multiline'],
         | 
| 2055 | 
            +
                  listOfStrings: ['very', 'string'],
         | 
| 2011 2056 | 
             
                };
         | 
| 2012 2057 | 
             
                const result = await jsonSchemaService.resolveInput(input, schema);
         | 
| 2013 2058 | 
             
                expect(result).toEqual({
         | 
| @@ -2019,6 +2064,15 @@ describe('JSONSchemaService - validation', () => { | |
| 2019 2064 | 
             
                      name: '',
         | 
| 2020 2065 | 
             
                    },
         | 
| 2021 2066 | 
             
                  ],
         | 
| 2067 | 
            +
                  squizLink: [
         | 
| 2068 | 
            +
                    {
         | 
| 2069 | 
            +
                      text: 'link text',
         | 
| 2070 | 
            +
                      url: 'www.test.com',
         | 
| 2071 | 
            +
                      target: '_self',
         | 
| 2072 | 
            +
                    },
         | 
| 2073 | 
            +
                  ],
         | 
| 2074 | 
            +
                  multiline: ['wow', 'much', 'multiline'],
         | 
| 2075 | 
            +
                  listOfStrings: ['very', 'string'],
         | 
| 2022 2076 | 
             
                });
         | 
| 2023 2077 | 
             
              });
         | 
| 2024 2078 | 
             
            });
         | 
| @@ -178,6 +178,11 @@ export const ManifestV1MetaSchema: MetaSchemaInput = { | |
| 178 178 | 
             
              },
         | 
| 179 179 | 
             
            };
         | 
| 180 180 |  | 
| 181 | 
            +
            const titleMap: Record<'SquizLink' | 'SquizImage', string> = {
         | 
| 182 | 
            +
              ['SquizLink']: 'MatrixAssetLink',
         | 
| 183 | 
            +
              ['SquizImage']: 'MatrixAsset',
         | 
| 184 | 
            +
            };
         | 
| 185 | 
            +
             | 
| 181 186 | 
             
            interface MetaSchemaInput {
         | 
| 182 187 | 
             
              root: JSONSchema;
         | 
| 183 188 | 
             
              remotes?: Record<string, JSONSchema>;
         | 
| @@ -292,8 +297,12 @@ export class JSONSchemaService<P extends AnyPrimitiveType, R extends AnyResolvab | |
| 292 297 | 
             
                  return o.$ref.replace('.json', '');
         | 
| 293 298 | 
             
                });
         | 
| 294 299 | 
             
                const primitiveSchema = allPossibleSchemaTitles.find((title) => this.typeResolver.isPrimitiveType(title));
         | 
| 295 | 
            -
                if (!primitiveSchema) return;
         | 
| 296 | 
            -
             | 
| 300 | 
            +
                if (!this.isPrimitiveSchema(primitiveSchema)) return;
         | 
| 301 | 
            +
             | 
| 302 | 
            +
                const primitiveSchemaKey: keyof typeof titleMap = primitiveSchema;
         | 
| 303 | 
            +
                const mappedValue = titleMap[primitiveSchemaKey];
         | 
| 304 | 
            +
             | 
| 305 | 
            +
                const resolver = this.typeResolver.tryGetResolver(primitiveSchema, { title: mappedValue } as R);
         | 
| 297 306 | 
             
                if (!resolver) return;
         | 
| 298 307 | 
             
                const setResolvedData = Promise.resolve()
         | 
| 299 308 | 
             
                  .then(() => resolver(value))
         | 
| @@ -303,6 +312,11 @@ export class JSONSchemaService<P extends AnyPrimitiveType, R extends AnyResolvab | |
| 303 312 | 
             
                  .catch((e) => Promise.reject(new JsonResolutionError(e, pointer, value)));
         | 
| 304 313 | 
             
                setters.push(setResolvedData);
         | 
| 305 314 | 
             
              }
         | 
| 315 | 
            +
             | 
| 316 | 
            +
              private isPrimitiveSchema(value: string | undefined): value is keyof typeof titleMap {
         | 
| 317 | 
            +
                if (!value) false;
         | 
| 318 | 
            +
                return value === 'SquizLink' || value === 'SquizImage';
         | 
| 319 | 
            +
              }
         | 
| 306 320 | 
             
            }
         | 
| 307 321 |  | 
| 308 322 | 
             
            export class JsonValidationService {
         | 
| @@ -134,118 +134,6 @@ describe('resolveFormattedNodes', () => { | |
| 134 134 | 
             
                expect(result).toEqual(expectedItem);
         | 
| 135 135 | 
             
              });
         | 
| 136 136 |  | 
| 137 | 
            -
              it('should resolve Matrix Images items in an array', async () => {
         | 
| 138 | 
            -
                const testSchema = {
         | 
| 139 | 
            -
                  type: 'object',
         | 
| 140 | 
            -
                  properties: {
         | 
| 141 | 
            -
                    images: {
         | 
| 142 | 
            -
                      title: 'Images',
         | 
| 143 | 
            -
                      description: 'Gallery images',
         | 
| 144 | 
            -
                      type: 'array',
         | 
| 145 | 
            -
                      items: {
         | 
| 146 | 
            -
                        title: 'Image item',
         | 
| 147 | 
            -
                        type: 'SquizImage',
         | 
| 148 | 
            -
                      },
         | 
| 149 | 
            -
                    },
         | 
| 150 | 
            -
                  },
         | 
| 151 | 
            -
                  required: ['images'],
         | 
| 152 | 
            -
                };
         | 
| 153 | 
            -
             | 
| 154 | 
            -
                const testItem = {
         | 
| 155 | 
            -
                  images: [
         | 
| 156 | 
            -
                    {
         | 
| 157 | 
            -
                      type: 'matrix-image',
         | 
| 158 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 159 | 
            -
                      matrixDomain: 'example.com',
         | 
| 160 | 
            -
                      matrixAssetId: '54321',
         | 
| 161 | 
            -
                    },
         | 
| 162 | 
            -
                    {
         | 
| 163 | 
            -
                      type: 'matrix-image',
         | 
| 164 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 165 | 
            -
                      matrixDomain: 'example.com',
         | 
| 166 | 
            -
                      matrixAssetId: '54321',
         | 
| 167 | 
            -
                    },
         | 
| 168 | 
            -
                    {
         | 
| 169 | 
            -
                      type: 'matrix-image',
         | 
| 170 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 171 | 
            -
                      matrixDomain: 'example.com',
         | 
| 172 | 
            -
                      matrixAssetId: '54321',
         | 
| 173 | 
            -
                    },
         | 
| 174 | 
            -
                  ],
         | 
| 175 | 
            -
                };
         | 
| 176 | 
            -
             | 
| 177 | 
            -
                const expectedItem = {
         | 
| 178 | 
            -
                  images: [
         | 
| 179 | 
            -
                    { type: 'text', value: 'Image 54321' },
         | 
| 180 | 
            -
                    { type: 'text', value: 'Image 54321' },
         | 
| 181 | 
            -
                    { type: 'text', value: 'Image 54321' },
         | 
| 182 | 
            -
                  ],
         | 
| 183 | 
            -
                };
         | 
| 184 | 
            -
             | 
| 185 | 
            -
                const result = await resolveFormattedTextNodes(testItem, testSchema, testResolverMap);
         | 
| 186 | 
            -
             | 
| 187 | 
            -
                expect(result).toEqual(expectedItem);
         | 
| 188 | 
            -
              });
         | 
| 189 | 
            -
             | 
| 190 | 
            -
              it('should resolve Matrix Asset Uri items in an array', async () => {
         | 
| 191 | 
            -
                const testSchema = {
         | 
| 192 | 
            -
                  type: 'object',
         | 
| 193 | 
            -
                  properties: {
         | 
| 194 | 
            -
                    links: {
         | 
| 195 | 
            -
                      title: 'Links',
         | 
| 196 | 
            -
                      description: 'Matrix Links',
         | 
| 197 | 
            -
                      type: 'array',
         | 
| 198 | 
            -
                      items: {
         | 
| 199 | 
            -
                        title: 'A link',
         | 
| 200 | 
            -
                        type: 'SquizLink',
         | 
| 201 | 
            -
                      },
         | 
| 202 | 
            -
                    },
         | 
| 203 | 
            -
                  },
         | 
| 204 | 
            -
                  required: ['links'],
         | 
| 205 | 
            -
                };
         | 
| 206 | 
            -
             | 
| 207 | 
            -
                const testItem = {
         | 
| 208 | 
            -
                  links: [
         | 
| 209 | 
            -
                    {
         | 
| 210 | 
            -
                      type: 'link-to-matrix-asset',
         | 
| 211 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 212 | 
            -
                      matrixDomain: 'example.com',
         | 
| 213 | 
            -
                      matrixAssetId: '12345',
         | 
| 214 | 
            -
                      target: '_blank',
         | 
| 215 | 
            -
                      children: [{ type: 'text', value: 'linked text' }],
         | 
| 216 | 
            -
                    },
         | 
| 217 | 
            -
                    {
         | 
| 218 | 
            -
                      type: 'link-to-matrix-asset',
         | 
| 219 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 220 | 
            -
                      matrixDomain: 'example.com',
         | 
| 221 | 
            -
                      matrixAssetId: '12345',
         | 
| 222 | 
            -
                      target: '_blank',
         | 
| 223 | 
            -
                      children: [{ type: 'text', value: 'linked text' }],
         | 
| 224 | 
            -
                    },
         | 
| 225 | 
            -
                    {
         | 
| 226 | 
            -
                      type: 'link-to-matrix-asset',
         | 
| 227 | 
            -
                      matrixIdentifier: 'abc123',
         | 
| 228 | 
            -
                      matrixDomain: 'example.com',
         | 
| 229 | 
            -
                      matrixAssetId: '12345',
         | 
| 230 | 
            -
                      target: '_blank',
         | 
| 231 | 
            -
                      children: [{ type: 'text', value: 'linked text' }],
         | 
| 232 | 
            -
                    },
         | 
| 233 | 
            -
                  ],
         | 
| 234 | 
            -
                };
         | 
| 235 | 
            -
             | 
| 236 | 
            -
                const expectedItem = {
         | 
| 237 | 
            -
                  links: [
         | 
| 238 | 
            -
                    { type: 'text', value: 'Link to asset 12345' },
         | 
| 239 | 
            -
                    { type: 'text', value: 'Link to asset 12345' },
         | 
| 240 | 
            -
                    { type: 'text', value: 'Link to asset 12345' },
         | 
| 241 | 
            -
                  ],
         | 
| 242 | 
            -
                };
         | 
| 243 | 
            -
             | 
| 244 | 
            -
                const result = await resolveFormattedTextNodes(testItem, testSchema, testResolverMap);
         | 
| 245 | 
            -
             | 
| 246 | 
            -
                expect(result).toEqual(expectedItem);
         | 
| 247 | 
            -
              });
         | 
| 248 | 
            -
             | 
| 249 137 | 
             
              it('should not alter non resolvable array items', async () => {
         | 
| 250 138 | 
             
                const testSchema = {
         | 
| 251 139 | 
             
                  type: 'object',
         | 
| @@ -56,8 +56,7 @@ export async function resolveFormattedTextNodes<O extends ResolutionOutput<Forma | |
| 56 56 | 
             
              ComponentInputSchema.each(
         | 
| 57 57 | 
             
                contentItem,
         | 
| 58 58 | 
             
                (schema, data, pointer) => {
         | 
| 59 | 
            -
                   | 
| 60 | 
            -
                  if (schema.type === 'FormattedText' || schema.type === 'array' || schema.$id === FORMATTED_TEXT_SCHEMA_ID) {
         | 
| 59 | 
            +
                  if (schema.type === 'FormattedText' || schema.$id === FORMATTED_TEXT_SCHEMA_ID) {
         | 
| 61 60 | 
             
                    const formattedText = data as FormattedText;
         | 
| 62 61 | 
             
                    const textResolvers = formattedText.map((t) => resolveFormattedText(t, resolvers));
         | 
| 63 62 |  | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            import { PrimitiveType } from '../jsonTypeResolution/TypeResolver';
         | 
| 2 2 |  | 
| 3 3 | 
             
            interface SquizLinkShape {
         | 
| 4 | 
            -
               | 
| 4 | 
            +
              text: string;
         | 
| 5 5 | 
             
              url: string;
         | 
| 6 6 | 
             
              target?: string;
         | 
| 7 7 | 
             
            }
         | 
| @@ -9,7 +9,7 @@ export const SquizLinkType = PrimitiveType<SquizLinkShape, 'SquizLink'>({ | |
| 9 9 | 
             
              title: 'SquizLink',
         | 
| 10 10 | 
             
              type: 'object',
         | 
| 11 11 | 
             
              properties: {
         | 
| 12 | 
            -
                 | 
| 12 | 
            +
                text: {
         | 
| 13 13 | 
             
                  type: 'string',
         | 
| 14 14 | 
             
                },
         | 
| 15 15 | 
             
                url: {
         | 
| @@ -20,6 +20,6 @@ export const SquizLinkType = PrimitiveType<SquizLinkShape, 'SquizLink'>({ | |
| 20 20 | 
             
                  enum: ['_blank', '_parent', '_self', '_top'],
         | 
| 21 21 | 
             
                },
         | 
| 22 22 | 
             
              },
         | 
| 23 | 
            -
              required: [' | 
| 23 | 
            +
              required: ['text', 'url'],
         | 
| 24 24 | 
             
            });
         | 
| 25 25 | 
             
            export type SquizLinkType = typeof SquizLinkType;
         |