UNPKG

@emanuelsan/mosaic-js

Version:

Composable Markdown-based AI instruction engine for Node.js

19 lines 717 B
import { Data, Effect, Either, Schema } from 'effect'; // Schema Definitions export const TemplateVariablesSchema = Schema.Record({ key: Schema.String, value: Schema.Union(Schema.String, Schema.Number), }); // Error Definitions class VariablesDecodeError extends Data.TaggedError('VariablesDecodeError') { } export const decodeVariables = (variables) => Effect.gen(function* () { const decoded = Schema.decodeUnknownEither(TemplateVariablesSchema)(variables); if (Either.isLeft(decoded)) { return yield* Effect.fail(new VariablesDecodeError({ message: 'Template variables are not valid.', })); } return decoded.right; }); //# sourceMappingURL=decodeVariables.js.map