@dfinity/zod-schemas
Version:
A collection of reusable Zod schemas and validators for common data patterns in ICP applications
5 lines (4 loc) • 744 B
JavaScript
import { createRequire as topLevelCreateRequire } from 'module';
const require = topLevelCreateRequire(import.meta.url);
import{Principal as i}from"@icp-sdk/core/principal";import*as n from"zod";var f=n.string().refine(r=>{try{return i.fromText(r),!0}catch{return!1}},{error:"Invalid textual representation of a Principal."});import*as l from"zod";var p=({additionalProtocols:r=[],allowHttpLocally:o=!0})=>l.url().refine(a=>{try{let t=[...new Set(["https:",...r])],{protocol:e,hostname:c}=new URL(a);return o&&["localhost","127.0.0.1"].includes(c)?["http:",...t].includes(e):t.includes(e)}catch{return!1}},{error:"Invalid URL."}),u=p({});export{f as PrincipalTextSchema,u as UrlSchema,p as createUrlSchema};
//# sourceMappingURL=index.mjs.map