@appland/appmap 3.30.0 → 3.32.1

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/built/appmap.html +1 -1
  3. package/built/cli.js +2 -121
  4. package/built/cli.js.map +1 -1
  5. package/built/cmds/inspect/inspect.js +55 -0
  6. package/built/cmds/inspect/inspect.js.map +1 -0
  7. package/built/cmds/record/recordContext.js +6 -3
  8. package/built/cmds/record/recordContext.js.map +1 -1
  9. package/built/fingerprint/fingerprintWatchCommand.js +39 -16
  10. package/built/fingerprint/fingerprintWatchCommand.js.map +1 -1
  11. package/built/functionStats.js +9 -0
  12. package/built/functionStats.js.map +1 -1
  13. package/built/inspect/context.js +66 -0
  14. package/built/inspect/context.js.map +1 -0
  15. package/built/inspect/filter.js +8 -5
  16. package/built/inspect/filter.js.map +1 -1
  17. package/built/inspect/home.js +14 -9
  18. package/built/inspect/home.js.map +1 -1
  19. package/built/inspect/navigate.js +15 -0
  20. package/built/inspect/navigate.js.map +1 -0
  21. package/built/inspect/reset.js +5 -5
  22. package/built/inspect/reset.js.map +1 -1
  23. package/built/inspect/ui.js +121 -0
  24. package/built/inspect/ui.js.map +1 -0
  25. package/built/inspect/undoFilter.js +5 -5
  26. package/built/inspect/undoFilter.js.map +1 -1
  27. package/built/main.js.map +1 -1
  28. package/built/search/{codeObjectMatcher.js → descentCodeObjectMatcher.js} +50 -17
  29. package/built/search/descentCodeObjectMatcher.js.map +1 -0
  30. package/built/search/findCodeObjects.js +96 -126
  31. package/built/search/findCodeObjects.js.map +1 -1
  32. package/built/search/findEvents.js +1 -1
  33. package/built/search/findEvents.js.map +1 -1
  34. package/built/search/iterateCodeObjectMatcher.js +37 -0
  35. package/built/search/iterateCodeObjectMatcher.js.map +1 -0
  36. package/built/search/matchSpec.js +11 -3
  37. package/built/search/matchSpec.js.map +1 -1
  38. package/built/utils.js +5 -1
  39. package/built/utils.js.map +1 -1
  40. package/package.json +23 -4
  41. package/built/inspect.js +0 -8
  42. package/built/inspect.js.map +0 -1
  43. package/built/search/codeObjectMatcher.js.map +0 -1
@@ -1,57 +1,90 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("../utils");
2
4
  const { MATCH_ABORT, MATCH_CONTINUE, MATCH_COMPLETE } = require('./constants');
