From 7eafc1e7f89a830599257acb8e63eda6d9a58c8d Mon Sep 17 00:00:00 2001 From: Alex Layton Date: Thu, 9 Apr 2020 02:46:36 -0400 Subject: [PATCH 1/2] Add normalizer rules for $defs and const --- src/normalizer.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/normalizer.ts b/src/normalizer.ts index 88c2d492..f03f8847 100644 --- a/src/normalizer.ts +++ b/src/normalizer.ts @@ -131,6 +131,20 @@ rules.set('Make extends always an array, if it is defined', schema => { } }) +rules.set('Transform $defs to definitions', schema => { + if (schema.$defs) { + schema.definitions = schema.$defs + delete schema.$defs + } +}) + +rules.set('Transform const to singleton enum', schema => { + if (schema.const) { + schema.enum = [schema.const] + delete schema.const + } +}) + export function normalize(rootSchema: LinkedJSONSchema, filename: string, options: Options): NormalizedJSONSchema { rules.forEach(rule => traverse(rootSchema, schema => rule(schema, filename, options))) return rootSchema as NormalizedJSONSchema From 7e3bc94fb41c9e92b02b06c66af720737c587d93 Mon Sep 17 00:00:00 2001 From: Alex Layton Date: Thu, 7 May 2020 19:45:26 -0400 Subject: [PATCH 2/2] Add tests for $defs and const normalizers --- test/__snapshots__/test/test.ts.md | 22 ++++++++++++++++++++++ test/__snapshots__/test/test.ts.snap | Bin 26444 -> 26525 bytes test/normalizer/constToEnum.json | 11 +++++++++++ test/normalizer/defsToDefinitions.json | 15 +++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 test/normalizer/constToEnum.json create mode 100644 test/normalizer/defsToDefinitions.json diff --git a/test/__snapshots__/test/test.ts.md b/test/__snapshots__/test/test.ts.md index 56e8e749..cec0a479 100644 --- a/test/__snapshots__/test/test.ts.md +++ b/test/__snapshots__/test/test.ts.md @@ -7759,6 +7759,17 @@ Generated by [AVA](https://avajs.dev). "required": []␊ }` +## Normalize const to singleton enum + +> Snapshot 1 + + `{␊ + "id": "foo",␊ + "enum": [␊ + "foobar"␊ + ]␊ + }` + ## Default additionalProperties to true > Snapshot 1 @@ -7807,6 +7818,17 @@ Generated by [AVA](https://avajs.dev). "id": "DefaultID"␊ }` +## Normalize $defs to definitions + +> Snapshot 1 + + `{␊ + "id": "foo",␊ + "definitions": {␊ + "bar": "baz"␊ + }␊ + }` + ## Destructure unary types > Snapshot 1 diff --git a/test/__snapshots__/test/test.ts.snap b/test/__snapshots__/test/test.ts.snap index 81a1c6eb85bf7092628dd748b5e9649c2702699f..75fb7e088e54a7a5365fe2104f9ac2361bab5532 100644 GIT binary patch delta 26439 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�%$)~gq(c%+FA?jtahEPc1@4A~5kOh`~+B?|)+nIE*sSp1PO-x$bdqagzEmqMUnVhL7MG^oVp}&Q@0ElfZr8;JrftfI&$MBai(SzISOIG^J(kdzo;Mfmme}w|x z(Nz>6VrZhyAEFtco*N%kr*~G%et*)V4x-SEl!p@c1WR)whWZc7k##?CapW{ zIM?R%o;RnbcGdY}N$ikpogx)^G`*(dLR6uPNfDpaokId(mK=h>ramgwiziml%N9+q zut6?9TD&4EN1Lsp-D#@`5Dg*ghHm}TeuL+YJIm#oQP)X;l z%UCYNyi}I~Og)J$9}@IrwSScMmz$JKhn;0tgp@?f>gtJ`lcgY|4MJ3;#D5)3p_+6A zr65VcbUInD_(=QWO|@GISsFbC=+iH^dnTdim;OCvtjorRdY0un=EvQA1deV4eOO>E u&2Tc`HpUvwe9yR}S+CFUvphDqv>QjMh`6ramL+Jy{|6u&&=tF<0s#P$3v~+s diff --git a/test/normalizer/constToEnum.json b/test/normalizer/constToEnum.json new file mode 100644 index 00000000..9e3567c6 --- /dev/null +++ b/test/normalizer/constToEnum.json @@ -0,0 +1,11 @@ +{ + "name": "Normalize const to singleton enum", + "in": { + "id": "foo", + "const": "foobar" + }, + "out": { + "id": "foo", + "enum": ["foobar"] + } +} diff --git a/test/normalizer/defsToDefinitions.json b/test/normalizer/defsToDefinitions.json new file mode 100644 index 00000000..050ca47f --- /dev/null +++ b/test/normalizer/defsToDefinitions.json @@ -0,0 +1,15 @@ +{ + "name": "Normalize $defs to definitions", + "in": { + "id": "foo", + "$defs" : { + "bar": "baz" + } + }, + "out": { + "id": "foo", + "definitions" : { + "bar": "baz" + } + } +}