@ant-basement/core
Version:
Ant Basement JavaScript SDK Core
79 lines • 5.53 kB
JavaScript
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==