foop
Version:
interfaces that describe their intentions.
47 lines (41 loc) • 6 kB
JavaScript
// -----
/** Used to compose unicode character classes. */
var rsAstralRange = '\\ud800-\\udfff'
var rsComboMarksRange = '\\u0300-\\u036f'
var reComboHalfMarksRange = '\\ufe20-\\ufe2f'
var rsComboSymbolsRange = '\\u20d0-\\u20ff'
var rsVarRange = '\\ufe0e\\ufe0f'
var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange
/** Used to compose unicode capture groups. */
var rsAstral = "[" + rsAstralRange + "]"
var rsCombo = "[" + rsComboRange + "]"
var rsFitz = '\\ud83c[\\udffb-\\udfff]'
var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")"
var rsNonAstral = "[^" + rsAstralRange + "]"
var rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}'
var rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]'
var rsZWJ = '\\u200d'
/** Used to compose unicode regexes. */
var reOptMod = rsModifier + "?"
var rsOptVar = "[" + rsVarRange + "]?"
var rsOptJoin = "(?:" + rsZWJ + "(?:" + ([rsNonAstral, rsRegional, rsSurrPair].join('|')) + ")" + (rsOptVar + reOptMod) + ")*"
var rsSeq = rsOptVar + reOptMod + rsOptJoin
var rsNonAstralCombo = "" + rsNonAstral + rsCombo + "?"
var rsSymbol = "(?:" + ([rsNonAstralCombo, rsCombo, rsRegional, rsSurrPair, rsAstral].join('|')) + ")"
/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
var reUnicode = RegExp((rsFitz + "(?=" + rsFitz + ")|" + (rsSymbol + rsSeq)), 'g')
/**
* Converts a Unicode `string` to an array.
* @since 5.0.0-beta.5
* @memberOf cast
*
* @param {string} string The string to convert.
* @return {Array} Returns the converted array.
*
* @TODO @example
*
*/
module.exports = function unicodeToArray(string) {
return string.match(reUnicode) || []
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pY29kZVRvQXJyYXkuanMiLCJzb3VyY2VzIjpbInVuaWNvZGVUb0FycmF5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tXG5cbi8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSBjaGFyYWN0ZXIgY2xhc3Nlcy4gKi9cbmNvbnN0IHJzQXN0cmFsUmFuZ2UgPSAnXFxcXHVkODAwLVxcXFx1ZGZmZidcbmNvbnN0IHJzQ29tYm9NYXJrc1JhbmdlID0gJ1xcXFx1MDMwMC1cXFxcdTAzNmYnXG5jb25zdCByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgPSAnXFxcXHVmZTIwLVxcXFx1ZmUyZidcbmNvbnN0IHJzQ29tYm9TeW1ib2xzUmFuZ2UgPSAnXFxcXHUyMGQwLVxcXFx1MjBmZidcbmNvbnN0IHJzVmFyUmFuZ2UgPSAnXFxcXHVmZTBlXFxcXHVmZTBmJ1xuY29uc3QgcnNDb21ib1JhbmdlID0gcnNDb21ib01hcmtzUmFuZ2UgKyByZUNvbWJvSGFsZk1hcmtzUmFuZ2UgKyByc0NvbWJvU3ltYm9sc1JhbmdlXG5cbi8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSBjYXB0dXJlIGdyb3Vwcy4gKi9cbmNvbnN0IHJzQXN0cmFsID0gYFske3JzQXN0cmFsUmFuZ2V9XWBcbmNvbnN0IHJzQ29tYm8gPSBgWyR7cnNDb21ib1JhbmdlfV1gXG5jb25zdCByc0ZpdHogPSAnXFxcXHVkODNjW1xcXFx1ZGZmYi1cXFxcdWRmZmZdJ1xuY29uc3QgcnNNb2RpZmllciA9IGAoPzoke3JzQ29tYm99fCR7cnNGaXR6fSlgXG5jb25zdCByc05vbkFzdHJhbCA9IGBbXiR7cnNBc3RyYWxSYW5nZX1dYFxuY29uc3QgcnNSZWdpb25hbCA9ICcoPzpcXFxcdWQ4M2NbXFxcXHVkZGU2LVxcXFx1ZGRmZl0pezJ9J1xuY29uc3QgcnNTdXJyUGFpciA9ICdbXFxcXHVkODAwLVxcXFx1ZGJmZl1bXFxcXHVkYzAwLVxcXFx1ZGZmZl0nXG5jb25zdCByc1pXSiA9ICdcXFxcdTIwMGQnXG5cbi8qKiBVc2VkIHRvIGNvbXBvc2UgdW5pY29kZSByZWdleGVzLiAqL1xuY29uc3QgcmVPcHRNb2QgPSBgJHtyc01vZGlmaWVyfT9gXG5jb25zdCByc09wdFZhciA9IGBbJHtyc1ZhclJhbmdlfV0/YFxuY29uc3QgcnNPcHRKb2luID0gYCg/OiR7cnNaV0p9KD86JHtbcnNOb25Bc3RyYWwsIHJzUmVnaW9uYWwsIHJzU3VyclBhaXJdLmpvaW4oJ3wnKX0pJHtyc09wdFZhciArIHJlT3B0TW9kfSkqYFxuY29uc3QgcnNTZXEgPSByc09wdFZhciArIHJlT3B0TW9kICsgcnNPcHRKb2luXG5jb25zdCByc05vbkFzdHJhbENvbWJvID0gYCR7cnNOb25Bc3RyYWx9JHtyc0NvbWJvfT9gXG5jb25zdCByc1N5bWJvbCA9IGAoPzoke1tyc05vbkFzdHJhbENvbWJvLCByc0NvbWJvLCByc1JlZ2lvbmFsLCByc1N1cnJQYWlyLCByc0FzdHJhbF0uam9pbignfCcpfSlgXG5cbi8qKiBVc2VkIHRvIG1hdGNoIFtzdHJpbmcgc3ltYm9sc10oaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2phdmFzY3JpcHQtdW5pY29kZSkuICovXG5jb25zdCByZVVuaWNvZGUgPSBSZWdFeHAoYCR7cnNGaXR6fSg/PSR7cnNGaXR6fSl8JHtyc1N5bWJvbCArIHJzU2VxfWAsICdnJylcblxuLyoqXG4gKiBDb252ZXJ0cyBhIFVuaWNvZGUgYHN0cmluZ2AgdG8gYW4gYXJyYXkuXG4gKiBAc2luY2UgNS4wLjAtYmV0YS41XG4gKiBAbWVtYmVyT2YgY2FzdFxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybiB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAqXG4gKiBAVE9ETyBAZXhhbXBsZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB1bmljb2RlVG9BcnJheShzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZy5tYXRjaChyZVVuaWNvZGUpIHx8IFtdXG59XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFHQUEsR0FBSyxDQUFDLGFBQWEsR0FBRyxpQkFBaUI7QUFDdkNBLEdBQUssQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUI7QUFDM0NBLEdBQUssQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUI7QUFDL0NBLEdBQUssQ0FBQyxtQkFBbUIsR0FBRyxpQkFBaUI7QUFDN0NBLEdBQUssQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO0FBQ25DQSxHQUFLLENBQUMsWUFBWSxHQUFHLGlCQUFpQixHQUFHLHFCQUFxQixHQUFHLG1CQUFtQjs7O0FBR3BGQSxHQUFLLENBQUMsUUFBUSxHQUFHLEdBQUUsR0FBRSxhQUFhLE1BQUUsQUFBQztBQUNyQ0EsR0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFFLEdBQUUsWUFBWSxNQUFFLEFBQUM7QUFDbkNBLEdBQUssQ0FBQyxNQUFNLEdBQUcsMEJBQTBCO0FBQ3pDQSxHQUFLLENBQUMsVUFBVSxHQUFHLEtBQUksR0FBRSxPQUFPLE1BQUUsR0FBRSxNQUFNLE1BQUUsQUFBQztBQUM3Q0EsR0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFHLEdBQUUsYUFBYSxNQUFFLEFBQUM7QUFDekNBLEdBQUssQ0FBQyxVQUFVLEdBQUcsaUNBQWlDO0FBQ3BEQSxHQUFLLENBQUMsVUFBVSxHQUFHLG9DQUFvQztBQUN2REEsR0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTOzs7QUFHdkJBLEdBQUssQ0FBQyxRQUFRLEdBQUcsQUFBRyxVQUFVLE1BQUUsQUFBQztBQUNqQ0EsR0FBSyxDQUFDLFFBQVEsR0FBRyxHQUFFLEdBQUUsVUFBVSxPQUFHLEFBQUM7QUFDbkNBLEdBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSSxHQUFFLEtBQUssUUFBSSxJQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUEsTUFBRSxJQUFFLFFBQVEsR0FBRyxRQUFRLENBQUEsT0FBRyxBQUFDO0FBQzdHQSxHQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsU0FBUztBQUM3Q0EsR0FBSyxDQUFDLGdCQUFnQixHQUFHLEVBQUMsR0FBRSxXQUFXLEdBQUcsT0FBTyxNQUFFLEFBQUM7QUFDcERBLEdBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSSxJQUFFLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBLE1BQUUsQUFBQzs7O0FBR2pHQSxHQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEFBQUcsTUFBTSxRQUFJLEdBQUUsTUFBTSxPQUFHLElBQUUsUUFBUSxHQUFHLEtBQUssQ0FBQSxDQUFFLEVBQUUsR0FBRyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBYTNFLE1BQU0sQ0FBQyxPQUFPLEdBQUcsU0FBUyxjQUFjLENBQUMsTUFBTSxFQUFFO0VBQy9DLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFO0NBQ3JDOyJ9