UNPKG

zod-config

Version:

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

2 lines (1 loc) 937 B
function f(e){return!e||typeof e!="object"?!1:Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null}function p(e,t){let{regex:n}=t;return n?c(e,n):e}var c=(e,t)=>{if(e==null)return{};if(!f(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,i)=>(n[i]=e[i],n),{})};import{ZodDefault as m,ZodObject as j,ZodOptional as O}from"zod/v3";import*as o from"zod/v4/core";var z={strict:u(e=>e),lenient:u(d)};function d(e){return e.replace(/[^a-z0-9]/gi,"").toLowerCase()}function u(e){return(t,n)=>e(t)===e(n)}var a="script adapter",F=({path:e,regex:t,silent:n,keyMatching:i,transform:s})=>({name:a,read:async()=>{try{let{default:r}=await import(e);return p(r,{regex:t})}catch(r){throw new Error(`Failed to import() script at ${e}: ${r instanceof Error?r.message:r}`)}},silent:n,keyMatching:i,transform:s});export{F as scriptAdapter};