UNPKG

@voiceflow/common

Version:

Junk drawer of utility functions

21 lines (20 loc) 1.84 kB
"use strict"; 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}|]`;