3
- const { verbose } = require('../utils');
4
- class CodeObjectMatcher {
5
- /**
6
- * Search code objects in the classMap, looking for matches to a spec.
7
- *
8
- * @param {import('./types').CodeObjectMatchSpec} matchSpec
9
- */
10
- constructor(matchSpec) {
5
+ class Matcher {
6
+ constructor(matchSpec, classMap) {
11
7
  this.matchSpec = matchSpec;
8
+ this.classMap = classMap;
12
9
  this.depth = 0;
13
10
  }
11
+ matchClassMap() {
12
+ const findMatchingCodeObject = (item, matches) => {
13
+ const matchResult = this.matchCodeObject(item);
14
+ switch (matchResult) {
15
+ case MATCH_ABORT:
16
+ return;
17
+ case MATCH_COMPLETE:
18
+ matches.push(item);
19
+ return;
20
+ case MATCH_CONTINUE:
21
+ default:
22
+ }
23
+ if (item.children) {
24
+ item.children.forEach((child) => {
25
+ child.parent = item;
26
+ findMatchingCodeObject(child, matches);
27
+ });
28
+ }
29
+ this.popCodeObject();
30
+ };
31
+ let matches = [];
32
+ for (const item of this.classMap) {
33
+ findMatchingCodeObject(item, matches);
34
+ }
35
+ return matches;
36
+ }
14
37
  /**
15
38
  * This method is called in a depth-first traversal of the class map. It
16
39
  * determines if the current code object in the traversal matches the spec.
17
40
  *
18
- * @param {import('./types').CodeObject} codeObject
19
41
  * @returns {string} MATCH_COMPLETE, MATCH_ABORT, or MATCH_COMPLETE
20
42
  */
21
- match(codeObject) {
43
+ matchCodeObject(codeObject) {
22
44
  if (this.depth < 0) {
23
45
  console.warn(`Search depth ${this.depth} is less than zero; aborting`);
24
46
  return MATCH_ABORT;
25
47
  }
26
48
  if (this.depth >= this.matchSpec.tokens.length) {
27
- if (verbose()) {
49
+ if ((0, utils_1.verbose)()) {
28
50
  console.warn(`Aborting match ${codeObject.name} because the search depth ${this.depth} exceeds the spec length ${this.matchSpec.tokens.length}`);
29
51
  }
30
52
  return MATCH_ABORT;
31
53
  }
32
54
  const token = this.matchSpec.tokens[this.depth];
33
55
  if (!token(codeObject)) {
34
- if (verbose()) {
56
+ if ((0, utils_1.verbose)()) {
35
57
  console.warn(`${JSON.stringify(token)} at depth ${this.depth} does not match '${codeObject.name}'`);
36
58
  }
37
59
  return MATCH_ABORT;
38
60
  }
39
61
  if (this.depth === this.matchSpec.tokens.length - 1) {
40
- if (verbose()) {
62
+ if ((0, utils_1.verbose)()) {
41
63
  console.warn(`${JSON.stringify(token)} at depth ${this.depth} matches '${codeObject.name}' and completes the search`);
42
64
  }
43
65
  this.depth += 1;
44
66
  return MATCH_COMPLETE;
45
67
  }
46
- if (verbose()) {
68
+ if ((0, utils_1.verbose)()) {
47
69
  console.warn(`${JSON.stringify(token)} at depth ${this.depth} matches '${codeObject.name}' and the search continues`);
48
70
  }
49
71
  this.depth += 1;
50
72
  return MATCH_CONTINUE;
51
73
  }
52
- pop() {
74
+ popCodeObject() {
53
75
  this.depth -= 1;
54
76
  }
55
77
  }
56
- module.exports = CodeObjectMatcher;
57
- //# sourceMappingURL=codeObjectMatcher.js.map
78
+ class DescentCodeObjectMatcher {
79
+ /**
80
+ * Search code objects in the classMap, looking for matches to a spec.
81
+ */
82
+ constructor(matchSpec) {
83
+ this.matchSpec = matchSpec;
84
+ }
85
+ matchClassMap(classMap) {
86
+ return new Matcher(this.matchSpec, classMap).matchClassMap();
87
+ }
88
+ }
89
+ exports.default = DescentCodeObjectMatcher;
90
+ //# sourceMappingURL=descentCodeObjectMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descentCodeObjectMatcher.js","sourceRoot":"","sources":["../../src/search/descentCodeObjectMatcher.ts"],"names":[],"mappings":"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"}
@@ -3,22 +3,18 @@
3
3
  /* eslint-disable consistent-return */
4
4
  /* eslint-disable max-classes-per-file */
5
5
  /* eslint-disable no-else-return */
6
- const fsp = require('fs').promises;
7
- const { dirname, basename } = require('path');
8
- // @ts-ignore
9
- const { CodeObject: CodeObjectModel } = require('@appland/models');
10
- const { verbose, processFiles } = require('../utils');
11
- const { FunctionMatchSpec, TableMatchSpec, RouteMatchSpec, HTTPMatchSpec, DatabaseMatchSpec, QueryMatchSpec, } = require('./matchSpec');
12
- const CodeObjectMatcher = require('./codeObjectMatcher');
13
- const { MATCH_ABORT, MATCH_CONTINUE, MATCH_COMPLETE } = require('./constants');
14
- /** @typedef {import('./types').CodeObject[]} ClassMap */
15
- /** @typedef {import('./types').CodeObject} CodeObject */
16
- /** @typedef {import('./types').CodeObjectMatch} CodeObjectMatch */
17
- /** @typedef {import('./types').CodeObjectMatchSpec} CodeObjectMatchSpec */
18
- /**
19
- * @param {string} functionId
20
- * @returns {CodeObjectMatchSpec[]}
21
- */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ const models_1 = require("@appland/models");
11
+ const promises_1 = require("fs/promises");
12
+ const path_1 = require("path");
13
+ const util_1 = require("util");
14
+ const utils_1 = require("../utils");
15
+ const descentCodeObjectMatcher_1 = __importDefault(require("./descentCodeObjectMatcher"));
16
+ const iterateCodeObjectMatcher_1 = __importDefault(require("./iterateCodeObjectMatcher"));
17
+ const matchSpec_1 = require("./matchSpec");
22
18
  function parsePackage(functionId) {
23
19
  const packageTokens = functionId.split('/');
24
20
  return [
@@ -27,14 +23,10 @@ function parsePackage(functionId) {
27
23
  // as a single code object in the class map. So when searching for packages,
28
24
  // match either style. From a code standpoint, I've found this much simpler than
29
25
  // trying to handle different cases in the match spec.
30
- new FunctionMatchSpec([functionId], []),
31
- new FunctionMatchSpec(packageTokens, []),
26
+ new matchSpec_1.FunctionMatchSpec([functionId], []),
27
+ new matchSpec_1.FunctionMatchSpec(packageTokens, []),
32
28
  ];
33
29
  }
34
- /**
35
- * @param {string} functionId
36
- * @returns {CodeObjectMatchSpec[]}
37
- */
38
30
  function parseClass(functionId) {
39
31
  const packageTokens = functionId.split('/');
40
32
  if (packageTokens.length === 1) {
@@ -43,14 +35,10 @@ function parseClass(functionId) {
43
35
  const className = packageTokens.pop();
44
36
  const classNames = className.split('::');
45
37
  return [
46
- new FunctionMatchSpec([packageTokens.join('/')], classNames),
47
- new FunctionMatchSpec(packageTokens, classNames),
38
+ new matchSpec_1.FunctionMatchSpec([packageTokens.join('/')], classNames),
39
+ new matchSpec_1.FunctionMatchSpec(packageTokens, classNames),
48
40
  ];
49
41
  }
50
- /**
51
- * @param {string} functionId
52
- * @returns {CodeObjectMatchSpec[]}
53
- */
54
42
  function parseFunction(functionId) {
55
43
  const packageTokens = functionId.split('/');
56
44
  if (packageTokens.length === 1) {
@@ -60,68 +48,65 @@ function parseFunction(functionId) {
60
48
  if (classAndFunction.includes('.')) {
61
49
  const [className, functionName] = classAndFunction.split('.');
62
50
  return [
63
- new FunctionMatchSpec([packageTokens.join('/')], className.split('::'), true, functionName),
64
- new FunctionMatchSpec(packageTokens, className.split('::'), true, functionName),
51
+ new matchSpec_1.FunctionMatchSpec([packageTokens.join('/')], className.split('::'), true, functionName),
52
+ new matchSpec_1.FunctionMatchSpec(packageTokens, className.split('::'), true, functionName),
65
53
  ];
66
54
  }
67
55
  else if (classAndFunction.includes('#')) {
68
56
  const [className, functionName] = classAndFunction.split('#');
69
57
  return [
70
- new FunctionMatchSpec([packageTokens.join('/')], className.split('::'), false, functionName),
71
- new FunctionMatchSpec(packageTokens, className.split('::'), false, functionName),
58
+ new matchSpec_1.FunctionMatchSpec([packageTokens.join('/')], className.split('::'), false, functionName),
59
+ new matchSpec_1.FunctionMatchSpec(packageTokens, className.split('::'), false, functionName),
72
60
  ];
73
61
  }
74
62
  return [];
75
63
  }
76
- /**
77
- * @param {string} tableName
78
- * @returns {CodeObjectMatchSpec[]}
79
- */
80
64
  function parseTable(tableName) {
81
- return [new TableMatchSpec(tableName)];
65
+ return [new matchSpec_1.TableMatchSpec(tableName)];
82
66
  }
83
- /**
84
- * @param {string} routeName
85
- * @returns {CodeObjectMatchSpec[]}
86
- */
87
67
  function parseRoute(routeName) {
88
- return [new RouteMatchSpec(routeName)];
68
+ return [new matchSpec_1.RouteMatchSpec(routeName)];
89
69
  }
90
70
  function parseHTTP() {
91
- return [new HTTPMatchSpec()];
71
+ return [new matchSpec_1.HTTPMatchSpec()];
92
72
  }
93
73
  function parseDatabase() {
94
- return [new DatabaseMatchSpec()];
74
+ return [new matchSpec_1.DatabaseMatchSpec()];
95
75
  }
96
76
  function parseQuery(query) {
97
- return [new QueryMatchSpec(query)];
77
+ return [new matchSpec_1.QueryMatchSpec(query)];
98
78
  }
99
- /**
100
- * @param {string} codeObjectId
101
- * @returns {CodeObjectMatchSpec[]}
102
- */
103
- function parseCodeObjectId(codeObjectId) {
79
+ function buildCodeObjectMatcher(codeObjectId) {
104
80
  const tokens = codeObjectId.split(':');
105
81
  const type = tokens.shift();
106
82
  if (!type || tokens.length === 0) {
107
83
  return [];
108
84
  }
109
85
  const id = tokens.join(':');
110
- const parsers = {
111
- package: parsePackage,
112
- class: parseClass,
113
- function: parseFunction,
114
- http: parseHTTP,
115
- route: parseRoute,
116
- database: parseDatabase,
117
- query: parseQuery,
118
- table: parseTable,
119
- };
120
- const parser = parsers[type];
121
- if (!parser) {
122
- return [];
86
+ const isRegExpMatch = id.match(matchSpec_1.RegExpRegExp);
87
+ if (isRegExpMatch) {
88
+ const body = isRegExpMatch[1];
89
+ const flags = isRegExpMatch[2];
90
+ const pattern = new RegExp(body, flags);
91
+ return [new iterateCodeObjectMatcher_1.default(type, pattern)];
92
+ }
93
+ else {
94
+ const parsers = {
95
+ package: parsePackage,
96
+ class: parseClass,
97
+ function: parseFunction,
98
+ http: parseHTTP,
99
+ route: parseRoute,
100
+ database: parseDatabase,
101
+ query: parseQuery,
102
+ table: parseTable,
103
+ };
104
+ const parser = parsers[type];
105
+ if (!parser) {
106
+ return [];
107
+ }
108
+ return parser(id).map((spec) => new descentCodeObjectMatcher_1.default(spec));
123
109
  }
124
- return parser(id);
125
110
  }
126
111
  /**
127
112
  * Find code objects and AppMaps in a directory that match search criteria.
@@ -129,38 +114,25 @@ function parseCodeObjectId(codeObjectId) {
129
114
  * These results can be further refined into specific events using FindEvents.
130
115
  */
131
116
  class FindCodeObjects {
132
- /**
133
- * @param {string} appMapDir
134
- * @param {string} codeObjectId
135
- */
136
117
  constructor(appMapDir, codeObjectId) {
137
118
  this.appMapDir = appMapDir;
138
- this.matchSpecs = parseCodeObjectId(codeObjectId);
139
- if (this.matchSpecs.length === 0) {
140
- console.warn(`Unable to parse code object id ${codeObjectId}`);
141
- }
142
- if (verbose()) {
143
- this.matchSpecs.forEach((spec) => {
144
- console.warn(`Searching for: ${JSON.stringify(spec.tokens)}`);
145
- });
119
+ this.codeObjectId = codeObjectId;
120
+ this.matchers = buildCodeObjectMatcher(codeObjectId);
121
+ if ((0, utils_1.verbose)()) {
122
+ console.warn(`Searching for: ${(0, util_1.inspect)(this.matchers)}`);
146
123
  }
147
124
  }
148
- /**
149
- * @returns {Promise<CodeObjectMatch[]>}
150
- */
151
125
  async find(
152
126
  // eslint-disable-next-line no-unused-vars
153
- fileCountFn = (/** @type {Number} */ _count) => { }, progressFn = () => { }) {
154
- if (this.matchSpecs.length === 0) {
155
- return;
156
- }
157
- // Scan classMaps to identify the AppMaps which contain the function.
158
- // Scan those AppMaps for the function events.
127
+ fileCountFn = (_count) => { }, progressFn = () => { }) {
128
+ // Scan classMaps to identify the AppMaps which contain the code object.
129
+ // Scan those AppMaps for the code object events.
159
130
  // Retain the following context for each matching event:
160
131
  // * HTTP server request ancestor
161
132
  // * Parent calling function, class, and package
162
133
  // * Descendent SQL and HTTP client requests
163
- /** @type {CodeObjectMatch[]} */
134
+ // Because matchers is an array, each one may return the same code object.
135
+ const uniqueMatchIds = new Set();
164
136
  const matches = [];
165
137
  /**
166
138
  * Search a class map file for matching code objects.
@@ -169,59 +141,57 @@ class FindCodeObjects {
169
141
  * @param {string} fileName
170
142
  * @returns void
171
143
  */
172
- async function checkClassMap(fileName) {
173
- const indexDir = dirname(fileName);
174
- if (basename(indexDir) === 'Inventory') {
144
+ const checkClassMap = async (fileName) => {
145
+ const indexDir = (0, path_1.dirname)(fileName);
146
+ if ((0, path_1.basename)(indexDir) === 'Inventory') {
175
147
  return;
176
148
  }
177
149
  let appmapName = indexDir;
178
150
  if (indexDir.indexOf(process.cwd()) === 0) {
179
151
  appmapName = indexDir.substring(process.cwd().length + 1);
180
152
  }
181
- if (verbose()) {
153
+ if ((0, utils_1.verbose)()) {
182
154
  console.warn(`Checking AppMap ${appmapName}`);
183
155
  }
184
- const findMatchingFunction = (
185
- /** @type {import('./types').CodeObject} */ item,
186
- /** @type {import('./types').CodeObjectMatcher} */ matcher,
187
- /** @type {import('./types').CodeObject[]} */ ancestors) => {
188
- const buildCodeObject = () => {
189
- let parent = null;
190
- ancestors.forEach((ancestor) => {
191
- parent = new CodeObjectModel(ancestor, parent);
192
- });
193
- return new CodeObjectModel(item, parent);
194
- };
195
- let match;
196
- const matchResult = matcher.match(item);
197
- switch (matchResult) {
198
- case MATCH_ABORT:
199
- return;
200
- case MATCH_COMPLETE:
201
- match = { appmap: appmapName, codeObject: buildCodeObject() };
202
- if (verbose()) {
203
- console.warn(`Completed match: ${JSON.stringify(match)}`);
204
- }
205
- matches.push(match);
206
- case MATCH_CONTINUE:
207
- default:
156
+ const buildCodeObject = (codeObject, parent) => {
157
+ codeObject.parent = parent;
158
+ const id = (0, models_1.codeObjectId)(codeObject).join('');
159
+ codeObject.fqid = [codeObject.type, id].join(':');
160
+ if (codeObject.children) {
161
+ codeObject.children.forEach((child) => buildCodeObject(child, codeObject));
208
162
  }
209
- if (item.children) {
210
- ancestors.push(item);
211
- item.children.forEach((child) => findMatchingFunction(child, matcher, ancestors));
212
- ancestors.pop();
213
- }
214
- matcher.pop();
215
163
  };
216
- const classMap = JSON.parse((await fsp.readFile(fileName)).toString());
217
- this.matchSpecs.forEach((/** @type {CodeObjectMatchSpec} */ spec) => {
218
- classMap.forEach((/** @type import('./types').CodeObject */ item) => findMatchingFunction(item, new CodeObjectMatcher(spec), []));
164
+ const classMap = JSON.parse(await (0, promises_1.readFile)(fileName, 'utf-8'));
165
+ classMap.forEach((co) => buildCodeObject(co));
166
+ this.matchers.forEach((matcher) => {
167
+ let codeObjects;
168
+ try {
169
+ codeObjects = matcher.matchClassMap(classMap);
170
+ }
171
+ catch (e) {
172
+ console.warn(e);
173
+ return;
174
+ }
175
+ for (const co of codeObjects) {
176
+ const matchKey = [appmapName, co.fqid].join('@');
177
+ if (uniqueMatchIds.has(matchKey))
178
+ return;
179
+ uniqueMatchIds.add(matchKey);
180
+ const match = {
181
+ appmap: appmapName,
182
+ codeObject: co,
183
+ };
184
+ if ((0, utils_1.verbose)()) {
185
+ console.warn(`Completed match: ${co.fqid}`);
186
+ }
187
+ matches.push(match);
188
+ }
219
189
  });
220
190
  progressFn();
221
- }
222
- await processFiles(`${this.appMapDir}/**/classMap.json`, checkClassMap.bind(this), fileCountFn);
191
+ };
192
+ await (0, utils_1.processFiles)(`${this.appMapDir}/**/classMap.json`, checkClassMap.bind(this), fileCountFn);
223
193
  return matches;
224
194
  }
225
195
  }
226
- module.exports = FindCodeObjects;
196
+ exports.default = FindCodeObjects;
227
197
  //# sourceMappingURL=findCodeObjects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findCodeObjects.js","sourceRoot":"","sources":["../../src/search/findCodeObjects.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findCodeObjects.js","sourceRoot":"","sources":["../../src/search/findCodeObjects.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,7 @@ class FindEvents {
109
109
  const codeObjectMatch = () => {
110
110
  const event = stack[stack.length - 1];
111
111
  const matchCodeObject = (/** @type {CodeObject} */ eventCodeObject) => {
112
- if (this.codeObject.id === eventCodeObject.id) {
112
+ if (this.codeObject.fqid === eventCodeObject.fqid) {
113
113
  return true;
114
114
  }
115
115
  if (!eventCodeObject.parent) {
@@ -1 +1 @@
1
- {"version":3,"file":"findEvents.js","sourceRoot":"","sources":["../../src/search/findEvents.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findEvents.js","sourceRoot":"","sources":["../../src/search/findEvents.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("../utils");
4
+ class IterateCodeObjectMatcher {
5
+ /**
6
+ * Search code objects in the classMap, looking for matches to a spec.
7
+ */
8
+ constructor(type, pattern) {
9
+ this.type = type;
10
+ this.pattern = pattern;
11
+ }
12
+ matchClassMap(classMap) {
13
+ const findMatchingCodeObject = (item, matches) => {
14
+ if (item.type === this.type) {
15
+ const [_type, id] = item.fqid.split(':');
16
+ if (this.pattern.test(id)) {
17
+ if ((0, utils_1.verbose)())
18
+ console.log(`${this.pattern} matches ${item.fqid}`);
19
+ matches.push(item);
20
+ }
21
+ }
22
+ if (item.children) {
23
+ item.children.forEach((child) => {
24
+ child.parent = item;
25
+ findMatchingCodeObject(child, matches);
26
+ });
27
+ }
28
+ };
29
+ let matches = [];
30
+ for (const item of classMap) {
31
+ findMatchingCodeObject(item, matches);
32
+ }
33
+ return matches;
34
+ }
35
+ }
36
+ exports.default = IterateCodeObjectMatcher;
37
+ //# sourceMappingURL=iterateCodeObjectMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterateCodeObjectMatcher.js","sourceRoot":"","sources":["../../src/search/iterateCodeObjectMatcher.ts"],"names":[],"mappings":";;AAEA,oCAAmC;AAGnC,MAAqB,wBAAwB;IAC3C;;OAEG;IACH,YAAmB,IAAY,EAAS,OAAe;QAApC,SAAI,GAAJ,IAAI,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAE3D,aAAa,CAAC,QAAsB;QAClC,MAAM,sBAAsB,GAAG,CAC7B,IAAgB,EAChB,OAAqB,EACf,EAAE;YACR,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;gBAC3B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACzB,IAAI,IAAA,eAAO,GAAE;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;aACF;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,IAAI,OAAO,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YAC3B,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAjCD,2CAiCC"}
@@ -6,6 +6,8 @@ const { analyzeSQL, normalizeSQL } = require('@appland/models');
6
6
  * @typedef {(codeObject: CodeObject) => boolean} MatchFn
7
7
  * @typedef {import('./types').SQLInfo | string} SQLInfo
8
8
  */
9
+ // A pattern to match regular expressions.
10
+ const RegExpRegExp = /^%r{([^}]+)}(\w*)$/;
9
11
  /**
10
12
  * @param {string} expectedType
11
13
  * @returns {MatchFn}
@@ -86,10 +88,15 @@ function matchTable(tableName) {
86
88
  if (codeObject.type !== 'query') {
87
89
  return false;
88
90
  }
89
- const queryInfo = /** @type {SQLInfo} */ analyzeSQL({
90
- sql: codeObject.name,
91
- database_type: codeObject.database_type,
91
+ const queryInfo = /** @type {SQLInfo} */ analyzeSQL(codeObject.name);
92
+ /*
93
+ // TODO: analyzeSQL expects a string, we are passing it an object.
94
+ // database_type doesn't seem to be expected or needed.
95
+ {
96
+ sql: codeObject.name,
97
+ database_type: codeObject.database_type,
92
98
  });
99
+ */
93
100
  if (typeof queryInfo !== 'object') {
94
101
  return false;
95
102
  }
@@ -164,6 +171,7 @@ class RouteMatchSpec {
164
171
  }
165
172
  }
166
173
  module.exports = {
174
+ RegExpRegExp,
167
175
  DatabaseMatchSpec,
168
176
  FunctionMatchSpec,
169
177
  HTTPMatchSpec,
@@ -1 +1 @@
1
- {"version":3,"file":"matchSpec.js","sourceRoot":"","sources":["../../src/search/matchSpec.js"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhE;;;;GAIG;AAEH;;;GAGG;AACH,SAAS,SAAS,CAAC,YAAY;IAC7B,MAAM,EAAE,GAAG,CAAC,yBAAyB,CAAC,UAAU,EAAE,EAAE,CAClD,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC;IACnC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;IAC/B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,YAAY,EAAE,YAAY;IAClD,MAAM,EAAE,GAAG,CAAC,yBAAyB,CAAC,UAAU,EAAE,EAAE,CAClD,UAAU,CAAC,IAAI,KAAK,YAAY,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC;IACvE,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAI;IACxB,OAAO,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AACD;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAI;IACtB,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AACD;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAI,EAAE,QAAQ;IACnC,MAAM,EAAE,GAAG,CAAC,yCAAyC,CAAC,UAAU,EAAE,EAAE,CAClE,UAAU,CAAC,IAAI,KAAK,IAAI;QACxB,UAAU,CAAC,IAAI,KAAK,UAAU;QAC9B,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC;IACjC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC;IACjE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,aAAa;IAC/B,MAAM,EAAE,GAAG,CAAC,yCAAyC,CAAC,UAAU,EAAE,EAAE;QAClE,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,iDAAiD;QACjD,qDAAqD;QACrD,OAAO,CACL,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,aAAa;YACxD,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,aAAa;YAC3D,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,aAAa,CAC1D,CAAC;IACJ,CAAC,CAAC;IACF,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,aAAa,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,SAAS;IAC3B,MAAM,EAAE,GAAG,CAAC,yCAAyC,CAAC,UAAU,EAAE,EAAE;QAClE,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC;YAClD,GAAG,EAAE,UAAU,CAAC,IAAI;YACpB,aAAa,EAAE,UAAU,CAAC,aAAa;SACxC,CAAC,CAAC;QACH,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QAED,OAAO,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS;IAChB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,SAAS;IAC3B,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,iBAAiB;IACrB;;;;;;OAMG;IACH,YAAY,YAAY,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI;QACxE,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,YAAY,EAAE;YAChB,cAAc,GAAG,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,aAAa;IACjB;QACE,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,iBAAiB;IACrB;QACE,IAAI,CAAC,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,cAAc;IAClB;;OAEG;IACH,YAAY,SAAS;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,cAAc;IAClB;;OAEG;IACH,YAAY,KAAK;QACf,IAAI,CAAC,MAAM,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,cAAc;IAClB;;OAEG;IACH,YAAY,SAAS;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG;IACf,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;CACf,CAAC"}
1
+ {"version":3,"file":"matchSpec.js","sourceRoot":"","sources":["../../src/search/matchSpec.js"],"names":[],"mappings":"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"}
package/built/utils.js CHANGED
@@ -69,13 +69,17 @@ async function writeFileAtomic(dirName, fileName, jobId, data) {
69
69
  * @param {(filePath: string): void} fn
70
70
  * @param {(fileCount: number): void} fileCountFn
71
71
  */
72
- async function processFiles(pattern, fn, fileCountFn = () => { }) {
72
+ async function processFiles(pattern, fn,
73
+ // eslint-disable-next-line no-unused-vars
74
+ fileCountFn = (/** @type {number} */ count) => { }) {
73
75
  const q = queue(fn, 5);
74
76
  q.pause();
75
77
  const files = await promisify(glob)(pattern);
76
78
  if (fileCountFn) {
77
79
  fileCountFn(files.length);
78
80
  }
81
+ if (files.length === 0)
82
+ return;
79
83
  files.forEach((file) => q.push(file));
80
84
  q.resume();
81
85
  await q.drain();