UNPKG

@inkline/inkline

Version:

Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.

33 lines (32 loc) 976 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createSchemaFromDefaults = createSchemaFromDefaults; var _validation = require("@inkline/inkline/validation"); var _constants = require("@inkline/inkline/constants"); function createSchemaFromDefaults(defaultValues) { const resolved = { ..._constants.defaultValidationStateValues }; for (const key of Object.keys(defaultValues)) { const field = defaultValues[key]; if (Array.isArray(field)) { resolved[key] = field.map(item => { if (typeof item === "object") { return createSchemaFromDefaults(item); } return (0, _validation.createFormFieldSchema)({ value: item }); }); } else if (typeof field === "object") { resolved[key] = createSchemaFromDefaults(field); } else { resolved[key] = (0, _validation.createFormFieldSchema)({ value: field }); } } return resolved; }