UNPKG

zod-config

Version:

Load configuration variables from multiple sources with flexible adapters, ensuring type safety with Zod.

2 lines (1 loc) 1.4 kB
"use strict";var i=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(r,t)=>{for(var e in t)i(r,e,{get:t[e],enumerable:!0})},a=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of p(t))!c.call(r,o)&&o!==e&&i(r,o,{get:()=>t[o],enumerable:!(n=u(t,o))||n.enumerable});return r};var d=r=>a(i({},"__esModule",{value:!0}),r);var y={};l(y,{scriptAdapter:()=>b});module.exports=d(y);var w=(r,t)=>{if(r==null)return{};if(!f(r))throw new TypeError(`Cannot filter ${r} by prefix key as it is not a record-like object`);return Object.keys(r).filter(e=>e.startsWith(t)).reduce((e,n)=>(e[n]=r[n],e),{})},x=(r,t)=>{if(r==null)return{};if(!f(r))throw new TypeError(`Cannot filter ${r} by regex as it is not a record-like object`);return Object.keys(r).filter(e=>t.test(e)).reduce((e,n)=>(e[n]=r[n],e),{})};function f(r){return!r||typeof r!="object"?!1:Object.getPrototypeOf(r)===Object.prototype||Object.getPrototypeOf(r)===null}function s(r,t){let{regex:e,prefixKey:n}=t;return e?x(r,e):n?w(r,n):r}var g="script adapter",b=({path:r,prefixKey:t,regex:e,silent:n})=>({name:g,read:async()=>{try{let{default:o}=await import(r);return s(o,{prefixKey:t,regex:e})}catch(o){throw new Error(`Failed to import() script at ${r}: ${o instanceof Error?o.message:o}`)}},silent:n});0&&(module.exports={scriptAdapter});