@maroonedog/luq 0.1.0 → 0.1.2-alpha

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
- "use strict";var j=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var z=(n,e)=>{for(var o in e)j(n,o,{get:e[o],enumerable:!0})},H=(n,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of U(e))!I.call(n,t)&&t!==o&&j(n,t,{get:()=>e[t],enumerable:!(r=W(e,t))||r.enumerable});return n};var G=n=>H(j({},"__esModule",{value:!0}),n);var Z={};z(Z,{tupleBuilderPlugin:()=>X});module.exports=G(Z);var V=Object.freeze({valid:!0}),x=Object.freeze({valid:!1});function O(n,e=[],o){return{_validators:n,_transforms:e,validate:o||(r=>{for(let t=0;t<e.length;t++)if(!n[t].check(r,r))return x;return V})}}function P(n,e,o){return{check:e,name:n,inputType:o?.inputType,outputType:o?.outputType,metadata:o?{severity:o.severity||"error",async:o.async||!1}:void 0}}function R(n,e,o,r){return{name:n,methodName:e,allowedTypes:o,category:"composable",createComposer(t,a){let i=[],d={add(s){return i.push(s),d},build(){return r(i,t,a)}},y=d;return y[e]=function(...s){return y.add(s)},y}}}function E(n,e,o,r){let t=e.methodName,a=null,i=null;n[t]=function(...d){if(a||(a=e.createComposer(o,r)),a.add(d),n[t]=a[t],a){i=a.build();let y=n._executionPlan;if(!(y&&i&&typeof i.validate=="function")){if(i&&i._validators)for(let s of i._validators)y.addValidator(s.name,(l,g)=>{let f=s.check(l,l);return{valid:f,message:f?void 0:`Validation failed for ${s.name}`}})}}return n}}function L(n,e,o,r){return{...R(n,e,o,r),category:"composable-directly"}}function Y(n){switch(n){case"string":return{check:e=>e==null?!0:typeof e=="string",name:"stringType",messageFactory:()=>"Expected string",inputType:"string",outputType:"string",metadata:{severity:"error",async:!1}};case"number":return{check:e=>e==null?!0:typeof e=="number"&&!isNaN(e),name:"numberType",messageFactory:()=>"Expected number",inputType:"number",outputType:"number",metadata:{severity:"error",async:!1}};case"boolean":return{check:e=>e==null?!0:typeof e=="boolean",name:"booleanType",messageFactory:()=>"Expected boolean",inputType:"boolean",outputType:"boolean",metadata:{severity:"error",async:!1}};case"array":return{check:e=>e==null?!0:Array.isArray(e),name:"arrayType",messageFactory:()=>"Expected array",inputType:"array",outputType:"array",metadata:{severity:"error",async:!1}};case"object":return{check:e=>e==null?!0:typeof e=="object"&&e!==null&&!Array.isArray(e),name:"objectType",messageFactory:()=>"Expected object",inputType:"object",outputType:"object",metadata:{severity:"error",async:!1}};case"date":return{check:e=>e==null?!0:e instanceof Date,name:"dateType",messageFactory:()=>"Expected Date",inputType:"date",outputType:"date",metadata:{severity:"error",async:!1}};case"null":return{check:e=>e===null,name:"nullType",messageFactory:()=>"Expected null",inputType:"null",outputType:"null",metadata:{severity:"error",async:!1}};case"any":return{check:()=>!0,name:"anyType",messageFactory:()=>"",inputType:"any",outputType:"any",metadata:{severity:"error",async:!1}};default:return null}}function m(n,e,o,r){let t=r?.validators?[...r.validators]:[];if(!r&&n!=="union"){let d=Y(n);d&&t.push(d)}let a=r?.transforms?[...r.transforms]:[],i={_type:n,_fieldPath:e,_validators:t,_transforms:a,build(){return n==="union"&&t.length===0&&t.push({check:()=>!1,name:"unionGuard",messageFactory:()=>"No union type guards defined",inputType:"union",outputType:"union",metadata:{severity:"error",async:!1}}),{_validators:t,_transforms:a}}};return K(i,n,e,o,t,a),i.refineString=()=>m("string",e,o,{validators:t,transforms:a}),i.refineNumber=()=>m("number",e,o,{validators:t,transforms:a}),i.refineBoolean=()=>m("boolean",e,o,{validators:t,transforms:a}),i.refineArray=()=>m("array",e,o,{validators:t,transforms:a}),i.refineObject=()=>m("object",e,o,{validators:t,transforms:a}),i.refineTuple=()=>m("tuple",e,o,{validators:t,transforms:a}),i.refineUnion=()=>m("union",e,o,{validators:t,transforms:a}),i.refineDate=()=>m("date",e,o,{validators:t,transforms:a}),i.refineAny=()=>m("any",e,o,{validators:t,transforms:a}),i}function K(n,e,o,r,t,a){let i=Object.entries(r),d=i.length;for(let y=0;y<d;y++){let[,s]=i[y];if(!s||typeof s!="object")continue;if(s.category?.startsWith("composable")){if(s.allowedTypes&&!s.allowedTypes.includes(e))continue;E(n,s,o,r);continue}if(typeof s.create!="function"||s.allowedTypes&&!s.allowedTypes.includes(e))continue;let{methodName:l,category:g="standard",name:f}=s,b=s.create();n[l]=function(...w){try{let h=b(...w);if(g==="transform"){let N=q(h,w[0]);a.push(N)}else{let N=J(h,o),M=Q(N,f||l,e,w,h);t.push(M)}}catch{}return n}}}function q(n,e){return typeof n=="function"?e:n?.__isTransform?n.__transformFn:n?.__isCoerce?o=>n.coerce.coerceFn(o):n?.__isDefault?(o,r)=>n.default.applyDefault(o,r):n?.__isPreprocess?(o,r)=>n.preprocess.applyPreprocess(o,r):e||(o=>o)}function J(n,e){return typeof n=="function"?(o,r)=>n(o,{path:e,allValues:r}).valid:n?.check?(o,r)=>n.check(o,r):()=>!1}function Q(n,e,o,r,t){let a={check:n,name:e,code:t?.code||e,pluginName:t?.pluginName||e,getErrorMessage:t?.getErrorMessage,messageFactory:r[r.length-1]?.messageFactory||t?.messageFactory||(()=>"Validation failed"),inputType:o,outputType:o,metadata:t?.metadata||{severity:"error",async:!1}};return t&&(t.shouldSkipAllValidation&&(a.shouldSkipAllValidation=t.shouldSkipAllValidation),t.shouldSkipValidation&&(a.shouldSkipValidation=t.shouldSkipValidation),t.shouldSkipFurtherValidation&&(a.shouldSkipFurtherValidation=t.shouldSkipFurtherValidation),t.skipForNull!==void 0&&(a.skipForNull=t.skipForNull),t.skipForUndefined!==void 0&&(a.skipForUndefined=t.skipForUndefined),t.__isRecursive&&(a.__isRecursive=t.__isRecursive),t.recursive&&(a.recursive=t.recursive)),a}function v(n,e){let o=m("string",n,e),r=m("number",n,e),t=m("boolean",n,e),a=m("array",n,e),i=m("object",n,e),d=m("union",n,e),y=m("tuple",n,e),s=m("date",n,e),l=m("any",n,e);return{string:o,number:r,boolean:t,date:s,array:a,tuple:y,union:d,object:i,any:l}}var D=Array.isArray,S=Object.freeze({code:"TUPLE_NOT_ARRAY",message:"Value must be an array"}),_=Object.freeze({code:"TUPLE_LENGTH_MISMATCH",prefix:"Tuple must have exactly",suffix:"elements, got"}),B=Object.freeze({code:"TUPLE_TOO_SHORT",prefix:"Tuple must have at least",suffix:"elements, got"}),X=L("tupleBuilder","builder",["tuple"],(n,e,o)=>{let r=n[0]||[];if(r.length===0)return O([P("tupleBuilder",()=>!1,{inputType:"tuple",outputType:"tuple"})]);let t=[],a,i=r.length,d=r[i-1],y=d&&typeof d=="object"&&typeof d!="function"&&(Object.prototype.hasOwnProperty.call(d,"rest")||Object.keys(d).length===0),s={};y?(t=r.slice(0,-1),s=d,a=s.rest):t=r;let l=t.length,g=!!a,f=new Array(l);for(let u=0;u<l;u++){let c=v(`${e}[${u}]`,o),p=t[u](c);p&&typeof p.build=="function"?f[u]=p.build():f[u]=null}let b=null;if(a){let u=v(`${e}[rest]`,o),c=a(u);c&&typeof c.build=="function"&&(b=c.build())}let w=u=>{if(u.length!==l)return!1;for(let c=0;c<l;c++){let p=f[c];if(p&&!p.validate(u[c]).valid)return!1}return!0},h=u=>{let c=u.length;if(c<l)return!1;for(let p=0;p<l;p++){let T=f[p];if(T&&!T.validate(u[p]).valid)return!1}if(b&&c>l){for(let p=l;p<c;p++)if(!b.validate(u[p]).valid)return!1}return!0},N=P("tupleBuilder",u=>D(u)?g?h(u):w(u):!1,{inputType:"tuple",outputType:"tuple",severity:"error",async:!1});return O([N],[],u=>{if(!D(u))return{...x,errors:[{path:e,message:s.messageFactory?.notArray?s.messageFactory.notArray(u):S.message,code:S.code}]};let c=u.length;if(!g&&c!==l)return{...x,errors:[{path:e,message:s.messageFactory?.lengthMismatch?s.messageFactory.lengthMismatch(l,c):`${_.prefix} ${l} ${_.suffix} ${c}`,code:_.code}]};if(g&&c<l)return{...x,errors:[{path:e,message:s.messageFactory?.tooShort?s.messageFactory.tooShort(l,c):`${B.prefix} ${l} ${B.suffix} ${c}`,code:B.code}]};let p=[];for(let T=0;T<l;T++){let C=f[T];if(C){let F=u[T],k=C.validate(F,u);if(!k.isValid()){let A=`${e}[${T}]`;if(k.errors&&k.errors.length>0)for(let $ of k.errors)p.push({...$,path:A});else p.push({path:A,message:`Validation failed for element ${T}`,code:"ELEMENT_INVALID"})}}}if(b&&c>l)for(let T=l;T<c;T++){let C=b.validate(u[T]);if(!C.valid&&C.errors){let F=`${e}[${T}]`;for(let k of C.errors)p.push({...k,path:F})}}return p.length>0?{...x,errors:p}:V})});0&&(module.exports={tupleBuilderPlugin});
1
+ "use strict";var j=Object.defineProperty;var W=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var z=(n,e)=>{for(var o in e)j(n,o,{get:e[o],enumerable:!0})},H=(n,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of U(e))!I.call(n,t)&&t!==o&&j(n,t,{get:()=>e[t],enumerable:!(r=W(e,t))||r.enumerable});return n};var G=n=>H(j({},"__esModule",{value:!0}),n);var Z={};z(Z,{tupleBuilderPlugin:()=>X});module.exports=G(Z);var V=Object.freeze({valid:!0}),x=Object.freeze({valid:!1});function O(n,e=[],o){return{_validators:n,_transforms:e,validate:o||(r=>{for(let t=0;t<e.length;t++)if(!n[t].check(r,r))return x;return V})}}function P(n,e,o){return{check:e,name:n,inputType:o?.inputType,outputType:o?.outputType,metadata:o?{severity:o.severity||"error",async:o.async||!1}:void 0}}function R(n,e,o,r){return{name:n,methodName:e,allowedTypes:o,category:"composable",createComposer(t,a){let i=[],d={add(s){return i.push(s),d},build(){return r(i,t,a)}},y=d;return y[e]=function(...s){return y.add(s)},y}}}function E(n,e,o,r){let t=e.methodName,a=null,i=null;n[t]=function(...d){if(a||(a=e.createComposer(o,r)),a.add(d),n[t]=a[t],a){i=a.build();let y=n._executionPlan;if(!(y&&i&&typeof i.validate=="function")){if(i&&i._validators)for(let s of i._validators)y.addValidator(s.name,(l,g)=>{let f=s.check(l,l);return{valid:f,message:f?void 0:`Validation failed for ${s.name}`}})}}return n}}function L(n,e,o,r){return{...R(n,e,o,r),category:"composable-directly"}}function Y(n){switch(n){case"string":return{check:e=>e==null?!0:typeof e=="string",name:"stringType",messageFactory:()=>"Expected string",inputType:"string",outputType:"string",metadata:{severity:"error",async:!1}};case"number":return{check:e=>e==null?!0:typeof e=="number"&&!isNaN(e),name:"numberType",messageFactory:()=>"Expected number",inputType:"number",outputType:"number",metadata:{severity:"error",async:!1}};case"boolean":return{check:e=>e==null?!0:typeof e=="boolean",name:"booleanType",messageFactory:()=>"Expected boolean",inputType:"boolean",outputType:"boolean",metadata:{severity:"error",async:!1}};case"array":return{check:e=>e==null?!0:Array.isArray(e),name:"arrayType",messageFactory:()=>"Expected array",inputType:"array",outputType:"array",metadata:{severity:"error",async:!1}};case"object":return{check:e=>e==null?!0:typeof e=="object"&&e!==null&&!Array.isArray(e),name:"objectType",messageFactory:()=>"Expected object",inputType:"object",outputType:"object",metadata:{severity:"error",async:!1}};case"date":return{check:e=>e==null?!0:e instanceof Date,name:"dateType",messageFactory:()=>"Expected Date",inputType:"date",outputType:"date",metadata:{severity:"error",async:!1}};case"null":return{check:e=>e===null,name:"nullType",messageFactory:()=>"Expected null",inputType:"null",outputType:"null",metadata:{severity:"error",async:!1}};case"any":return{check:()=>!0,name:"anyType",messageFactory:()=>"",inputType:"any",outputType:"any",metadata:{severity:"error",async:!1}};default:return null}}function T(n,e,o,r){let t=r?.validators?[...r.validators]:[];if(!r&&n!=="union"){let d=Y(n);d&&t.push(d)}let a=r?.transforms?[...r.transforms]:[],i={_type:n,_fieldPath:e,_validators:t,_transforms:a,build(){return n==="union"&&t.length===0&&t.push({check:()=>!1,name:"unionGuard",messageFactory:()=>"No union type guards defined",inputType:"union",outputType:"union",metadata:{severity:"error",async:!1}}),{_validators:t,_transforms:a}}};return K(i,n,e,o,t,a),i.refineString=()=>T("string",e,o,{validators:t,transforms:a}),i.refineNumber=()=>T("number",e,o,{validators:t,transforms:a}),i.refineBoolean=()=>T("boolean",e,o,{validators:t,transforms:a}),i.refineArray=()=>T("array",e,o,{validators:t,transforms:a}),i.refineObject=()=>T("object",e,o,{validators:t,transforms:a}),i.refineTuple=()=>T("tuple",e,o,{validators:t,transforms:a}),i.refineUnion=()=>T("union",e,o,{validators:t,transforms:a}),i.refineDate=()=>T("date",e,o,{validators:t,transforms:a}),i.refineAny=()=>T("any",e,o,{validators:t,transforms:a}),i}function K(n,e,o,r,t,a){let i=Object.entries(r),d=i.length;for(let y=0;y<d;y++){let[,s]=i[y];if(!s||typeof s!="object")continue;if(s.category?.startsWith("composable")){if(s.allowedTypes&&!s.allowedTypes.includes(e))continue;E(n,s,o,r);continue}if(typeof s.create!="function"||s.allowedTypes&&!s.allowedTypes.includes(e))continue;let{methodName:l,category:g="standard",name:f}=s,b=s.create();n[l]=function(...w){try{let h=b(...w);if(g==="transform"){let N=q(h,w[0]);a.push(N)}else{let N=J(h,o),B=Q(N,f||l,e,w,h);t.push(B)}}catch{}return n}}}function q(n,e){return typeof n=="function"?e:n?.__isTransform?n.__transformFn:n?.__isCoerce?o=>n.coerce.coerceFn(o):n?.__isDefault?(o,r)=>n.default.applyDefault(o,r):n?.__isPreprocess?(o,r)=>n.preprocess.applyPreprocess(o,r):e||(o=>o)}function J(n,e){return typeof n=="function"?(o,r)=>n(o,{path:e,allValues:r}).valid:n?.check?(o,r)=>n.check(o,r):()=>!1}function Q(n,e,o,r,t){let a={check:n,name:e,code:t?.code||e,pluginName:t?.pluginName||e,getErrorMessage:t?.getErrorMessage,messageFactory:r[r.length-1]?.messageFactory||t?.messageFactory||(()=>"Validation failed"),inputType:o,outputType:o,metadata:t?.metadata||{severity:"error",async:!1}};return t&&(t.shouldSkipAllValidation&&(a.shouldSkipAllValidation=t.shouldSkipAllValidation),t.shouldSkipValidation&&(a.shouldSkipValidation=t.shouldSkipValidation),t.shouldSkipFurtherValidation&&(a.shouldSkipFurtherValidation=t.shouldSkipFurtherValidation),t.skipForNull!==void 0&&(a.skipForNull=t.skipForNull),t.skipForUndefined!==void 0&&(a.skipForUndefined=t.skipForUndefined),t.__isRecursive&&(a.__isRecursive=t.__isRecursive),t.recursive&&(a.recursive=t.recursive)),a}function v(n,e){let o=T("string",n,e),r=T("number",n,e),t=T("boolean",n,e),a=T("array",n,e),i=T("object",n,e),d=T("union",n,e),y=T("tuple",n,e),s=T("date",n,e),l=T("any",n,e);return{string:o,number:r,boolean:t,date:s,array:a,tuple:y,union:d,object:i,any:l}}var D=Array.isArray,S=Object.freeze({code:"TUPLE_NOT_ARRAY",message:"Value must be an array"}),_=Object.freeze({code:"TUPLE_LENGTH_MISMATCH",prefix:"Tuple must have exactly",suffix:"elements, got"}),M=Object.freeze({code:"TUPLE_TOO_SHORT",prefix:"Tuple must have at least",suffix:"elements, got"}),X=L("tupleBuilder","builder",["tuple"],(n,e,o)=>{let r=n[0]||[];if(r.length===0)return O([P("tupleBuilder",()=>!1,{inputType:"tuple",outputType:"tuple"})]);let t=[],a,i=r.length,d=r[i-1],y=d&&typeof d=="object"&&typeof d!="function"&&(Object.prototype.hasOwnProperty.call(d,"rest")||Object.keys(d).length===0),s={};y?(t=r.slice(0,-1),s=d,a=s.rest):t=r;let l=t.length,g=!!a,f=new Array(l);for(let u=0;u<l;u++){let c=v(`${e}[${u}]`,o),p=t[u](c);p&&typeof p.build=="function"?f[u]=p.build():f[u]=null}let b=null;if(a){let u=v(`${e}[rest]`,o),c=a(u);c&&typeof c.build=="function"&&(b=c.build())}let w=u=>{if(u.length!==l)return!1;for(let c=0;c<l;c++){let p=f[c];if(p&&!p.validate(u[c]).valid)return!1}return!0},h=u=>{let c=u.length;if(c<l)return!1;for(let p=0;p<l;p++){let m=f[p];if(m&&!m.validate(u[p]).valid)return!1}if(b&&c>l){for(let p=l;p<c;p++)if(!b.validate(u[p]).valid)return!1}return!0},N=P("tupleBuilder",u=>D(u)?g?h(u):w(u):!1,{inputType:"tuple",outputType:"tuple",severity:"error",async:!1});return O([N],[],u=>{if(!D(u))return{...x,errors:[{path:e,message:s.messageFactory?.notArray?s.messageFactory.notArray(u):S.message,code:S.code}]};let c=u.length;if(!g&&c!==l)return{...x,errors:[{path:e,message:s.messageFactory?.lengthMismatch?s.messageFactory.lengthMismatch(l,c):`${_.prefix} ${l} ${_.suffix} ${c}`,code:_.code}]};if(g&&c<l)return{...x,errors:[{path:e,message:s.messageFactory?.tooShort?s.messageFactory.tooShort(l,c):`${M.prefix} ${l} ${M.suffix} ${c}`,code:M.code}]};let p=[];for(let m=0;m<l;m++){let C=f[m];if(C){let F=u[m],k=C.validate(F,u);if(!k.isValid()){let A=`${e}[${m}]`;if(k.errors&&k.errors.length>0)for(let $ of k.errors)p.push({...$,path:A});else p.push({path:A,message:`Validation failed for element ${m}`,code:"ELEMENT_INVALID"})}}}if(b&&c>l)for(let m=l;m<c;m++){let C=b.validate(u[m]);if(!C.valid&&C.errors){let F=`${e}[${m}]`;for(let k of C.errors)p.push({...k,path:F})}}return p.length>0?{...x,errors:p}:V})});0&&(module.exports={tupleBuilderPlugin});
@@ -1 +1 @@
1
- var j=Object.freeze({valid:!0}),x=Object.freeze({valid:!1});function V(t,e=[],o){return{_validators:t,_transforms:e,validate:o||(a=>{for(let n=0;n<e.length;n++)if(!t[n].check(a,a))return x;return j})}}function O(t,e,o){return{check:e,name:t,inputType:o?.inputType,outputType:o?.outputType,metadata:o?{severity:o.severity||"error",async:o.async||!1}:void 0}}function A(t,e,o,a){return{name:t,methodName:e,allowedTypes:o,category:"composable",createComposer(n,r){let i=[],d={add(s){return i.push(s),d},build(){return a(i,n,r)}},y=d;return y[e]=function(...s){return y.add(s)},y}}}function R(t,e,o,a){let n=e.methodName,r=null,i=null;t[n]=function(...d){if(r||(r=e.createComposer(o,a)),r.add(d),t[n]=r[n],r){i=r.build();let y=t._executionPlan;if(!(y&&i&&typeof i.validate=="function")){if(i&&i._validators)for(let s of i._validators)y.addValidator(s.name,(l,g)=>{let f=s.check(l,l);return{valid:f,message:f?void 0:`Validation failed for ${s.name}`}})}}return t}}function E(t,e,o,a){return{...A(t,e,o,a),category:"composable-directly"}}function $(t){switch(t){case"string":return{check:e=>e==null?!0:typeof e=="string",name:"stringType",messageFactory:()=>"Expected string",inputType:"string",outputType:"string",metadata:{severity:"error",async:!1}};case"number":return{check:e=>e==null?!0:typeof e=="number"&&!isNaN(e),name:"numberType",messageFactory:()=>"Expected number",inputType:"number",outputType:"number",metadata:{severity:"error",async:!1}};case"boolean":return{check:e=>e==null?!0:typeof e=="boolean",name:"booleanType",messageFactory:()=>"Expected boolean",inputType:"boolean",outputType:"boolean",metadata:{severity:"error",async:!1}};case"array":return{check:e=>e==null?!0:Array.isArray(e),name:"arrayType",messageFactory:()=>"Expected array",inputType:"array",outputType:"array",metadata:{severity:"error",async:!1}};case"object":return{check:e=>e==null?!0:typeof e=="object"&&e!==null&&!Array.isArray(e),name:"objectType",messageFactory:()=>"Expected object",inputType:"object",outputType:"object",metadata:{severity:"error",async:!1}};case"date":return{check:e=>e==null?!0:e instanceof Date,name:"dateType",messageFactory:()=>"Expected Date",inputType:"date",outputType:"date",metadata:{severity:"error",async:!1}};case"null":return{check:e=>e===null,name:"nullType",messageFactory:()=>"Expected null",inputType:"null",outputType:"null",metadata:{severity:"error",async:!1}};case"any":return{check:()=>!0,name:"anyType",messageFactory:()=>"",inputType:"any",outputType:"any",metadata:{severity:"error",async:!1}};default:return null}}function m(t,e,o,a){let n=a?.validators?[...a.validators]:[];if(!a&&t!=="union"){let d=$(t);d&&n.push(d)}let r=a?.transforms?[...a.transforms]:[],i={_type:t,_fieldPath:e,_validators:n,_transforms:r,build(){return t==="union"&&n.length===0&&n.push({check:()=>!1,name:"unionGuard",messageFactory:()=>"No union type guards defined",inputType:"union",outputType:"union",metadata:{severity:"error",async:!1}}),{_validators:n,_transforms:r}}};return W(i,t,e,o,n,r),i.refineString=()=>m("string",e,o,{validators:n,transforms:r}),i.refineNumber=()=>m("number",e,o,{validators:n,transforms:r}),i.refineBoolean=()=>m("boolean",e,o,{validators:n,transforms:r}),i.refineArray=()=>m("array",e,o,{validators:n,transforms:r}),i.refineObject=()=>m("object",e,o,{validators:n,transforms:r}),i.refineTuple=()=>m("tuple",e,o,{validators:n,transforms:r}),i.refineUnion=()=>m("union",e,o,{validators:n,transforms:r}),i.refineDate=()=>m("date",e,o,{validators:n,transforms:r}),i.refineAny=()=>m("any",e,o,{validators:n,transforms:r}),i}function W(t,e,o,a,n,r){let i=Object.entries(a),d=i.length;for(let y=0;y<d;y++){let[,s]=i[y];if(!s||typeof s!="object")continue;if(s.category?.startsWith("composable")){if(s.allowedTypes&&!s.allowedTypes.includes(e))continue;R(t,s,o,a);continue}if(typeof s.create!="function"||s.allowedTypes&&!s.allowedTypes.includes(e))continue;let{methodName:l,category:g="standard",name:f}=s,b=s.create();t[l]=function(...w){try{let h=b(...w);if(g==="transform"){let N=U(h,w[0]);r.push(N)}else{let N=I(h,o),B=z(N,f||l,e,w,h);n.push(B)}}catch{}return t}}}function U(t,e){return typeof t=="function"?e:t?.__isTransform?t.__transformFn:t?.__isCoerce?o=>t.coerce.coerceFn(o):t?.__isDefault?(o,a)=>t.default.applyDefault(o,a):t?.__isPreprocess?(o,a)=>t.preprocess.applyPreprocess(o,a):e||(o=>o)}function I(t,e){return typeof t=="function"?(o,a)=>t(o,{path:e,allValues:a}).valid:t?.check?(o,a)=>t.check(o,a):()=>!1}function z(t,e,o,a,n){let r={check:t,name:e,code:n?.code||e,pluginName:n?.pluginName||e,getErrorMessage:n?.getErrorMessage,messageFactory:a[a.length-1]?.messageFactory||n?.messageFactory||(()=>"Validation failed"),inputType:o,outputType:o,metadata:n?.metadata||{severity:"error",async:!1}};return n&&(n.shouldSkipAllValidation&&(r.shouldSkipAllValidation=n.shouldSkipAllValidation),n.shouldSkipValidation&&(r.shouldSkipValidation=n.shouldSkipValidation),n.shouldSkipFurtherValidation&&(r.shouldSkipFurtherValidation=n.shouldSkipFurtherValidation),n.skipForNull!==void 0&&(r.skipForNull=n.skipForNull),n.skipForUndefined!==void 0&&(r.skipForUndefined=n.skipForUndefined),n.__isRecursive&&(r.__isRecursive=n.__isRecursive),n.recursive&&(r.recursive=n.recursive)),r}function P(t,e){let o=m("string",t,e),a=m("number",t,e),n=m("boolean",t,e),r=m("array",t,e),i=m("object",t,e),d=m("union",t,e),y=m("tuple",t,e),s=m("date",t,e),l=m("any",t,e);return{string:o,number:a,boolean:n,date:s,array:r,tuple:y,union:d,object:i,any:l}}var L=Array.isArray,D=Object.freeze({code:"TUPLE_NOT_ARRAY",message:"Value must be an array"}),v=Object.freeze({code:"TUPLE_LENGTH_MISMATCH",prefix:"Tuple must have exactly",suffix:"elements, got"}),_=Object.freeze({code:"TUPLE_TOO_SHORT",prefix:"Tuple must have at least",suffix:"elements, got"}),Z=E("tupleBuilder","builder",["tuple"],(t,e,o)=>{let a=t[0]||[];if(a.length===0)return V([O("tupleBuilder",()=>!1,{inputType:"tuple",outputType:"tuple"})]);let n=[],r,i=a.length,d=a[i-1],y=d&&typeof d=="object"&&typeof d!="function"&&(Object.prototype.hasOwnProperty.call(d,"rest")||Object.keys(d).length===0),s={};y?(n=a.slice(0,-1),s=d,r=s.rest):n=a;let l=n.length,g=!!r,f=new Array(l);for(let u=0;u<l;u++){let c=P(`${e}[${u}]`,o),p=n[u](c);p&&typeof p.build=="function"?f[u]=p.build():f[u]=null}let b=null;if(r){let u=P(`${e}[rest]`,o),c=r(u);c&&typeof c.build=="function"&&(b=c.build())}let w=u=>{if(u.length!==l)return!1;for(let c=0;c<l;c++){let p=f[c];if(p&&!p.validate(u[c]).valid)return!1}return!0},h=u=>{let c=u.length;if(c<l)return!1;for(let p=0;p<l;p++){let T=f[p];if(T&&!T.validate(u[p]).valid)return!1}if(b&&c>l){for(let p=l;p<c;p++)if(!b.validate(u[p]).valid)return!1}return!0},N=O("tupleBuilder",u=>L(u)?g?h(u):w(u):!1,{inputType:"tuple",outputType:"tuple",severity:"error",async:!1});return V([N],[],u=>{if(!L(u))return{...x,errors:[{path:e,message:s.messageFactory?.notArray?s.messageFactory.notArray(u):D.message,code:D.code}]};let c=u.length;if(!g&&c!==l)return{...x,errors:[{path:e,message:s.messageFactory?.lengthMismatch?s.messageFactory.lengthMismatch(l,c):`${v.prefix} ${l} ${v.suffix} ${c}`,code:v.code}]};if(g&&c<l)return{...x,errors:[{path:e,message:s.messageFactory?.tooShort?s.messageFactory.tooShort(l,c):`${_.prefix} ${l} ${_.suffix} ${c}`,code:_.code}]};let p=[];for(let T=0;T<l;T++){let C=f[T];if(C){let F=u[T],k=C.validate(F,u);if(!k.isValid()){let M=`${e}[${T}]`;if(k.errors&&k.errors.length>0)for(let S of k.errors)p.push({...S,path:M});else p.push({path:M,message:`Validation failed for element ${T}`,code:"ELEMENT_INVALID"})}}}if(b&&c>l)for(let T=l;T<c;T++){let C=b.validate(u[T]);if(!C.valid&&C.errors){let F=`${e}[${T}]`;for(let k of C.errors)p.push({...k,path:F})}}return p.length>0?{...x,errors:p}:j})});export{Z as tupleBuilderPlugin};
1
+ var j=Object.freeze({valid:!0}),x=Object.freeze({valid:!1});function V(t,e=[],o){return{_validators:t,_transforms:e,validate:o||(a=>{for(let n=0;n<e.length;n++)if(!t[n].check(a,a))return x;return j})}}function O(t,e,o){return{check:e,name:t,inputType:o?.inputType,outputType:o?.outputType,metadata:o?{severity:o.severity||"error",async:o.async||!1}:void 0}}function A(t,e,o,a){return{name:t,methodName:e,allowedTypes:o,category:"composable",createComposer(n,r){let i=[],d={add(s){return i.push(s),d},build(){return a(i,n,r)}},y=d;return y[e]=function(...s){return y.add(s)},y}}}function R(t,e,o,a){let n=e.methodName,r=null,i=null;t[n]=function(...d){if(r||(r=e.createComposer(o,a)),r.add(d),t[n]=r[n],r){i=r.build();let y=t._executionPlan;if(!(y&&i&&typeof i.validate=="function")){if(i&&i._validators)for(let s of i._validators)y.addValidator(s.name,(l,g)=>{let f=s.check(l,l);return{valid:f,message:f?void 0:`Validation failed for ${s.name}`}})}}return t}}function E(t,e,o,a){return{...A(t,e,o,a),category:"composable-directly"}}function $(t){switch(t){case"string":return{check:e=>e==null?!0:typeof e=="string",name:"stringType",messageFactory:()=>"Expected string",inputType:"string",outputType:"string",metadata:{severity:"error",async:!1}};case"number":return{check:e=>e==null?!0:typeof e=="number"&&!isNaN(e),name:"numberType",messageFactory:()=>"Expected number",inputType:"number",outputType:"number",metadata:{severity:"error",async:!1}};case"boolean":return{check:e=>e==null?!0:typeof e=="boolean",name:"booleanType",messageFactory:()=>"Expected boolean",inputType:"boolean",outputType:"boolean",metadata:{severity:"error",async:!1}};case"array":return{check:e=>e==null?!0:Array.isArray(e),name:"arrayType",messageFactory:()=>"Expected array",inputType:"array",outputType:"array",metadata:{severity:"error",async:!1}};case"object":return{check:e=>e==null?!0:typeof e=="object"&&e!==null&&!Array.isArray(e),name:"objectType",messageFactory:()=>"Expected object",inputType:"object",outputType:"object",metadata:{severity:"error",async:!1}};case"date":return{check:e=>e==null?!0:e instanceof Date,name:"dateType",messageFactory:()=>"Expected Date",inputType:"date",outputType:"date",metadata:{severity:"error",async:!1}};case"null":return{check:e=>e===null,name:"nullType",messageFactory:()=>"Expected null",inputType:"null",outputType:"null",metadata:{severity:"error",async:!1}};case"any":return{check:()=>!0,name:"anyType",messageFactory:()=>"",inputType:"any",outputType:"any",metadata:{severity:"error",async:!1}};default:return null}}function T(t,e,o,a){let n=a?.validators?[...a.validators]:[];if(!a&&t!=="union"){let d=$(t);d&&n.push(d)}let r=a?.transforms?[...a.transforms]:[],i={_type:t,_fieldPath:e,_validators:n,_transforms:r,build(){return t==="union"&&n.length===0&&n.push({check:()=>!1,name:"unionGuard",messageFactory:()=>"No union type guards defined",inputType:"union",outputType:"union",metadata:{severity:"error",async:!1}}),{_validators:n,_transforms:r}}};return W(i,t,e,o,n,r),i.refineString=()=>T("string",e,o,{validators:n,transforms:r}),i.refineNumber=()=>T("number",e,o,{validators:n,transforms:r}),i.refineBoolean=()=>T("boolean",e,o,{validators:n,transforms:r}),i.refineArray=()=>T("array",e,o,{validators:n,transforms:r}),i.refineObject=()=>T("object",e,o,{validators:n,transforms:r}),i.refineTuple=()=>T("tuple",e,o,{validators:n,transforms:r}),i.refineUnion=()=>T("union",e,o,{validators:n,transforms:r}),i.refineDate=()=>T("date",e,o,{validators:n,transforms:r}),i.refineAny=()=>T("any",e,o,{validators:n,transforms:r}),i}function W(t,e,o,a,n,r){let i=Object.entries(a),d=i.length;for(let y=0;y<d;y++){let[,s]=i[y];if(!s||typeof s!="object")continue;if(s.category?.startsWith("composable")){if(s.allowedTypes&&!s.allowedTypes.includes(e))continue;R(t,s,o,a);continue}if(typeof s.create!="function"||s.allowedTypes&&!s.allowedTypes.includes(e))continue;let{methodName:l,category:g="standard",name:f}=s,b=s.create();t[l]=function(...w){try{let h=b(...w);if(g==="transform"){let N=U(h,w[0]);r.push(N)}else{let N=I(h,o),M=z(N,f||l,e,w,h);n.push(M)}}catch{}return t}}}function U(t,e){return typeof t=="function"?e:t?.__isTransform?t.__transformFn:t?.__isCoerce?o=>t.coerce.coerceFn(o):t?.__isDefault?(o,a)=>t.default.applyDefault(o,a):t?.__isPreprocess?(o,a)=>t.preprocess.applyPreprocess(o,a):e||(o=>o)}function I(t,e){return typeof t=="function"?(o,a)=>t(o,{path:e,allValues:a}).valid:t?.check?(o,a)=>t.check(o,a):()=>!1}function z(t,e,o,a,n){let r={check:t,name:e,code:n?.code||e,pluginName:n?.pluginName||e,getErrorMessage:n?.getErrorMessage,messageFactory:a[a.length-1]?.messageFactory||n?.messageFactory||(()=>"Validation failed"),inputType:o,outputType:o,metadata:n?.metadata||{severity:"error",async:!1}};return n&&(n.shouldSkipAllValidation&&(r.shouldSkipAllValidation=n.shouldSkipAllValidation),n.shouldSkipValidation&&(r.shouldSkipValidation=n.shouldSkipValidation),n.shouldSkipFurtherValidation&&(r.shouldSkipFurtherValidation=n.shouldSkipFurtherValidation),n.skipForNull!==void 0&&(r.skipForNull=n.skipForNull),n.skipForUndefined!==void 0&&(r.skipForUndefined=n.skipForUndefined),n.__isRecursive&&(r.__isRecursive=n.__isRecursive),n.recursive&&(r.recursive=n.recursive)),r}function P(t,e){let o=T("string",t,e),a=T("number",t,e),n=T("boolean",t,e),r=T("array",t,e),i=T("object",t,e),d=T("union",t,e),y=T("tuple",t,e),s=T("date",t,e),l=T("any",t,e);return{string:o,number:a,boolean:n,date:s,array:r,tuple:y,union:d,object:i,any:l}}var L=Array.isArray,D=Object.freeze({code:"TUPLE_NOT_ARRAY",message:"Value must be an array"}),v=Object.freeze({code:"TUPLE_LENGTH_MISMATCH",prefix:"Tuple must have exactly",suffix:"elements, got"}),_=Object.freeze({code:"TUPLE_TOO_SHORT",prefix:"Tuple must have at least",suffix:"elements, got"}),Z=E("tupleBuilder","builder",["tuple"],(t,e,o)=>{let a=t[0]||[];if(a.length===0)return V([O("tupleBuilder",()=>!1,{inputType:"tuple",outputType:"tuple"})]);let n=[],r,i=a.length,d=a[i-1],y=d&&typeof d=="object"&&typeof d!="function"&&(Object.prototype.hasOwnProperty.call(d,"rest")||Object.keys(d).length===0),s={};y?(n=a.slice(0,-1),s=d,r=s.rest):n=a;let l=n.length,g=!!r,f=new Array(l);for(let u=0;u<l;u++){let c=P(`${e}[${u}]`,o),p=n[u](c);p&&typeof p.build=="function"?f[u]=p.build():f[u]=null}let b=null;if(r){let u=P(`${e}[rest]`,o),c=r(u);c&&typeof c.build=="function"&&(b=c.build())}let w=u=>{if(u.length!==l)return!1;for(let c=0;c<l;c++){let p=f[c];if(p&&!p.validate(u[c]).valid)return!1}return!0},h=u=>{let c=u.length;if(c<l)return!1;for(let p=0;p<l;p++){let m=f[p];if(m&&!m.validate(u[p]).valid)return!1}if(b&&c>l){for(let p=l;p<c;p++)if(!b.validate(u[p]).valid)return!1}return!0},N=O("tupleBuilder",u=>L(u)?g?h(u):w(u):!1,{inputType:"tuple",outputType:"tuple",severity:"error",async:!1});return V([N],[],u=>{if(!L(u))return{...x,errors:[{path:e,message:s.messageFactory?.notArray?s.messageFactory.notArray(u):D.message,code:D.code}]};let c=u.length;if(!g&&c!==l)return{...x,errors:[{path:e,message:s.messageFactory?.lengthMismatch?s.messageFactory.lengthMismatch(l,c):`${v.prefix} ${l} ${v.suffix} ${c}`,code:v.code}]};if(g&&c<l)return{...x,errors:[{path:e,message:s.messageFactory?.tooShort?s.messageFactory.tooShort(l,c):`${_.prefix} ${l} ${_.suffix} ${c}`,code:_.code}]};let p=[];for(let m=0;m<l;m++){let C=f[m];if(C){let F=u[m],k=C.validate(F,u);if(!k.isValid()){let B=`${e}[${m}]`;if(k.errors&&k.errors.length>0)for(let S of k.errors)p.push({...S,path:B});else p.push({path:B,message:`Validation failed for element ${m}`,code:"ELEMENT_INVALID"})}}}if(b&&c>l)for(let m=l;m<c;m++){let C=b.validate(u[m]);if(!C.valid&&C.errors){let F=`${e}[${m}]`;for(let k of C.errors)p.push({...k,path:F})}}return p.length>0?{...x,errors:p}:j})});export{Z as tupleBuilderPlugin};