@cypress/schema-tools
Advanced tools
Comparing version 4.7.8 to 4.7.9
@@ -11,3 +11,3 @@ "use strict"; | ||
} | ||
var newSchema = ramda_1.clone(from.schema); | ||
var newSchema = (0, ramda_1.clone)(from.schema); | ||
newSchema.schema.description = from.description; | ||
@@ -32,3 +32,3 @@ if (from.title) { | ||
} | ||
utils_1.normalizeRequiredProperties(newSchema.schema); | ||
(0, utils_1.normalizeRequiredProperties)(newSchema.schema); | ||
var required = newSchema.schema.required; | ||
@@ -39,3 +39,3 @@ if (options.isRequired) { | ||
else { | ||
newSchema.schema.required = ramda_1.reject(ramda_1.equals(options.property), required); | ||
newSchema.schema.required = (0, ramda_1.reject)((0, ramda_1.equals)(options.property), required); | ||
} | ||
@@ -51,3 +51,3 @@ if (options.propertyDescription) { | ||
} | ||
newSchema.example[options.property] = ramda_1.clone(options.exampleValue); | ||
newSchema.example[options.property] = (0, ramda_1.clone)(options.exampleValue); | ||
}); | ||
@@ -58,7 +58,7 @@ return newSchema; | ||
var extend = function (from, schemaObj) { | ||
var newSchema = ramda_1.mergeDeepRight(ramda_1.clone(from), schemaObj); | ||
if (!ramda_1.equals(schemaObj.version, newSchema.version)) { | ||
var newSchema = (0, ramda_1.mergeDeepRight)((0, ramda_1.clone)(from), schemaObj); | ||
if (!(0, ramda_1.equals)(schemaObj.version, newSchema.version)) { | ||
newSchema.version.minor += 1; | ||
} | ||
utils_1.normalizeRequiredProperties(newSchema.schema); | ||
(0, utils_1.normalizeRequiredProperties)(newSchema.schema); | ||
return newSchema; | ||
@@ -65,0 +65,0 @@ }; |
114
dist/api.js
@@ -6,6 +6,8 @@ "use strict"; | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
return function (d, b) { | ||
if (typeof b !== "function" && b !== null) | ||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); | ||
extendStatics(d, b); | ||
@@ -31,3 +33,3 @@ function __() { this.constructor = d; } | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
@@ -52,7 +54,8 @@ return result; | ||
var utils = __importStar(require("./utils")); | ||
var debug = debug_1.default('schema-tools'); | ||
exports.getVersionedSchema = function (schemas) { return function (name) { | ||
var debug = (0, debug_1.default)('schema-tools'); | ||
var getVersionedSchema = function (schemas) { return function (name) { | ||
name = utils.normalizeName(name); | ||
return schemas[name]; | ||
}; }; | ||
exports.getVersionedSchema = getVersionedSchema; | ||
var _getObjectSchema = function (schemas, schemaName, version) { | ||
@@ -67,9 +70,10 @@ schemaName = utils.normalizeName(schemaName); | ||
}; | ||
exports.getObjectSchema = ramda_1.curry(_getObjectSchema); | ||
exports.getObjectSchema = (0, ramda_1.curry)(_getObjectSchema); | ||
var _hasSchema = function (schemas, schemaName, version) { return Boolean(_getObjectSchema(schemas, schemaName, version)); }; | ||
exports.hasSchema = ramda_1.curry(_hasSchema); | ||
exports.schemaNames = function (schemas) { | ||
exports.hasSchema = (0, ramda_1.curry)(_hasSchema); | ||
var schemaNames = function (schemas) { | ||
return Object.keys(schemas).sort(); | ||
}; | ||
exports.getSchemaVersions = function (schemas) { return function (schemaName) { | ||
exports.schemaNames = schemaNames; | ||
var getSchemaVersions = function (schemas) { return function (schemaName) { | ||
schemaName = utils.normalizeName(schemaName); | ||
@@ -81,4 +85,5 @@ if (schemas[schemaName]) { | ||
}; }; | ||
exports.getExample = ramda_1.curry(function (schemas, schemaName, version) { | ||
var o = exports.getObjectSchema(schemas)(schemaName)(version); | ||
exports.getSchemaVersions = getSchemaVersions; | ||
exports.getExample = (0, ramda_1.curry)(function (schemas, schemaName, version) { | ||
var o = (0, exports.getObjectSchema)(schemas)(schemaName)(version); | ||
if (!o) { | ||
@@ -94,6 +99,6 @@ debug('could not find object schema %s@%s', schemaName, version); | ||
}; | ||
var findDataHasAdditionalProperties = ramda_1.find(ramda_1.whereEq(dataHasAdditionalPropertiesValidationError)); | ||
var findDataHasAdditionalProperties = (0, ramda_1.find)((0, ramda_1.whereEq)(dataHasAdditionalPropertiesValidationError)); | ||
var includesDataHasAdditionalPropertiesError = function (errors) { return findDataHasAdditionalProperties(errors) !== undefined; }; | ||
var errorToString = function (error) { | ||
return error.field + " " + error.message; | ||
return "".concat(error.field, " ").concat(error.message); | ||
}; | ||
@@ -103,21 +108,22 @@ var errorsToStrings = function (errors) { | ||
}; | ||
exports.validateBySchema = function (schema, formats, greedy) { | ||
var validateBySchema = function (schema, formats, greedy) { | ||
if (greedy === void 0) { greedy = true; } | ||
return function (object) { | ||
var validate = is_my_json_valid_1.default(schema, { formats: formats, greedy: greedy }); | ||
var validate = (0, is_my_json_valid_1.default)(schema, { formats: formats, greedy: greedy }); | ||
if (validate(object)) { | ||
return true; | ||
} | ||
var uniqueErrors = ramda_1.uniqBy(errorToString, validate.errors); | ||
var uniqueErrors = (0, ramda_1.uniqBy)(errorToString, validate.errors); | ||
if (includesDataHasAdditionalPropertiesError(uniqueErrors) && | ||
ramda_1.keys(schema.properties).length) { | ||
(0, ramda_1.keys)(schema.properties).length) { | ||
var hasData = findDataHasAdditionalProperties(uniqueErrors); | ||
var additionalProperties = ramda_1.difference(ramda_1.keys(object), ramda_1.keys(schema.properties)); | ||
var additionalProperties = (0, ramda_1.difference)((0, ramda_1.keys)(object), (0, ramda_1.keys)(schema.properties)); | ||
hasData.message += ': ' + additionalProperties.join(', '); | ||
} | ||
var errors = ramda_1.uniq(errorsToStrings(uniqueErrors)); | ||
var errors = (0, ramda_1.uniq)(errorsToStrings(uniqueErrors)); | ||
return errors; | ||
}; | ||
}; | ||
exports.validate = function (schemas, formats, greedy) { | ||
exports.validateBySchema = validateBySchema; | ||
var validate = function (schemas, formats, greedy) { | ||
if (greedy === void 0) { greedy = true; } | ||
@@ -128,11 +134,12 @@ return function (schemaName, version) { return function (object) { | ||
if (!namedSchemas) { | ||
return ["Missing schema " + schemaName]; | ||
return ["Missing schema ".concat(schemaName)]; | ||
} | ||
var aSchema = namedSchemas[version]; | ||
if (!aSchema) { | ||
return ["Missing schema " + schemaName + "@" + version]; | ||
return ["Missing schema ".concat(schemaName, "@").concat(version)]; | ||
} | ||
return exports.validateBySchema(aSchema.schema, formats, greedy)(object); | ||
return (0, exports.validateBySchema)(aSchema.schema, formats, greedy)(object); | ||
}; }; | ||
}; | ||
exports.validate = validate; | ||
var SchemaError = (function (_super) { | ||
@@ -165,11 +172,11 @@ __extends(SchemaError, _super); | ||
}; | ||
exports.assertBySchema = function (schema, example, options, label, formats, schemaVersion) { | ||
var assertBySchema = function (schema, example, options, label, formats, schemaVersion) { | ||
if (example === void 0) { example = {}; } | ||
return function (object) { | ||
var allOptions = ramda_1.mergeDeepLeft(options || AssertBySchemaDefaults, AssertBySchemaDefaults); | ||
var allOptions = (0, ramda_1.mergeDeepLeft)(options || AssertBySchemaDefaults, AssertBySchemaDefaults); | ||
var replace = function () { | ||
var cloned = ramda_1.clone(object); | ||
var cloned = (0, ramda_1.clone)(object); | ||
allOptions.substitutions.forEach(function (property) { | ||
var value = lodash_get_1.default(example, property); | ||
lodash_set_1.default(cloned, property, value); | ||
var value = (0, lodash_get_1.default)(example, property); | ||
(0, lodash_set_1.default)(cloned, property, value); | ||
}); | ||
@@ -179,7 +186,7 @@ return cloned; | ||
var replaced = allOptions.substitutions.length ? replace() : object; | ||
var result = exports.validateBySchema(schema, formats, allOptions.greedy)(replaced); | ||
var result = (0, exports.validateBySchema)(schema, formats, allOptions.greedy)(replaced); | ||
if (result === true) { | ||
return object; | ||
} | ||
var title = label ? "Schema " + label + " violated" : 'Schema violated'; | ||
var title = label ? "Schema ".concat(label, " violated") : 'Schema violated'; | ||
var emptyLine = ''; | ||
@@ -191,7 +198,7 @@ var parts = [title]; | ||
if (!allOptions.omit.object) { | ||
var objectString = json_stable_stringify_1.default(replaced, { space: ' ' }); | ||
var objectString = (0, json_stable_stringify_1.default)(replaced, { space: ' ' }); | ||
parts = parts.concat([emptyLine, 'Current object:', objectString]); | ||
} | ||
if (!allOptions.omit.example) { | ||
var exampleString = json_stable_stringify_1.default(example, { space: ' ' }); | ||
var exampleString = (0, json_stable_stringify_1.default)(example, { space: ' ' }); | ||
parts = parts.concat([ | ||
@@ -207,19 +214,21 @@ emptyLine, | ||
}; | ||
exports.assertSchema = function (schemas, formats) { return function (name, version, options) { return function (object) { | ||
var example = exports.getExample(schemas)(name)(version); | ||
var schema = exports.getObjectSchema(schemas)(name)(version); | ||
exports.assertBySchema = assertBySchema; | ||
var assertSchema = function (schemas, formats) { return function (name, version, options) { return function (object) { | ||
var example = (0, exports.getExample)(schemas)(name)(version); | ||
var schema = (0, exports.getObjectSchema)(schemas)(name)(version); | ||
if (!schema) { | ||
throw new Error("Could not find schema " + name + "@" + version); | ||
throw new Error("Could not find schema ".concat(name, "@").concat(version)); | ||
} | ||
var label = name + "@" + version; | ||
return exports.assertBySchema(schema.schema, example, options, label, formats, utils.semverToString(schema.version))(object); | ||
var label = "".concat(name, "@").concat(version); | ||
return (0, exports.assertBySchema)(schema.schema, example, options, label, formats, utils.semverToString(schema.version))(object); | ||
}; }; }; | ||
exports.assertSchema = assertSchema; | ||
var mergeSchemas = function (schemas) { | ||
return ramda_1.mergeAll(schemas); | ||
return (0, ramda_1.mergeAll)(schemas); | ||
}; | ||
var mergeFormats = function (formats) { | ||
return ramda_1.mergeAll(formats); | ||
return (0, ramda_1.mergeAll)(formats); | ||
}; | ||
var exists = function (x) { return Boolean(x); }; | ||
exports.bind = function () { | ||
var bind = function () { | ||
var options = []; | ||
@@ -229,20 +238,21 @@ for (var _i = 0; _i < arguments.length; _i++) { | ||
} | ||
var allSchemas = ramda_1.map(ramda_1.prop('schemas'), options); | ||
var allSchemas = (0, ramda_1.map)((0, ramda_1.prop)('schemas'), options); | ||
var schemas = mergeSchemas(allSchemas); | ||
var allFormats = ramda_1.filter(exists, ramda_1.map(ramda_1.prop('formats'), options)); | ||
var allFormats = (0, ramda_1.filter)(exists, (0, ramda_1.map)((0, ramda_1.prop)('formats'), options)); | ||
var formats = mergeFormats(allFormats); | ||
var formatDetectors = formats_1.detectors(formats); | ||
var defaults = formats_1.getDefaults(formats); | ||
var formatDetectors = (0, formats_1.detectors)(formats); | ||
var defaults = (0, formats_1.getDefaults)(formats); | ||
var api = { | ||
assertSchema: exports.assertSchema(schemas, formatDetectors), | ||
schemaNames: exports.schemaNames(schemas), | ||
getExample: exports.getExample(schemas), | ||
sanitize: sanitize_1.sanitize(schemas, defaults), | ||
validate: exports.validate(schemas), | ||
trim: trim_1.trim(schemas), | ||
hasSchema: exports.hasSchema(schemas), | ||
fill: fill_1.fill(schemas), | ||
assertSchema: (0, exports.assertSchema)(schemas, formatDetectors), | ||
schemaNames: (0, exports.schemaNames)(schemas), | ||
getExample: (0, exports.getExample)(schemas), | ||
sanitize: (0, sanitize_1.sanitize)(schemas, defaults), | ||
validate: (0, exports.validate)(schemas), | ||
trim: (0, trim_1.trim)(schemas), | ||
hasSchema: (0, exports.hasSchema)(schemas), | ||
fill: (0, fill_1.fill)(schemas), | ||
}; | ||
return api; | ||
}; | ||
exports.bind = bind; | ||
//# sourceMappingURL=api.js.map |
@@ -9,5 +9,5 @@ "use strict"; | ||
var utils_1 = require("./utils"); | ||
var ticks = quote_1.default({ quotes: '`' }); | ||
var ticks = (0, quote_1.default)({ quotes: '`' }); | ||
var escapedCode = function (s) { return ticks(s.replace(/\|/g, '`|`')); }; | ||
exports.documentCustomFormats = function (formats) { | ||
var documentCustomFormats = function (formats) { | ||
var headers = [ | ||
@@ -40,3 +40,3 @@ 'name', | ||
}); | ||
var usedHeaders = utils_1.findUsedColumns(headers, rows); | ||
var usedHeaders = (0, utils_1.findUsedColumns)(headers, rows); | ||
return [ | ||
@@ -53,2 +53,3 @@ { h2: 'formats' }, | ||
}; | ||
exports.documentCustomFormats = documentCustomFormats; | ||
//# sourceMappingURL=doc-formats.js.map |
@@ -16,27 +16,27 @@ "use strict"; | ||
var toDoc = function (schemaName) { | ||
var versions = __1.getSchemaVersions(schemas)(schemaName); | ||
var versions = (0, __1.getSchemaVersions)(schemas)(schemaName); | ||
if (!versions.length) { | ||
return [{ h2: "\u26A0\uFE0F Could not find any versions of schema " + schemaName }]; | ||
return [{ h2: "\u26A0\uFE0F Could not find any versions of schema ".concat(schemaName) }]; | ||
} | ||
var documentSchemaVersion = function (version) { | ||
var schema = __1.getObjectSchema(schemas)(schemaName)(version); | ||
var schema = (0, __1.getObjectSchema)(schemas)(schemaName)(version); | ||
if (!schema) { | ||
throw new Error("cannot find schema " + schemaName + "@" + version); | ||
throw new Error("cannot find schema ".concat(schemaName, "@").concat(version)); | ||
} | ||
var schemaDoc = utils_1.documentObjectSchema(schema, schemas, formats); | ||
return ramda_1.flatten(schemaDoc.concat(titleLink)); | ||
var schemaDoc = (0, utils_1.documentObjectSchema)(schema, schemas, formats); | ||
return (0, ramda_1.flatten)(schemaDoc.concat(titleLink)); | ||
}; | ||
var versionFragments = versions.map(documentSchemaVersion); | ||
var start = [{ h2: __1.normalizeName(schemaName) }]; | ||
return start.concat(ramda_1.flatten(versionFragments)); | ||
var start = [{ h2: (0, __1.normalizeName)(schemaName) }]; | ||
return start.concat((0, ramda_1.flatten)(versionFragments)); | ||
}; | ||
var fragments = ramda_1.flatten(__1.schemaNames(schemas).map(toDoc)); | ||
var fragments = (0, ramda_1.flatten)((0, __1.schemaNames)(schemas).map(toDoc)); | ||
var schemaNameToTopLevelLink = function (schemaName) { | ||
return "[" + schemaName + "](#" + utils_1.anchor(schemaName) + ")"; | ||
return "[".concat(schemaName, "](#").concat((0, utils_1.anchor)(schemaName), ")"); | ||
}; | ||
var schemaVersionLink = function (schemaName) { return function (version) { | ||
return "[" + version + "](#" + utils_1.anchor(schemaName + version) + ")"; | ||
return "[".concat(version, "](#").concat((0, utils_1.anchor)(schemaName + version), ")"); | ||
}; }; | ||
var tocHeading = function (schemaName) { | ||
var versions = __1.getSchemaVersions(schemas)(schemaName); | ||
var versions = (0, __1.getSchemaVersions)(schemas)(schemaName); | ||
var topLink = schemaNameToTopLevelLink(schemaName); | ||
@@ -52,3 +52,3 @@ if (versions.length < 2) { | ||
}; | ||
var headings = __1.schemaNames(schemas); | ||
var headings = (0, __1.schemaNames)(schemas); | ||
var toc = [ | ||
@@ -61,7 +61,7 @@ { | ||
if (formats) { | ||
list = list.concat(doc_formats_1.documentCustomFormats(formats)).concat(titleLink); | ||
list = list.concat((0, doc_formats_1.documentCustomFormats)(formats)).concat(titleLink); | ||
} | ||
return json2md_1.default(list); | ||
return (0, json2md_1.default)(list); | ||
} | ||
exports.documentSchemas = documentSchemas; | ||
//# sourceMappingURL=docs.js.map |
@@ -11,18 +11,20 @@ "use strict"; | ||
var __1 = require(".."); | ||
var ticks = quote_1.default({ quotes: '`' }); | ||
var ticks = (0, quote_1.default)({ quotes: '`' }); | ||
exports.checkMark = '✔'; | ||
exports.emptyMark = ''; | ||
var isCustomFormat = function (formats) { return function (name) { return name in formats; }; }; | ||
var knownSchemaNames = function (schemas) { return __1.schemaNames(schemas); }; | ||
var knownSchemaNames = function (schemas) { return (0, __1.schemaNames)(schemas); }; | ||
var isSchemaName = function (schemas) { return function (s) { | ||
return knownSchemaNames(schemas).includes(__1.normalizeName(s)); | ||
return knownSchemaNames(schemas).includes((0, __1.normalizeName)(s)); | ||
}; }; | ||
exports.anchor = function (s) { return ramda_1.toLower(s.replace(/[\.@]/g, '')); }; | ||
exports.anchorForSchema = function (s) { | ||
var schemaName = ramda_1.toLower(__1.normalizeName(s.schema.title)); | ||
var seeVersion = __1.semverToString(s.version); | ||
var nameAndVersion = schemaName + "@" + seeVersion; | ||
return exports.anchor(nameAndVersion); | ||
var anchor = function (s) { return (0, ramda_1.toLower)(s.replace(/[\.@]/g, '')); }; | ||
exports.anchor = anchor; | ||
var anchorForSchema = function (s) { | ||
var schemaName = (0, ramda_1.toLower)((0, __1.normalizeName)(s.schema.title)); | ||
var seeVersion = (0, __1.semverToString)(s.version); | ||
var nameAndVersion = "".concat(schemaName, "@").concat(seeVersion); | ||
return (0, exports.anchor)(nameAndVersion); | ||
}; | ||
exports.enumToMarkdown = function (enumeration) { | ||
exports.anchorForSchema = anchorForSchema; | ||
var enumToMarkdown = function (enumeration) { | ||
if (!enumeration) { | ||
@@ -33,3 +35,4 @@ return exports.emptyMark; | ||
}; | ||
exports.formatToMarkdown = function (schemas, formats) { return function (value) { | ||
exports.enumToMarkdown = enumToMarkdown; | ||
var formatToMarkdown = function (schemas, formats) { return function (value) { | ||
if (!value.format) { | ||
@@ -39,3 +42,3 @@ if (value.see) { | ||
return schemas && isSchemaName(schemas)(value.see) | ||
? "[" + value.see + "](#" + ramda_1.toLower(__1.normalizeName(value.see)) + ")" | ||
? "[".concat(value.see, "](#").concat((0, ramda_1.toLower)((0, __1.normalizeName)(value.see)), ")") | ||
: ticks(value.see); | ||
@@ -45,8 +48,8 @@ } | ||
var seeSchema = value.see; | ||
var schemaName = "" + seeSchema.schema.title; | ||
var seeVersion = __1.semverToString(seeSchema.version); | ||
var nameAndVersion = schemaName + "@" + seeVersion; | ||
var seeAnchor = exports.anchorForSchema(seeSchema); | ||
var schemaName = "".concat(seeSchema.schema.title); | ||
var seeVersion = (0, __1.semverToString)(seeSchema.version); | ||
var nameAndVersion = "".concat(schemaName, "@").concat(seeVersion); | ||
var seeAnchor = (0, exports.anchorForSchema)(seeSchema); | ||
return schemas && isSchemaName(schemas)(schemaName) | ||
? "[" + nameAndVersion + "](#" + seeAnchor + ")" | ||
? "[".concat(nameAndVersion, "](#").concat(seeAnchor, ")") | ||
: ticks(nameAndVersion); | ||
@@ -60,19 +63,21 @@ } | ||
if (formats && isCustomFormat(formats)(value.format)) { | ||
return "[" + value.format + "](#formats)"; | ||
return "[".concat(value.format, "](#formats)"); | ||
} | ||
return ticks(value.format); | ||
}; }; | ||
exports.findUsedColumns = function (headers, rows) { | ||
var isUsed = function (header) { return ramda_1.find(function (r) { return r[header]; }, rows); }; | ||
exports.formatToMarkdown = formatToMarkdown; | ||
var findUsedColumns = function (headers, rows) { | ||
var isUsed = function (header) { return (0, ramda_1.find)(function (r) { return r[header]; }, rows); }; | ||
var usedHeaders = headers.filter(isUsed); | ||
return usedHeaders; | ||
}; | ||
exports.findUsedColumns = findUsedColumns; | ||
var existingProp = function (name) { return function (o) { | ||
return name in o ? String(o[name]) : exports.emptyMark; | ||
}; }; | ||
exports.documentProperty = function (requiredProperties, schemas, formats) { return function (prop, value) { | ||
var documentProperty = function (requiredProperties, schemas, formats) { return function (prop, value) { | ||
var isRequired = function (name) { return requiredProperties.indexOf(name) !== -1; }; | ||
var typeText = function (type) { return (Array.isArray(type) ? type.join(' or ') : type); }; | ||
var deprecatedMessage = function (value) { | ||
return value.deprecated ? "**deprecated** " + value.deprecated : exports.emptyMark; | ||
return value.deprecated ? "**deprecated** ".concat(value.deprecated) : exports.emptyMark; | ||
}; | ||
@@ -83,4 +88,4 @@ return { | ||
required: isRequired(prop) ? exports.checkMark : exports.emptyMark, | ||
format: exports.formatToMarkdown(schemas, formats)(value), | ||
enum: exports.enumToMarkdown(value.enum), | ||
format: (0, exports.formatToMarkdown)(schemas, formats)(value), | ||
enum: (0, exports.enumToMarkdown)(value.enum), | ||
description: value.description ? value.description : exports.emptyMark, | ||
@@ -93,3 +98,4 @@ deprecated: deprecatedMessage(value), | ||
}; }; | ||
exports.documentProperties = function (properties, required, schemas, formats) { | ||
exports.documentProperty = documentProperty; | ||
var documentProperties = function (properties, required, schemas, formats) { | ||
if (required === void 0) { required = []; } | ||
@@ -99,3 +105,3 @@ var requiredProperties = Array.isArray(required) | ||
: Object.keys(properties); | ||
var docProperty = exports.documentProperty(requiredProperties, schemas, formats); | ||
var docProperty = (0, exports.documentProperty)(requiredProperties, schemas, formats); | ||
return Object.keys(properties) | ||
@@ -108,6 +114,7 @@ .sort() | ||
}; | ||
exports.documentSchema = function (schema, schemas, formats) { | ||
exports.documentProperties = documentProperties; | ||
var documentSchema = function (schema, schemas, formats) { | ||
var properties = schema.properties; | ||
if (properties) { | ||
var rows = exports.documentProperties(properties, schema.required, schemas, formats); | ||
var rows = (0, exports.documentProperties)(properties, schema.required, schemas, formats); | ||
var headers = [ | ||
@@ -125,3 +132,3 @@ 'name', | ||
]; | ||
var usedHeaders = exports.findUsedColumns(headers, rows); | ||
var usedHeaders = (0, exports.findUsedColumns)(headers, rows); | ||
var table = [ | ||
@@ -146,17 +153,18 @@ { | ||
}; | ||
exports.documentSchema = documentSchema; | ||
var schemaNameHeading = function (name, version) { | ||
return name + "@" + version; | ||
return "".concat(name, "@").concat(version); | ||
}; | ||
exports.documentObjectSchema = function (schema, schemas, formats) { | ||
var documentObjectSchema = function (schema, schemas, formats) { | ||
var schemaName = schema.schema.title; | ||
if (schemaName.includes(' ')) { | ||
throw new Error("Schema title contains spaces \"" + schemaName + "\"\n This can cause problems generating anchors!"); | ||
throw new Error("Schema title contains spaces \"".concat(schemaName, "\"\n This can cause problems generating anchors!")); | ||
} | ||
var schemaVersion = __1.semverToString(schema.version); | ||
var schemaVersion = (0, __1.semverToString)(schema.version); | ||
var start = [ | ||
{ h3: schemaNameHeading(__1.normalizeName(schemaName), schemaVersion) }, | ||
{ h3: schemaNameHeading((0, __1.normalizeName)(schemaName), schemaVersion) }, | ||
]; | ||
if (schema.package) { | ||
start.push({ | ||
p: "Defined in " + ticks(schema.package), | ||
p: "Defined in ".concat(ticks(schema.package)), | ||
}); | ||
@@ -169,7 +177,7 @@ } | ||
start.push({ | ||
p: "**deprecated** " + schema.schema.deprecated, | ||
p: "**deprecated** ".concat(schema.schema.deprecated), | ||
}); | ||
} | ||
var propertiesTable = exports.documentSchema(schema.schema, schemas, formats); | ||
var exampleFragment = ramda_1.flatten([ | ||
var propertiesTable = (0, exports.documentSchema)(schema.schema, schemas, formats); | ||
var exampleFragment = (0, ramda_1.flatten)([ | ||
{ p: 'Example:' }, | ||
@@ -179,8 +187,9 @@ { | ||
language: 'json', | ||
content: json_stable_stringify_1.default(schema.example, { space: ' ' }), | ||
content: (0, json_stable_stringify_1.default)(schema.example, { space: ' ' }), | ||
}, | ||
}, | ||
]); | ||
return ramda_1.flatten(start.concat(propertiesTable).concat(exampleFragment)); | ||
return (0, ramda_1.flatten)(start.concat(propertiesTable).concat(exampleFragment)); | ||
}; | ||
exports.documentObjectSchema = documentObjectSchema; | ||
//# sourceMappingURL=utils.js.map |
@@ -17,8 +17,8 @@ "use strict"; | ||
var api_1 = require("./api"); | ||
exports.fillBySchema = ramda_1.curry(function (schema, object) { | ||
exports.fillBySchema = (0, ramda_1.curry)(function (schema, object) { | ||
schema = schema.properties || (schema.schema || schema.items).properties; | ||
var objectProps = ramda_1.keys(object); | ||
var schemaProps = ramda_1.keys(schema); | ||
var missingProperties = ramda_1.difference(schemaProps, objectProps); | ||
var filledObject = ramda_1.reduce(function (result, key) { | ||
var objectProps = (0, ramda_1.keys)(object); | ||
var schemaProps = (0, ramda_1.keys)(schema); | ||
var missingProperties = (0, ramda_1.difference)(schemaProps, objectProps); | ||
var filledObject = (0, ramda_1.reduce)(function (result, key) { | ||
var _a; | ||
@@ -31,3 +31,3 @@ var property = schema[key]; | ||
else { | ||
throw new Error("Do not know how to get default value for property \"" + key + "\""); | ||
throw new Error("Do not know how to get default value for property \"".concat(key, "\"")); | ||
} | ||
@@ -38,5 +38,5 @@ }, object, missingProperties); | ||
var fillObject = function (schemas, schemaName, version, object) { | ||
var schema = api_1.getObjectSchema(schemas, schemaName, version); | ||
var schema = (0, api_1.getObjectSchema)(schemas, schemaName, version); | ||
if (!schema) { | ||
throw new Error("Could not find schema " + schemaName + "@" + version + " to trim an object"); | ||
throw new Error("Could not find schema ".concat(schemaName, "@").concat(version, " to trim an object")); | ||
} | ||
@@ -46,5 +46,5 @@ if (!object) { | ||
} | ||
return exports.fillBySchema(schema, object); | ||
return (0, exports.fillBySchema)(schema, object); | ||
}; | ||
exports.fill = ramda_1.curry(fillObject); | ||
exports.fill = (0, ramda_1.curry)(fillObject); | ||
//# sourceMappingURL=fill.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getDefaults = exports.regexAsPatternKey = exports.detectors = void 0; | ||
exports.detectors = function (formats) { | ||
var detectors = function (formats) { | ||
var result = {}; | ||
@@ -11,3 +11,4 @@ Object.keys(formats).forEach(function (name) { | ||
}; | ||
exports.regexAsPatternKey = function (r) { | ||
exports.detectors = detectors; | ||
var regexAsPatternKey = function (r) { | ||
var s = r.toString(); | ||
@@ -17,3 +18,4 @@ var middle = s.substr(1, s.length - 2); | ||
}; | ||
exports.getDefaults = function (formats) { | ||
exports.regexAsPatternKey = regexAsPatternKey; | ||
var getDefaults = function (formats) { | ||
var result = {}; | ||
@@ -28,2 +30,3 @@ Object.keys(formats).forEach(function (key) { | ||
}; | ||
exports.getDefaults = getDefaults; | ||
//# sourceMappingURL=formats.js.map |
@@ -10,3 +10,3 @@ "use strict"; | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
@@ -13,0 +13,0 @@ Object.defineProperty(exports, "__esModule", { value: true }); |
@@ -10,3 +10,3 @@ "use strict"; | ||
var api_1 = require("./api"); | ||
var debug = debug_1.default('schema-tools'); | ||
var debug = (0, debug_1.default)('schema-tools'); | ||
var isDynamicFormat = function (formatDefaults) { return function (format) { return (formatDefaults ? format in formatDefaults : false); }; }; | ||
@@ -37,3 +37,3 @@ exports.isDynamicFormat = isDynamicFormat; | ||
var isDynamic = isDynamicFormat(formatDefaults); | ||
var result = ramda_1.clone(object); | ||
var result = (0, ramda_1.clone)(object); | ||
var props = schema.properties; | ||
@@ -80,3 +80,3 @@ if (props) { | ||
if (!defaultValue) { | ||
throw new Error("Cannot find default value for format name " + prop.format); | ||
throw new Error("Cannot find default value for format name ".concat(prop.format)); | ||
} | ||
@@ -92,6 +92,6 @@ result[key] = defaultValue; | ||
var sanitize = function (schemas, formatDefaults) { return function (name, version) { return function (object) { | ||
api_1.assertSchema(schemas)(name, version)(object); | ||
var schema = api_1.getObjectSchema(schemas, name, version); | ||
(0, api_1.assertSchema)(schemas)(name, version)(object); | ||
var schema = (0, api_1.getObjectSchema)(schemas, name, version); | ||
if (!schema) { | ||
throw new Error("Could not find schema " + name + "@" + version + " to sanitize an object"); | ||
throw new Error("Could not find schema ".concat(name, "@").concat(version, " to sanitize an object")); | ||
} | ||
@@ -98,0 +98,0 @@ return sanitizeBySchema(schema.schema, formatDefaults)(object); |
@@ -7,13 +7,13 @@ "use strict"; | ||
var sanitize_1 = require("./sanitize"); | ||
exports.trimBySchema = ramda_1.curry(function (schema, object) { | ||
exports.trimBySchema = (0, ramda_1.curry)(function (schema, object) { | ||
schema = schema.properties || (schema.schema || schema.items).properties; | ||
var objectProps = ramda_1.keys(object); | ||
var schemaProps = ramda_1.keys(schema); | ||
return ramda_1.reduce(function (trimmedObj, prop) { | ||
if (ramda_1.contains(prop, schemaProps)) { | ||
if (object[prop] && sanitize_1.isJsonSchema(schema[prop])) { | ||
trimmedObj[prop] = exports.trimBySchema(schema[prop], object[prop]); | ||
var objectProps = (0, ramda_1.keys)(object); | ||
var schemaProps = (0, ramda_1.keys)(schema); | ||
return (0, ramda_1.reduce)(function (trimmedObj, prop) { | ||
if ((0, ramda_1.contains)(prop, schemaProps)) { | ||
if (object[prop] && (0, sanitize_1.isJsonSchema)(schema[prop])) { | ||
trimmedObj[prop] = (0, exports.trimBySchema)(schema[prop], object[prop]); | ||
} | ||
else if (object[prop] && sanitize_1.hasPropertiesArray(schema[prop])) { | ||
trimmedObj[prop] = ramda_1.map(exports.trimBySchema(schema[prop]), object[prop]); | ||
else if (object[prop] && (0, sanitize_1.hasPropertiesArray)(schema[prop])) { | ||
trimmedObj[prop] = (0, ramda_1.map)((0, exports.trimBySchema)(schema[prop]), object[prop]); | ||
} | ||
@@ -28,5 +28,5 @@ else { | ||
var trimObject = function (schemas, schemaName, version, object) { | ||
var schema = api_1.getObjectSchema(schemas, schemaName, version); | ||
var schema = (0, api_1.getObjectSchema)(schemas, schemaName, version); | ||
if (!schema) { | ||
throw new Error("Could not find schema " + schemaName + "@" + version + " to trim an object"); | ||
throw new Error("Could not find schema ".concat(schemaName, "@").concat(version, " to trim an object")); | ||
} | ||
@@ -36,5 +36,5 @@ if (!object) { | ||
} | ||
return exports.trimBySchema(schema, object); | ||
return (0, exports.trimBySchema)(schema, object); | ||
}; | ||
exports.trim = ramda_1.curry(trimObject); | ||
exports.trim = (0, ramda_1.curry)(trimObject); | ||
//# sourceMappingURL=trim.js.map |
@@ -10,6 +10,7 @@ "use strict"; | ||
var ramda_1 = require("ramda"); | ||
exports.semverToString = function (s) { | ||
return s.major + "." + s.minor + "." + s.patch; | ||
var semverToString = function (s) { | ||
return "".concat(s.major, ".").concat(s.minor, ".").concat(s.patch); | ||
}; | ||
exports.stringToSemver = function (s) { | ||
exports.semverToString = semverToString; | ||
var stringToSemver = function (s) { | ||
var _a = s.split('.'), major = _a[0], minor = _a[1], patch = _a[2]; | ||
@@ -22,4 +23,6 @@ return { | ||
}; | ||
exports.normalizeName = function (s) { return lodash_camelcase_1.default(s); }; | ||
exports.normalizeRequiredProperties = function (schema) { | ||
exports.stringToSemver = stringToSemver; | ||
var normalizeName = function (s) { return (0, lodash_camelcase_1.default)(s); }; | ||
exports.normalizeName = normalizeName; | ||
var normalizeRequiredProperties = function (schema) { | ||
if (schema.required === true) { | ||
@@ -33,3 +36,3 @@ if (schema.properties) { | ||
}; | ||
schema.required = lodash_reduce_1.default(schema.properties, reducer, []); | ||
schema.required = (0, lodash_reduce_1.default)(schema.properties, reducer, []); | ||
} | ||
@@ -42,3 +45,4 @@ else { | ||
}; | ||
exports.versionSchemas = function () { | ||
exports.normalizeRequiredProperties = normalizeRequiredProperties; | ||
var versionSchemas = function () { | ||
var schemas = []; | ||
@@ -51,11 +55,11 @@ for (var _i = 0; _i < arguments.length; _i++) { | ||
} | ||
var titles = ramda_1.map(ramda_1.path(['schema', 'title']))(schemas); | ||
var unique = ramda_1.uniq(titles); | ||
var titles = (0, ramda_1.map)((0, ramda_1.path)(['schema', 'title']))(schemas); | ||
var unique = (0, ramda_1.uniq)(titles); | ||
if (unique.length !== 1) { | ||
throw new Error("expected same schema titles, got " + titles.join(', ')); | ||
throw new Error("expected same schema titles, got ".concat(titles.join(', '))); | ||
} | ||
var result = {}; | ||
schemas.forEach(function (s) { | ||
exports.normalizeRequiredProperties(s.schema); | ||
var version = exports.semverToString(s.version); | ||
(0, exports.normalizeRequiredProperties)(s.schema); | ||
var version = (0, exports.semverToString)(s.version); | ||
result[version] = s; | ||
@@ -65,3 +69,4 @@ }); | ||
}; | ||
exports.setPackageName = function (schemas, packageName) { | ||
exports.versionSchemas = versionSchemas; | ||
var setPackageName = function (schemas, packageName) { | ||
Object.keys(schemas).forEach(function (name) { | ||
@@ -77,3 +82,4 @@ Object.keys(schemas[name]).forEach(function (version) { | ||
}; | ||
exports.combineSchemas = function () { | ||
exports.setPackageName = setPackageName; | ||
var combineSchemas = function () { | ||
var versioned = []; | ||
@@ -86,3 +92,3 @@ for (var _i = 0; _i < arguments.length; _i++) { | ||
var title = v[Object.keys(v)[0]].schema.title; | ||
var name = exports.normalizeName(title); | ||
var name = (0, exports.normalizeName)(title); | ||
result[name] = v; | ||
@@ -92,3 +98,4 @@ }); | ||
}; | ||
exports.oneOfRegex = function () { | ||
exports.combineSchemas = combineSchemas; | ||
var oneOfRegex = function () { | ||
var values = []; | ||
@@ -98,4 +105,5 @@ for (var _i = 0; _i < arguments.length; _i++) { | ||
} | ||
return new RegExp("^(" + values.join('|') + ")$"); | ||
return new RegExp("^(".concat(values.join('|'), ")$")); | ||
}; | ||
exports.oneOfRegex = oneOfRegex; | ||
//# sourceMappingURL=utils.js.map |
{ | ||
"name": "@cypress/schema-tools", | ||
"version": "4.7.8", | ||
"version": "4.7.9", | ||
"description": "Validate, sanitize and document JSON schemas", | ||
@@ -35,3 +35,3 @@ "main": "dist", | ||
"@bahmutov/is-my-json-valid": "2.17.3", | ||
"debug": "4.3.2", | ||
"debug": "4.3.3", | ||
"json-stable-stringify": "1.0.1", | ||
@@ -52,3 +52,3 @@ "json2md": "1.6.3", | ||
"ava-ts": "0.25.2", | ||
"common-tags": "1.8.0", | ||
"common-tags": "1.8.2", | ||
"deps-ok": "1.4.1", | ||
@@ -58,7 +58,7 @@ "husky": "1.3.1", | ||
"prettier": "1.19.1", | ||
"semantic-release": "17.4.4", | ||
"semantic-release": "18.0.1", | ||
"terminal-banner": "1.1.0", | ||
"ts-node": "7.0.1", | ||
"tslint": "5.20.1", | ||
"typescript": "3.9.10" | ||
"typescript": "4.5.2" | ||
}, | ||
@@ -65,0 +65,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
96992
1161
+ Addeddebug@4.3.3(transitive)
- Removeddebug@4.3.2(transitive)
Updateddebug@4.3.3