UNPKG

zod-config

Version:

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

2 lines (1 loc) 1.59 kB
"use strict";var b=Object.create;var f=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of w(t))!O.call(e,o)&&o!==n&&f(e,o,{get:()=>t[o],enumerable:!(r=m(t,o))||r.enumerable});return e};var T=(e,t,n)=>(n=e!=null?b(Z(e)):{},c(t||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n,e)),x=e=>c(f({},"__esModule",{value:!0}),e);var R={};j(R,{tomlAdapter:()=>k});module.exports=x(R);var l=require("fs");function p(e){return!e||typeof e!="object"?!1:Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null}function a(e,t){let{regex:n}=t;return n?z(e,n):e}var z=(e,t)=>{if(e==null)return{};if(!p(e))throw new TypeError(`Cannot filter ${e} by regex as it is not a record-like object`);return Object.keys(e).filter(n=>t.test(n)).reduce((n,r)=>(n[r]=e[r],n),{})};var u=require("zod/v3"),s=T(require("zod/v4/core"));var _={strict:d(e=>e),lenient:d($)};function $(e){return e.replace(/[^a-z0-9]/gi,"").toLowerCase()}function d(e){return(t,n)=>e(t)===e(n)}var y=require("smol-toml"),h="toml adapter",k=({path:e,regex:t,silent:n,keyMatching:r,transform:o})=>({name:h,read:()=>{try{let i=(0,l.readFileSync)(e,"utf-8"),g=(0,y.parse)(i)||{};return a(g,{regex:t})}catch(i){throw new Error(`Failed to parse / read TOML file at ${e}: ${i instanceof Error?i.message:i}`)}},silent:n,keyMatching:r,transform:o});0&&(module.exports={tomlAdapter});