@stndrds/schema 1.0.0-alpha.333 → 1.0.0-alpha.335
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{all-BLytyk5I.d.mts → all-hyIoY9Y2.d.mts} +1 -0
- package/dist/{all-Cf6oNz9y.d.ts → all-m7G8bXjY.d.ts} +1 -0
- package/dist/config-BvijG1IN.js +13 -0
- package/dist/{config-CHSqDLhx.mjs → config-aeELOnWd.mjs} +5 -5
- package/dist/index.d.mts +92 -3
- package/dist/index.d.ts +92 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +9 -9
- package/dist/{object-CUkTFj0u.js → object-BfGtzS7g.js} +2 -2
- package/dist/object-D-aDCAHn.mjs +4 -0
- package/dist/{phone-CLsxU8tv.js → phone-CUgSbH-z.js} +1 -1
- package/dist/{phone-DfXAzPpD.mjs → phone-X_nKo0qe.mjs} +1 -1
- package/dist/validation/all.d.mts +1 -1
- package/dist/validation/all.d.ts +1 -1
- package/dist/validation/all.js +1 -1
- package/dist/validation/all.mjs +1 -1
- package/dist/validation/complex/phone.js +1 -1
- package/dist/validation/complex/phone.mjs +1 -1
- package/dist/validation/config/index.js +1 -1
- package/dist/validation/config/index.mjs +1 -1
- package/dist/validation/object/index.js +1 -1
- package/dist/validation/object/index.mjs +1 -1
- package/dist/{view-config.schema-D-TbyG6j.js → view-config.schema-4QhPV9el.js} +1 -1
- package/dist/{view-config.schema-CcfExWMt.mjs → view-config.schema-CMjVNRCh.mjs} +1 -1
- package/package.json +2 -2
- package/dist/config-CFYxsRcx.js +0 -13
- package/dist/object-B9V5JZzh.mjs +0 -4
package/dist/object-B9V5JZzh.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
import{ValidationError as e}from"./exceptions.mjs";import{t}from"./text-C8Lb-NFo.mjs";import{t as n}from"./phone-DfXAzPpD.mjs";import{n as r,t as i}from"./core-BLHhNykL.mjs";import{createCurrencyValidator as a}from"./validation/complex/currency.mjs";import{createLocationValidator as o}from"./validation/complex/location.mjs";import{createRelationValidator as s}from"./validation/complex/relation.mjs";import{createRichtextValidator as c}from"./validation/complex/richtext.mjs";import{createMultiselectValidator as l,createSelectValidator as u,createStatusValidator as d}from"./validation/complex/select.mjs";import{createUserValidator as f}from"./validation/complex/user.mjs";import{createFormulaValidator as p}from"./validation/computed/formula.mjs";import{createRollupValidator as m}from"./validation/computed/rollup.mjs";import{createCheckboxValidator as h}from"./validation/primitives/checkbox.mjs";import{createDateValidator as g}from"./validation/primitives/date.mjs";import{createNumberValidator as _}from"./validation/primitives/number.mjs";import{z as v}from"zod";function isNullishOrEmptyString(e){return e==null||e===``}function isValuePresent(e){return e==null?!1:typeof e==`string`?e.trim()!==``:!Array.isArray(e)||e.length>0}const y={phone:[`countryCode`]};function isEmptyValue(e,t=[]){return e==null||typeof e==`string`&&e.trim()===``?!0:e instanceof Date?!1:typeof e==`object`&&!Array.isArray(e)&&Object.entries(e).filter(([e])=>!t.includes(e)).every(([,e])=>e==null||typeof e==`string`&&e.trim()===``)}function withEmptyToNull(e,t){return v.preprocess(e=>isEmptyValue(e,t)?null:e,e.nullish())}function createAttributeValidator(e,i=r){switch(e.type){case`text`:return t(e,i);case`richtext`:return c(e,i);case`number`:return _(e,i);case`checkbox`:return h(e,i);case`date`:return g(e,i);case`phone`:return n(e,i);case`currency`:return a(e,i);case`status`:return d(e,i);case`location`:return o(e,i);case`select`:return u(e,i);case`multiselect`:return l(e,i);case`user`:return f(e,i);case`relation`:return s(e,i);case`formula`:return p(e,i);case`rollup`:return m(e,i);default:return v.unknown()}}function createFormAttributeValidator(e,t=r){let n=createAttributeValidator(e,t);return e.required?n:withEmptyToNull(n,y[e.type])}const b=new WeakMap,x=new WeakMap;function createObjectValidator(e){let t=b.get(e);if(t)return t;let n={};for(let t of e.attributes){let e=createAttributeValidator(t);t.required?n[t.name]=e.refine(isValuePresent,{message:r.required(t)}):n[t.name]=withEmptyToNull(e,y[t.type])}let i=v.object(n).passthrough();return b.set(e,i),i}function createDraftValidator(e){let t=x.get(e);if(t)return t;let n={};for(let t of e.attributes){let e=createAttributeValidator(t);n[t.name]=withEmptyToNull(e,y[t.type])}let r=v.object(n).passthrough();return x.set(e,r),r}function validateAttribute(e,t){let n=createAttributeValidator(e);if(!e.required&&t==null)return{success:!0,data:{[e.name]:t}};let r=n.safeParse(t);return r.success?{success:!0,data:{[e.name]:r.data}}:{success:!1,errors:i(r.error).map(t=>({path:[e.name,...t.path],message:t.message}))}}function validateObject(e,t){let n=createObjectValidator(e).safeParse(t);return n.success?{success:!0,data:n.data}:{success:!1,errors:i(n.error)}}function validateObjectOrThrow(t,n){let r=validateObject(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
|
|
3
|
-
`)||`Unknown validation error`;throw new e(`Validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function validateDraft(e,t){let n=createDraftValidator(e).safeParse(t);return n.success?{success:!0,data:n.data}:{success:!1,errors:i(n.error)}}function validateDraftOrThrow(t,n){let r=validateDraft(t,n);if(!r.success){let n=r.errors??[],i=n.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`
|
|
4
|
-
`)||`Unknown validation error`;throw new e(`Draft validation failed for ${t.label}:\n${i}`,n.map(e=>({path:e.path,message:e.message})))}return r.data}function rejectUnknownAttributesOrThrow(t,n){let r=new Set(t.attributes.map(e=>e.name)),i=Object.keys(n).filter(e=>!r.has(e));if(i.length>0)throw new e(`Unknown attribute${i.length>1?`s`:``} for ${t.label}: ${i.join(`, `)}`,i.map(e=>({path:[e],message:`Unknown attribute`})))}function getMissingRequiredAttributes(e,t){let n=[];for(let r of e.attributes)r.required&&!isValuePresent(t[r.name])&&n.push(r);return n}function isRecordComplete(e,t){return getMissingRequiredAttributes(e,t).length>0?!1:validateObject(e,t).success}export{validateDraft as a,validateObjectOrThrow as c,createAttributeValidator as d,createFormAttributeValidator as f,validateAttribute as i,createDraftValidator as l,isValuePresent as m,isRecordComplete as n,validateDraftOrThrow as o,isNullishOrEmptyString as p,rejectUnknownAttributesOrThrow as r,validateObject as s,getMissingRequiredAttributes as t,createObjectValidator as u};
|