@voiceflow/common
Version:
Junk drawer of utility functions
21 lines (20 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VALID_SAMPLE_UTTERANCE = exports.VALID_SAMPLE_CHARACTERS = exports.VALID_SAMPLE_CHARACTERS_WITHOUT_CURLY_BRACES_OR_SPACES = exports.VALID_SPOKEN_CHARACTER = exports.VALID_LATIN_CHARACTER = exports.VALID_CHARACTER = exports.VARIABLE_ONLY_REGEXP = exports.READABLE_VARIABLE_REGEXP = exports.IS_VARIABLE_REGEXP = exports.SLOT_ANNOTATION_SIMPLE_REGEX = exports.SLOT_REGEXP = exports.SPACE_REGEXP = void 0;
exports.SPACE_REGEXP = / /g;
exports.SLOT_REGEXP = /{{\[([^ .[\]{}]*?)]\.([^ .[\]{}]*?)}}/g;
exports.SLOT_ANNOTATION_SIMPLE_REGEX = /{([^ .[\]{}]+?)}/g;
exports.IS_VARIABLE_REGEXP = /^{.*}$/;
exports.READABLE_VARIABLE_REGEXP = /{(\w{1,64}((\[\d+])*(\.\w{1,64})*)*)}/g;
exports.VARIABLE_ONLY_REGEXP = new RegExp(`^${exports.READABLE_VARIABLE_REGEXP.source}$`);
exports.VALID_CHARACTER = 'a-zA-Z';
// Latin character Unicode points from https://tiny.amazon.com/1hix1tfzz/enwikiorgwikiList
exports.VALID_LATIN_CHARACTER = `${exports.VALID_CHARACTER}\xC0-\xFF\u0100-\u017F`;
// Support for latin and asian characters - Consider using library such as
// https://www.npmjs.com/package/unicode-6.3.0#readme
// to generate valid chars. Additional flushing out of this lib would be necessary
exports.VALID_SPOKEN_CHARACTER = `${exports.VALID_LATIN_CHARACTER}\u0900-\u0965\u0970-\u097F\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFF9F\u4E00-\u9FAF\u3400-\u4DBF`;
exports.VALID_SAMPLE_CHARACTERS_WITHOUT_CURLY_BRACES_OR_SPACES = `${exports.VALID_SPOKEN_CHARACTER}._'\\-`;
exports.VALID_SAMPLE_CHARACTERS = `${exports.VALID_SAMPLE_CHARACTERS_WITHOUT_CURLY_BRACES_OR_SPACES} \\[\\]`;
// TYLER: lmao I decompiled the ADC front end source code so these regexes are good as it gets 👌
exports.VALID_SAMPLE_UTTERANCE = `[^${exports.VALID_SAMPLE_CHARACTERS}|]`;