runcheck 0.49.0 → 0.49.2

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.
@@ -1 +1 @@
1
- import{r as f,s as t,t as o}from"./chunk-A3DOSWCP.js";var s=f.withAutofix(r=>r==null||r===0||r===1?{fixed:!!r}:r==="true"||r==="false"?{fixed:r==="true"}:!1),n=t.withAutofix(r=>typeof r=="number"&&!Number.isNaN(r)?{fixed:r.toString()}:!1),u=o.withAutofix(r=>{if(typeof r=="string"){let e=Number(r);if(!Number.isNaN(e))return{fixed:e}}return!1});export{s as rc_boolean_autofix,u as rc_number_autofix,n as rc_string_autofix};
1
+ import{r as f,s as t,t as o}from"./chunk-MU32NTS5.js";var s=f.withAutofix(r=>r==null||r===0||r===1?{fixed:!!r}:r==="true"||r==="false"?{fixed:r==="true"}:!1),n=t.withAutofix(r=>typeof r=="number"&&!Number.isNaN(r)?{fixed:r.toString()}:!1),u=o.withAutofix(r=>{if(typeof r=="string"){let e=Number(r);if(!Number.isNaN(e))return{fixed:e}}return!1});export{s as rc_boolean_autofix,u as rc_number_autofix,n as rc_string_autofix};
@@ -0,0 +1 @@
1
+ function F(e,r){return{...r,y:e}}function D(e){return x(e)&&"__rc_type"in e}function N(e){if(D(e))return e;if(x(e)){let r={};for(let[n,t]of Object.entries(e))r[n]=N(t);return b(r)}throw new Error(`invalid schema: ${e}`)}function b(e,{normalizeKeysFrom:r}={}){let n={};for(let[t,o]of Object.entries(e))n[t]=N(o);return{...f,t:n,e:"object",_:!0,u:Object.entries(n),r(t,o){return y(this,t,o,()=>{if(!x(t))return o.a=-1,!1;let s=this.e==="strict_obj"||o.s?new Set(Object.keys(t)):void 0;if(s&&s.size>this.u.length){o.a=-1;let d=[];if(o.o)return{data:void 0,errors:[p(o,`Expected strict object with ${this.u.length} keys but got ${s.size}`)]};for(let[l]of this.u)s.has(l)?s.delete(l):d.push(p(o,`Key '${l}' is missing`));for(let l of s)d.push(p(o,`Key '${l}' is not defined in the object shape`));return{data:void 0,errors:d}}let c={},i=[],u=o.n,T=-1;for(let[d,l]of this.u){let h=d;T+=1;let _=`.${d}`,j=`${u}${_}`;o.n=j;let R=t[d],g=d;if(R===void 0&&l.y&&(R=t[l.y],g=l.y),R===void 0&&r==="snake_case"){let O=W(d);R=t[O],g=O}s?.delete(g);let[E,k]=l.r(R,o);if(E)c[h]=k;else{for(let O of k)o.n=j,i.push(O);if(o.o){o.a=T;break}}}if(s&&s.size>0)for(let d of s)o.n=u,i.push(p(o,`Key '${d}' is not defined in the object shape`));return i.length>0?{errors:i,data:void 0}:this.b?{errors:!1,data:{...t,...c}}:{errors:!1,data:c}})}}}function M(e,r){return{...b(e,r),e:"extends_object",b:!0}}function z(e){if(!e.t)throw new Error("type does not have an object shape");return e.t}function L(e,r){return{...b(e,r),e:"strict_obj"}}function Q(e,{nonRecursive:r}={}){if(r){if(!e.t)throw new Error("rc_enable_obj_strict: nonRecursive option can only be used on object types");return{...e,e:"strict_obj"}}return{...e,r(n,t){let o=t.s;t.s=!0;let a=e.r(n,t);return t.s=o,a}}}function J(...e){let r={};for(let n of e)Object.assign(r,n.t);return b(r)}function Z(e,r){let n={};if(!e.t)throw new Error("rc_obj_pick: obj must be an object type");for(let t of r){let o=e.t[t];o&&(n[t]=o)}return b(n)}function G(e,r){let n={};if(!e.t)throw new Error("rc_obj_omit: obj must be an object type");for(let t of Object.keys(e.t))r.includes(t)||(n[t]=e.t[t]);return b(n)}function H(){return(e,r)=>b(e,r)}function X(e){return{...this,g:e}}function p(e,r){return`${e.n?`$${e.n}: `:""}${r}`}function S(e,r){e.l.push(r.startsWith("$")?r:p(e,r))}function B(e,r){r.forEach(n=>S(e,n))}function y(e,r,n,t){if(e.T&&r===void 0)return[!0,r];if(e.d&&r==null)return[!0,r];if(e.p&&r===null)return[!0,r];let o=t();if(o&&(o===!0||!o.errors)){let a=o===!0?r:o.data;return e.c&&!e.c(a)?[!1,[p(n,`Predicate failed for type '${e.e}'`)]]:[!0,a]}if(!n.i){let a=e.g;if(a!==void 0)return S(n,`Fallback used, errors -> ${v(o,n,e,r)}`),[!0,I(a)?a():a];if(e.j&&e.h){let s=e.h(r);if(s)return e.c&&!e.c(s.fixed)?[!1,[p(n,`Predicate failed for autofix in type '${e.e}'`)]]:(S(n,`Autofixed from error "${v(o,n,e,r)}"`),[!0,s.fixed])}}return[!1,o?o.errors:[p(n,U(e,r))]]}function v(e,r,n,t){return e?e.errors.map(o=>o.replace(r.n,"")).join("; "):U(n,t)}function Y(e){return{...this,j:!0,h:e}}function ee(e){return{...this,c:e}}function q(){return{...this,T:!0}}function U(e,r){return`Type '${w(r,!!e.k)}' is not assignable to '${e.e}'`}function re(){return{...this,p:!0,e:`${this.e}_or_null`}}function ne(){return{...this,d:!0,e:`${this.e}_or_nullish`}}var f={__rc_type:void 0,withFallback:X,where:ee,optional:q,optionalKey:q,orNullish:ne,withAutofix:Y,orNull:re,R:void 0,g:void 0,c:void 0,T:!1,p:!1,d:!1,j:!1,k:!1,y:void 0,h:void 0,t:void 0,_:!1,b:!1,u:[]},Te={...f,r(e,r){return y(this,e,r,()=>e===void 0)},e:"undefined"},de={...f,r(e,r){return y(this,e,r,()=>e===null)},e:"null"},pe={...f,r(e,r){return y(this,e,r,()=>!0)},e:"any"},Re={...f,r(e,r){return y(this,e,r,()=>!0)},e:"unknown"},he={...f,r(e,r){return y(this,e,r,()=>typeof e=="boolean")},e:"boolean"},_e={...f,r(e,r){return y(this,e,r,()=>typeof e=="string")},e:"string"},be={...f,r(e,r){return y(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},je={...f,r(e,r){return y(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function ge(e){return{...f,r(r,n){return y(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function ke(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...f,r(r,n){return y(this,r,n,()=>{for(let t of e)if(r===t)return!0;return!1})},k:!0,e:e.length==1?w(e[0],!0):e.map(r=>w(r,!0)).join(" | ")}}var C=1;function Oe(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...f,r(r,n){return y(this,r,n,()=>{let t=n.n,o=[],a=0,s=!1,c=[],i=0;for(let u of e){i+=1,u._&&(n.n=`${t}|union ${i}|`);let T=n.o;n.o=!0,n.a=0;let[d,l]=u.r(r,n),h=n.a;if(n.o=T,n.a=0,d)return!0;u._&&h!==-1?h>0?c.push(...l):(a<C&&o.push(...l),a+=1):s=!0}return n.n=t,c.length>0||o.length>0?((a>C||s)&&o.push(p(n,"not matches any other union member")),{errors:[...c,...o],data:void 0}):!1})},e:e.map(r=>r.e).join(" | ")}}function me(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return y(this,t,o,()=>{if(t===void 0)return n();let[a,s]=e.r(t,o);return a?s===void 0?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_default`};function n(){return{data:I(r)?r():r,errors:!1}}}function xe(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return y(this,t,o,()=>{if(t==null)return n();let[a,s]=e.r(t,o);return a?s==null?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_nullish_default`};function n(){return{data:I(r)?r():r,errors:!1}}}function te(e,{checkKey:r,looseCheck:n}={}){return{...f,e:`record<string, ${e.e}>`,r(t,o){return y(this,t,o,()=>{if(!x(t))return!1;let a={},s=[],c=o.n;for(let[i,u]of Object.entries(t)){let T=`.${i}`,d=`${c}${T}`;if(o.n=d,r&&!r(i)){s.push(p(o,`Key '${i}' is not allowed`));continue}let l=t[i],[h,_]=e.r(u,o);if(h)a[i]=l;else{let j=_;for(let R of j)s.push(R);if(o.o)break}}if(s.length>0)if(n)B(o,s);else return{errors:s,data:void 0};return{errors:!1,data:a}})}}}function we(e,{checkKey:r}={}){return te(e,{checkKey:r,looseCheck:!0})}function P(e,r,n,t=!1,o){let a=t&&!n.i&&!n.f,s=o?.unique,c=[],i=[],u=s?new Set:void 0,T=n.n,d=Array.isArray(r),l=-1;for(let h of e){l++;let _=d?r[l]:r,j=`[${l}]`,R=`${T}${j}`;n.n=R;let g=_.r(h,n),[E,k]=g;if(n.n=R,E&&u){let m=k,A=typeof s=="string";A?m=k[s]:typeof s=="function"&&(m=s(k)),u.has(m)?(A&&(n.n=`${T}${j}.${s}`),g=[!1,[p(n,A?`Type '${_.t?.[s]?.e}' with value "${m}" is not unique`:typeof s=="function"?`Type '${_.e}' unique fn return with value "${m}" is not unique`:`${_.e} value is not unique`)]]):u.add(m)}let[O,$]=g;if(O)i.push($);else if(a){c.push($);continue}else return{errors:$,data:void 0}}if(c.length>0){if(i.length===0)return{errors:c.slice(0,5).flat(),data:void 0};B(n,c.flat())}return{errors:!1,data:i}}function Pe(e,r){return{...f,e:`${e.e}[]`,R:e,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1,r):!1)}}}function Ee(e){if(!e.R)throw new Error("Type does not have an item type");return e.R}function $e(e,{nonRecursive:r=!1}={}){if(r){if(!e.e.endsWith("[]"))throw new Error("rc_disable_loose_array: nonRecursive option can only be used with array types");return{...e,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1):!1)}}}return{...e,r(n,t){let o=t.f;t.f=!0;let a=e.r(n,t);return t.f=o,a}}}function Ae(e,r){return{...f,R:e,e:`${e.e}[]`,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!0,r):!1)}}}function Se(e){return{...f,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return y(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:P.call(this,r,e,n))}}}function K(e,r,{noWarnings:n=!1}={}){let t={l:[],n:"",o:!1,a:0,i:n,s:!1,f:!1},[o,a]=r.r(e,t);return o?{error:!1,ok:!0,data:a,warnings:t.l.length>0?t.l:!1}:{ok:!1,error:!0,errors:a}}function Ke(e){return r=>K(r,e)}function Ie(e,r,n){let t=K(e,r,n);return t.error?{data:null,errors:t.errors,warnings:!1}:{data:t.data,errors:!1,warnings:t.warnings}}function oe(e,r){let n={l:[],n:"",o:!1,a:0,i:!1,s:!1,f:!1};return!!r.r(e,n)[0]}function Ne(e){return r=>oe(r,e)}function We(e){return{...f,e:"recursive",r(r,n){return e().r(r,n)}}}function V(e,r,n,t){let o=e.n,a=e.o,s=e.s,c=e.i;e.o=!0,e.n=`${o}|output|`,t||(e.s=!0,e.i=!0);let i=r.r(n,e);return e.s=s,e.i=c,e.n=o,e.o=a,i}function se(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...f,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,T]=V(a,n,o,t);if(u)return[!0,T];s=T}let[c,i]=e.r(o,a);return c?[!0,r(i,e)]:[!1,[...s||[],...i]]}}}function ve(e,r){return se(e,r)}function qe(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...f,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,T]=V(a,n,o,t);if(u)return[!0,T];s=T}let[c,i]=e.r(o,a);if(c){let u=r(i,e);return u.ok?[!0,u.data]:[!1,typeof u.errors=="string"?[p(a,u.errors)]:u.errors.map(T=>p(a,T))]}return[!1,[...s||[],...i]]}}}function w(e,r){let n=typeof e,t=(()=>{if(n==="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return n})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}function Ce(e){if(e.error)throw new Error(`invalid input: ${e.errors.join(", ")}`)}function x(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function W(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}function Be(e,r,n){try{if(typeof e!="string")return{ok:!1,error:!0,errors:[`expected a json string, got ${w(e,!0)}`]};let t=JSON.parse(e);return K(t,r,n)}catch(t){return{ok:!1,error:!0,errors:[`json parsing error: ${x(t)?t.message:""}`]}}}function I(e){return typeof e=="function"}export{F as a,b,M as c,z as d,L as e,Q as f,J as g,Z as h,G as i,H as j,p as k,y as l,f as m,Te as n,de as o,pe as p,Re as q,he as r,_e as s,be as t,je as u,ge as v,ke as w,Oe as x,me as y,xe as z,te as A,we as B,Pe as C,Ee as D,$e as E,Ae as F,Se as G,K as H,Ke as I,Ie as J,oe as K,Ne as L,We as M,se as N,ve as O,qe as P,Ce as Q,x as R,W as S,Be as T};
package/dist/runcheck.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var K=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var te=Object.prototype.hasOwnProperty;var oe=(e,r)=>{for(var n in r)K(e,n,{get:r[n],enumerable:!0})},se=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ne(r))!te.call(e,o)&&o!==n&&K(e,o,{get:()=>r[o],enumerable:!(t=re(r,o))||t.enumerable});return e};var ae=e=>se(K({},"__esModule",{value:!0}),e);var Ue={};oe(Ue,{defaultProps:()=>y,getWarningOrErrorWithPath:()=>p,isObject:()=>k,parse:()=>c,rc_any:()=>pe,rc_array:()=>Pe,rc_assert_is_valid:()=>Ce,rc_boolean:()=>he,rc_date:()=>je,rc_default:()=>me,rc_disable_loose_array:()=>$e,rc_enable_obj_strict:()=>V,rc_get_array_item_type:()=>Ee,rc_get_obj_schema:()=>B,rc_instanceof:()=>ge,rc_is_valid:()=>X,rc_literals:()=>ke,rc_loose_array:()=>Ae,rc_loose_parse:()=>Ie,rc_loose_record:()=>we,rc_narrow:()=>ve,rc_null:()=>de,rc_nullish_default:()=>xe,rc_number:()=>be,rc_obj_builder:()=>z,rc_obj_extends:()=>C,rc_obj_merge:()=>F,rc_obj_omit:()=>M,rc_obj_pick:()=>D,rc_obj_strict:()=>U,rc_object:()=>h,rc_parse:()=>E,rc_parse_json:()=>Be,rc_parser:()=>Ke,rc_record:()=>H,rc_recursive:()=>We,rc_rename_from_key:()=>v,rc_string:()=>_e,rc_transform:()=>ee,rc_tuple:()=>Se,rc_undefined:()=>Te,rc_union:()=>Oe,rc_unknown:()=>Re,rc_unsafe_transform:()=>qe,rc_validator:()=>Ne,snakeCase:()=>I});module.exports=ae(Ue);function v(e,r){return{...r,f:e}}function ie(e){return k(e)&&"__rc_type"in e}function q(e){if(ie(e))return e;if(k(e)){let r={};for(let[n,t]of Object.entries(e))r[n]=q(t);return h(r)}throw new Error(`invalid schema: ${e}`)}function h(e,{normalizeKeysFrom:r}={}){let n={};for(let[t,o]of Object.entries(e))n[t]=q(o);return{...y,t:n,e:"object",h:!0,u:Object.entries(n),r(t,o){return c(this,t,o,()=>{if(!k(t))return o.a=-1,!1;let s=this.e==="strict_obj"||o.s?new Set(Object.keys(t)):void 0;if(s&&s.size>this.u.length){o.a=-1;let T=[];if(o.o)return{data:void 0,errors:[p(o,`Expected strict object with ${this.u.length} keys but got ${s.size}`)]};for(let[l]of this.u)s.has(l)?s.delete(l):T.push(p(o,`Key '${l}' is missing`));for(let l of s)T.push(p(o,`Key '${l}' is not defined in the object shape`));return{data:void 0,errors:T}}let f={},i=[],u=o.n,d=-1;for(let[T,l]of this.u){let _=T;d+=1;let b=`.${T}`,g=`${u}${b}`;o.n=g;let R,j=T;if(l.f&&(R=t[l.f],j=l.f),R===void 0&&(R=t[T],j=T),R===void 0&&r==="snake_case"){let m=I(T);R=t[m],j=m}s?.delete(j);let[$,O]=l.r(R,o);if($)f[_]=O;else{for(let m of O)o.n=g,i.push(m);if(o.o){o.a=d;break}}}if(s&&s.size>0)for(let T of s)o.n=u,i.push(p(o,`Key '${T}' is not defined in the object shape`));return i.length>0?{errors:i,data:void 0}:this.b?{errors:!1,data:{...t,...f}}:{errors:!1,data:f}})}}}function C(e,r){return{...h(e,r),e:"extends_object",b:!0}}function B(e){if(!e.t)throw new Error("type does not have an object shape");return e.t}function U(e,r){return{...h(e,r),e:"strict_obj"}}function V(e,{nonRecursive:r}={}){if(r){if(!e.t)throw new Error("rc_enable_obj_strict: nonRecursive option can only be used on object types");return{...e,e:"strict_obj"}}return{...e,r(n,t){let o=t.s;t.s=!0;let a=e.r(n,t);return t.s=o,a}}}function F(...e){let r={};for(let n of e)Object.assign(r,n.t);return h(r)}function D(e,r){let n={};if(!e.t)throw new Error("rc_obj_pick: obj must be an object type");for(let t of r){let o=e.t[t];o&&(n[t]=o)}return h(n)}function M(e,r){let n={};if(!e.t)throw new Error("rc_obj_omit: obj must be an object type");for(let t of Object.keys(e.t))r.includes(t)||(n[t]=e.t[t]);return h(n)}function z(){return(e,r)=>h(e,r)}function ue(e){return{...this,j:e}}function p(e,r){return`${e.n?`$${e.n}: `:""}${r}`}function N(e,r){e.l.push(r.startsWith("$")?r:p(e,r))}function Z(e,r){r.forEach(n=>N(e,n))}function c(e,r,n,t){if(e.T&&r===void 0)return[!0,r];if(e.d&&r==null)return[!0,r];if(e.p&&r===null)return[!0,r];let o=t();if(o&&(o===!0||!o.errors)){let a=o===!0?r:o.data;return e.c&&!e.c(a)?[!1,[p(n,`Predicate failed for type '${e.e}'`)]]:[!0,a]}if(!n.i){let a=e.j;if(a!==void 0)return N(n,`Fallback used, errors -> ${L(o,n,e,r)}`),[!0,W(a)?a():a];if(e.g&&e._){let s=e._(r);if(s)return e.c&&!e.c(s.fixed)?[!1,[p(n,`Predicate failed for autofix in type '${e.e}'`)]]:(N(n,`Autofixed from error "${L(o,n,e,r)}"`),[!0,s.fixed])}}return[!1,o?o.errors:[p(n,G(e,r))]]}function L(e,r,n,t){return e?e.errors.map(o=>o.replace(r.n,"")).join("; "):G(n,t)}function ce(e){return{...this,g:!0,_:e}}function ye(e){return{...this,c:e}}function Q(){return{...this,T:!0}}function G(e,r){return`Type '${w(r,!!e.k)}' is not assignable to '${e.e}'`}function fe(){return{...this,p:!0,e:`${this.e}_or_null`}}function le(){return{...this,d:!0,e:`${this.e}_or_nullish`}}var y={__rc_type:void 0,withFallback:ue,where:ye,optional:Q,optionalKey:Q,orNullish:le,withAutofix:ce,orNull:fe,R:void 0,j:void 0,c:void 0,T:!1,p:!1,d:!1,g:!1,k:!1,f:void 0,_:void 0,t:void 0,h:!1,b:!1,u:[]},Te={...y,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},de={...y,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},pe={...y,r(e,r){return c(this,e,r,()=>!0)},e:"any"},Re={...y,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},he={...y,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},_e={...y,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},be={...y,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},je={...y,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function ge(e){return{...y,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function ke(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...y,r(r,n){return c(this,r,n,()=>{for(let t of e)if(r===t)return!0;return!1})},k:!0,e:e.length==1?w(e[0],!0):e.map(r=>w(r,!0)).join(" | ")}}var J=1;function Oe(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...y,r(r,n){return c(this,r,n,()=>{let t=n.n,o=[],a=0,s=!1,f=[],i=0;for(let u of e){i+=1,u.h&&(n.n=`${t}|union ${i}|`);let d=n.o;n.o=!0,n.a=0;let[T,l]=u.r(r,n),_=n.a;if(n.o=d,n.a=0,T)return!0;u.h&&_!==-1?_>0?f.push(...l):(a<J&&o.push(...l),a+=1):s=!0}return n.n=t,f.length>0||o.length>0?((a>J||s)&&o.push(p(n,"not matches any other union member")),{errors:[...f,...o],data:void 0}):!1})},e:e.map(r=>r.e).join(" | ")}}function me(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return c(this,t,o,()=>{if(t===void 0)return n();let[a,s]=e.r(t,o);return a?s===void 0?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_default`};function n(){return{data:W(r)?r():r,errors:!1}}}function xe(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return c(this,t,o,()=>{if(t==null)return n();let[a,s]=e.r(t,o);return a?s==null?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_nullish_default`};function n(){return{data:W(r)?r():r,errors:!1}}}function H(e,{checkKey:r,looseCheck:n}={}){return{...y,e:`record<string, ${e.e}>`,r(t,o){return c(this,t,o,()=>{if(!k(t))return!1;let a={},s=[],f=o.n;for(let[i,u]of Object.entries(t)){let d=`.${i}`,T=`${f}${d}`;if(o.n=T,r&&!r(i)){s.push(p(o,`Key '${i}' is not allowed`));continue}let l=t[i],[_,b]=e.r(u,o);if(_)a[i]=l;else{let g=b;for(let R of g)s.push(R);if(o.o)break}}if(s.length>0)if(n)Z(o,s);else return{errors:s,data:void 0};return{errors:!1,data:a}})}}}function we(e,{checkKey:r}={}){return H(e,{checkKey:r,looseCheck:!0})}function P(e,r,n,t=!1,o){let a=t&&!n.i&&!n.y,s=o?.unique,f=[],i=[],u=s?new Set:void 0,d=n.n,T=Array.isArray(r),l=-1;for(let _ of e){l++;let b=T?r[l]:r,g=`[${l}]`,R=`${d}${g}`;n.n=R;let j=b.r(_,n),[$,O]=j;if(n.n=R,$&&u){let x=O,S=typeof s=="string";S?x=O[s]:typeof s=="function"&&(x=s(O)),u.has(x)?(S&&(n.n=`${d}${g}.${s}`),j=[!1,[p(n,S?`Type '${b.t?.[s]?.e}' with value "${x}" is not unique`:typeof s=="function"?`Type '${b.e}' unique fn return with value "${x}" is not unique`:`${b.e} value is not unique`)]]):u.add(x)}let[m,A]=j;if(m)i.push(A);else if(a){f.push(A);continue}else return{errors:A,data:void 0}}if(f.length>0){if(i.length===0)return{errors:f.slice(0,5).flat(),data:void 0};Z(n,f.flat())}return{errors:!1,data:i}}function Pe(e,r){return{...y,e:`${e.e}[]`,R:e,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1,r):!1)}}}function Ee(e){if(!e.R)throw new Error("Type does not have an item type");return e.R}function $e(e,{nonRecursive:r=!1}={}){if(r){if(!e.e.endsWith("[]"))throw new Error("rc_disable_loose_array: nonRecursive option can only be used with array types");return{...e,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1):!1)}}}return{...e,r(n,t){let o=t.y;t.y=!0;let a=e.r(n,t);return t.y=o,a}}}function Ae(e,r){return{...y,R:e,e:`${e.e}[]`,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!0,r):!1)}}}function Se(e){return{...y,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:P.call(this,r,e,n))}}}function E(e,r,{noWarnings:n=!1}={}){let t={l:[],n:"",o:!1,a:0,i:n,s:!1,y:!1},[o,a]=r.r(e,t);return o?{error:!1,ok:!0,data:a,warnings:t.l.length>0?t.l:!1}:{ok:!1,error:!0,errors:a}}function Ke(e){return r=>E(r,e)}function Ie(e,r,n){let t=E(e,r,n);return t.error?{data:null,errors:t.errors,warnings:!1}:{data:t.data,errors:!1,warnings:t.warnings}}function X(e,r){let n={l:[],n:"",o:!1,a:0,i:!1,s:!1,y:!1};return!!r.r(e,n)[0]}function Ne(e){return r=>X(r,e)}function We(e){return{...y,e:"recursive",r(r,n){return e().r(r,n)}}}function Y(e,r,n,t){let o=e.n,a=e.o,s=e.s,f=e.i;e.o=!0,e.n=`${o}|output|`,t||(e.s=!0,e.i=!0);let i=r.r(n,e);return e.s=s,e.i=f,e.n=o,e.o=a,i}function ee(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...y,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,d]=Y(a,n,o,t);if(u)return[!0,d];s=d}let[f,i]=e.r(o,a);return f?[!0,r(i,e)]:[!1,[...s||[],...i]]}}}function ve(e,r){return ee(e,r)}function qe(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...y,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,d]=Y(a,n,o,t);if(u)return[!0,d];s=d}let[f,i]=e.r(o,a);if(f){let u=r(i,e);return u.ok?[!0,u.data]:[!1,typeof u.errors=="string"?[p(a,u.errors)]:u.errors.map(d=>p(a,d))]}return[!1,[...s||[],...i]]}}}function w(e,r){let n=typeof e,t=(()=>{if(n==="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return n})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}function Ce(e){if(e.error)throw new Error(`invalid input: ${e.errors.join(", ")}`)}function k(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}function Be(e,r,n){try{if(typeof e!="string")return{ok:!1,error:!0,errors:[`expected a json string, got ${w(e,!0)}`]};let t=JSON.parse(e);return E(t,r,n)}catch(t){return{ok:!1,error:!0,errors:[`json parsing error: ${k(t)?t.message:""}`]}}}function W(e){return typeof e=="function"}0&&(module.exports={defaultProps,getWarningOrErrorWithPath,isObject,parse,rc_any,rc_array,rc_assert_is_valid,rc_boolean,rc_date,rc_default,rc_disable_loose_array,rc_enable_obj_strict,rc_get_array_item_type,rc_get_obj_schema,rc_instanceof,rc_is_valid,rc_literals,rc_loose_array,rc_loose_parse,rc_loose_record,rc_narrow,rc_null,rc_nullish_default,rc_number,rc_obj_builder,rc_obj_extends,rc_obj_merge,rc_obj_omit,rc_obj_pick,rc_obj_strict,rc_object,rc_parse,rc_parse_json,rc_parser,rc_record,rc_recursive,rc_rename_from_key,rc_string,rc_transform,rc_tuple,rc_undefined,rc_union,rc_unknown,rc_unsafe_transform,rc_validator,snakeCase});
1
+ "use strict";var K=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var te=Object.prototype.hasOwnProperty;var oe=(e,r)=>{for(var n in r)K(e,n,{get:r[n],enumerable:!0})},se=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ne(r))!te.call(e,o)&&o!==n&&K(e,o,{get:()=>r[o],enumerable:!(t=re(r,o))||t.enumerable});return e};var ae=e=>se(K({},"__esModule",{value:!0}),e);var Ue={};oe(Ue,{defaultProps:()=>y,getWarningOrErrorWithPath:()=>p,isObject:()=>k,parse:()=>c,rc_any:()=>pe,rc_array:()=>Pe,rc_assert_is_valid:()=>Ce,rc_boolean:()=>he,rc_date:()=>je,rc_default:()=>me,rc_disable_loose_array:()=>$e,rc_enable_obj_strict:()=>V,rc_get_array_item_type:()=>Ee,rc_get_obj_schema:()=>B,rc_instanceof:()=>ge,rc_is_valid:()=>X,rc_literals:()=>ke,rc_loose_array:()=>Ae,rc_loose_parse:()=>Ie,rc_loose_record:()=>we,rc_narrow:()=>ve,rc_null:()=>de,rc_nullish_default:()=>xe,rc_number:()=>be,rc_obj_builder:()=>z,rc_obj_extends:()=>C,rc_obj_merge:()=>F,rc_obj_omit:()=>M,rc_obj_pick:()=>D,rc_obj_strict:()=>U,rc_object:()=>h,rc_parse:()=>E,rc_parse_json:()=>Be,rc_parser:()=>Ke,rc_record:()=>H,rc_recursive:()=>We,rc_rename_from_key:()=>v,rc_string:()=>_e,rc_transform:()=>ee,rc_tuple:()=>Se,rc_undefined:()=>Te,rc_union:()=>Oe,rc_unknown:()=>Re,rc_unsafe_transform:()=>qe,rc_validator:()=>Ne,snakeCase:()=>I});module.exports=ae(Ue);function v(e,r){return{...r,f:e}}function ie(e){return k(e)&&"__rc_type"in e}function q(e){if(ie(e))return e;if(k(e)){let r={};for(let[n,t]of Object.entries(e))r[n]=q(t);return h(r)}throw new Error(`invalid schema: ${e}`)}function h(e,{normalizeKeysFrom:r}={}){let n={};for(let[t,o]of Object.entries(e))n[t]=q(o);return{...y,t:n,e:"object",h:!0,u:Object.entries(n),r(t,o){return c(this,t,o,()=>{if(!k(t))return o.a=-1,!1;let s=this.e==="strict_obj"||o.s?new Set(Object.keys(t)):void 0;if(s&&s.size>this.u.length){o.a=-1;let d=[];if(o.o)return{data:void 0,errors:[p(o,`Expected strict object with ${this.u.length} keys but got ${s.size}`)]};for(let[l]of this.u)s.has(l)?s.delete(l):d.push(p(o,`Key '${l}' is missing`));for(let l of s)d.push(p(o,`Key '${l}' is not defined in the object shape`));return{data:void 0,errors:d}}let f={},i=[],u=o.n,T=-1;for(let[d,l]of this.u){let _=d;T+=1;let b=`.${d}`,j=`${u}${b}`;o.n=j;let R=t[d],g=d;if(R===void 0&&l.f&&(R=t[l.f],g=l.f),R===void 0&&r==="snake_case"){let m=I(d);R=t[m],g=m}s?.delete(g);let[$,O]=l.r(R,o);if($)f[_]=O;else{for(let m of O)o.n=j,i.push(m);if(o.o){o.a=T;break}}}if(s&&s.size>0)for(let d of s)o.n=u,i.push(p(o,`Key '${d}' is not defined in the object shape`));return i.length>0?{errors:i,data:void 0}:this.b?{errors:!1,data:{...t,...f}}:{errors:!1,data:f}})}}}function C(e,r){return{...h(e,r),e:"extends_object",b:!0}}function B(e){if(!e.t)throw new Error("type does not have an object shape");return e.t}function U(e,r){return{...h(e,r),e:"strict_obj"}}function V(e,{nonRecursive:r}={}){if(r){if(!e.t)throw new Error("rc_enable_obj_strict: nonRecursive option can only be used on object types");return{...e,e:"strict_obj"}}return{...e,r(n,t){let o=t.s;t.s=!0;let a=e.r(n,t);return t.s=o,a}}}function F(...e){let r={};for(let n of e)Object.assign(r,n.t);return h(r)}function D(e,r){let n={};if(!e.t)throw new Error("rc_obj_pick: obj must be an object type");for(let t of r){let o=e.t[t];o&&(n[t]=o)}return h(n)}function M(e,r){let n={};if(!e.t)throw new Error("rc_obj_omit: obj must be an object type");for(let t of Object.keys(e.t))r.includes(t)||(n[t]=e.t[t]);return h(n)}function z(){return(e,r)=>h(e,r)}function ue(e){return{...this,j:e}}function p(e,r){return`${e.n?`$${e.n}: `:""}${r}`}function N(e,r){e.l.push(r.startsWith("$")?r:p(e,r))}function Z(e,r){r.forEach(n=>N(e,n))}function c(e,r,n,t){if(e.T&&r===void 0)return[!0,r];if(e.d&&r==null)return[!0,r];if(e.p&&r===null)return[!0,r];let o=t();if(o&&(o===!0||!o.errors)){let a=o===!0?r:o.data;return e.c&&!e.c(a)?[!1,[p(n,`Predicate failed for type '${e.e}'`)]]:[!0,a]}if(!n.i){let a=e.j;if(a!==void 0)return N(n,`Fallback used, errors -> ${L(o,n,e,r)}`),[!0,W(a)?a():a];if(e.g&&e._){let s=e._(r);if(s)return e.c&&!e.c(s.fixed)?[!1,[p(n,`Predicate failed for autofix in type '${e.e}'`)]]:(N(n,`Autofixed from error "${L(o,n,e,r)}"`),[!0,s.fixed])}}return[!1,o?o.errors:[p(n,G(e,r))]]}function L(e,r,n,t){return e?e.errors.map(o=>o.replace(r.n,"")).join("; "):G(n,t)}function ce(e){return{...this,g:!0,_:e}}function ye(e){return{...this,c:e}}function Q(){return{...this,T:!0}}function G(e,r){return`Type '${w(r,!!e.k)}' is not assignable to '${e.e}'`}function fe(){return{...this,p:!0,e:`${this.e}_or_null`}}function le(){return{...this,d:!0,e:`${this.e}_or_nullish`}}var y={__rc_type:void 0,withFallback:ue,where:ye,optional:Q,optionalKey:Q,orNullish:le,withAutofix:ce,orNull:fe,R:void 0,j:void 0,c:void 0,T:!1,p:!1,d:!1,g:!1,k:!1,f:void 0,_:void 0,t:void 0,h:!1,b:!1,u:[]},Te={...y,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},de={...y,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},pe={...y,r(e,r){return c(this,e,r,()=>!0)},e:"any"},Re={...y,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},he={...y,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},_e={...y,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},be={...y,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},je={...y,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function ge(e){return{...y,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function ke(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...y,r(r,n){return c(this,r,n,()=>{for(let t of e)if(r===t)return!0;return!1})},k:!0,e:e.length==1?w(e[0],!0):e.map(r=>w(r,!0)).join(" | ")}}var J=1;function Oe(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...y,r(r,n){return c(this,r,n,()=>{let t=n.n,o=[],a=0,s=!1,f=[],i=0;for(let u of e){i+=1,u.h&&(n.n=`${t}|union ${i}|`);let T=n.o;n.o=!0,n.a=0;let[d,l]=u.r(r,n),_=n.a;if(n.o=T,n.a=0,d)return!0;u.h&&_!==-1?_>0?f.push(...l):(a<J&&o.push(...l),a+=1):s=!0}return n.n=t,f.length>0||o.length>0?((a>J||s)&&o.push(p(n,"not matches any other union member")),{errors:[...f,...o],data:void 0}):!1})},e:e.map(r=>r.e).join(" | ")}}function me(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return c(this,t,o,()=>{if(t===void 0)return n();let[a,s]=e.r(t,o);return a?s===void 0?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_default`};function n(){return{data:W(r)?r():r,errors:!1}}}function xe(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return c(this,t,o,()=>{if(t==null)return n();let[a,s]=e.r(t,o);return a?s==null?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_nullish_default`};function n(){return{data:W(r)?r():r,errors:!1}}}function H(e,{checkKey:r,looseCheck:n}={}){return{...y,e:`record<string, ${e.e}>`,r(t,o){return c(this,t,o,()=>{if(!k(t))return!1;let a={},s=[],f=o.n;for(let[i,u]of Object.entries(t)){let T=`.${i}`,d=`${f}${T}`;if(o.n=d,r&&!r(i)){s.push(p(o,`Key '${i}' is not allowed`));continue}let l=t[i],[_,b]=e.r(u,o);if(_)a[i]=l;else{let j=b;for(let R of j)s.push(R);if(o.o)break}}if(s.length>0)if(n)Z(o,s);else return{errors:s,data:void 0};return{errors:!1,data:a}})}}}function we(e,{checkKey:r}={}){return H(e,{checkKey:r,looseCheck:!0})}function P(e,r,n,t=!1,o){let a=t&&!n.i&&!n.y,s=o?.unique,f=[],i=[],u=s?new Set:void 0,T=n.n,d=Array.isArray(r),l=-1;for(let _ of e){l++;let b=d?r[l]:r,j=`[${l}]`,R=`${T}${j}`;n.n=R;let g=b.r(_,n),[$,O]=g;if(n.n=R,$&&u){let x=O,S=typeof s=="string";S?x=O[s]:typeof s=="function"&&(x=s(O)),u.has(x)?(S&&(n.n=`${T}${j}.${s}`),g=[!1,[p(n,S?`Type '${b.t?.[s]?.e}' with value "${x}" is not unique`:typeof s=="function"?`Type '${b.e}' unique fn return with value "${x}" is not unique`:`${b.e} value is not unique`)]]):u.add(x)}let[m,A]=g;if(m)i.push(A);else if(a){f.push(A);continue}else return{errors:A,data:void 0}}if(f.length>0){if(i.length===0)return{errors:f.slice(0,5).flat(),data:void 0};Z(n,f.flat())}return{errors:!1,data:i}}function Pe(e,r){return{...y,e:`${e.e}[]`,R:e,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1,r):!1)}}}function Ee(e){if(!e.R)throw new Error("Type does not have an item type");return e.R}function $e(e,{nonRecursive:r=!1}={}){if(r){if(!e.e.endsWith("[]"))throw new Error("rc_disable_loose_array: nonRecursive option can only be used with array types");return{...e,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1):!1)}}}return{...e,r(n,t){let o=t.y;t.y=!0;let a=e.r(n,t);return t.y=o,a}}}function Ae(e,r){return{...y,R:e,e:`${e.e}[]`,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!0,r):!1)}}}function Se(e){return{...y,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:P.call(this,r,e,n))}}}function E(e,r,{noWarnings:n=!1}={}){let t={l:[],n:"",o:!1,a:0,i:n,s:!1,y:!1},[o,a]=r.r(e,t);return o?{error:!1,ok:!0,data:a,warnings:t.l.length>0?t.l:!1}:{ok:!1,error:!0,errors:a}}function Ke(e){return r=>E(r,e)}function Ie(e,r,n){let t=E(e,r,n);return t.error?{data:null,errors:t.errors,warnings:!1}:{data:t.data,errors:!1,warnings:t.warnings}}function X(e,r){let n={l:[],n:"",o:!1,a:0,i:!1,s:!1,y:!1};return!!r.r(e,n)[0]}function Ne(e){return r=>X(r,e)}function We(e){return{...y,e:"recursive",r(r,n){return e().r(r,n)}}}function Y(e,r,n,t){let o=e.n,a=e.o,s=e.s,f=e.i;e.o=!0,e.n=`${o}|output|`,t||(e.s=!0,e.i=!0);let i=r.r(n,e);return e.s=s,e.i=f,e.n=o,e.o=a,i}function ee(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...y,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,T]=Y(a,n,o,t);if(u)return[!0,T];s=T}let[f,i]=e.r(o,a);return f?[!0,r(i,e)]:[!1,[...s||[],...i]]}}}function ve(e,r){return ee(e,r)}function qe(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...y,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,T]=Y(a,n,o,t);if(u)return[!0,T];s=T}let[f,i]=e.r(o,a);if(f){let u=r(i,e);return u.ok?[!0,u.data]:[!1,typeof u.errors=="string"?[p(a,u.errors)]:u.errors.map(T=>p(a,T))]}return[!1,[...s||[],...i]]}}}function w(e,r){let n=typeof e,t=(()=>{if(n==="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return n})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}function Ce(e){if(e.error)throw new Error(`invalid input: ${e.errors.join(", ")}`)}function k(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}function Be(e,r,n){try{if(typeof e!="string")return{ok:!1,error:!0,errors:[`expected a json string, got ${w(e,!0)}`]};let t=JSON.parse(e);return E(t,r,n)}catch(t){return{ok:!1,error:!0,errors:[`json parsing error: ${k(t)?t.message:""}`]}}}function W(e){return typeof e=="function"}0&&(module.exports={defaultProps,getWarningOrErrorWithPath,isObject,parse,rc_any,rc_array,rc_assert_is_valid,rc_boolean,rc_date,rc_default,rc_disable_loose_array,rc_enable_obj_strict,rc_get_array_item_type,rc_get_obj_schema,rc_instanceof,rc_is_valid,rc_literals,rc_loose_array,rc_loose_parse,rc_loose_record,rc_narrow,rc_null,rc_nullish_default,rc_number,rc_obj_builder,rc_obj_extends,rc_obj_merge,rc_obj_omit,rc_obj_pick,rc_obj_strict,rc_object,rc_parse,rc_parse_json,rc_parser,rc_record,rc_recursive,rc_rename_from_key,rc_string,rc_transform,rc_tuple,rc_undefined,rc_union,rc_unknown,rc_unsafe_transform,rc_validator,snakeCase});
@@ -85,6 +85,7 @@ type RcBase<T, RequiredKey extends boolean> = {
85
85
  readonly withAutofix: (customAutofix: (input: unknown) => false | {
86
86
  fixed: T;
87
87
  }) => RcType<T>;
88
+ readonly _optional_key_?: RequiredKey;
88
89
  };
89
90
  type ErrorWithouPath = string & {
90
91
  __withPath?: never;
@@ -111,6 +112,7 @@ declare function rc_instanceof<T extends Function>(classToCheck: T): RcType<T>;
111
112
  declare function rc_literals<T extends (string | number | boolean)[]>(...literals: T): RcType<T[number]>;
112
113
  declare function rc_union<T extends RcType<any>[]>(...types: T): RcType<RcInferType<T[number]>>;
113
114
  type NotUndefined<T> = T extends undefined ? never : T;
115
+ /** Generate a schema with valid fallback value for undefined inputs */
114
116
  declare function rc_default<T>(schema: RcType<T>, defaultValue: NotUndefined<T> | (() => NotUndefined<T>)): RcType<NotUndefined<T>>;
115
117
  type NotNullish<T> = T extends null | undefined ? never : T;
116
118
  declare function rc_nullish_default<T>(schema: RcType<T>, defaultValue: NotNullish<T> | (() => NotNullish<T>)): RcType<NotNullish<T>>;
package/dist/runcheck.js CHANGED
@@ -1 +1 @@
1
- import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-A3DOSWCP.js";export{m as defaultProps,k as getWarningOrErrorWithPath,R as isObject,l as parse,p as rc_any,C as rc_array,Q as rc_assert_is_valid,r as rc_boolean,u as rc_date,y as rc_default,E as rc_disable_loose_array,f as rc_enable_obj_strict,D as rc_get_array_item_type,d as rc_get_obj_schema,v as rc_instanceof,K as rc_is_valid,w as rc_literals,F as rc_loose_array,J as rc_loose_parse,B as rc_loose_record,O as rc_narrow,o as rc_null,z as rc_nullish_default,t as rc_number,j as rc_obj_builder,c as rc_obj_extends,g as rc_obj_merge,i as rc_obj_omit,h as rc_obj_pick,e as rc_obj_strict,b as rc_object,H as rc_parse,T as rc_parse_json,I as rc_parser,A as rc_record,M as rc_recursive,a as rc_rename_from_key,s as rc_string,N as rc_transform,G as rc_tuple,n as rc_undefined,x as rc_union,q as rc_unknown,P as rc_unsafe_transform,L as rc_validator,S as snakeCase};
1
+ import{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-MU32NTS5.js";export{m as defaultProps,k as getWarningOrErrorWithPath,R as isObject,l as parse,p as rc_any,C as rc_array,Q as rc_assert_is_valid,r as rc_boolean,u as rc_date,y as rc_default,E as rc_disable_loose_array,f as rc_enable_obj_strict,D as rc_get_array_item_type,d as rc_get_obj_schema,v as rc_instanceof,K as rc_is_valid,w as rc_literals,F as rc_loose_array,J as rc_loose_parse,B as rc_loose_record,O as rc_narrow,o as rc_null,z as rc_nullish_default,t as rc_number,j as rc_obj_builder,c as rc_obj_extends,g as rc_obj_merge,i as rc_obj_omit,h as rc_obj_pick,e as rc_obj_strict,b as rc_object,H as rc_parse,T as rc_parse_json,I as rc_parser,A as rc_record,M as rc_recursive,a as rc_rename_from_key,s as rc_string,N as rc_transform,G as rc_tuple,n as rc_undefined,x as rc_union,q as rc_unknown,P as rc_unsafe_transform,L as rc_validator,S as snakeCase};
package/package.json CHANGED
@@ -1,12 +1,11 @@
1
1
  {
2
2
  "name": "runcheck",
3
3
  "description": "A tiny (less than 2 KiB Gzipped) and treeshakable! lib for typescript runtime type checks with autofix support",
4
- "version": "0.49.0",
4
+ "version": "0.49.2",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"
8
8
  ],
9
- "packageManager": "^pnpm@7.6.0",
10
9
  "repository": "github:lucasols/runcheck",
11
10
  "author": "Lucas Santos",
12
11
  "type": "module",
@@ -39,7 +38,7 @@
39
38
  "@types/node": "^18.15.11",
40
39
  "@typescript-eslint/eslint-plugin": "^5.57.1",
41
40
  "@typescript-eslint/parser": "^5.57.1",
42
- "@vitest/ui": "^0.29.8",
41
+ "@vitest/ui": "1.0.0-beta.3",
43
42
  "eslint": "^8.37.0",
44
43
  "eslint-plugin-vitest": "^0.0.57",
45
44
  "mitata": "^0.1.6",
@@ -48,7 +47,7 @@
48
47
  "typescript": "^5.0.3",
49
48
  "v8-profiler-next": "^1.9.0",
50
49
  "vite": "^4.3.9",
51
- "vitest": "^0.30.0",
50
+ "vitest": "1.0.0-beta.3",
52
51
  "zod": "^3.21.4"
53
52
  },
54
53
  "scripts": {
@@ -1 +0,0 @@
1
- function F(e,r){return{...r,y:e}}function D(e){return x(e)&&"__rc_type"in e}function N(e){if(D(e))return e;if(x(e)){let r={};for(let[n,t]of Object.entries(e))r[n]=N(t);return j(r)}throw new Error(`invalid schema: ${e}`)}function j(e,{normalizeKeysFrom:r}={}){let n={};for(let[t,o]of Object.entries(e))n[t]=N(o);return{...f,t:n,e:"object",_:!0,u:Object.entries(n),r(t,o){return y(this,t,o,()=>{if(!x(t))return o.a=-1,!1;let s=this.e==="strict_obj"||o.s?new Set(Object.keys(t)):void 0;if(s&&s.size>this.u.length){o.a=-1;let T=[];if(o.o)return{data:void 0,errors:[p(o,`Expected strict object with ${this.u.length} keys but got ${s.size}`)]};for(let[l]of this.u)s.has(l)?s.delete(l):T.push(p(o,`Key '${l}' is missing`));for(let l of s)T.push(p(o,`Key '${l}' is not defined in the object shape`));return{data:void 0,errors:T}}let c={},i=[],u=o.n,d=-1;for(let[T,l]of this.u){let h=T;d+=1;let _=`.${T}`,g=`${u}${_}`;o.n=g;let R,b=T;if(l.y&&(R=t[l.y],b=l.y),R===void 0&&(R=t[T],b=T),R===void 0&&r==="snake_case"){let O=W(T);R=t[O],b=O}s?.delete(b);let[E,k]=l.r(R,o);if(E)c[h]=k;else{for(let O of k)o.n=g,i.push(O);if(o.o){o.a=d;break}}}if(s&&s.size>0)for(let T of s)o.n=u,i.push(p(o,`Key '${T}' is not defined in the object shape`));return i.length>0?{errors:i,data:void 0}:this.b?{errors:!1,data:{...t,...c}}:{errors:!1,data:c}})}}}function M(e,r){return{...j(e,r),e:"extends_object",b:!0}}function z(e){if(!e.t)throw new Error("type does not have an object shape");return e.t}function L(e,r){return{...j(e,r),e:"strict_obj"}}function Q(e,{nonRecursive:r}={}){if(r){if(!e.t)throw new Error("rc_enable_obj_strict: nonRecursive option can only be used on object types");return{...e,e:"strict_obj"}}return{...e,r(n,t){let o=t.s;t.s=!0;let a=e.r(n,t);return t.s=o,a}}}function J(...e){let r={};for(let n of e)Object.assign(r,n.t);return j(r)}function Z(e,r){let n={};if(!e.t)throw new Error("rc_obj_pick: obj must be an object type");for(let t of r){let o=e.t[t];o&&(n[t]=o)}return j(n)}function G(e,r){let n={};if(!e.t)throw new Error("rc_obj_omit: obj must be an object type");for(let t of Object.keys(e.t))r.includes(t)||(n[t]=e.t[t]);return j(n)}function H(){return(e,r)=>j(e,r)}function X(e){return{...this,g:e}}function p(e,r){return`${e.n?`$${e.n}: `:""}${r}`}function S(e,r){e.l.push(r.startsWith("$")?r:p(e,r))}function B(e,r){r.forEach(n=>S(e,n))}function y(e,r,n,t){if(e.T&&r===void 0)return[!0,r];if(e.d&&r==null)return[!0,r];if(e.p&&r===null)return[!0,r];let o=t();if(o&&(o===!0||!o.errors)){let a=o===!0?r:o.data;return e.c&&!e.c(a)?[!1,[p(n,`Predicate failed for type '${e.e}'`)]]:[!0,a]}if(!n.i){let a=e.g;if(a!==void 0)return S(n,`Fallback used, errors -> ${v(o,n,e,r)}`),[!0,I(a)?a():a];if(e.j&&e.h){let s=e.h(r);if(s)return e.c&&!e.c(s.fixed)?[!1,[p(n,`Predicate failed for autofix in type '${e.e}'`)]]:(S(n,`Autofixed from error "${v(o,n,e,r)}"`),[!0,s.fixed])}}return[!1,o?o.errors:[p(n,U(e,r))]]}function v(e,r,n,t){return e?e.errors.map(o=>o.replace(r.n,"")).join("; "):U(n,t)}function Y(e){return{...this,j:!0,h:e}}function ee(e){return{...this,c:e}}function q(){return{...this,T:!0}}function U(e,r){return`Type '${w(r,!!e.k)}' is not assignable to '${e.e}'`}function re(){return{...this,p:!0,e:`${this.e}_or_null`}}function ne(){return{...this,d:!0,e:`${this.e}_or_nullish`}}var f={__rc_type:void 0,withFallback:X,where:ee,optional:q,optionalKey:q,orNullish:ne,withAutofix:Y,orNull:re,R:void 0,g:void 0,c:void 0,T:!1,p:!1,d:!1,j:!1,k:!1,y:void 0,h:void 0,t:void 0,_:!1,b:!1,u:[]},Te={...f,r(e,r){return y(this,e,r,()=>e===void 0)},e:"undefined"},de={...f,r(e,r){return y(this,e,r,()=>e===null)},e:"null"},pe={...f,r(e,r){return y(this,e,r,()=>!0)},e:"any"},Re={...f,r(e,r){return y(this,e,r,()=>!0)},e:"unknown"},he={...f,r(e,r){return y(this,e,r,()=>typeof e=="boolean")},e:"boolean"},_e={...f,r(e,r){return y(this,e,r,()=>typeof e=="string")},e:"string"},be={...f,r(e,r){return y(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},je={...f,r(e,r){return y(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function ge(e){return{...f,r(r,n){return y(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function ke(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...f,r(r,n){return y(this,r,n,()=>{for(let t of e)if(r===t)return!0;return!1})},k:!0,e:e.length==1?w(e[0],!0):e.map(r=>w(r,!0)).join(" | ")}}var C=1;function Oe(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...f,r(r,n){return y(this,r,n,()=>{let t=n.n,o=[],a=0,s=!1,c=[],i=0;for(let u of e){i+=1,u._&&(n.n=`${t}|union ${i}|`);let d=n.o;n.o=!0,n.a=0;let[T,l]=u.r(r,n),h=n.a;if(n.o=d,n.a=0,T)return!0;u._&&h!==-1?h>0?c.push(...l):(a<C&&o.push(...l),a+=1):s=!0}return n.n=t,c.length>0||o.length>0?((a>C||s)&&o.push(p(n,"not matches any other union member")),{errors:[...c,...o],data:void 0}):!1})},e:e.map(r=>r.e).join(" | ")}}function me(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return y(this,t,o,()=>{if(t===void 0)return n();let[a,s]=e.r(t,o);return a?s===void 0?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_default`};function n(){return{data:I(r)?r():r,errors:!1}}}function xe(e,r){return{...e,T:!1,d:!1,p:!1,r(t,o){return y(this,t,o,()=>{if(t==null)return n();let[a,s]=e.r(t,o);return a?s==null?n():{data:s,errors:!1}:{data:void 0,errors:s}})},e:`${e.e}_nullish_default`};function n(){return{data:I(r)?r():r,errors:!1}}}function te(e,{checkKey:r,looseCheck:n}={}){return{...f,e:`record<string, ${e.e}>`,r(t,o){return y(this,t,o,()=>{if(!x(t))return!1;let a={},s=[],c=o.n;for(let[i,u]of Object.entries(t)){let d=`.${i}`,T=`${c}${d}`;if(o.n=T,r&&!r(i)){s.push(p(o,`Key '${i}' is not allowed`));continue}let l=t[i],[h,_]=e.r(u,o);if(h)a[i]=l;else{let g=_;for(let R of g)s.push(R);if(o.o)break}}if(s.length>0)if(n)B(o,s);else return{errors:s,data:void 0};return{errors:!1,data:a}})}}}function we(e,{checkKey:r}={}){return te(e,{checkKey:r,looseCheck:!0})}function P(e,r,n,t=!1,o){let a=t&&!n.i&&!n.f,s=o?.unique,c=[],i=[],u=s?new Set:void 0,d=n.n,T=Array.isArray(r),l=-1;for(let h of e){l++;let _=T?r[l]:r,g=`[${l}]`,R=`${d}${g}`;n.n=R;let b=_.r(h,n),[E,k]=b;if(n.n=R,E&&u){let m=k,A=typeof s=="string";A?m=k[s]:typeof s=="function"&&(m=s(k)),u.has(m)?(A&&(n.n=`${d}${g}.${s}`),b=[!1,[p(n,A?`Type '${_.t?.[s]?.e}' with value "${m}" is not unique`:typeof s=="function"?`Type '${_.e}' unique fn return with value "${m}" is not unique`:`${_.e} value is not unique`)]]):u.add(m)}let[O,$]=b;if(O)i.push($);else if(a){c.push($);continue}else return{errors:$,data:void 0}}if(c.length>0){if(i.length===0)return{errors:c.slice(0,5).flat(),data:void 0};B(n,c.flat())}return{errors:!1,data:i}}function Pe(e,r){return{...f,e:`${e.e}[]`,R:e,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1,r):!1)}}}function Ee(e){if(!e.R)throw new Error("Type does not have an item type");return e.R}function $e(e,{nonRecursive:r=!1}={}){if(r){if(!e.e.endsWith("[]"))throw new Error("rc_disable_loose_array: nonRecursive option can only be used with array types");return{...e,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!1):!1)}}}return{...e,r(n,t){let o=t.f;t.f=!0;let a=e.r(n,t);return t.f=o,a}}}function Ae(e,r){return{...f,R:e,e:`${e.e}[]`,r(n,t){return y(this,n,t,()=>Array.isArray(n)?n.length===0?!0:P.call(this,n,e,t,!0,r):!1)}}}function Se(e){return{...f,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return y(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:P.call(this,r,e,n))}}}function K(e,r,{noWarnings:n=!1}={}){let t={l:[],n:"",o:!1,a:0,i:n,s:!1,f:!1},[o,a]=r.r(e,t);return o?{error:!1,ok:!0,data:a,warnings:t.l.length>0?t.l:!1}:{ok:!1,error:!0,errors:a}}function Ke(e){return r=>K(r,e)}function Ie(e,r,n){let t=K(e,r,n);return t.error?{data:null,errors:t.errors,warnings:!1}:{data:t.data,errors:!1,warnings:t.warnings}}function oe(e,r){let n={l:[],n:"",o:!1,a:0,i:!1,s:!1,f:!1};return!!r.r(e,n)[0]}function Ne(e){return r=>oe(r,e)}function We(e){return{...f,e:"recursive",r(r,n){return e().r(r,n)}}}function V(e,r,n,t){let o=e.n,a=e.o,s=e.s,c=e.i;e.o=!0,e.n=`${o}|output|`,t||(e.s=!0,e.i=!0);let i=r.r(n,e);return e.s=s,e.i=c,e.n=o,e.o=a,i}function se(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...f,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,d]=V(a,n,o,t);if(u)return[!0,d];s=d}let[c,i]=e.r(o,a);return c?[!0,r(i,e)]:[!1,[...s||[],...i]]}}}function ve(e,r){return se(e,r)}function qe(e,r,{outputSchema:n,disableStrictOutputSchema:t}={}){return{...f,e:`transform_from_${e.e}`,r(o,a){let s=null;if(n){let[u,d]=V(a,n,o,t);if(u)return[!0,d];s=d}let[c,i]=e.r(o,a);if(c){let u=r(i,e);return u.ok?[!0,u.data]:[!1,typeof u.errors=="string"?[p(a,u.errors)]:u.errors.map(d=>p(a,d))]}return[!1,[...s||[],...i]]}}}function w(e,r){let n=typeof e,t=(()=>{if(n==="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return n})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}function Ce(e){if(e.error)throw new Error(`invalid input: ${e.errors.join(", ")}`)}function x(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function W(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}function Be(e,r,n){try{if(typeof e!="string")return{ok:!1,error:!0,errors:[`expected a json string, got ${w(e,!0)}`]};let t=JSON.parse(e);return K(t,r,n)}catch(t){return{ok:!1,error:!0,errors:[`json parsing error: ${x(t)?t.message:""}`]}}}function I(e){return typeof e=="function"}export{F as a,j as b,M as c,z as d,L as e,Q as f,J as g,Z as h,G as i,H as j,p as k,y as l,f as m,Te as n,de as o,pe as p,Re as q,he as r,_e as s,be as t,je as u,ge as v,ke as w,Oe as x,me as y,xe as z,te as A,we as B,Pe as C,Ee as D,$e as E,Ae as F,Se as G,K as H,Ke as I,Ie as J,oe as K,Ne as L,We as M,se as N,ve as O,qe as P,Ce as Q,x as R,W as S,Be as T};