@clipboard-health/contract-core v0.16.0
@clipboard-health/contract-core
Shared Zod schemas for Clipboard's contracts.
Table of contents
Install
npm install @clipboard-health/contract-core
Usage
Zod schemas
import { apiErrors, booleanString, nonEmptyString, uuid } from "@clipboard-health/contract-core";
import { type ZodError } from "zod";
function logError(error: unknown) {
console.error((error as ZodError).issues[0]!.message);
}
apiErrors.parse({
errors: [
{
code: "NotFound",
detail: "Resource 'b146a790-9ed1-499f-966d-6c4905dc667f' not found",
id: "6191a8a0-96ff-4d4b-8e0f-746a5ab215f9",
status: "404",
title: "Not Found",
},
],
});
booleanString.parse("true");
try {
booleanString.parse("invalid");
} catch (error) {
logError(error);
// => Invalid enum value. Expected 'true' | 'false', received 'invalid'
}
nonEmptyString.parse("hello");
try {
nonEmptyString.parse("");
} catch (error) {
logError(error);
// => String must contain at least 1 character(s)
}
// UUID validation examples
uuid.parse("b8d617bb-edef-4262-a6e3-6cc807fa1b26");
try {
uuid.parse("invalid");
} catch (error) {
logError(error);
// => Invalid UUID format
}
Local development commands
See package.json
scripts
for a list of commands.
8 months ago
8 months ago
11 months ago
11 months ago
6 months ago
11 months ago
6 months ago
9 months ago
4 months ago
6 months ago
9 months ago
4 months ago
4 months ago
9 months ago
4 months ago
9 months ago
8 months ago
11 months ago
11 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
8 months ago
7 months ago
4 months ago
7 months ago
7 months ago
4 months ago
7 months ago
7 months ago
6 months ago
8 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago