@beenotung/tslib
Version:
utils library in Typescript
34 lines (33 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.splitTags = splitTags;
function splitTagBy(tags, separator) {
const res = new Set();
tags.forEach(s => s.split(separator).forEach(s => res.add(s)));
return res;
}
function splitTags(stringOrArray, otherTags) {
let acc;
if (typeof stringOrArray == 'string') {
acc = new Set([stringOrArray]);
}
else if (Array.isArray(stringOrArray)) {
acc = new Set(stringOrArray);
}
else {
throw new TypeError('Invalid argument, should be string or array of string');
}
if (typeof otherTags == 'string') {
acc.add(otherTags);
}
acc = splitTagBy(acc, ' ');
acc = splitTagBy(acc, ',');
acc = splitTagBy(acc, '.');
acc = splitTagBy(acc, ',');
acc = splitTagBy(acc, '。');
acc = splitTagBy(acc, '#');
acc = splitTagBy(acc, '#');
acc = splitTagBy(acc, '"');
acc = splitTagBy(acc, "'");
return Array.from(acc).filter(s => s.length >= 2);
}