@cypress/schema-tools
Advanced tools
Comparing version 2.0.0 to 2.1.0
@@ -65,3 +65,6 @@ "use strict"; | ||
if (required === void 0) { required = []; } | ||
var isRequired = function (name) { return required.indexOf(name) !== -1; }; | ||
var requiredProperties = Array.isArray(required) | ||
? required | ||
: Object.keys(properties); | ||
var isRequired = function (name) { return requiredProperties.indexOf(name) !== -1; }; | ||
var typeText = function (type) { return (Array.isArray(type) ? type.join(' or ') : type); }; | ||
@@ -68,0 +71,0 @@ return Object.keys(properties) |
@@ -6,5 +6,5 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var lazy_ass_1 = __importDefault(require("lazy-ass")); | ||
var lodash_camelcase_1 = __importDefault(require("lodash.camelcase")); | ||
var lodash_clonedeep_1 = __importDefault(require("lodash.clonedeep")); | ||
var lazy_ass_1 = __importDefault(require("lazy-ass")); | ||
var ramda_1 = require("ramda"); | ||
@@ -26,2 +26,10 @@ exports.semverToString = function (s) { | ||
schemas.forEach(function (s) { | ||
if (s.schema.required === true) { | ||
if (s.schema.properties) { | ||
s.schema.required = Object.keys(s.schema.properties); | ||
} | ||
else { | ||
s.schema.required = []; | ||
} | ||
} | ||
var version = exports.semverToString(s.version); | ||
@@ -74,3 +82,5 @@ result[version] = s; | ||
} | ||
newSchema.schema.required.push(property); | ||
if (Array.isArray(newSchema.schema.required)) { | ||
newSchema.schema.required.push(property); | ||
} | ||
} | ||
@@ -77,0 +87,0 @@ if (propertyDescription) { |
{ | ||
"name": "@cypress/schema-tools", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Validate, sanitize and document JSON schemas", | ||
@@ -57,3 +57,3 @@ "main": "dist", | ||
"quote": "0.4.0", | ||
"semantic-release": "15.4.3", | ||
"semantic-release": "15.4.4", | ||
"terminal-banner": "1.1.0", | ||
@@ -60,0 +60,0 @@ "ts-node": "6.0.3", |
@@ -44,2 +44,3 @@ # @cypress/schema-tools [](https://circleci.com/gh/cypress-io/schema-tools) [![renovate-app badge][renovate-badge]][renovate-app] | ||
required: ['name', 'age'], | ||
// note: you can just use required: true to require all properties | ||
}, | ||
@@ -46,0 +47,0 @@ // has typical example |
@@ -100,7 +100,10 @@ import quote from 'quote' | ||
properties: JsonProperties, | ||
required: string[] = [], | ||
required: string[] | true = [], | ||
schemas?: SchemaCollection, | ||
formats?: CustomFormats, | ||
): PropertyDescription[] => { | ||
const isRequired = name => required.indexOf(name) !== -1 | ||
const requiredProperties: string[] = Array.isArray(required) | ||
? required | ||
: Object.keys(properties) | ||
const isRequired = name => requiredProperties.indexOf(name) !== -1 | ||
const typeText = type => (Array.isArray(type) ? type.join(' or ') : type) | ||
@@ -107,0 +110,0 @@ |
@@ -67,3 +67,3 @@ /** | ||
// which properties are MUST have | ||
required?: string[] | ||
required?: string[] | true | ||
// does the schema allow unknown properties? | ||
@@ -70,0 +70,0 @@ additionalProperties: boolean |
@@ -0,13 +1,13 @@ | ||
import la from 'lazy-ass' | ||
import camelCase from 'lodash.camelcase' | ||
import cloneDeep from 'lodash.clonedeep' | ||
import { map, path, uniq } from 'ramda' | ||
import { | ||
Semver, | ||
JsonPropertyTypes, | ||
ObjectSchema, | ||
JsonPropertyTypes, | ||
VersionedSchema, | ||
SchemaCollection, | ||
SchemaVersion, | ||
Semver, | ||
VersionedSchema, | ||
} from './objects' | ||
import camelCase from 'lodash.camelcase' | ||
import cloneDeep from 'lodash.clonedeep' | ||
import la from 'lazy-ass' | ||
import { map, path, uniq } from 'ramda' | ||
@@ -41,2 +41,9 @@ /** | ||
schemas.forEach(s => { | ||
if (s.schema.required === true) { | ||
if (s.schema.properties) { | ||
s.schema.required = Object.keys(s.schema.properties) | ||
} else { | ||
s.schema.required = [] | ||
} | ||
} | ||
const version = semverToString(s.version) | ||
@@ -120,3 +127,5 @@ result[version] = s | ||
} | ||
newSchema.schema.required.push(property) | ||
if (Array.isArray(newSchema.schema.required)) { | ||
newSchema.schema.required.push(property) | ||
} | ||
} | ||
@@ -123,0 +132,0 @@ |
71892
1766
304