UNPKG

indicative-parser

Version:
60 lines (59 loc) 1.25 kB
import { Schema, Messages, ParsedSchema, ParsedMessages } from './Contracts'; /** * Parses the schema object to a tree of parsed schema. The * output is optimized for executing validation rules. * * @example * ``` * parser({ * 'users.*.username': 'required' * }) * * // output * * { * users: { * type: 'array', * rules: [], * each: { * '*': { * rules: [], * children: { * username: { * type: 'literal', * rules: [{ * name: 'required', * args: [] * }] * } * } * } * } * } * } * ``` */ export declare function rulesParser(schema: Schema): ParsedSchema; /** * Parses an object of messages to [[ParsedMessages]] list. The messages list * is simpler than rules tree, since compiler can use the schema tree to find * the appropriate messages from the flat list of messages. * * @example * ``` * parser({ * 'users.*.username.required': 'Username is required' * }) * * // output * * { * fields: { * 'users.*.username': { * required: 'Username is required' * } * }, * rules: {}, * } */ export declare function messagesParser(schema: Messages): ParsedMessages;