UNPKG

sveltekit-superforms

Version:

Making SvelteKit forms a pleasure to use!

41 lines (40 loc) 1.32 kB
import { createAdapter, createJsonSchema } from './adapters.js'; import { memoize } from '../memoize.js'; async function modules() { const { validate } = await import(/* webpackIgnore: true */ '@typeschema/class-validator'); return { validate }; } const fetchModule = /* @__PURE__ */ memoize(modules); async function validate(schema, data) { const { validate } = await fetchModule(); const result = await validate(schema, data); if (result.success) { return { data: result.data, success: true }; } return { issues: result.issues.map(({ message, path }) => ({ message, path })), success: false }; } function _classvalidator(schema, options) { return createAdapter({ superFormValidationLibrary: 'classvalidator', validate: async (data) => validate(schema, data), jsonSchema: createJsonSchema(options), defaults: options.defaults }); } function _classvalidatorClient(schema) { return { superFormValidationLibrary: 'classvalidator', validate: async (data) => validate(schema, data) }; } export const classvalidator = /* @__PURE__ */ memoize(_classvalidator); export const classvalidatorClient = /* @__PURE__ */ memoize(_classvalidatorClient);