| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | "use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = void 0;/** @typedef {import("ajv").Ajv} Ajv *//** @typedef {import("ajv").ValidateFunction} ValidateFunction *//** @typedef {import("../validate").SchemaUtilErrorObject} SchemaUtilErrorObject *//** * @param {string} message * @param {object} schema * @param {string} data * @returns {SchemaUtilErrorObject} */function errorMessage(message, schema, data) {  return {    // @ts-ignore    // eslint-disable-next-line no-undefined    dataPath: undefined,    // @ts-ignore    // eslint-disable-next-line no-undefined    schemaPath: undefined,    keyword: "absolutePath",    params: {      absolutePath: data    },    message,    parentSchema: schema  };}/** * @param {boolean} shouldBeAbsolute * @param {object} schema * @param {string} data * @returns {SchemaUtilErrorObject} */function getErrorFor(shouldBeAbsolute, schema, data) {  const message = shouldBeAbsolute ? `The provided value ${JSON.stringify(data)} is not an absolute path!` : `A relative path is expected. However, the provided value ${JSON.stringify(data)} is an absolute path!`;  return errorMessage(message, schema, data);}/** * * @param {Ajv} ajv * @returns {Ajv} */function addAbsolutePathKeyword(ajv) {  ajv.addKeyword("absolutePath", {    errors: true,    type: "string",    compile(schema, parentSchema) {      /** @type {ValidateFunction} */      const callback = data => {        let passes = true;        const isExclamationMarkPresent = data.includes("!");        if (isExclamationMarkPresent) {          callback.errors = [errorMessage(`The provided value ${JSON.stringify(data)} contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.`, parentSchema, data)];          passes = false;        } // ?:[A-Za-z]:\\ - Windows absolute path        // \\\\ - Windows network absolute path        // \/ - Unix-like OS absolute path        const isCorrectAbsolutePath = schema === /^(?:[A-Za-z]:(\\|\/)|\\\\|\/)/.test(data);        if (!isCorrectAbsolutePath) {          callback.errors = [getErrorFor(schema, parentSchema, data)];          passes = false;        }        return passes;      };      callback.errors = [];      return callback;    }  });  return ajv;}var _default = addAbsolutePathKeyword;exports.default = _default;
 |