123456789101112131415161718192021222324252627282930313233343536 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- /** @typedef {import("ajv").default} Ajv */
- /** @typedef {import("ajv").SchemaValidateFunction} SchemaValidateFunction */
- /** @typedef {import("ajv").AnySchemaObject} AnySchemaObject */
- /** @typedef {import("ajv").ValidateFunction} ValidateFunction */
- /**
- *
- * @param {Ajv} ajv
- * @returns {Ajv}
- */
- function addUndefinedAsNullKeyword(ajv) {
- ajv.addKeyword({
- keyword: "undefinedAsNull",
- before: "enum",
- modifying: true,
- /** @type {SchemaValidateFunction} */
- validate(kwVal, data, metadata, dataCxt) {
- if (kwVal && dataCxt && metadata && typeof metadata.enum !== "undefined") {
- const idx = dataCxt.parentDataProperty;
- if (typeof dataCxt.parentData[idx] === "undefined") {
- // eslint-disable-next-line no-param-reassign
- dataCxt.parentData[dataCxt.parentDataProperty] = null;
- }
- }
- return true;
- }
- });
- return ajv;
- }
- var _default = exports.default = addUndefinedAsNullKeyword;
|