UNPKG

@speckle/shared

Version:

Shared code between various Speckle JS packages

50 lines 1.91 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.previewResultPayload = exports.jobPayload = void 0; const zod_1 = __importDefault(require("zod")); const job = zod_1.default.object({ jobId: zod_1.default.string() }); exports.jobPayload = job.merge(zod_1.default.object({ url: zod_1.default.string(), token: zod_1.default.string(), responseQueue: zod_1.default.string() })); const previewPageResult = zod_1.default.object({ durationSeconds: zod_1.default.number().describe('Duration to generate the preview, in seconds'), screenshots: zod_1.default.record(zod_1.default.string(), zod_1.default.string()) }); const durationDetail = zod_1.default.object({ loadDurationSeconds: zod_1.default .number() .describe('Duration to load the object from the server in seconds') .optional(), renderDurationSeconds: zod_1.default .number() .describe('Duration to render the preview images in seconds') .optional() }); const previewJobResult = previewPageResult.merge(durationDetail); const previewSuccessPayload = job.merge(zod_1.default.object({ status: zod_1.default.literal('success'), result: previewJobResult })); const previewErrorPayload = job.merge(zod_1.default.object({ status: zod_1.default.literal('error'), reason: zod_1.default.string(), result: zod_1.default .object({ durationSeconds: zod_1.default .number() .describe('Duration spent processing the job before erroring, in seconds') }) .merge(durationDetail) })); exports.previewResultPayload = zod_1.default.discriminatedUnion('status', [ previewSuccessPayload, previewErrorPayload ]); //# sourceMappingURL=job.js.map