envin 1.1.8 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- function m(e,t){if(e instanceof Promise)throw new Error(t)}function F(e,t){let a={},c=[];for(let r in e){let o=e[r]?.["~standard"].validate(t[r]);if(m(o,`Validation must be synchronous, but ${r} returned a Promise.`),o?.issues){c.push(...o.issues.map(d=>({...d,path:[r,...d.path??[]]})));continue}a[r]=o?.value}return c.length?{issues:c}:{value:a}}var y=e=>["function","object"].includes(typeof e)&&!!e&&"~standard"in e&&typeof e["~standard"]=="object"&&!!e["~standard"]&&"validate"in e["~standard"],h=e=>{if(!(typeof e!="object"||e===null)){if("default"in e&&!["object","function"].includes(typeof e.default))return e.default;if("_def"in e&&typeof e._def=="object"&&e._def!==null&&"defaultValue"in e._def)return typeof e._def.defaultValue=="function"?e._def.defaultValue?.():e._def.defaultValue}},I=e=>Object.fromEntries(Object.entries(e).map(([t,a])=>[t,h(a)]));var V=e=>["__esModule","$$typeof"].includes(e),O=(e,t)=>({...e.shared&&e.shared,...e.server&&t&&e.server,...e.client&&e.client}),b=(e,t)=>{let a=r=>({...r.extends?.reduce((d,u)=>({...d,...a(u)}),{})??{},...O(r,t)});return{...e.extends?.reduce((r,o)=>({...r,...a(o)}),{})??{},...O(e,t)}},S=class extends Error{constructor(t){super(t),this.name="EnvError"}};function R(e){let t=e.envStrict??e.env??process.env;for(let[n,s]of Object.entries(t))s===""&&delete t[n];let a=e.isServer??(typeof window>"u"||"Deno"in window),c=e.onError??(n=>{throw console.error("\u274C Invalid environment variables:",n),new S("Invalid environment variables")}),r=e.onInvalidAccess??(n=>{throw new S(`\u274C Attempted to access a server-side environment variable on the client: ${n}`)}),o=!!e.skip,d=b(e,a),u=e.transform?.(d,a)??d,D=y(u)?h(u):I(u);if(o)return{...D,...t,_schema:d};let l=y(u)?u["~standard"].validate(t):F(d,t);if(m(l,"Validation must be synchronous!"),l.issues)return c(l.issues);let P=n=>{let s=i=>{let f={keys:Object.keys(i.client??{}),prefix:i.clientPrefix},p=(i.extends??[]).flatMap(x=>s(x));return[f,...p]},v=i=>{let f=Object.keys(i.shared??{}),p=(i.extends??[]).flatMap(x=>v(x));return[...f,...p]},k=s(e).some(i=>i.keys.includes(n)&&(!i.prefix||n.startsWith(i.prefix)));return!v(e).includes(n)&&!k},g=n=>a||!P(n);return new Proxy("value"in l?l.value:{},{get(n,s){if(typeof s=="string"&&!V(s))return s==="_schema"?d:g(s)?Reflect.get(n,s):r(s)}})}export{R as defineEnv};
1
+ function y(e,t){if(e instanceof Promise)throw new Error(t)}function O(e,t){let s={},c=[];for(let a in e){let o=e[a]?.["~standard"].validate(t[a]);if(y(o,`Validation must be synchronous, but ${a} returned a Promise.`),o?.issues){c.push(...o.issues.map(d=>({...d,path:[a,...d.path??[]]})));continue}s[a]=o?.value}return c.length?{issues:c}:{value:s}}var h=e=>["function","object"].includes(typeof e)&&!!e&&"~standard"in e&&typeof e["~standard"]=="object"&&!!e["~standard"]&&"validate"in e["~standard"],v=e=>{if(!(typeof e!="object"||e===null)){if("default"in e&&!["object","function"].includes(typeof e.default))return e.default;if("_def"in e&&typeof e._def=="object"&&e._def!==null&&"defaultValue"in e._def)return typeof e._def.defaultValue=="function"?e._def.defaultValue?.():e._def.defaultValue}},D=e=>Object.fromEntries(Object.entries(e).map(([t,s])=>[t,v(s)]));var V=e=>["__esModule","$$typeof"].includes(e),I=(e,t)=>({...e.shared&&e.shared,...e.server&&t&&e.server,...e.client&&e.client}),k=(e,t)=>{let s=a=>({...a.extends?.reduce((d,u)=>({...d,...s(u)}),{})??{},...I(a,t)});return{...e.extends?.reduce((a,o)=>({...a,...s(o)}),{})??{},...I(e,t)}},f=class extends Error{constructor(t){super(t),this.name="EnvError"}};function j(e){let t=e.envStrict??e.env??process.env;for(let[n,r]of Object.entries(t))r===""&&delete t[n];let s=e.isServer??(typeof window>"u"||"Deno"in window),c=e.onError??(n=>{throw console.error("\u274C Invalid environment variables:",n),new f("Invalid environment variables")}),a=e.onInvalidAccess??(n=>{throw new f(`\u274C Attempted to access a server-side environment variable on the client: ${n}`)}),o=!!e.skip,d=k(e,s),u=e.transform?.(d,s)??d,S=h(u)?v(u):D(u),P=Object.fromEntries(Object.entries(t).map(([n,r])=>r!==void 0?[n,r]:[n,S&&n in S?S[n]:void 0]));if(o)return{...S,...P,_schema:d};let l=h(u)?u["~standard"].validate(t):O(d,t);if(y(l,"Validation must be synchronous!"),l.issues)return c(l.issues);let g=n=>{let r=i=>{let p={keys:Object.keys(i.client??{}),prefix:i.clientPrefix},x=(i.extends??[]).flatMap(m=>r(m));return[p,...x]},F=i=>{let p=Object.keys(i.shared??{}),x=(i.extends??[]).flatMap(m=>F(m));return[...p,...x]},E=r(e).some(i=>i.keys.includes(n)&&(!i.prefix||n.startsWith(i.prefix)));return!F(e).includes(n)&&!E},b=n=>s||!g(n);return new Proxy("value"in l?l.value:{},{get(n,r){if(typeof r=="string"&&!V(r))return r==="_schema"?d:b(r)?Reflect.get(n,r):a(r)}})}export{j as defineEnv};
package/dist/types.d.ts CHANGED
@@ -165,7 +165,7 @@ interface StrictOptions<Prefix extends PrefixFormat, Server extends ServerFormat
165
165
  [Key in keyof Server]: Prefix extends undefined ? Key : Key extends `${Prefix}${string}` ? never : Key;
166
166
  }[keyof Server] | {
167
167
  [Key in keyof Shared]: Key extends string ? Key : never;
168
- }[keyof Shared], string | boolean | number | undefined>;
168
+ }[keyof Shared] | keyof StandardSchemaDictionary.InferOutput<FullSchemaShape<Shared, Server, Client, Extends>>, string | boolean | number | undefined>;
169
169
  /**
170
170
  * Must be undefined when using strict options. Use `envStrict` instead.
171
171
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "envin",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "Type-safe env validation with live previews",
5
5
  "keywords": [
6
6
  "turbostarter",