UNPKG

@util.js/strings

Version:

JavaScript utility methods for strings

116 lines (112 loc) 4.03 kB
"use strict"; /** * JavaScript utility methods for strings * @public * @class */ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of")); var _fromCodePoint = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/string/from-code-point")); var _raw = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/string/raw")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass")); var Strings = /*#__PURE__*/function () { function Strings() { (0, _classCallCheck2["default"])(this, Strings); } (0, _createClass2["default"])(Strings, [{ key: "base64ToBase64Url", value: function base64ToBase64Url() { var _base64url; return (_base64url = base64url()).fromBase64.apply(_base64url, arguments); } }, { key: "base64UrlDecode", value: function base64UrlDecode() { var _base64url2; return (_base64url2 = base64url()).decode.apply(_base64url2, arguments); } }, { key: "base64UrlEncode", value: function base64UrlEncode() { var _base64url3; return (_base64url3 = base64url()).encode.apply(_base64url3, arguments); } }, { key: "base64UrlToBase64", value: function base64UrlToBase64() { var _base64url4; return (_base64url4 = base64url()).toBase64.apply(_base64url4, arguments); } }, { key: "base64UrlToBuffer", value: function base64UrlToBuffer() { var _base64url5; return (_base64url5 = base64url()).toBuffer.apply(_base64url5, arguments); } // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith }, { key: "endsWith", value: function endsWith(str, searchString, position) { var subjectString = str.toString(); if (position === undefined || position > subjectString.length) position = subjectString.length; position -= searchString.length; var lastIndex = (0, _indexOf["default"])(subjectString).call(subjectString, searchString, position); return lastIndex !== -1 && lastIndex === position; } }, { key: "fromCharCode", value: function fromCharCode() { return String.fromCharCode.apply(String, arguments); } }, { key: "fromCodePoint", value: function fromCodePoint() { return _fromCodePoint["default"].apply(String, arguments); } /** * Returns whether the specified object is an instance of string or not. * * This implementation comes from a [Stack Overflow answer]{@link https://stackoverflow.com/a/9436948}. * * @param {Object} object - the object to test * @returns {boolean} true if the specified object is an instance of string and false otherwise * @public * @function */ }, { key: "isString", value: function isString(object) { return typeof object === "string" || object instanceof String; } }, { key: "pad", value: function pad(n, width, z) { z = z || "0"; z = z + ""; if (z.length > 1) throw new Error("The padding character must have a length of 1 but was " + z.length); n = n + ""; return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n; } }, { key: "raw", value: function raw() { return _raw["default"].apply(String, arguments); } // https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/ }, { key: "stripTags", value: function stripTags(str) { return str.replace(/(<([^>]+)>)/gi, ""); } }]); return Strings; }(); module.exports = Strings; var dependencies = {}; function get(dependency) { return dependencies[dependency] || (dependencies[dependency] = require(dependency)); } function base64url() { return get("base64url"); }