@mojir/lits 1.2.2-alpha.5 → 2.2.2-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/cli.js CHANGED
@@ -92,7 +92,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
92
92
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
93
93
  };
94
94
 
95
- var version = "1.2.2-alpha.5";
95
+ var version = "2.2.2-alpha.6";
96
96
 
97
97
  var AstNodeType;
98
98
  (function (AstNodeType) {
@@ -7450,9 +7450,11 @@ function getSugar() {
7450
7450
  return [applyCollectionAccessors];
7451
7451
  }
7452
7452
 
7453
+ var identifierCharacterClass = '[\\w@%^?=!$<>+*/:-]';
7454
+ var identifierFirstCharacterClass = '[a-zA-Z_@%^?=!$<>+*/-]';
7455
+
7453
7456
  var NO_MATCH = [0, undefined];
7454
- var nameCharacterClass = '[\\w@%^?=!$<>+*/-]';
7455
- var nameRegExp$1 = new RegExp(nameCharacterClass);
7457
+ var nameRegExp$1 = new RegExp(identifierCharacterClass);
7456
7458
  var whitespaceRegExp = /\s|,/;
7457
7459
  var newLineRegExp = /\n/;
7458
7460
  var tokenizeNewLine = function (input, current, debugData) {
@@ -16011,7 +16013,7 @@ function createFormatter(rules, options) {
16011
16013
  return format;
16012
16014
  }
16013
16015
 
16014
- var variableRegExp$1 = new RegExp("^\\$".concat(nameCharacterClass, "+"));
16016
+ var variableRegExp$1 = new RegExp("^\\$".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "*"));
16015
16017
  var noMatch = { count: 0, formattedText: '' };
16016
16018
  function createVariableRule(formatVariableName, variableNamePredicate) {
16017
16019
  return function (text, index) {
@@ -16034,11 +16036,11 @@ var getNumberRule = function (fmt) { return function (text, index) {
16034
16036
  var count = startMatch[0].length;
16035
16037
  var characterBefor = text[index - 1];
16036
16038
  var characterAfter = text[index + count];
16037
- if (characterBefor && new RegExp(nameCharacterClass).test(characterBefor))
16039
+ if (characterBefor && new RegExp(identifierCharacterClass).test(characterBefor))
16038
16040
  return noMatch;
16039
16041
  if (characterBefor && numberRegExp.test(characterBefor))
16040
16042
  return noMatch;
16041
- if (characterAfter && new RegExp(nameCharacterClass).test(characterAfter))
16043
+ if (characterAfter && new RegExp(identifierCharacterClass).test(characterAfter))
16042
16044
  return noMatch;
16043
16045
  if (characterAfter && numberRegExp.test(characterAfter))
16044
16046
  return noMatch;
@@ -16069,7 +16071,7 @@ var stringRule = createRule({
16069
16071
  });
16070
16072
  var shortcutStringRule = createRule({
16071
16073
  name: 'string',
16072
- startPattern: new RegExp("^:".concat(nameCharacterClass, "+")),
16074
+ startPattern: new RegExp("^:".concat(identifierCharacterClass, "+")),
16073
16075
  startTag: ColorEnum.FgRed,
16074
16076
  endTag: ColorEnum.Reset,
16075
16077
  keepPatterns: true,
@@ -16078,7 +16080,7 @@ var shortcutStringRule = createRule({
16078
16080
  });
16079
16081
  var functionNameRule = createRule({
16080
16082
  name: 'functionName',
16081
- startPattern: new RegExp("^\\((?=".concat(nameCharacterClass, "+)")),
16083
+ startPattern: new RegExp("^\\((?=".concat(identifierCharacterClass, "+)")),
16082
16084
  endPattern: /^[) \n]/,
16083
16085
  startTag: ColorEnum.FgBlue,
16084
16086
  endTag: ColorEnum.Reset,
@@ -16088,7 +16090,7 @@ var functionNameRule = createRule({
16088
16090
  });
16089
16091
  var nameRule = createRule({
16090
16092
  name: 'functionName',
16091
- startPattern: new RegExp("^".concat(nameCharacterClass, "+")),
16093
+ startPattern: new RegExp("^".concat(identifierCharacterClass, "+")),
16092
16094
  startTag: "".concat(ColorEnum.Bright).concat(ColorEnum.FgBlue),
16093
16095
  endTag: ColorEnum.Reset,
16094
16096
  keepPatterns: true,
@@ -16229,7 +16231,7 @@ function createRule(_a) {
16229
16231
  };
16230
16232
  }
16231
16233
 
16232
- var variableRegExp = new RegExp("\\$".concat(nameCharacterClass, "+"), 'g');
16234
+ var variableRegExp = new RegExp("\\$".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "*"), 'g');
16233
16235
  function formatCliDescription(fmt, description, reference) {
16234
16236
  if (isFunctionReference(reference))
16235
16237
  return formatFunctionDescription(fmt, description, reference);
@@ -16372,9 +16374,9 @@ var historyResults = [];
16372
16374
  var lits = new Lits({ debug: true });
16373
16375
  var formatValue = getInlineCodeFormatter(fmt);
16374
16376
  var commands = ['`help', '`quit', '`builtins', '`context'];
16375
- var expressionRegExp = new RegExp("^(.*\\(\\s*)(".concat(nameCharacterClass, "*)$"));
16376
- var nameRegExp = new RegExp("^(.*?)(".concat(nameCharacterClass, "*)$"));
16377
- var helpRegExp = new RegExp("^`help\\s+(".concat(nameCharacterClass, "+)\\s*$"));
16377
+ var expressionRegExp = new RegExp("^(.*\\(\\s*)(".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "*)$"));
16378
+ var nameRegExp = new RegExp("^(.*?)(".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "*)$"));
16379
+ var helpRegExp = new RegExp("^`help\\s+(".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "+)\\s*$"));
16378
16380
  var expressions = __spreadArray(__spreadArray([], __read(normalExpressionKeys), false), __read(specialExpressionKeys), false);
16379
16381
  var config = processArguments(process.argv.slice(2));
16380
16382
  if (config.eval) {
@@ -0,0 +1,8 @@
1
+ export type Identifier = string & {
2
+ __brand: 'Identifier';
3
+ };
4
+ export declare const identifierCharacterClass = "[\\w@%^?=!$<>+*/:-]";
5
+ export declare const identifierFirstCharacterClass = "[a-zA-Z_@%^?=!$<>+*/-]";
6
+ export declare const identifierRegExp: RegExp;
7
+ export declare function isIdentifier(value: string): value is Identifier;
8
+ export declare function assertIdentifier(value: string): asserts value is Identifier;
@@ -14,4 +14,4 @@ export { apiReference, isDatatypeReference, isFunctionReference, isNormalExpress
14
14
  export type { Argument, CommonReference, DatatypeReference, FunctionReference, Reference, ShorthandReference } from '../reference';
15
15
  export type { ApiName, FunctionName, ShorthandName, DatatypeName } from '../reference/api';
16
16
  export { isApiName, isDataType } from '../reference/api';
17
- export { nameCharacterClass } from './tokenizer/tokenizers';
17
+ export { type Identifier, assertIdentifier, isIdentifier } from './identifier';
@@ -1,5 +1,4 @@
1
1
  import type { Tokenizer } from './interface';
2
- export declare const nameCharacterClass = "[\\w@%^?=!$<>+*/-]";
3
2
  export declare const tokenizeNewLine: Tokenizer;
4
3
  export declare const tokenizeComment: Tokenizer;
5
4
  export declare const skipWhiteSpace: Tokenizer;
package/dist/index.esm.js CHANGED
@@ -2864,7 +2864,7 @@ var mathNormalExpression = {
2864
2864
  },
2865
2865
  };
2866
2866
 
2867
- var version = "1.2.2-alpha.5";
2867
+ var version = "2.2.2-alpha.6";
2868
2868
 
2869
2869
  var uuidTemplate = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
2870
2870
  var xyRegexp = /[xy]/g;
@@ -7482,9 +7482,21 @@ function getSugar() {
7482
7482
  return [applyCollectionAccessors];
7483
7483
  }
7484
7484
 
7485
+ var identifierCharacterClass = '[\\w@%^?=!$<>+*/:-]';
7486
+ var identifierFirstCharacterClass = '[a-zA-Z_@%^?=!$<>+*/-]';
7487
+ // eslint-disable-next-line regexp/use-ignore-case
7488
+ var identifierRegExp = new RegExp("^".concat(identifierFirstCharacterClass).concat(identifierCharacterClass, "*$"));
7489
+ function isIdentifier(value) {
7490
+ return identifierRegExp.test(value);
7491
+ }
7492
+ function assertIdentifier(value) {
7493
+ if (!isIdentifier(value)) {
7494
+ throw new Error("Expected '".concat(value, "' to be an identifier"));
7495
+ }
7496
+ }
7497
+
7485
7498
  var NO_MATCH = [0, undefined];
7486
- var nameCharacterClass = '[\\w@%^?=!$<>+*/-]';
7487
- var nameRegExp = new RegExp(nameCharacterClass);
7499
+ var nameRegExp = new RegExp(identifierCharacterClass);
7488
7500
  var whitespaceRegExp = /\s|,/;
7489
7501
  var newLineRegExp = /\n/;
7490
7502
  var tokenizeNewLine = function (input, current, debugData) {
@@ -15620,5 +15632,5 @@ function isDataType(arg) {
15620
15632
  return dataTypes.includes(arg);
15621
15633
  }
15622
15634
 
15623
- export { AstNodeType, FunctionType, Lits, TokenType, apiReference, asLitsFunction, asNativeJsFunction, asUserDefinedFunction, assertLitsFunction, assertNativeJsFunction, assertUserDefinedFunction, createNativeJsFunction, isApiName, isBuiltinFunction, isDataType, isDatatypeReference, isFunctionReference, isLitsError, isLitsFunction, isNativeJsFunction, isNormalExpressionArgument, isShorthandReference, isSpecialExpressionArgument, isTypedValue, isUserDefinedFunction, nameCharacterClass, normalExpressionKeys, reservedNames, specialExpressionKeys };
15635
+ export { AstNodeType, FunctionType, Lits, TokenType, apiReference, asLitsFunction, asNativeJsFunction, asUserDefinedFunction, assertIdentifier, assertLitsFunction, assertNativeJsFunction, assertUserDefinedFunction, createNativeJsFunction, isApiName, isBuiltinFunction, isDataType, isDatatypeReference, isFunctionReference, isIdentifier, isLitsError, isLitsFunction, isNativeJsFunction, isNormalExpressionArgument, isShorthandReference, isSpecialExpressionArgument, isTypedValue, isUserDefinedFunction, normalExpressionKeys, reservedNames, specialExpressionKeys };
15624
15636
  //# sourceMappingURL=index.esm.js.map