UNPKG

sbis3-node-ws

Version:

Модуль позволяет использовать ядро интерфейсного фреймворка sbis3-ws(`core.js`) и модуль работы с данными (`Source.js`) в приложении на nodejs.

151 lines (150 loc) 4.92 kB
define('js!Core/tmpl/js/helpers/utils', function utilsLoader() { 'use strict'; var utils = { mapForLoop: function mapForLoop(array, mapFunction) { var arrayLen = array.length, newArray = new Array(arrayLen), i; for (i = 0; i < arrayLen; i++) { newArray[i] = mapFunction(array[i], i, array); } return newArray; }, eachObject: function eachObject(object, modifier) { var value; for (value in object) { if (object.hasOwnProperty(value)) { object[value] = modifier(object[value], value); } } return object; }, inArray: function inArray(array, needle) { var i; for (i = 0; i < array.length; i++) { if (array[i] === needle) { return true; } } return false; }, flattenArray: function flattenArray(ar1, ar2) { return [].concat.apply(ar1, ar2); }, isNode: function isNode() { return (typeof global !== 'undefined' && Object.prototype.toString.call(global.process) === '[object process]'); }, isFunction: function isFunction(string) { var f = string.split(/\(([^\(]*)\)/); if (f.length === 1) { return false; } return f; }, isProperty: function isProperty(string) { return /^(on-[A-z0-9])\w*$/.test(string); }, isStyle: function isStyle(string) { return string === 'style'; }, isNumber: function isNumber(string) { return /^((?=\.\d|\d)(?:\d+)?(?:\.?\d*)(?:[eE][+-]?\d+)?)$/.test(string.trim()); }, isString: function isString(string) { return (Object.prototype.toString.call(string) === '[object String]'); }, isArray: function isArray(array) { return (Object.prototype.toString.call(array) === '[object Array]'); }, isVar: function isVar(string) { return !/['"].*?['"]/.test(string) && isNaN(parseInt(string)); }, getFirstLetter: function getFirstLetter(string) { return string.charAt(0); }, isUpperCase: function isUpperCase(firstLetter) { return firstLetter === firstLetter.toUpperCase(); }, removeAllSpaces: function removeAllSpaces(string) { return string.replace(/\s/g, ""); }, splitWs: function splitWs(string) { var ws; if (string !== undefined) { ws = string.split('ws:'); return ws[1]; } return undefined; }, clone: function clone(src) { function mixin(dest, source, copyFunc) { var name, s, i, empty = {}; for (name in source) { s = source[name]; if (!(name in dest) || (dest[name] !== s && (!(name in empty) || empty[name] !== s))) { dest[name] = copyFunc ? copyFunc(s) : s; } } return dest; } if (!src || typeof src != "object" || Object.prototype.toString.call(src) === "[object Function]") { return src; } if (src.nodeType && "cloneNode" in src) { return src.cloneNode(true); } if (src instanceof Date) { return new Date(src.getTime()); } if (src instanceof RegExp) { return new RegExp(src); } var r, i, l; if (src instanceof Array) { r = []; for (i = 0, l = src.length; i < l; ++i) { if (i in src) { r.push(clone(src[i])); } } } else { r = src.constructor ? new src.constructor() : {}; } return mixin(r, src, clone); }, plainMergeAttrs: function plainMergeAttrs(inner, attrs) { for (var attr in attrs) { if (attrs.hasOwnProperty(attr)) { inner[attr] = attrs[attr]; } } return inner; }, escape: function escape(entity) { if (entity && entity.replace) { var tagsToReplace = { '&': '&amp;', '<': '&lt;', '>': '&gt;' }; return entity.replace(/[&<>]/g, function escapeReplace(tag) { return tagsToReplace[tag] || tag; }); } return entity; }, unescape: function unescape(safe) { if (safe && safe.replace) { return safe.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>'); } return safe; }, checkForKeys: function checkForKeys(entity) { if (entity.type === 'tag') { return entity.name !== 'ws:template'; } return false; } }; return utils; });