UNPKG

the-utils

Version:

Set of tools to keep simple things simple

93 lines (74 loc) 2.55 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.str = undefined; var _isInteger = require('babel-runtime/core-js/number/is-integer'); var _isInteger2 = _interopRequireDefault(_isInteger); var _array = require('./array'); var _object = require('./object'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // =========== String var template = function template(strings) { for (var _len = arguments.length, keys = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { keys[_key - 1] = arguments[_key]; } return function () { for (var _len2 = arguments.length, values = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { values[_key2] = arguments[_key2]; } var dict = _array.arr.get(values, [values.length - 1], {}); return strings.reduce(function (accumulator, part, i) { return accumulator + ((0, _isInteger2.default)(keys[i - 1]) ? _array.arr.get(values, keys[i - 1], '') : _object.obj.get(dict, keys[i - 1], '')) + part; }); }; }; var cmp = function cmp(a, b) { if (a < b) return -1; if (a > b) return 1; return 0; }; var toBoolean = function toBoolean(s) { var falsy = /^(?:f(?:alse)?|no?|0+)$/i; return !falsy.test(s) && !!s; }; var ucFirst = function ucFirst(string) { return typeof string === 'string' || string instanceof String ? string.charAt(0).toUpperCase() + string.slice(1).toLowerCase() : string; }; var short = function short(a, b) { a = a.toString(); b = b.toString(); var n = 0; var i = 0; for (i = 0, n = Math.max(a.length, b.length); i < n && a.charAt(i) === b.charAt(i); ++i) {} if (i === n) return 0; return a.charAt(i) > b.charAt(i) ? -1 : 1; }; var search = function search(str1, str2) { return String(str1 || ''.toLowerCase()).includes(String(str2 || ''.toLowerCase())); }; var btoa = function btoa(str) { return Buffer.from(str).toString('base64'); }; var checkport = function checkport(host, port) { return host.indexOf(':') === -1 ? host + ':' + port : host; }; var getCookie = function getCookie(name) { if (typeof document !== 'undefined') { var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); // eslint-disable-line no-undef return v ? v[2] : undefined; } return undefined; }; var str = exports.str = { template: template, cmp: cmp, toBoolean: toBoolean, ucFirst: ucFirst, short: short, search: search, btoa: btoa, checkport: checkport, getCookie: getCookie }; exports.default = str;