@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
20 lines (16 loc) • 939 B
JavaScript
import { ZodValidationError } from "../error/ZodValidationError.mjs";
import "../error/index.mjs";
import { z } from "zod";
//#region src/utils/zod.ts
function zParseWithErrorHandling(schema, data, customErrorMessage) {
const parseResult = schema.safeParse(data);
if (!parseResult.success) throw new ZodValidationError(customErrorMessage ?? `Error validating schema with data ${JSON.stringify(data)}`, parseResult.error);
return parseResult.data;
}
const zUniqueArray = (item) => z.array(item).refine((a) => new Set(a).size === a.length, "Array must have unique values");
const zOptionalToUndefined = (item) => z.optional(item.transform(() => void 0));
const zBase64Url = z.string().regex(/[a-zA-Z0-9_-]+/, "Must be a base64url string");
const zAnyUint8Array = z.instanceof(Uint8Array);
//#endregion
export { zAnyUint8Array, zBase64Url, zOptionalToUndefined, zParseWithErrorHandling, zUniqueArray };
//# sourceMappingURL=zod.mjs.map