graphql-paper
Version:
A flexible in-memory store based on a GraphQL Schema
28 lines (26 loc) • 947 B
JavaScript
'use strict';
var zod = require('zod');
const zodSerializedDocumentSchema = zod.z.object({
__meta__: zod.z.object({
DOCUMENT_KEY: zod.z.string(),
DOCUMENT_CONNECTIONS: zod.z.record(zod.z.string(), zod.z.array(zod.z.string())),
DOCUMENT_GRAPHQL_TYPENAME: zod.z.string()
}).strict()
});
const zodSerializedPaperSchema = zod.z.object({
__meta__: zod.z.object({
NULL_DOCUMENT_KEY: zod.z.string()
}),
store: zod.z.record(zod.z.string(), zod.z.array(zodSerializedDocumentSchema))
}).strict();
function assertValidSerializedPaper(possiblySerializedPaper) {
try {
zodSerializedPaperSchema.parse(possiblySerializedPaper);
} catch (originalError) {
const error = new Error('SerializedPaper is not valid. See `cause` property for validation error');
error.cause = originalError;
throw error;
}
}
exports.assertValidSerializedPaper = assertValidSerializedPaper;
//# sourceMappingURL=is-serialized-paper.js.map