fauton
Version:
A library to test any finite automaton with arbitrary alphabets
23 lines (22 loc) • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.expandCharacterRanges = void 0;
function expandCharacterRanges(characterRangesString) {
const characterRanges = characterRangesString.split(',');
const symbols = new Set();
characterRanges.forEach((characterRange) => {
const characterRangeRanges = characterRange.split('-');
if (characterRangeRanges.length === 2) {
const startCharacter = characterRangeRanges[0].charCodeAt(0);
const endCharacter = characterRangeRanges[1].charCodeAt(0);
for (let characterCodePoint = startCharacter; characterCodePoint <= endCharacter; characterCodePoint += 1) {
symbols.add(String.fromCodePoint(characterCodePoint));
}
}
else {
symbols.add(characterRange);
}
});
return Array.from(symbols);
}
exports.expandCharacterRanges = expandCharacterRanges;