{"version":3,"sources":["jsdelivr-header.js","/npm/env-schema@6.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,MAAM,IAAM,QAAQ,OAEd,UAAY,CAChB,QAAS,YACT,KAAM,SACN,WAAY,CACV,KAAM,SACN,YAAa,mBAEf,WAAW,EACX,OAAO,EACP,QAAQ,EACR,QAAU,GAAW,CAAC,GAAQ,WAAY,EAAO,mBAAoB,MACnE,EAAM,GAA0B,KAAT,EAAc,GAAK,EAAK,MAAM,EAAM,GAIzD,WAAa,CACjB,KAAM,SACN,SAAU,CAAC,UACX,WAAY,CACV,OAAQ,CAAE,KAAM,SAAU,sBAAsB,GAChD,KAAM,CACJ,MAAO,CACL,CAAE,KAAM,QAAS,MAAO,CAAE,KAAM,UAAY,SAAU,GACtD,CAAE,KAAM,WAEV,QAAS,CAAC,GAEZ,IAAK,CAAE,KAAM,UAAW,SAAS,GACjC,OAAQ,CAAE,KAAM,CAAC,UAAW,UAAW,SAAS,GAChD,UAAW,CAAE,KAAM,CAAC,WAAY,SAAS,GACzC,IAAK,CAAE,KAAM,SAAU,sBAAsB,KAI3C,kBAAoB,qBAEpB,oBAAsB,kBAAkB,QAAQ,YAEtD,SAAS,UAAW,GAClB,MAAM,EAAO,OAAO,OAAO,CAAC,EAAG,GAE3B,EAAK,SAAS,OAAO,IAAI,2BAC3B,EAAK,OAAS,EAAK,OAAO,WAI5B,IADsB,oBAAoB,GACtB,CAClB,MAAM,EAAQ,IAAI,MAAM,kBAAkB,WAAW,oBAAoB,OAAQ,CAAE,QAAS,UAE5F,MADA,EAAM,OAAS,oBAAoB,OAC7B,CACR,CAEA,MAAM,OAAE,GAAW,EACnB,EAAO,sBAAuB,EAE9B,IAAI,KAAE,EAAI,OAAE,EAAM,IAAE,EAAG,UAAE,GAAc,EAClC,MAAM,QAAQ,KACjB,EAAO,CAAC,IAGN,GACF,QAAQ,UAAU,OAAO,OAAO,OAAO,CAAC,EAAG,IAIzC,GACF,EAAK,QAAQ,QAAQ,KAGvB,MAAM,EAAQ,CAAC,EACf,EAAK,SAAQ,GAAK,OAAO,OAAO,EAAO,KAEnC,GACF,QAAQ,iBAAiB,OAAO,CAAE,kBAAkB,EAAM,OAAQ,IAGpE,MAAM,EAAM,kBAAkB,kBAAmB,EAAK,KAGtD,IADc,EAAI,SAAS,EAAQ,GACvB,CACV,MAAM,EAAQ,IAAI,MAAM,EAAI,WAAW,EAAI,OAAQ,CAAE,QAAS,SAE9D,MADA,EAAM,OAAS,EAAI,OACb,CACR,CAEA,OAAO,CACT,CAEA,SAAS,kBAAmB,EAAiB,GAC3C,IAAK,EACH,OAAO,EACF,GAAuB,iBAAZ,GAAyD,mBAA1B,EAAQ,cAA8B,CACrF,MAAM,EAAM,EAAQ,cAAc,sBAClC,KAAM,aAAe,KACnB,MAAM,IAAI,UAAU,yDAEtB,OAAO,CACT,CACA,OAAO,CACT,CAEA,SAAS,qBACP,OAAO,IAAI,IAAI,CACb,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,SAAU,CAAC,YAEf,CAEA,UAAU,SAAW,CAAE,qBAEvB,OAAO,QAAU,UACjB,OAAO,QAAQ,QAAU,UACzB,OAAO,QAAQ,UAAY","file":"/npm/env-schema@6.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/env-schema@6.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\n\nconst Ajv = require('ajv')\n\nconst separator = {\n  keyword: 'separator',\n  type: 'string',\n  metaSchema: {\n    type: 'string',\n    description: 'value separator'\n  },\n  modifying: true,\n  valid: true,\n  errors: false,\n  compile: (schema) => (data, { parentData: pData, parentDataProperty: pDataProperty }) => {\n    pData[pDataProperty] = data === '' ? [] : data.split(schema)\n  }\n}\n\nconst optsSchema = {\n  type: 'object',\n  required: ['schema'],\n  properties: {\n    schema: { type: 'object', additionalProperties: true },\n    data: {\n      oneOf: [\n        { type: 'array', items: { type: 'object' }, minItems: 1 },\n        { type: 'object' }\n      ],\n      default: {}\n    },\n    env: { type: 'boolean', default: true },\n    dotenv: { type: ['boolean', 'object'], default: false },\n    expandEnv: { type: ['boolean'], default: false },\n    ajv: { type: 'object', additionalProperties: true }\n  }\n}\n\nconst sharedAjvInstance = getDefaultInstance()\n\nconst optsSchemaValidator = sharedAjvInstance.compile(optsSchema)\n\nfunction envSchema (_opts) {\n  const opts = Object.assign({}, _opts)\n\n  if (opts.schema?.[Symbol.for('fluent-schema-object')]) {\n    opts.schema = opts.schema.valueOf()\n  }\n\n  const isOptionValid = optsSchemaValidator(opts)\n  if (!isOptionValid) {\n    const error = new Error(sharedAjvInstance.errorsText(optsSchemaValidator.errors, { dataVar: 'opts' }))\n    error.errors = optsSchemaValidator.errors\n    throw error\n  }\n\n  const { schema } = opts\n  schema.additionalProperties = false\n\n  let { data, dotenv, env, expandEnv } = opts\n  if (!Array.isArray(data)) {\n    data = [data]\n  }\n\n  if (dotenv) {\n    require('dotenv').config(Object.assign({}, dotenv))\n  }\n\n  /* istanbul ignore else */\n  if (env) {\n    data.unshift(process.env)\n  }\n\n  const merge = {}\n  data.forEach(d => Object.assign(merge, d))\n\n  if (expandEnv) {\n    require('dotenv-expand').expand({ ignoreProcessEnv: true, parsed: merge })\n  }\n\n  const ajv = chooseAjvInstance(sharedAjvInstance, opts.ajv)\n\n  const valid = ajv.validate(schema, merge)\n  if (!valid) {\n    const error = new Error(ajv.errorsText(ajv.errors, { dataVar: 'env' }))\n    error.errors = ajv.errors\n    throw error\n  }\n\n  return merge\n}\n\nfunction chooseAjvInstance (defaultInstance, ajvOpts) {\n  if (!ajvOpts) {\n    return defaultInstance\n  } else if (typeof ajvOpts === 'object' && typeof ajvOpts.customOptions === 'function') {\n    const ajv = ajvOpts.customOptions(getDefaultInstance())\n    if (!(ajv instanceof Ajv)) {\n      throw new TypeError('customOptions function must return an instance of Ajv')\n    }\n    return ajv\n  }\n  return ajvOpts\n}\n\nfunction getDefaultInstance () {\n  return new Ajv({\n    allErrors: true,\n    removeAdditional: true,\n    useDefaults: true,\n    coerceTypes: true,\n    allowUnionTypes: true,\n    addUsedSchema: false,\n    keywords: [separator]\n  })\n}\n\nenvSchema.keywords = { separator }\n\nmodule.exports = envSchema\nmodule.exports.default = envSchema\nmodule.exports.envSchema = envSchema\n"]}