@mojir/lits 1.2.2-alpha.1 → 1.2.2-alpha.3

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/lits.iife.js CHANGED
@@ -2867,7 +2867,7 @@ var Lits = (function (exports) {
2867
2867
  },
2868
2868
  };
2869
2869
 
2870
- var version = "1.2.2-alpha.1";
2870
+ var version = "1.2.2-alpha.3";
2871
2871
 
2872
2872
  var uuidTemplate = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
2873
2873
  var xyRegexp = /[xy]/g;
@@ -6324,15 +6324,6 @@ var Lits = (function (exports) {
6324
6324
  return toAny(param[fn]);
6325
6325
  }
6326
6326
 
6327
- // export function findUnresolvedIdentifiersInFunction(ast, contextStack, builtin: Builtin) => {
6328
- // const astNodes = Array.isArray(ast) ? ast : ast.b
6329
- // const unresolvedIdentifiers = new Set<UnresolvedIdentifier>()
6330
- // for (const subNode of astNodes) {
6331
- // findUnresolvedIdentifiersInAstNode(subNode, contextStack, builtin)
6332
- // .forEach(symbol => unresolvedIdentifiers.add(symbol))
6333
- // }
6334
- // return unresolvedIdentifiers
6335
- // }
6336
6327
  var findUnresolvedIdentifiers = function (ast, contextStack, builtin) {
6337
6328
  var e_1, _a;
6338
6329
  var astNodes = Array.isArray(ast) ? ast : ast.b;
@@ -6941,26 +6932,6 @@ var Lits = (function (exports) {
6941
6932
  outcomes: calculateOutcomes(createContextStack(params), ast.b),
6942
6933
  };
6943
6934
  }
6944
- function findUnresolvedIdentifiersInFunction(fun, params) {
6945
- if (!isUserDefinedFunction(fun)) {
6946
- return new Set();
6947
- }
6948
- var result = new Set();
6949
- var contextStack = createContextStack(params);
6950
- fun.o.forEach(function (overload) {
6951
- var innerContextStack = contextStack.clone();
6952
- var newContext = overload.as.mandatoryArguments.reduce(function (acc, arg) {
6953
- acc[arg] = { value: null };
6954
- return acc;
6955
- }, {});
6956
- if (overload.as.restArgument) {
6957
- newContext[overload.as.restArgument] = { value: null };
6958
- }
6959
- var overloadSymbols = findUnresolvedIdentifiers(overload.b, innerContextStack.create(newContext), builtin);
6960
- overloadSymbols.forEach(function (symbol) { return result.add(symbol); });
6961
- });
6962
- return result;
6963
- }
6964
6935
 
6965
6936
  function parseNumber(tokenStream, position) {
6966
6937
  var _a;
@@ -8083,6 +8054,12 @@ var Lits = (function (exports) {
8083
8054
  throw new LitsError("Expected newline token, got ".concat(token === null || token === void 0 ? void 0 : token.t, "."));
8084
8055
  }
8085
8056
 
8057
+ function transformTokens(tokenStram, transformer) {
8058
+ return __assign(__assign({}, tokenStram), { tokens: tokenStram.tokens.map(function (token) {
8059
+ return __assign(__assign({}, token), { v: transformer(token.v) });
8060
+ }) });
8061
+ }
8062
+
8086
8063
  var UnparseOptions = /** @class */ (function () {
8087
8064
  function UnparseOptions(unparse, lineLength, col, inlined, locked) {
8088
8065
  if (col === void 0) { col = 0; }
@@ -8601,6 +8578,51 @@ var Lits = (function (exports) {
8601
8578
  return result.trim();
8602
8579
  }
8603
8580
 
8581
+ function isNoSpaceNeededBefore(token) {
8582
+ switch (token.t) {
8583
+ case exports.TokenType.Bracket:
8584
+ return [')', ']'].includes(token.v);
8585
+ case exports.TokenType.CollectionAccessor:
8586
+ return true;
8587
+ case exports.TokenType.NewLine:
8588
+ return true;
8589
+ default:
8590
+ return false;
8591
+ }
8592
+ }
8593
+ function isNoSpaceNeededAfter(token) {
8594
+ switch (token.t) {
8595
+ case exports.TokenType.Bracket:
8596
+ return ['(', '['].includes(token.v);
8597
+ case exports.TokenType.CollectionAccessor:
8598
+ return true;
8599
+ case exports.TokenType.FnShorthand:
8600
+ return true;
8601
+ case exports.TokenType.NewLine:
8602
+ return true;
8603
+ case exports.TokenType.RegexpShorthand:
8604
+ return true;
8605
+ default:
8606
+ return false;
8607
+ }
8608
+ }
8609
+ function untokenize(tokenStream) {
8610
+ var lastToken;
8611
+ return tokenStream.tokens.reduce(function (acc, token) {
8612
+ var joiner = !lastToken || isNoSpaceNeededAfter(lastToken) || isNoSpaceNeededBefore(token) ? '' : ' ';
8613
+ lastToken = token;
8614
+ return "".concat(acc).concat(joiner).concat(untokenizeToken(token));
8615
+ }, '');
8616
+ }
8617
+ function untokenizeToken(token) {
8618
+ switch (token.t) {
8619
+ case exports.TokenType.String:
8620
+ return "\"".concat(token.v, "\"");
8621
+ default:
8622
+ return token.v;
8623
+ }
8624
+ }
8625
+
8604
8626
  var Cache = /** @class */ (function () {
8605
8627
  function Cache(maxSize) {
8606
8628
  this.cache = {};
@@ -8732,6 +8754,12 @@ var Lits = (function (exports) {
8732
8754
  var contextStack = createContextStack(params);
8733
8755
  return evaluate(ast, contextStack);
8734
8756
  };
8757
+ Lits.prototype.transform = function (tokenStream, transformer) {
8758
+ return transformTokens(tokenStream, transformer);
8759
+ };
8760
+ Lits.prototype.untokenize = function (tokenStream) {
8761
+ return untokenize(tokenStream);
8762
+ };
8735
8763
  Lits.prototype.apply = function (fn, fnParams, params) {
8736
8764
  var _a;
8737
8765
  if (params === void 0) { params = {}; }
@@ -15604,7 +15632,6 @@ var Lits = (function (exports) {
15604
15632
  exports.assertNativeJsFunction = assertNativeJsFunction;
15605
15633
  exports.assertUserDefinedFunction = assertUserDefinedFunction;
15606
15634
  exports.createNativeJsFunction = createNativeJsFunction;
15607
- exports.findUnresolvedIdentifiersInFunction = findUnresolvedIdentifiersInFunction;
15608
15635
  exports.isApiName = isApiName;
15609
15636
  exports.isBuiltinFunction = isBuiltinFunction;
15610
15637
  exports.isDataType = isDataType;