fake-schema-cli
Advanced tools
| definitions: | ||
| ABC: | ||
| required: | ||
| - name | ||
| properties: | ||
| name: | ||
| type: string | ||
| type: object | ||
| CDE: | ||
| properties: | ||
| id: | ||
| type: integer | ||
| someLMB: | ||
| $ref: '#/definitions/LMN' | ||
| type: object | ||
| IJK: | ||
| required: | ||
| - id | ||
| properties: | ||
| id: | ||
| type: string | ||
| type: object | ||
| LMN: | ||
| required: | ||
| - code | ||
| properties: | ||
| id: | ||
| type: string | ||
| description: Describes a bussiness code of the error. | ||
| description: | ||
| type: string | ||
| someIJK: | ||
| $ref: '#/definitions/IJK' | ||
| someABC: | ||
| $ref: '#/definitions/ABC' | ||
| type: objec |
@@ -10,3 +10,3 @@ type: object | ||
| minimumExclusive: true | ||
| user: | ||
| poulet: | ||
| type: object | ||
@@ -13,0 +13,0 @@ properties: |
+4
-12
@@ -27,15 +27,7 @@ | ||
| || schema.definitions[rootSchema] === undefined) { | ||
| throw new Error('Definitions doesn\'t contain root schema'); | ||
| throw new Error(`Definitions [${Object.keys(schema.definitions).toString()}] doesn't contain ${rootSchema} schema`); | ||
| } | ||
| const newSchema = schema.definitions[rootSchema]; | ||
| newSchema.definitions = Object.keys(schema.definitions) | ||
| .filter(key => key !== rootSchema) | ||
| .reduce((obj, key) => { | ||
| /* eslint-disable no-param-reassign */ | ||
| obj[key] = schema.definitions[key]; | ||
| return obj; | ||
| }, {}); | ||
| schema = newSchema; | ||
| const root = Object.assign({}, schema.definitions[rootSchema]); | ||
| root.definitions = schema.definitions; | ||
| schema = root; | ||
| } | ||
@@ -42,0 +34,0 @@ return schema; |
@@ -47,3 +47,3 @@ /* eslint-env mocha */ | ||
| return expect(generate(path.resolve(__dirname, '../fixtures/definitions.yaml'), undefined, true)) | ||
| return expect(generate(path.resolve(__dirname, '../fixtures/Definitions.yaml'), undefined, true)) | ||
| .to.be.fulfilled; | ||
@@ -55,5 +55,12 @@ }); | ||
| return expect(generate(path.resolve(__dirname, '../fixtures/definitions.yaml'), 'user', true)) | ||
| return expect(generate(path.resolve(__dirname, '../fixtures/Definitions.yaml'), 'poulet', true)) | ||
| .to.eventually.have.property('name'); | ||
| }); | ||
| it('should read a YAML and generate overriding root-schema with inner references', () => { | ||
| const generate = generator.configure({}, 'en', filename => generator.readFile(filename)); | ||
| return expect(generate(path.resolve(__dirname, '../fixtures/DefinitionsInner.yaml'), 'ABC', true)) | ||
| .to.eventually.have.property('name'); | ||
| }); | ||
| }); |
+1
-1
| { | ||
| "name": "fake-schema-cli", | ||
| "version": "0.0.2", | ||
| "version": "0.0.3", | ||
| "description": "JSON-Schema-Faker CLI", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
119174
0.65%15
7.14%3536
-0.03%