137 lines
2.9 KiB
JavaScript
137 lines
2.9 KiB
JavaScript
"use strict";
|
|
|
|
import {Patterns} from "./Patterns.ecma.js";
|
|
|
|
/**
|
|
* @class
|
|
* @constructor
|
|
* @returns {void}
|
|
* @access public
|
|
*/
|
|
export const Check = (function(){
|
|
|
|
/**
|
|
* @constructs Check
|
|
* @returns {void}
|
|
* @access private
|
|
*/
|
|
const Check = function(){};
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_array = item => item instanceof Array;
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_dictionary = item => item && item.constructor == Object;
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_string = item => typeof item == "string";
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_key = item => Check.is_string(item) && Patterns.RE_KEY.test(item);
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_pascal_key = item => Check.is_string(item) && Patterns.RE_PASCAL_KEY.test(item);
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_function = item => typeof item == "function";
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_null_or_undefined = item => item === null || item === undefined;
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_html_item = item => item && (item.tagName || item.nodeName);
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_html_items = item => item instanceof NodeList;
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_bool = item => typeof item == "boolean";
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_json_object = item => Check.is_array(item) || Check.is_dictionary(item);
|
|
|
|
/**
|
|
* @param {?any} items
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_array_string = items => Check.is_array(items) && items.every(Check.is_string);
|
|
|
|
/**
|
|
* @param {!string} key
|
|
* @param {!string} [mark = "AnP"]
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_key_mark = (key, mark = "AnP") => key.slice(0, mark.length + 1) == mark + "_" && (
|
|
key.slice(-4) == "_end" ||
|
|
key.slice(-6) == "_start"
|
|
);
|
|
|
|
/**
|
|
* @param {?any} item
|
|
* @returns {boolean}
|
|
* @access public
|
|
* @static
|
|
*/
|
|
Check.is_number = item => typeof item == "number";
|
|
|
|
return Check;
|
|
})(); |