@util.js/strings
Version:
JavaScript utility methods for strings
116 lines (112 loc) • 4.03 kB
JavaScript
;
/**
* 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");
}