"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; })();