@ant-basement/core
Version:
Ant Basement JavaScript SDK Core
94 lines • 6.43 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "../../constant"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constant_1 = require("../../constant");
function ruleOfField(_, value) {
function validateField(name) {
if (/[\.\$]/.test(name)) {
return constant_1.ErrorMessages.ILLEGAL;
}
}
if (Array.isArray(value)) {
return undefined;
}
if (typeof value === 'string') {
return validateField(value);
}
let result = null;
for (const key of Object.keys(value)) {
result = validateField(key);
if (typeof result === 'string') {
return result;
}
if (typeof value[key] === 'object') {
return ruleOfField(_, value[key]);
}
}
if (result === null) {
return constant_1.ErrorMessages.INVALID_TYPE;
}
}
exports.ruleOfField = ruleOfField;
function ruleOfFields(_, value) {
if (!Array.isArray(value)) {
return constant_1.ErrorMessages.NOT_ARRAY;
}
let err;
let i = 0;
while (!err && i < value.length) {
err = ruleOfField(null, value[i]);
i++;
}
return err;
}
exports.ruleOfFields = ruleOfFields;
function ruleOfDatabaseName(_, value) {
if (typeof value !== 'string') {
return constant_1.ErrorMessages.NOT_STRING;
}
if (value.trim().length === 0) {
return constant_1.ErrorMessages.NOT_EMPTY;
}
if (value.length > constant_1.MAX_DB_NAME_LENGTH) {
return constant_1.ErrorMessages.TOO_LONG;
}
if (/[\/\\\.\ \"\$]/.test(value)) {
return constant_1.ErrorMessages.ILLEGAL;
}
if (constant_1.INVALID_DB_NAMES.indexOf(value) > -1) {
return constant_1.ErrorMessages.SYSTEM;
}
}
exports.ruleOfDatabaseName = ruleOfDatabaseName;
function ruleOfCollectionName(_, value) {
if (typeof value !== 'string') {
return constant_1.ErrorMessages.NOT_STRING;
}
if (value.trim().length === 0) {
return constant_1.ErrorMessages.NOT_EMPTY;
}
if (value.length > constant_1.MAX_ID_NAME_LENGTH) {
return constant_1.ErrorMessages.TOO_LONG;
}
if (value.indexOf('$') > -1) {
return constant_1.ErrorMessages.ILLEGAL;
}
const namespace = value.split('.').shift();
if (constant_1.INVALID_COLL_NAMES.indexOf(namespace) >= 0) {
return constant_1.ErrorMessages.ILLEGAL;
}
if (!/^[_a-z]/i.test(value)) {
return constant_1.ErrorMessages.ILLEGAL;
}
}
exports.ruleOfCollectionName = ruleOfCollectionName;
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbGl0eS9ydWxlcy9tb25nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQUNBLDZDQU13QjtJQVF4QixTQUFnQixXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUs7UUFDbEMsU0FBUyxhQUFhLENBQUMsSUFBWTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3ZCLE9BQU8sd0JBQWEsQ0FBQyxPQUFPLENBQUM7YUFDOUI7UUFDSCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFFRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFNUIsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7WUFDRCxJQUFJLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDbEMsT0FBTyxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ25DO1NBQ0Y7UUFFRCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsT0FBTyx3QkFBYSxDQUFDLFlBQVksQ0FBQztTQUNuQztJQUNILENBQUM7SUE3QkQsa0NBNkJDO0lBUUQsU0FBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxLQUFLO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sd0JBQWEsQ0FBQyxTQUFTLENBQUM7U0FDaEM7UUFFRCxJQUFJLEdBQUcsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDL0IsR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxFQUFFLENBQUM7U0FDTDtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQWJELG9DQWFDO0lBUUQsU0FBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLEtBQUs7UUFHekMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyx3QkFBYSxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsT0FBTyx3QkFBYSxDQUFDLFNBQVMsQ0FBQztTQUNoQztRQUVELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyw2QkFBa0IsRUFBRTtZQUNyQyxPQUFPLHdCQUFhLENBQUMsUUFBUSxDQUFDO1NBQy9CO1FBR0QsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEMsT0FBTyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztTQUM5QjtRQUVELElBQUksMkJBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sd0JBQWEsQ0FBQyxNQUFNLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBdkJELGdEQXVCQztJQVFELFNBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxLQUFLO1FBRzNDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLE9BQU8sd0JBQWEsQ0FBQyxVQUFVLENBQUM7U0FDakM7UUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE9BQU8sd0JBQWEsQ0FBQyxTQUFTLENBQUM7U0FDaEM7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsNkJBQWtCLEVBQUU7WUFDckMsT0FBTyx3QkFBYSxDQUFDLFFBQVEsQ0FBQztTQUMvQjtRQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUMzQixPQUFPLHdCQUFhLENBQUMsT0FBTyxDQUFDO1NBQzlCO1FBRUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQyxJQUFJLDZCQUFrQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUMsT0FBTyx3QkFBYSxDQUFDLE9BQU8sQ0FBQztTQUM5QjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sd0JBQWEsQ0FBQyxPQUFPLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBM0JELG9EQTJCQyJ9