UNPKG

@ant-basement/core

Version:

Ant Basement JavaScript SDK Core

79 lines 5.53 kB
import { ErrorMessages, MAX_ID_NAME_LENGTH, MAX_DB_NAME_LENGTH, INVALID_DB_NAMES, INVALID_COLL_NAMES, } from '../../constant'; export function ruleOfField(_, value) { function validateField(name) { if (/[\.\$]/.test(name)) { return ErrorMessages.ILLEGAL; } } if (Array.isArray(value)) { return undefined; } if (typeof value === 'string') { return validateField(value); } var result = null; for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) { var key = _a[_i]; result = validateField(key); if (typeof result === 'string') { return result; } if (typeof value[key] === 'object') { return ruleOfField(_, value[key]); } } if (result === null) { return ErrorMessages.INVALID_TYPE; } } export function ruleOfFields(_, value) { if (!Array.isArray(value)) { return ErrorMessages.NOT_ARRAY; } var err; var i = 0; while (!err && i < value.length) { err = ruleOfField(null, value[i]); i++; } return err; } export function ruleOfDatabaseName(_, value) { if (typeof value !== 'string') { return ErrorMessages.NOT_STRING; } if (value.trim().length === 0) { return ErrorMessages.NOT_EMPTY; } if (value.length > MAX_DB_NAME_LENGTH) { return ErrorMessages.TOO_LONG; } if (/[\/\\\.\ \"\$]/.test(value)) { return ErrorMessages.ILLEGAL; } if (INVALID_DB_NAMES.indexOf(value) > -1) { return ErrorMessages.SYSTEM; } } export function ruleOfCollectionName(_, value) { if (typeof value !== 'string') { return ErrorMessages.NOT_STRING; } if (value.trim().length === 0) { return ErrorMessages.NOT_EMPTY; } if (value.length > MAX_ID_NAME_LENGTH) { return ErrorMessages.TOO_LONG; } if (value.indexOf('$') > -1) { return ErrorMessages.ILLEGAL; } var namespace = value.split('.').shift(); if (INVALID_COLL_NAMES.indexOf(namespace) >= 0) { return ErrorMessages.ILLEGAL; } if (!/^[_a-z]/i.test(value)) { return ErrorMessages.ILLEGAL; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbGl0eS9ydWxlcy9tb25nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUs7SUFDbEMsU0FBUyxhQUFhLENBQUMsSUFBWTtRQUNqQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzdCO0lBRUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLEtBQWtCLFVBQWtCLEVBQWxCLEtBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBbEIsY0FBa0IsRUFBbEIsSUFBa0IsRUFBRTtRQUFqQyxJQUFNLEdBQUcsU0FBQTtRQUNaLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFNUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7WUFDOUIsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ2xDLE9BQU8sV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNuQztLQUNGO0lBRUQsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO1FBQ25CLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQztLQUNuQztBQUNILENBQUM7QUFRRCxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQUMsRUFBRSxLQUFLO0lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQztLQUNoQztJQUVELElBQUksR0FBRyxDQUFDO0lBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUMvQixHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDLEVBQUUsQ0FBQztLQUNMO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBUUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLO0lBR3pDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQztLQUNqQztJQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDN0IsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO0tBQ2hDO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLGtCQUFrQixFQUFFO1FBQ3JDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQztLQUMvQjtJQUdELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2hDLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztLQUM5QjtJQUVELElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQ3hDLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQztLQUM3QjtBQUNILENBQUM7QUFRRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEtBQUs7SUFHM0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDO0tBQ2pDO0lBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUM3QixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7S0FDaEM7SUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLEVBQUU7UUFDckMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDO0tBQy9CO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztLQUM5QjtJQUVELElBQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzlDLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztLQUM5QjtJQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzNCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQztLQUM5QjtBQUNILENBQUMifQ==