every-plugin
Version:
1 lines • 964 B
Source Map (JSON)
{"version":3,"file":"validation.cjs","names":["Effect","ValidationError"],"sources":["../../src/runtime/validation.ts"],"sourcesContent":["import { Effect } from \"effect\";\nimport type { z } from \"zod\";\nimport { ValidationError } from \"./errors\";\n\nexport const validate = <T>(\n schema: z.ZodSchema<T>,\n data: unknown,\n pluginId: string,\n stage: \"config\" | \"input\" | \"output\" | \"state\",\n): Effect.Effect<T, ValidationError> =>\n Effect.gen(function* () {\n const result = schema.safeParse(data);\n if (result.success) {\n return result.data;\n }\n return yield* Effect.fail(\n new ValidationError({\n pluginId,\n stage,\n zodError: result.error,\n }),\n );\n });\n"],"mappings":";;;;;AAIA,MAAa,YACX,QACA,MACA,UACA,UAEAA,cAAO,IAAI,aAAa;CACtB,MAAM,SAAS,OAAO,UAAU,KAAK;AACrC,KAAI,OAAO,QACT,QAAO,OAAO;AAEhB,QAAO,OAAOA,cAAO,KACnB,IAAIC,+BAAgB;EAClB;EACA;EACA,UAAU,OAAO;EAClB,CAAC,CACH;EACD"}