runcheck 0.21.0 → 0.23.0

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/README.md CHANGED
@@ -58,6 +58,17 @@ For arrays of objects, you can provide a string to `unique` option to check if t
58
58
  const shape = rc_array(rc_object({ id: rc_string }), { unique: 'id' })
59
59
  ```
60
60
 
61
+ You can also provide a function to `unique` option to check if the array items has no duplicated values based on a custom function return.
62
+
63
+ ```ts
64
+ const shape = rc_array(
65
+ rc_object({ id: rc_string, meta_id: rc_string.optional() }),
66
+ {
67
+ unique: (item) => item.meta_id || item.id,
68
+ },
69
+ )
70
+ ```
71
+
61
72
  # Object types:
62
73
 
63
74
  ## `rc_object`
@@ -1 +1 @@
1
- "use strict";var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var R=(e,r)=>{for(var t in r)c(e,t,{get:r[t],enumerable:!0})},h=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of d(r))!p.call(e,n)&&n!==t&&c(e,n,{get:()=>r[n],enumerable:!(i=T(r,n))||i.enumerable});return e};var _=e=>h(c({},"__esModule",{value:!0}),e);var S={};R(S,{rc_boolean_autofix:()=>A,rc_number_autofix:()=>N,rc_string_autofix:()=>P});module.exports=_(S);function b(e){return{...this,a:e}}function g(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function u(e,r){e.warnings.push(g(e,r))}function o(e,r,t,i){if(e.c&&r===void 0)return[!0,r];if(e.u&&r==null)return[!0,r];if(e.l&&r===null)return[!0,r];let n=i();if(n&&(n===!0||"data"in n)){let s=n===!0?r:n.data;return e.s&&!e.s(s)?[!1,[e.n(s)]]:[!0,s]}if(e.a!==void 0)return u(t,`Fallback used, ${e.n(r)}`),[!0,e.a];if(e.f&&e.i){let s=e.i(r);if(s)return e.s&&!e.s(s.fixed)?[!1,[e.n(s.fixed)]]:(u(t,`Autofixed from error "${e.n(r)}"`),[!0,s.fixed])}return[!1,n&&"errors"in n?n.errors:[e.n(r)]]}function x(e){return{...this,f:!0,i:e}}function w(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function m(){return{...this,c:!0}}function $(e){return`Type '${O(e,!!this.y)}' is not assignable to '${this.e}'`}function j(){return{...this,l:!0,e:`${this.e}_or_null`}}function k(){return{...this,u:!0,e:`${this.e}_or_nullish`}}var a={withFallback:b,where:w,optional:m,n:$,orNullish:k,withAutofix:x,orNull:j},I={...a,r(e,r){return o(this,e,r,()=>e===void 0)},e:"undefined"},q={...a,r(e,r){return o(this,e,r,()=>e===null)},e:"null"},E={...a,r(e,r){return o(this,e,r,()=>!0)},e:"any"},C={...a,r(e,r){return o(this,e,r,()=>!0)},e:"unknown"},l={...a,r(e,r){return o(this,e,r,()=>typeof e=="boolean")},e:"boolean"},f={...a,r(e,r){return o(this,e,r,()=>typeof e=="string")},e:"string"},y={...a,r(e,r){return o(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},K={...a,r(e,r){return o(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function O(e,r){let t=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}var A=l.withAutofix(e=>e==null||e===0||e===1?{fixed:!!e}:e==="true"||e==="false"?{fixed:e==="true"}:!1),P=f.withAutofix(e=>typeof e=="number"&&!Number.isNaN(e)?{fixed:e.toString()}:!1),N=y.withAutofix(e=>{if(typeof e=="string"){let r=Number(e);if(!Number.isNaN(r))return{fixed:r}}return!1});0&&(module.exports={rc_boolean_autofix,rc_number_autofix,rc_string_autofix});
1
+ "use strict";var u=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var R=(e,r)=>{for(var t in r)u(e,t,{get:r[t],enumerable:!0})},h=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of p(r))!d.call(e,n)&&n!==t&&u(e,n,{get:()=>r[n],enumerable:!(i=T(r,n))||i.enumerable});return e};var _=e=>h(u({},"__esModule",{value:!0}),e);var I={};R(I,{rc_boolean_autofix:()=>A,rc_number_autofix:()=>N,rc_string_autofix:()=>P});module.exports=_(I);function b(e){return{...this,a:e}}function g(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function c(e,r){e.warnings.push(g(e,r))}function o(e,r,t,i){if(e.c&&r===void 0)return[!0,r];if(e.l&&r==null)return[!0,r];if(e.f&&r===null)return[!0,r];let n=i();if(n&&(n===!0||"data"in n)){let s=n===!0?r:n.data;return e.s&&!e.s(s)?[!1,[e.n(s)]]:[!0,s]}if(e.a!==void 0)return c(t,`Fallback used, ${e.n(r)}`),[!0,e.a];if(e.y&&e.i){let s=e.i(r);if(s)return e.s&&!e.s(s.fixed)?[!1,[e.n(s.fixed)]]:(c(t,`Autofixed from error "${e.n(r)}"`),[!0,s.fixed])}return[!1,n&&"errors"in n?n.errors:[e.n(r)]]}function x(e){return{...this,y:!0,i:e}}function w(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function m(){return{...this,c:!0}}function $(e){return`Type '${O(e,!!this.T)}' is not assignable to '${this.e}'`}function j(){return{...this,f:!0,e:`${this.e}_or_null`}}function k(){return{...this,l:!0,e:`${this.e}_or_nullish`}}var a={withFallback:b,where:w,optional:m,n:$,orNullish:k,withAutofix:x,orNull:j},q={...a,r(e,r){return o(this,e,r,()=>e===void 0)},e:"undefined"},V={...a,r(e,r){return o(this,e,r,()=>e===null)},e:"null"},E={...a,r(e,r){return o(this,e,r,()=>!0)},e:"any"},C={...a,r(e,r){return o(this,e,r,()=>!0)},e:"unknown"},l={...a,r(e,r){return o(this,e,r,()=>typeof e=="boolean")},e:"boolean"},f={...a,r(e,r){return o(this,e,r,()=>typeof e=="string")},e:"string"},y={...a,r(e,r){return o(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},v={...a,r(e,r){return o(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function O(e,r){let t=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(t==="string"||t==="number"||t==="boolean")?`${t}(${e})`:t}var A=l.withAutofix(e=>e==null||e===0||e===1?{fixed:!!e}:e==="true"||e==="false"?{fixed:e==="true"}:!1),P=f.withAutofix(e=>typeof e=="number"&&!Number.isNaN(e)?{fixed:e.toString()}:!1),N=y.withAutofix(e=>{if(typeof e=="string"){let r=Number(e);if(!Number.isNaN(r))return{fixed:r}}return!1});0&&(module.exports={rc_boolean_autofix,rc_number_autofix,rc_string_autofix});
@@ -1 +1 @@
1
- import{e as f,f as t,g as o}from"./chunk-ERNJMQ5T.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{e as f,f as t,g as o}from"./chunk-D2IBPFZA.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 q(e){return{...this,a:e}}function _(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function j(e,r){e.warnings.push(_(e,r))}function O(e,r){r.forEach(n=>j(e,n))}function c(e,r,n,s){if(e.c&&r===void 0)return[!0,r];if(e.l&&r==null)return[!0,r];if(e.f&&r===null)return[!0,r];let t=s();if(t&&(t===!0||"data"in t)){let a=t===!0?r:t.data;return e.s&&!e.s(a)?[!1,[e.n(a)]]:[!0,a]}if(e.a!==void 0)return j(n,`Fallback used, ${e.n(r)}`),[!0,e.a];if(e.y&&e.i){let a=e.i(r);if(a)return e.s&&!e.s(a.fixed)?[!1,[e.n(a.fixed)]]:(j(n,`Autofixed from error "${e.n(r)}"`),[!0,a.fixed])}return[!1,t&&"errors"in t?t.errors:[e.n(r)]]}function V(e){return{...this,y:!0,i:e}}function E(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function N(){return{...this,c:!0}}function C(e){return`Type '${I(e,!!this.T)}' is not assignable to '${this.e}'`}function v(){return{...this,f:!0,e:`${this.e}_or_null`}}function K(){return{...this,l:!0,e:`${this.e}_or_nullish`}}var u={withFallback:q,where:E,optional:N,n:C,orNullish:K,withAutofix:V,orNull:v},B={...u,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},z={...u,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},D={...u,r(e,r){return c(this,e,r,()=>!0)},e:"any"},M={...u,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},L={...u,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},Z={...u,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},G={...u,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},H={...u,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function J(e){return{...u,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function Q(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...u,r(r,n){return c(this,r,n,()=>{for(let s of e)if(r===s)return!0;return!1})},T:!0,e:e.length==1?`${I(e[0],!1)}_literal`:"literals"}}function X(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...u,r(r,n){return c(this,r,n,()=>{let s=n.path,t=[],a=0;for(let o of e){a+=1,o.u&&(n.path=`${s}|union ${a}|`);let[p,i]=o.r(r,n);if(p)return!0;o.u&&t.push(...i)}return n.path=s,t.length>0?{errors:t}:!1})},e:e.map(r=>r.e).join(" | ")}}function F(e,r){return{...r,o:e}}var Y=F;function k(e,{normalizeKeysFrom:r}={}){return{...u,t:e,e:"object",u:!0,r(n,s){return c(this,n,s,()=>{if(!S(n))return!1;let t=this.e==="strict_obj"?new Set(Object.keys(n)):void 0,a={},o=[],p=s.path;for(let[i,d]of Object.entries(e)){let b=i,R=`.${i}`;s.path=`${p}${R}`;let y,f=i;if(d.o&&(y=n[d.o],f=d.o),y===void 0&&(y=n[i],f=i),y===void 0&&r==="snake_case"){let l=U(i);y=n[l],f=l}t?.delete(f);let[g,h]=d.r(y,s);if(g)a[b]=h;else{let l=h;for(let x of l)o.push(_(s,x))}}if(t&&t.size>0)for(let i of t)o.push(`Key '${i}' is not defined in the object shape`);return o.length>0?{errors:o}:this.e.startsWith("extends_object")?{data:{...n,...a}}:{data:a}})}}}function ee(e){return{...k(e),e:"extends_object"}}function re(e){return e.t}function ne(e){return{...k(e),e:"strict_obj"}}function te(e,r){return k({...e.t,...r.t})}function se(e,{checkKey:r,looseCheck:n}={}){return{...u,e:`record<string, ${e.e}>`,r(s,t){return c(this,s,t,()=>{if(!S(s))return!1;let a={},o=[],p=t.path;for(let[i,d]of Object.entries(s)){let b=`.${i}`,R=`${p}${b}`;if(t.path=R,r&&!r(i)){o.push(_(t,`Key '${i}' is not allowed`));continue}let y=s[i],[f,g]=e.r(d,t);if(f)a[i]=y;else{let h=g;for(let l of h)o.push(_(t,l))}}if(o.length>0)if(n)O(t,o);else return{errors:o};return{data:a}})}}}function P(e,r){if(typeof r=="string"&&!e.t?.[r])throw new Error(`${e.e} can't be used with unique key option`)}function m(e,r,n,s=!1,t){let a=-1,o=[],p=[],i=new Set,d=n.path;for(let b of e){a++;let R=Array.isArray(r)?r[a]:r,y=`[${a}]`;n.path=`${d}${y}`;let f=R.r(b,n),[g,h]=f,l=t?.unique;if(g&&l){let T=h,w=typeof l=="string";w?T=h[l]:typeof l=="function"&&(T=l(h)),i.has(T)?(w&&(n.path=`${d}${y}.${l}`),f=[!1,[_(n,w?`Type '${R.t?.[l]?.e}' with value "${T}" is not unique`:typeof l=="function"?`Type '${R.e}' unique fn return with value "${T}" is not unique`:`${R.e} value is not unique`)]]):i.add(T)}let[x,$]=f;if(x)p.push($);else if(s){o.push($.map(T=>_(n,T)));continue}else return{errors:$.map(T=>_(n,T))}}if(o.length>0){if(p.length===0)return{errors:o.slice(0,5).flat()};O(n,o.flat())}return{data:p}}function ae(e,r){return P(e,r?.unique),{...u,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:m.call(this,n,e,s,!1,r):!1)}}}function oe(e,r){return P(e,r?.unique),{...u,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:m.call(this,n,e,s,!0,r):!1)}}}function ie(e){return{...u,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:m.call(this,r,e,n))}}}function A(e,r){let n={warnings:[],path:""},[s,t]=r.r(e,n);return s?{error:!1,data:t,warnings:n.warnings.length>0?n.warnings:!1}:{error:!0,errors:t}}function ue(e){return r=>A(r,e)}function ce(e,r){let n=A(e,r);return n.error?{data:null,errors:n.errors,warnings:!1}:{data:n.data,errors:!1,warnings:n.warnings}}function W(e,r){let n={warnings:[],path:""};return!!r.r(e,n)[0]}function le(e){return r=>W(r,e)}function ye(e){return{...u,e:"recursive",r(r,n){return e().r(r,n)}}}function fe(e,r){return{...u,e:`transform_from_${e.e}`,r(n,s){let[t,a]=e.r(n,s);return t?[!0,r(a)]:[!1,a]}}}function I(e,r){let n=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(n==="string"||n==="number"||n==="boolean")?`${n}(${e})`:n}function S(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function U(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}export{B as a,z as b,D as c,M as d,L as e,Z as f,G as g,H as h,J as i,Q as j,X as k,F as l,Y as m,k as n,ee as o,re as p,ne as q,te as r,se as s,ae as t,oe as u,ie as v,A as w,ue as x,ce as y,W as z,le as A,ye as B,fe as C,U as D};
package/dist/runcheck.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var k=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var F=(e,r)=>{for(var n in r)k(e,n,{get:r[n],enumerable:!0})},W=(e,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of K(r))!v.call(e,t)&&t!==n&&k(e,t,{get:()=>r[t],enumerable:!(s=C(r,t))||s.enumerable});return e};var U=e=>W(k({},"__esModule",{value:!0}),e);var ge={};F(ge,{rc_any:()=>Q,rc_array:()=>fe,rc_boolean:()=>Y,rc_date:()=>ne,rc_extends_obj:()=>ie,rc_get_obj_schema:()=>ce,rc_instanceof:()=>te,rc_is_valid:()=>I,rc_literals:()=>se,rc_loose_array:()=>Te,rc_loose_parse:()=>Re,rc_null:()=>J,rc_number:()=>re,rc_obj_intersection:()=>le,rc_object:()=>x,rc_parse:()=>A,rc_parser:()=>de,rc_record:()=>ye,rc_recursive:()=>_e,rc_rename_from_key:()=>S,rc_rename_key:()=>oe,rc_strict_obj:()=>ue,rc_string:()=>ee,rc_transform:()=>be,rc_tuple:()=>pe,rc_undefined:()=>H,rc_union:()=>ae,rc_unknown:()=>X,rc_validator:()=>he,snakeCase:()=>N});module.exports=U(ge);function B(e){return{...this,o:e}}function _(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function m(e,r){e.warnings.push(_(e,r))}function P(e,r){r.forEach(n=>m(e,n))}function c(e,r,n,s){if(e.c&&r===void 0)return[!0,r];if(e.u&&r==null)return[!0,r];if(e.l&&r===null)return[!0,r];let t=s();if(t&&(t===!0||"data"in t)){let a=t===!0?r:t.data;return e.s&&!e.s(a)?[!1,[e.n(a)]]:[!0,a]}if(e.o!==void 0)return m(n,`Fallback used, ${e.n(r)}`),[!0,e.o];if(e.y&&e.i){let a=e.i(r);if(a)return e.s&&!e.s(a.fixed)?[!1,[e.n(a.fixed)]]:(m(n,`Autofixed from error "${e.n(r)}"`),[!0,a.fixed])}return[!1,t&&"errors"in t?t.errors:[e.n(r)]]}function z(e){return{...this,y:!0,i:e}}function D(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function M(){return{...this,c:!0}}function L(e){return`Type '${q(e,!!this.f)}' is not assignable to '${this.e}'`}function Z(){return{...this,l:!0,e:`${this.e}_or_null`}}function G(){return{...this,u:!0,e:`${this.e}_or_nullish`}}var o={withFallback:B,where:D,optional:M,n:L,orNullish:G,withAutofix:z,orNull:Z},H={...o,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},J={...o,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},Q={...o,r(e,r){return c(this,e,r,()=>!0)},e:"any"},X={...o,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},Y={...o,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},ee={...o,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},re={...o,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},ne={...o,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function te(e){return{...o,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function se(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...o,r(r,n){return c(this,r,n,()=>{for(let s of e)if(r===s)return!0;return!1})},f:!0,e:e.length==1?`${q(e[0],!1)}_literal`:"literals"}}function ae(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...o,r(r,n){return c(this,r,n,()=>{for(let s of e)if(s.r(r,n)[0])return!0;return!1})},e:e.map(r=>r.e).join(" | ")}}function S(e,r){return{...r,a:e}}var oe=S;function x(e,{normalizeKeysFrom:r}={}){return{...o,t:e,e:"object",T:!0,r(n,s){return c(this,n,s,()=>{if(!E(n))return!1;let t=new Set(Object.keys(n)),a={},u=[],d=s.path;for(let[i,T]of Object.entries(e)){let b=i,R=`.${i}`;s.path=`${d}${R}`;let l,y=i;if(T.a&&(l=n[T.a],y=T.a),l===void 0&&(l=n[i],y=i),l===void 0&&r==="snake_case"){let f=N(i);l=n[f],y=f}t.delete(y);let[g,h]=T.r(l,s);if(g)a[b]=h;else{let f=h;for(let w of f)u.push(_(s,w))}}if(this.e==="strict_obj"&&t.size>0)for(let i of t)u.push(`Key '${i}' is not defined in the object shape`);return u.length>0?{errors:u}:this.e.startsWith("extends_object")?{data:{...n,...a}}:{data:a}})}}}function ie(e){return{...x(e),e:"extends_object"}}function ce(e){return e.t}function ue(e){return{...x(e),e:"strict_obj"}}function le(e,r){return x({...e.t,...r.t})}function ye(e,{checkKey:r,looseCheck:n}={}){return{...o,e:`record<string, ${e.e}>`,r(s,t){return c(this,s,t,()=>{if(!E(s))return!1;let a={},u=[],d=t.path;for(let[i,T]of Object.entries(s)){let b=`.${i}`;if(t.path=`${d}${b}`,r&&!r(i)){u.push(_(t,`Key '${i}' is not allowed`));continue}let R=s[i],[l,y]=e.r(T,t);if(l)a[i]=R;else{let g=y;for(let h of g)u.push(_(t,h))}}if(u.length>0)if(n)P(t,u);else return{errors:u};return{data:a}})}}}function V(e,r){if(typeof r=="string"&&!e.t?.[r])throw new Error(`${e.e} can't be used with unique key option`)}function O(e,r,n,s=!1,t){let a=-1,u=[],d=[],i=new Set,T=n.path;for(let b of e){a++;let R=Array.isArray(r)?r[a]:r,l=`[${a}]`;n.path=`${T}${l}`;let y=R.r(b,n),[g,h]=y,f=t?.unique;if(g&&f){let p=h,j=typeof f=="string";j&&(p=h[f]),i.has(p)?(j&&(n.path=`${T}${l}.${f}`),y=[!1,[_(n,j?`Type '${R.t?.[f]?.e}' with value "${p}" is not unique`:`${R.e} value is not unique`)]]):i.add(p)}let[w,$]=y;if(w)d.push($);else if(s){u.push($.map(p=>_(n,p)));continue}else return{errors:$.map(p=>_(n,p))}}if(u.length>0){if(d.length===0)return{errors:u.slice(0,5).flat()};P(n,u.flat())}return{data:d}}function fe(e,r){return V(e,r?.unique),{...o,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:O.call(this,n,e,s,!1,r):!1)}}}function Te(e,r){return V(e,r?.unique),{...o,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:O.call(this,n,e,s,!0,r):!1)}}}function pe(e){return{...o,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:O.call(this,r,e,n))}}}function A(e,r){let n={warnings:[],path:""},[s,t]=r.r(e,n);return s?{error:!1,data:t,warnings:n.warnings.length>0?n.warnings:!1}:{error:!0,errors:t}}function de(e){return r=>A(r,e)}function Re(e,r){let n=A(e,r);return n.error?{data:null,errors:n.errors,warnings:!1}:{data:n.data,errors:!1,warnings:n.warnings}}function I(e,r){let n={warnings:[],path:""};return!!r.r(e,n)[0]}function he(e){return r=>I(r,e)}function _e(e){return{...o,e:"recursive",r(r,n){return e().r(r,n)}}}function be(e,r){return{...o,e:`transform_from_${e.e}`,r(n,s){let[t,a]=e.r(n,s);return t?[!0,r(a)]:[!1,a]}}}function q(e,r){let n=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(n==="string"||n==="number"||n==="boolean")?`${n}(${e})`:n}function E(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function N(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}0&&(module.exports={rc_any,rc_array,rc_boolean,rc_date,rc_extends_obj,rc_get_obj_schema,rc_instanceof,rc_is_valid,rc_literals,rc_loose_array,rc_loose_parse,rc_null,rc_number,rc_obj_intersection,rc_object,rc_parse,rc_parser,rc_record,rc_recursive,rc_rename_from_key,rc_rename_key,rc_strict_obj,rc_string,rc_transform,rc_tuple,rc_undefined,rc_union,rc_unknown,rc_validator,snakeCase});
1
+ "use strict";var k=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var K=Object.prototype.hasOwnProperty;var F=(e,r)=>{for(var n in r)k(e,n,{get:r[n],enumerable:!0})},W=(e,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of v(r))!K.call(e,t)&&t!==n&&k(e,t,{get:()=>r[t],enumerable:!(s=C(r,t))||s.enumerable});return e};var U=e=>W(k({},"__esModule",{value:!0}),e);var ge={};F(ge,{rc_any:()=>Q,rc_array:()=>fe,rc_boolean:()=>Y,rc_date:()=>ne,rc_extends_obj:()=>ie,rc_get_obj_schema:()=>ue,rc_instanceof:()=>te,rc_is_valid:()=>q,rc_literals:()=>se,rc_loose_array:()=>Te,rc_loose_parse:()=>Re,rc_null:()=>J,rc_number:()=>re,rc_obj_intersection:()=>le,rc_object:()=>x,rc_parse:()=>P,rc_parser:()=>de,rc_record:()=>ye,rc_recursive:()=>_e,rc_rename_from_key:()=>I,rc_rename_key:()=>oe,rc_strict_obj:()=>ce,rc_string:()=>ee,rc_transform:()=>be,rc_tuple:()=>pe,rc_undefined:()=>H,rc_union:()=>ae,rc_unknown:()=>X,rc_validator:()=>he,snakeCase:()=>N});module.exports=U(ge);function B(e){return{...this,o:e}}function _(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function m(e,r){e.warnings.push(_(e,r))}function A(e,r){r.forEach(n=>m(e,n))}function c(e,r,n,s){if(e.c&&r===void 0)return[!0,r];if(e.l&&r==null)return[!0,r];if(e.y&&r===null)return[!0,r];let t=s();if(t&&(t===!0||"data"in t)){let a=t===!0?r:t.data;return e.s&&!e.s(a)?[!1,[e.n(a)]]:[!0,a]}if(e.o!==void 0)return m(n,`Fallback used, ${e.n(r)}`),[!0,e.o];if(e.f&&e.i){let a=e.i(r);if(a)return e.s&&!e.s(a.fixed)?[!1,[e.n(a.fixed)]]:(m(n,`Autofixed from error "${e.n(r)}"`),[!0,a.fixed])}return[!1,t&&"errors"in t?t.errors:[e.n(r)]]}function z(e){return{...this,f:!0,i:e}}function D(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function M(){return{...this,c:!0}}function L(e){return`Type '${V(e,!!this.T)}' is not assignable to '${this.e}'`}function Z(){return{...this,y:!0,e:`${this.e}_or_null`}}function G(){return{...this,l:!0,e:`${this.e}_or_nullish`}}var u={withFallback:B,where:D,optional:M,n:L,orNullish:G,withAutofix:z,orNull:Z},H={...u,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},J={...u,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},Q={...u,r(e,r){return c(this,e,r,()=>!0)},e:"any"},X={...u,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},Y={...u,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},ee={...u,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},re={...u,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},ne={...u,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function te(e){return{...u,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function se(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...u,r(r,n){return c(this,r,n,()=>{for(let s of e)if(r===s)return!0;return!1})},T:!0,e:e.length==1?`${V(e[0],!1)}_literal`:"literals"}}function ae(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...u,r(r,n){return c(this,r,n,()=>{let s=n.path,t=[],a=0;for(let o of e){a+=1,o.u&&(n.path=`${s}|union ${a}|`);let[p,i]=o.r(r,n);if(p)return!0;o.u&&t.push(...i)}return n.path=s,t.length>0?{errors:t}:!1})},e:e.map(r=>r.e).join(" | ")}}function I(e,r){return{...r,a:e}}var oe=I;function x(e,{normalizeKeysFrom:r}={}){return{...u,t:e,e:"object",u:!0,r(n,s){return c(this,n,s,()=>{if(!E(n))return!1;let t=this.e==="strict_obj"?new Set(Object.keys(n)):void 0,a={},o=[],p=s.path;for(let[i,d]of Object.entries(e)){let b=i,R=`.${i}`;s.path=`${p}${R}`;let y,f=i;if(d.a&&(y=n[d.a],f=d.a),y===void 0&&(y=n[i],f=i),y===void 0&&r==="snake_case"){let l=N(i);y=n[l],f=l}t?.delete(f);let[g,h]=d.r(y,s);if(g)a[b]=h;else{let l=h;for(let $ of l)o.push(_(s,$))}}if(t&&t.size>0)for(let i of t)o.push(`Key '${i}' is not defined in the object shape`);return o.length>0?{errors:o}:this.e.startsWith("extends_object")?{data:{...n,...a}}:{data:a}})}}}function ie(e){return{...x(e),e:"extends_object"}}function ue(e){return e.t}function ce(e){return{...x(e),e:"strict_obj"}}function le(e,r){return x({...e.t,...r.t})}function ye(e,{checkKey:r,looseCheck:n}={}){return{...u,e:`record<string, ${e.e}>`,r(s,t){return c(this,s,t,()=>{if(!E(s))return!1;let a={},o=[],p=t.path;for(let[i,d]of Object.entries(s)){let b=`.${i}`,R=`${p}${b}`;if(t.path=R,r&&!r(i)){o.push(_(t,`Key '${i}' is not allowed`));continue}let y=s[i],[f,g]=e.r(d,t);if(f)a[i]=y;else{let h=g;for(let l of h)o.push(_(t,l))}}if(o.length>0)if(n)A(t,o);else return{errors:o};return{data:a}})}}}function S(e,r){if(typeof r=="string"&&!e.t?.[r])throw new Error(`${e.e} can't be used with unique key option`)}function O(e,r,n,s=!1,t){let a=-1,o=[],p=[],i=new Set,d=n.path;for(let b of e){a++;let R=Array.isArray(r)?r[a]:r,y=`[${a}]`;n.path=`${d}${y}`;let f=R.r(b,n),[g,h]=f,l=t?.unique;if(g&&l){let T=h,j=typeof l=="string";j?T=h[l]:typeof l=="function"&&(T=l(h)),i.has(T)?(j&&(n.path=`${d}${y}.${l}`),f=[!1,[_(n,j?`Type '${R.t?.[l]?.e}' with value "${T}" is not unique`:typeof l=="function"?`Type '${R.e}' unique fn return with value "${T}" is not unique`:`${R.e} value is not unique`)]]):i.add(T)}let[$,w]=f;if($)p.push(w);else if(s){o.push(w.map(T=>_(n,T)));continue}else return{errors:w.map(T=>_(n,T))}}if(o.length>0){if(p.length===0)return{errors:o.slice(0,5).flat()};A(n,o.flat())}return{data:p}}function fe(e,r){return S(e,r?.unique),{...u,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:O.call(this,n,e,s,!1,r):!1)}}}function Te(e,r){return S(e,r?.unique),{...u,e:`${e.e}[]`,r(n,s){return c(this,n,s,()=>Array.isArray(n)?n.length===0?!0:O.call(this,n,e,s,!0,r):!1)}}}function pe(e){return{...u,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:O.call(this,r,e,n))}}}function P(e,r){let n={warnings:[],path:""},[s,t]=r.r(e,n);return s?{error:!1,data:t,warnings:n.warnings.length>0?n.warnings:!1}:{error:!0,errors:t}}function de(e){return r=>P(r,e)}function Re(e,r){let n=P(e,r);return n.error?{data:null,errors:n.errors,warnings:!1}:{data:n.data,errors:!1,warnings:n.warnings}}function q(e,r){let n={warnings:[],path:""};return!!r.r(e,n)[0]}function he(e){return r=>q(r,e)}function _e(e){return{...u,e:"recursive",r(r,n){return e().r(r,n)}}}function be(e,r){return{...u,e:`transform_from_${e.e}`,r(n,s){let[t,a]=e.r(n,s);return t?[!0,r(a)]:[!1,a]}}}function V(e,r){let n=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(n==="string"||n==="number"||n==="boolean")?`${n}(${e})`:n}function E(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function N(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}0&&(module.exports={rc_any,rc_array,rc_boolean,rc_date,rc_extends_obj,rc_get_obj_schema,rc_instanceof,rc_is_valid,rc_literals,rc_loose_array,rc_loose_parse,rc_null,rc_number,rc_obj_intersection,rc_object,rc_parse,rc_parser,rc_record,rc_recursive,rc_rename_from_key,rc_rename_key,rc_strict_obj,rc_string,rc_transform,rc_tuple,rc_undefined,rc_union,rc_unknown,rc_validator,snakeCase});
@@ -55,11 +55,11 @@ declare function rc_record<V extends RcType<any>>(valueType: V, { checkKey, loos
55
55
  looseCheck?: boolean;
56
56
  }): RcRecordType<V>;
57
57
  declare function rc_array<T extends RcType<any>>(type: T, options?: {
58
- unique: boolean | string | false;
58
+ unique: boolean | string | false | ((parsedItem: RcInferType<T>) => any);
59
59
  }): RcType<RcInferType<T>[]>;
60
60
  /** instead of returning a general erroro, rejects invalid array items and return warnings for these items */
61
61
  declare function rc_loose_array<T extends RcType<any>>(type: T, options?: {
62
- unique: boolean | string | false;
62
+ unique: boolean | string | false | ((parsedItem: RcInferType<T>) => any);
63
63
  }): RcType<RcInferType<T>[]>;
64
64
  type MapTupleToTypes<T extends readonly [...any[]]> = {
65
65
  -readonly [K in keyof T]: RcInferType<T[K]>;
package/dist/runcheck.js CHANGED
@@ -1 +1 @@
1
- import{A,B,C,D,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-ERNJMQ5T.js";export{c as rc_any,t as rc_array,e as rc_boolean,h as rc_date,o as rc_extends_obj,p as rc_get_obj_schema,i as rc_instanceof,z as rc_is_valid,j as rc_literals,u as rc_loose_array,y as rc_loose_parse,b as rc_null,g as rc_number,r as rc_obj_intersection,n as rc_object,w as rc_parse,x as rc_parser,s as rc_record,B as rc_recursive,l as rc_rename_from_key,m as rc_rename_key,q as rc_strict_obj,f as rc_string,C as rc_transform,v as rc_tuple,a as rc_undefined,k as rc_union,d as rc_unknown,A as rc_validator,D as snakeCase};
1
+ import{A,B,C,D,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-D2IBPFZA.js";export{c as rc_any,t as rc_array,e as rc_boolean,h as rc_date,o as rc_extends_obj,p as rc_get_obj_schema,i as rc_instanceof,z as rc_is_valid,j as rc_literals,u as rc_loose_array,y as rc_loose_parse,b as rc_null,g as rc_number,r as rc_obj_intersection,n as rc_object,w as rc_parse,x as rc_parser,s as rc_record,B as rc_recursive,l as rc_rename_from_key,m as rc_rename_key,q as rc_strict_obj,f as rc_string,C as rc_transform,v as rc_tuple,a as rc_undefined,k as rc_union,d as rc_unknown,A as rc_validator,D as snakeCase};
package/package.json CHANGED
@@ -1,14 +1,14 @@
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.21.0",
4
+ "version": "0.23.0",
5
5
  "license": "MIT",
6
6
  "scripts": {
7
7
  "test": "vitest --ui",
8
8
  "test:run": "vitest run",
9
9
  "lint": "pnpm tsc && pnpm eslint",
10
10
  "tsc": "tsc -p tsconfig.prod.json",
11
- "vitest-bench": "vitest bench",
11
+ "vitest-bench": "vitest bench --run",
12
12
  "benchmark": "tsm benchmarks/benchmark.ts",
13
13
  "benchmark:generate-profile": "tsm benchmarks/generateProfiles.ts",
14
14
  "eslint": "CI=true eslint --color --ext .jsx,.js,.ts,.tsx src/ tests/",
@@ -50,19 +50,18 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@lucasols/eslint-plugin-extended-lint": "^0.1.1",
53
- "@types/node": "^18.11.18",
54
- "@typescript-eslint/eslint-plugin": "^5.48.1",
55
- "@typescript-eslint/parser": "^5.48.1",
56
- "@vitest/ui": "^0.27.1",
57
- "eslint": "^8.31.0",
58
- "eslint-plugin-vitest": "^0.0.29",
59
- "myzod": "^1.8.8",
53
+ "@types/node": "^18.15.11",
54
+ "@typescript-eslint/eslint-plugin": "^5.57.1",
55
+ "@typescript-eslint/parser": "^5.57.1",
56
+ "@vitest/ui": "^0.29.8",
57
+ "eslint": "^8.37.0",
58
+ "eslint-plugin-vitest": "^0.0.57",
60
59
  "tsm": "^2.3.0",
61
- "tsup": "^6.5.0",
62
- "typescript": "^4.9.4",
60
+ "tsup": "^6.7.0",
61
+ "typescript": "^5.0.3",
63
62
  "v8-profiler-next": "^1.9.0",
64
- "vite": "^4.0.4",
65
- "vitest": "^0.27.1",
66
- "zod": "^3.20.2"
63
+ "vite": "^4.2.1",
64
+ "vitest": "^0.30.0",
65
+ "zod": "^3.21.4"
67
66
  }
68
67
  }
@@ -1 +0,0 @@
1
- function I(e){return{...this,a:e}}function _(e,r){return r.startsWith("$[")||r.startsWith("$.")?r:`${e.path?`$${e.path}: `:""}${r}`}function j(e,r){e.warnings.push(_(e,r))}function O(e,r){r.forEach(n=>j(e,n))}function c(e,r,n,t){if(e.c&&r===void 0)return[!0,r];if(e.u&&r==null)return[!0,r];if(e.l&&r===null)return[!0,r];let s=t();if(s&&(s===!0||"data"in s)){let a=s===!0?r:s.data;return e.s&&!e.s(a)?[!1,[e.n(a)]]:[!0,a]}if(e.a!==void 0)return j(n,`Fallback used, ${e.n(r)}`),[!0,e.a];if(e.f&&e.i){let a=e.i(r);if(a)return e.s&&!e.s(a.fixed)?[!1,[e.n(a.fixed)]]:(j(n,`Autofixed from error "${e.n(r)}"`),[!0,a.fixed])}return[!1,s&&"errors"in s?s.errors:[e.n(r)]]}function q(e){return{...this,f:!0,i:e}}function E(e){return{...this,s:e,e:`${this.e}_with_predicate`}}function N(){return{...this,c:!0}}function C(e){return`Type '${S(e,!!this.y)}' is not assignable to '${this.e}'`}function K(){return{...this,l:!0,e:`${this.e}_or_null`}}function v(){return{...this,u:!0,e:`${this.e}_or_nullish`}}var o={withFallback:I,where:E,optional:N,n:C,orNullish:v,withAutofix:q,orNull:K},B={...o,r(e,r){return c(this,e,r,()=>e===void 0)},e:"undefined"},z={...o,r(e,r){return c(this,e,r,()=>e===null)},e:"null"},D={...o,r(e,r){return c(this,e,r,()=>!0)},e:"any"},M={...o,r(e,r){return c(this,e,r,()=>!0)},e:"unknown"},L={...o,r(e,r){return c(this,e,r,()=>typeof e=="boolean")},e:"boolean"},Z={...o,r(e,r){return c(this,e,r,()=>typeof e=="string")},e:"string"},G={...o,r(e,r){return c(this,e,r,()=>typeof e=="number"&&!Number.isNaN(e))},e:"number"},H={...o,r(e,r){return c(this,e,r,()=>typeof e=="object"&&e instanceof Date&&!Number.isNaN(e.getTime()))},e:"date"};function J(e){return{...o,r(r,n){return c(this,r,n,()=>r instanceof e)},e:`instanceof_${e.name?`_${e.name}`:""}`}}function Q(...e){if(e.length===0)throw new Error("rc_literal requires at least one literal");return{...o,r(r,n){return c(this,r,n,()=>{for(let t of e)if(r===t)return!0;return!1})},y:!0,e:e.length==1?`${S(e[0],!1)}_literal`:"literals"}}function X(...e){if(e.length===0)throw new Error("Unions should have at least one type");return{...o,r(r,n){return c(this,r,n,()=>{for(let t of e)if(t.r(r,n)[0])return!0;return!1})},e:e.map(r=>r.e).join(" | ")}}function F(e,r){return{...r,o:e}}var Y=F;function k(e,{normalizeKeysFrom:r}={}){return{...o,t:e,e:"object",T:!0,r(n,t){return c(this,n,t,()=>{if(!V(n))return!1;let s=new Set(Object.keys(n)),a={},u=[],d=t.path;for(let[i,T]of Object.entries(e)){let b=i,R=`.${i}`;t.path=`${d}${R}`;let l,y=i;if(T.o&&(l=n[T.o],y=T.o),l===void 0&&(l=n[i],y=i),l===void 0&&r==="snake_case"){let f=U(i);l=n[f],y=f}s.delete(y);let[g,h]=T.r(l,t);if(g)a[b]=h;else{let f=h;for(let x of f)u.push(_(t,x))}}if(this.e==="strict_obj"&&s.size>0)for(let i of s)u.push(`Key '${i}' is not defined in the object shape`);return u.length>0?{errors:u}:this.e.startsWith("extends_object")?{data:{...n,...a}}:{data:a}})}}}function ee(e){return{...k(e),e:"extends_object"}}function re(e){return e.t}function ne(e){return{...k(e),e:"strict_obj"}}function te(e,r){return k({...e.t,...r.t})}function se(e,{checkKey:r,looseCheck:n}={}){return{...o,e:`record<string, ${e.e}>`,r(t,s){return c(this,t,s,()=>{if(!V(t))return!1;let a={},u=[],d=s.path;for(let[i,T]of Object.entries(t)){let b=`.${i}`;if(s.path=`${d}${b}`,r&&!r(i)){u.push(_(s,`Key '${i}' is not allowed`));continue}let R=t[i],[l,y]=e.r(T,s);if(l)a[i]=R;else{let g=y;for(let h of g)u.push(_(s,h))}}if(u.length>0)if(n)O(s,u);else return{errors:u};return{data:a}})}}}function A(e,r){if(typeof r=="string"&&!e.t?.[r])throw new Error(`${e.e} can't be used with unique key option`)}function m(e,r,n,t=!1,s){let a=-1,u=[],d=[],i=new Set,T=n.path;for(let b of e){a++;let R=Array.isArray(r)?r[a]:r,l=`[${a}]`;n.path=`${T}${l}`;let y=R.r(b,n),[g,h]=y,f=s?.unique;if(g&&f){let p=h,$=typeof f=="string";$&&(p=h[f]),i.has(p)?($&&(n.path=`${T}${l}.${f}`),y=[!1,[_(n,$?`Type '${R.t?.[f]?.e}' with value "${p}" is not unique`:`${R.e} value is not unique`)]]):i.add(p)}let[x,w]=y;if(x)d.push(w);else if(t){u.push(w.map(p=>_(n,p)));continue}else return{errors:w.map(p=>_(n,p))}}if(u.length>0){if(d.length===0)return{errors:u.slice(0,5).flat()};O(n,u.flat())}return{data:d}}function ae(e,r){return A(e,r?.unique),{...o,e:`${e.e}[]`,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:m.call(this,n,e,t,!1,r):!1)}}}function oe(e,r){return A(e,r?.unique),{...o,e:`${e.e}[]`,r(n,t){return c(this,n,t,()=>Array.isArray(n)?n.length===0?!0:m.call(this,n,e,t,!0,r):!1)}}}function ie(e){return{...o,e:`[${e.map(r=>r.e).join(", ")}]`,r(r,n){return c(this,r,n,()=>!Array.isArray(r)||r.length!==e.length?!1:m.call(this,r,e,n))}}}function P(e,r){let n={warnings:[],path:""},[t,s]=r.r(e,n);return t?{error:!1,data:s,warnings:n.warnings.length>0?n.warnings:!1}:{error:!0,errors:s}}function ce(e){return r=>P(r,e)}function ue(e,r){let n=P(e,r);return n.error?{data:null,errors:n.errors,warnings:!1}:{data:n.data,errors:!1,warnings:n.warnings}}function W(e,r){let n={warnings:[],path:""};return!!r.r(e,n)[0]}function le(e){return r=>W(r,e)}function ye(e){return{...o,e:"recursive",r(r,n){return e().r(r,n)}}}function fe(e,r){return{...o,e:`transform_from_${e.e}`,r(n,t){let[s,a]=e.r(n,t);return s?[!0,r(a)]:[!1,a]}}}function S(e,r){let n=(()=>{if(typeof e=="object"){if(Array.isArray(e))return"array";if(!e)return"null"}return typeof e})();return r&&(n==="string"||n==="number"||n==="boolean")?`${n}(${e})`:n}function V(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function U(e){return e.replace(/\W+/g," ").split(/ |\B(?=[A-Z])/).map(r=>r.toLowerCase()).join("_")}export{B as a,z as b,D as c,M as d,L as e,Z as f,G as g,H as h,J as i,Q as j,X as k,F as l,Y as m,k as n,ee as o,re as p,ne as q,te as r,se as s,ae as t,oe as u,ie as v,P as w,ce as x,ue as y,W as z,le as A,ye as B,fe as C,U as D};