UNPKG

@emanuelsan/mosaic-js

Version:

Composable Markdown-based AI instruction engine for Node.js

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