UNPKG

@erml/parser

Version:

Parser implementation of ERML

31 lines (30 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearIdentifiers = exports.isDuplicateIdentifier = exports.isValidReference = exports.isValidIdentifier = void 0; var identifiers = []; function isValidIdentifier(identifier) { /** Valid identifier requirements: * Maximum of 30 characters * Starts with an uppercase/lowercase letter (a-z, A-Z), or an underscore * Every character after the first should either be a number, an underscore, or an uppercase/lowercase letter (a-z, A-Z) */ return /^[a-zA-Z_]\w{0,29}$/.test(identifier); } exports.isValidIdentifier = isValidIdentifier; function isValidReference(identifier) { return identifiers.includes(identifier); } exports.isValidReference = isValidReference; function isDuplicateIdentifier(identifier) { var isDuplicate = identifiers.includes(identifier); if (isDuplicate) { return true; } identifiers.push(identifier); return false; } exports.isDuplicateIdentifier = isDuplicateIdentifier; function clearIdentifiers() { identifiers = []; } exports.clearIdentifiers = clearIdentifiers;