ajv-formats
Advanced tools
Comparing version 0.6.0 to 0.6.1
@@ -5,10 +5,13 @@ "use strict"; | ||
const limit_1 = require("./limit"); | ||
const codegen_1 = require("ajv/dist/compile/codegen"); | ||
const fullName = new codegen_1.Name("fullFormats"); | ||
const fastName = new codegen_1.Name("fastFormats"); | ||
const formatsPlugin = (ajv, opts = { keywords: true }) => { | ||
if (Array.isArray(opts)) { | ||
addFormats(ajv, opts, formats_1.fullFormats); | ||
addFormats(ajv, opts, formats_1.fullFormats, fullName); | ||
return ajv; | ||
} | ||
const formats = opts.mode === "fast" ? formats_1.fastFormats : formats_1.fullFormats; | ||
const [formats, exportName] = opts.mode === "fast" ? [formats_1.fastFormats, fastName] : [formats_1.fullFormats, fullName]; | ||
const list = opts.formats || formats_1.formatNames; | ||
addFormats(ajv, list, formats); | ||
addFormats(ajv, list, formats, exportName); | ||
if (opts.keywords) | ||
@@ -25,3 +28,6 @@ limit_1.default(ajv); | ||
}; | ||
function addFormats(ajv, list, fs) { | ||
function addFormats(ajv, list, fs, exportName) { | ||
var _a; | ||
var _b; | ||
(_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : (_b.formats = codegen_1._ `require("ajv-formats/dist/formats").${exportName}`); | ||
for (const f of list) | ||
@@ -28,0 +34,0 @@ ajv.addFormat(f, fs[f]); |
{ | ||
"name": "ajv-formats", | ||
"version": "0.6.0", | ||
"version": "0.6.1", | ||
"description": "Format validation for Ajv v7", | ||
@@ -54,3 +54,3 @@ "main": "dist/index.js", | ||
"ts-jest": "^26.1.3", | ||
"typescript": "^3.9.7" | ||
"typescript": "^4.0.0" | ||
}, | ||
@@ -57,0 +57,0 @@ "prettier": "@ajv-validator/config/prettierrc.json", |
@@ -12,2 +12,3 @@ import { | ||
import type {Plugin, Format} from "ajv" | ||
import {_, Name} from "ajv/dist/compile/codegen" | ||
@@ -27,2 +28,5 @@ export {FormatMode, FormatName} from "./formats" | ||
const fullName = new Name("fullFormats") | ||
const fastName = new Name("fastFormats") | ||
const formatsPlugin: FormatsPlugin = ( | ||
@@ -33,8 +37,9 @@ ajv: Ajv, | ||
if (Array.isArray(opts)) { | ||
addFormats(ajv, opts, fullFormats) | ||
addFormats(ajv, opts, fullFormats, fullName) | ||
return ajv | ||
} | ||
const formats = opts.mode === "fast" ? fastFormats : fullFormats | ||
const [formats, exportName] = | ||
opts.mode === "fast" ? [fastFormats, fastName] : [fullFormats, fullName] | ||
const list = opts.formats || formatNames | ||
addFormats(ajv, list, formats) | ||
addFormats(ajv, list, formats, exportName) | ||
if (opts.keywords) formatLimit(ajv) | ||
@@ -51,3 +56,4 @@ return ajv | ||
function addFormats(ajv: Ajv, list: FormatName[], fs: DefinedFormats): void { | ||
function addFormats(ajv: Ajv, list: FormatName[], fs: DefinedFormats, exportName: Name): void { | ||
ajv.opts.code.formats ??= _`require("ajv-formats/dist/formats").${exportName}` | ||
for (const f of list) ajv.addFormat(f, fs[f]) | ||
@@ -54,0 +60,0 @@ } |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
47285
587