UNPKG

@kitmi/utils

Version:

A JavaScript utility library for both server and browser

50 lines (49 loc) 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const pairs = { '(': ')', '[': ']', '{': '}', '<': '>' }; /** * Unwrap a string * @function string.unwrap * @param {String} str * @param {String} [startToken] - Start token, default " * @param {String} [endToken] - End token, default " * @returns {String} */ function unwrap(str, startToken, endToken) { if (typeof str !== 'string') { return str; } if (str.length < 2) { return str; } if (startToken == null && endToken == null) { let start = str[0]; let end = str[str.length - 1]; const endToken2 = pairs[start]; if (endToken2 == null || end !== endToken2) { return str; } return str.slice(1, -1); } if (endToken == null) { endToken = startToken; } if (str.startsWith(startToken) && str.endsWith(endToken)) { return str.slice(startToken.length, -endToken.length); } return str; } const _default = unwrap; //# sourceMappingURL=unwrap.js.map