@appland/appmap 3.31.0 → 3.32.0

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 (39) hide show
  1. package/CHANGELOG.md +17 -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/functionStats.js +9 -0
  8. package/built/functionStats.js.map +1 -1
  9. package/built/inspect/context.js +66 -0
  10. package/built/inspect/context.js.map +1 -0
  11. package/built/inspect/filter.js +8 -5
  12. package/built/inspect/filter.js.map +1 -1
  13. package/built/inspect/home.js +14 -9
  14. package/built/inspect/home.js.map +1 -1
  15. package/built/inspect/navigate.js +15 -0
  16. package/built/inspect/navigate.js.map +1 -0
  17. package/built/inspect/reset.js +5 -5
  18. package/built/inspect/reset.js.map +1 -1
  19. package/built/inspect/ui.js +121 -0
  20. package/built/inspect/ui.js.map +1 -0
  21. package/built/inspect/undoFilter.js +5 -5
  22. package/built/inspect/undoFilter.js.map +1 -1
  23. package/built/main.js.map +1 -1
  24. package/built/search/{codeObjectMatcher.js → descentCodeObjectMatcher.js} +50 -17
  25. package/built/search/descentCodeObjectMatcher.js.map +1 -0
  26. package/built/search/findCodeObjects.js +96 -126
  27. package/built/search/findCodeObjects.js.map +1 -1
  28. package/built/search/findEvents.js +1 -1
  29. package/built/search/findEvents.js.map +1 -1
  30. package/built/search/iterateCodeObjectMatcher.js +37 -0
  31. package/built/search/iterateCodeObjectMatcher.js.map +1 -0
  32. package/built/search/matchSpec.js +11 -3
  33. package/built/search/matchSpec.js.map +1 -1
  34. package/built/utils.js +5 -1
  35. package/built/utils.js.map +1 -1
  36. package/package.json +2 -2
  37. package/built/inspect.js +0 -8
  38. package/built/inspect.js.map +0 -1
  39. 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":";AAAA,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AACnC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE3C,iDAAiD;AACjD,+CAA+C;AAC/C,yDAAyD;AACzD,yDAAyD;AAEzD;;GAEG;AACH,MAAM,UAAU;IACd;;;;OAIG;IACH,YAAY,UAAU,EAAE,UAAU;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,0CAA0C,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,+EAA+E;QAC/E,mDAAmD;QACnD,iCAAiC;QACjC,sBAAsB;QACtB,WAAW;QACX,YAAY;QACZ,wBAAwB;QACxB,mCAAmC;QAEnC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,UAAU,CAAC;QACf,IAAI;YACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,iBAAiB,UAAU,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,2BAA2B,CAAC,EAAE,CAAC;QAC/C,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,MAAM,WAAW,GAAG,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CACjD,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAE7C,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACvE,MAAM,MAAM;YACV,oBAAoB,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,QAAQ,GAAG,yBAAyB,CAAC;gBACzC,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK;gBACL,SAAS;gBACT,eAAe,EAAE,EAAE;gBACnB,aAAa,EAAE,EAAE;gBACjB,gBAAgB,EAAE,EAAE;gBACpB,WAAW,EAAE,EAAE;aAChB,CAAC;YACF,IAAI,MAAM,EAAE;gBACV,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;aAC1B;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,EAAE;gBACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAEpD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACnD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aACxD;YAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,cAAc,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE;YAC9C,OAAO,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,OAAO,IAAI,CAAC;aACb;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACjC;YACE,gCAAgC,CAAC,IAAI;YACrC,qBAAqB,CAAC,MAAM,EAC5B,EAAE;gBACF,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,EAAE;oBACb,2CAA2C;oBAC3C,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;iBACnC;gBACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC,EACD,EAAE,CACH,CAAC;YACF,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;gBACzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC1C,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,eAAe,GAAG,CAAC,yBAAyB,CAAC,eAAe,EAAE,EAAE;gBACpE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE;oBACjD,OAAO,IAAI,CAAC;iBACb;gBACD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,CAAC;YAEF,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5D,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE;YAC3C,IACE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3B,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAC7D;gBACA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,KAAK,CAAC;gBACrB,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBAE3D,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACtD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAChD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;aACrD;YAED,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;gBACtB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9C,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;aACJ;YAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,eAAe,EAAE,EAAE;gBACrB,UAAU,EAAE,CAAC;aACd;QACH,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,KAAK,CAAC,WAAW,EAAE;oBACrB,KAAK,CAAC,KAAK,CAAC,CAAC;iBACd;aACF;iBAAM;gBACL,KAAK,CAAC,KAAK,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
@@ -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":"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"}
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();