UNPKG

zod-config

Version:

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

2 lines (1 loc) 1.29 kB
"use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(r,n)=>{for(var e in n)i(r,e,{get:n[e],enumerable:!0})},d=(r,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of p(n))!c.call(r,o)&&o!==e&&i(r,o,{get:()=>n[o],enumerable:!(t=s(n,o))||t.enumerable});return r};var x=r=>d(i({},"__esModule",{value:!0}),r);var y={};l(y,{envAdapter:()=>w});module.exports=x(y);var a=(r,n)=>{if(r==null)return{};if(!u(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(n)).reduce((e,t)=>(e[t]=r[t],e),{})},g=(r,n)=>{if(r==null)return{};if(!u(r))throw new TypeError(`Cannot filter ${r} by regex as it is not a record-like object`);return Object.keys(r).filter(e=>n.test(e)).reduce((e,t)=>(e[t]=r[t],e),{})};function u(r){return!r||typeof r!="object"?!1:Object.getPrototypeOf(r)===Object.prototype||Object.getPrototypeOf(r)===null}function f(r,n){let{regex:e,prefixKey:t}=n;return e?g(r,e):t?a(r,t):r}var b="env adapter",w=({customEnv:r,prefixKey:n,regex:e,silent:t}={})=>({name:b,read:async()=>{let o=r||process.env||{};return f(o,{prefixKey:n,regex:e})},silent:t});0&&(module.exports={envAdapter});