@mnemonica/tactica 0.4.8 → 0.4.9

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/lib/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { LocalScopeWalker } from './scopes';
15
15
  export type { ScopeTypeResolver } from './scopes';
16
16
  export { CreationGraphBuilder } from './creation-graph';
17
17
  export { mergeTacticaPlugins } from './plugins';
18
- export type { TacticaPlugin, InstrumentationVocabulary } from './plugins';
18
+ export type { TacticaPlugin, InstrumentationVocabulary, DecoratorArgFactory } from './plugins';
19
19
  export type { TacticaConfig, TypeNode, TypeGraph, PropertyInfo, AnalyzeResult, AnalyzeError, GeneratedTypes, DefinitionInfo, DefinitionField, DefinitionArg, UsageInfo, DefinitionsJson, UsagesJson, InstrumentationKind, InstrumentationScope, InstrumentationPoint, InstrumentationJson, ControlJson, ModuleBindingKind, ModuleImportKind, ModuleBinding, ModuleInfo, CrossModuleUsage, ModuleGraph, ModulesJson, ScopeKind, ScopeInfo, ScopeVariable, ScopeAnalysis, ScopesJson, CreationGraphNode, CreationGraphEdge, CreationAnchor, CreationGraph, CollectionManifestEntry, CollectionsJson, } from './types';
20
20
  export { main, run, watch, parseArgs } from './cli';
21
21
  export declare const VERSION: string;
package/lib/index.js CHANGED
@@ -68,4 +68,4 @@ Object.defineProperty(exports, "watch", { enumerable: true, get: function () { r
68
68
  Object.defineProperty(exports, "parseArgs", { enumerable: true, get: function () { return cli_1.parseArgs; } });
69
69
  // Version from package.json
70
70
  exports.VERSION = pkg.version;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFYixxREFBdUM7QUFFdkM7Ozs7OztHQU1HO0FBRUgsdUNBQStDO0FBQXRDLDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLDZEQUEyRDtBQUFsRCx5SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixpQ0FBd0M7QUFBL0Isc0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlDQUE2QztBQUFwQywyR0FBQSxjQUFjLE9BQUE7QUFDdkIsbUNBQXVDO0FBQTlCLHFHQUFBLFdBQVcsT0FBQTtBQUNwQiwrQ0FBb0Q7QUFBM0Msa0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsbUNBQTRDO0FBQW5DLDBHQUFBLGdCQUFnQixPQUFBO0FBRXpCLG1EQUF3RDtBQUEvQyxzSEFBQSxvQkFBb0IsT0FBQTtBQUM3QixxQ0FBZ0Q7QUFBdkMsOEdBQUEsbUJBQW1CLE9BQUE7QUE2QzVCLGtCQUFrQjtBQUNsQiw2QkFFZTtBQURkLDJGQUFBLElBQUksT0FBQTtBQUFFLDBGQUFBLEdBQUcsT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLGdHQUFBLFNBQVMsT0FBQTtBQUc1Qiw0QkFBNEI7QUFDZixRQUFBLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgKiBhcyBwa2cgZnJvbSAnLi4vcGFja2FnZS5qc29uJztcblxuLyoqXG4gKiBUYWN0aWNhIC0gVHlwZSBkZWZpbml0aW9uIGdlbmVyYXRvciBmb3IgTW5lbW9uaWNhXG4gKlxuICogR2VuZXJhdGVzIHR5cGUgZGVmaW5pdGlvbnMgZm9yIE1uZW1vbmljYSdzIGR5bmFtaWMgbmVzdGVkIGNvbnN0cnVjdG9ycyxcbiAqIGVuYWJsaW5nIFR5cGVTY3JpcHQgdG8gdW5kZXJzdGFuZCBydW50aW1lIHR5cGUgaGllcmFyY2hpZXMgY3JlYXRlZCB0aHJvdWdoXG4gKiBkZWZpbmUoKSBhbmQgZGVjb3JhdGUoKSBjYWxscy5cbiAqL1xuXG5leHBvcnQgeyBNbmVtb25pY2FBbmFseXplciB9IGZyb20gJy4vYW5hbHl6ZXInO1xuZXhwb3J0IHsgVG9wb2xvZ2ljYUFuYWx5emVyIH0gZnJvbSAnLi90b3BvbG9naWNhLWFuYWx5emVyJztcbmV4cG9ydCB7IFR5cGVHcmFwaEltcGwgfSBmcm9tICcuL2dyYXBoJztcbmV4cG9ydCB7IFR5cGVzR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3InO1xuZXhwb3J0IHsgVHlwZXNXcml0ZXIgfSBmcm9tICcuL3dyaXRlcic7XG5leHBvcnQgeyBNb2R1bGVHcmFwaEJ1aWxkZXIgfSBmcm9tICcuL21vZHVsZS1ncmFwaCc7XG5leHBvcnQgeyBMb2NhbFNjb3BlV2Fsa2VyIH0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVR5cGVSZXNvbHZlciB9IGZyb20gJy4vc2NvcGVzJztcbmV4cG9ydCB7IENyZWF0aW9uR3JhcGhCdWlsZGVyIH0gZnJvbSAnLi9jcmVhdGlvbi1ncmFwaCc7XG5leHBvcnQgeyBtZXJnZVRhY3RpY2FQbHVnaW5zIH0gZnJvbSAnLi9wbHVnaW5zJztcbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYVBsdWdpbiwgSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeVxufSBmcm9tICcuL3BsdWdpbnMnO1xuXG5cbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYUNvbmZpZyxcblx0VHlwZU5vZGUsXG5cdFR5cGVHcmFwaCxcblx0UHJvcGVydHlJbmZvLFxuXHRBbmFseXplUmVzdWx0LFxuXHRBbmFseXplRXJyb3IsXG5cdEdlbmVyYXRlZFR5cGVzLFxuXHREZWZpbml0aW9uSW5mbyxcblx0RGVmaW5pdGlvbkZpZWxkLFxuXHREZWZpbml0aW9uQXJnLFxuXHRVc2FnZUluZm8sXG5cdERlZmluaXRpb25zSnNvbixcblx0VXNhZ2VzSnNvbixcblx0SW5zdHJ1bWVudGF0aW9uS2luZCxcblx0SW5zdHJ1bWVudGF0aW9uU2NvcGUsXG5cdEluc3RydW1lbnRhdGlvblBvaW50LFxuXHRJbnN0cnVtZW50YXRpb25Kc29uLFxuXHRDb250cm9sSnNvbixcblx0TW9kdWxlQmluZGluZ0tpbmQsXG5cdE1vZHVsZUltcG9ydEtpbmQsXG5cdE1vZHVsZUJpbmRpbmcsXG5cdE1vZHVsZUluZm8sXG5cdENyb3NzTW9kdWxlVXNhZ2UsXG5cdE1vZHVsZUdyYXBoLFxuXHRNb2R1bGVzSnNvbixcblx0U2NvcGVLaW5kLFxuXHRTY29wZUluZm8sXG5cdFNjb3BlVmFyaWFibGUsXG5cdFNjb3BlQW5hbHlzaXMsXG5cdFNjb3Blc0pzb24sXG5cdENyZWF0aW9uR3JhcGhOb2RlLFxuXHRDcmVhdGlvbkdyYXBoRWRnZSxcblx0Q3JlYXRpb25BbmNob3IsXG5cdENyZWF0aW9uR3JhcGgsXG5cdENvbGxlY3Rpb25NYW5pZmVzdEVudHJ5LFxuXHRDb2xsZWN0aW9uc0pzb24sXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBDTEkgZW50cnkgcG9pbnRcbmV4cG9ydCB7XG5cdG1haW4sIHJ1biwgd2F0Y2gsIHBhcnNlQXJncyBcbn0gZnJvbSAnLi9jbGknO1xuXG4vLyBWZXJzaW9uIGZyb20gcGFja2FnZS5qc29uXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHBrZy52ZXJzaW9uO1xuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFYixxREFBdUM7QUFFdkM7Ozs7OztHQU1HO0FBRUgsdUNBQStDO0FBQXRDLDZHQUFBLGlCQUFpQixPQUFBO0FBQzFCLDZEQUEyRDtBQUFsRCx5SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixpQ0FBd0M7QUFBL0Isc0dBQUEsYUFBYSxPQUFBO0FBQ3RCLHlDQUE2QztBQUFwQywyR0FBQSxjQUFjLE9BQUE7QUFDdkIsbUNBQXVDO0FBQTlCLHFHQUFBLFdBQVcsT0FBQTtBQUNwQiwrQ0FBb0Q7QUFBM0Msa0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsbUNBQTRDO0FBQW5DLDBHQUFBLGdCQUFnQixPQUFBO0FBRXpCLG1EQUF3RDtBQUEvQyxzSEFBQSxvQkFBb0IsT0FBQTtBQUM3QixxQ0FBZ0Q7QUFBdkMsOEdBQUEsbUJBQW1CLE9BQUE7QUE2QzVCLGtCQUFrQjtBQUNsQiw2QkFFZTtBQURkLDJGQUFBLElBQUksT0FBQTtBQUFFLDBGQUFBLEdBQUcsT0FBQTtBQUFFLDRGQUFBLEtBQUssT0FBQTtBQUFFLGdHQUFBLFNBQVMsT0FBQTtBQUc1Qiw0QkFBNEI7QUFDZixRQUFBLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgKiBhcyBwa2cgZnJvbSAnLi4vcGFja2FnZS5qc29uJztcblxuLyoqXG4gKiBUYWN0aWNhIC0gVHlwZSBkZWZpbml0aW9uIGdlbmVyYXRvciBmb3IgTW5lbW9uaWNhXG4gKlxuICogR2VuZXJhdGVzIHR5cGUgZGVmaW5pdGlvbnMgZm9yIE1uZW1vbmljYSdzIGR5bmFtaWMgbmVzdGVkIGNvbnN0cnVjdG9ycyxcbiAqIGVuYWJsaW5nIFR5cGVTY3JpcHQgdG8gdW5kZXJzdGFuZCBydW50aW1lIHR5cGUgaGllcmFyY2hpZXMgY3JlYXRlZCB0aHJvdWdoXG4gKiBkZWZpbmUoKSBhbmQgZGVjb3JhdGUoKSBjYWxscy5cbiAqL1xuXG5leHBvcnQgeyBNbmVtb25pY2FBbmFseXplciB9IGZyb20gJy4vYW5hbHl6ZXInO1xuZXhwb3J0IHsgVG9wb2xvZ2ljYUFuYWx5emVyIH0gZnJvbSAnLi90b3BvbG9naWNhLWFuYWx5emVyJztcbmV4cG9ydCB7IFR5cGVHcmFwaEltcGwgfSBmcm9tICcuL2dyYXBoJztcbmV4cG9ydCB7IFR5cGVzR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3InO1xuZXhwb3J0IHsgVHlwZXNXcml0ZXIgfSBmcm9tICcuL3dyaXRlcic7XG5leHBvcnQgeyBNb2R1bGVHcmFwaEJ1aWxkZXIgfSBmcm9tICcuL21vZHVsZS1ncmFwaCc7XG5leHBvcnQgeyBMb2NhbFNjb3BlV2Fsa2VyIH0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBTY29wZVR5cGVSZXNvbHZlciB9IGZyb20gJy4vc2NvcGVzJztcbmV4cG9ydCB7IENyZWF0aW9uR3JhcGhCdWlsZGVyIH0gZnJvbSAnLi9jcmVhdGlvbi1ncmFwaCc7XG5leHBvcnQgeyBtZXJnZVRhY3RpY2FQbHVnaW5zIH0gZnJvbSAnLi9wbHVnaW5zJztcbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYVBsdWdpbiwgSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSwgRGVjb3JhdG9yQXJnRmFjdG9yeVxufSBmcm9tICcuL3BsdWdpbnMnO1xuXG5cbmV4cG9ydCB0eXBlIHtcblx0VGFjdGljYUNvbmZpZyxcblx0VHlwZU5vZGUsXG5cdFR5cGVHcmFwaCxcblx0UHJvcGVydHlJbmZvLFxuXHRBbmFseXplUmVzdWx0LFxuXHRBbmFseXplRXJyb3IsXG5cdEdlbmVyYXRlZFR5cGVzLFxuXHREZWZpbml0aW9uSW5mbyxcblx0RGVmaW5pdGlvbkZpZWxkLFxuXHREZWZpbml0aW9uQXJnLFxuXHRVc2FnZUluZm8sXG5cdERlZmluaXRpb25zSnNvbixcblx0VXNhZ2VzSnNvbixcblx0SW5zdHJ1bWVudGF0aW9uS2luZCxcblx0SW5zdHJ1bWVudGF0aW9uU2NvcGUsXG5cdEluc3RydW1lbnRhdGlvblBvaW50LFxuXHRJbnN0cnVtZW50YXRpb25Kc29uLFxuXHRDb250cm9sSnNvbixcblx0TW9kdWxlQmluZGluZ0tpbmQsXG5cdE1vZHVsZUltcG9ydEtpbmQsXG5cdE1vZHVsZUJpbmRpbmcsXG5cdE1vZHVsZUluZm8sXG5cdENyb3NzTW9kdWxlVXNhZ2UsXG5cdE1vZHVsZUdyYXBoLFxuXHRNb2R1bGVzSnNvbixcblx0U2NvcGVLaW5kLFxuXHRTY29wZUluZm8sXG5cdFNjb3BlVmFyaWFibGUsXG5cdFNjb3BlQW5hbHlzaXMsXG5cdFNjb3Blc0pzb24sXG5cdENyZWF0aW9uR3JhcGhOb2RlLFxuXHRDcmVhdGlvbkdyYXBoRWRnZSxcblx0Q3JlYXRpb25BbmNob3IsXG5cdENyZWF0aW9uR3JhcGgsXG5cdENvbGxlY3Rpb25NYW5pZmVzdEVudHJ5LFxuXHRDb2xsZWN0aW9uc0pzb24sXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBDTEkgZW50cnkgcG9pbnRcbmV4cG9ydCB7XG5cdG1haW4sIHJ1biwgd2F0Y2gsIHBhcnNlQXJncyBcbn0gZnJvbSAnLi9jbGknO1xuXG4vLyBWZXJzaW9uIGZyb20gcGFja2FnZS5qc29uXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHBrZy52ZXJzaW9uO1xuIl19
package/lib/plugins.d.ts CHANGED
@@ -9,6 +9,22 @@ import { InstrumentationKind } from './types';
9
9
  * All keys are matched by identifier TEXT only (no import resolution, no
10
10
  * type checker), so a plugin entry fires on any same-named identifier.
11
11
  */
12
+ /**
13
+ * One decorator-arg factory entry: the instrumentation kind, the target
14
+ * argument position (default 0), and whether the factory constructs the
15
+ * target type on the caller's behalf (`instantiation`).
16
+ */
17
+ export interface DecoratorArgFactory {
18
+ kind: InstrumentationKind;
19
+ targetArg?: number;
20
+ /**
21
+ * The factory constructs the type passed at `targetArg` (e.g. a pipe
22
+ * that runs `new Target(body)` per request): each matched call whose
23
+ * target resolves to a defined type is recorded in usages.json and
24
+ * flow.json as an `instantiation` of that type at the call site.
25
+ */
26
+ instantiation?: boolean;
27
+ }
12
28
  export interface TacticaPlugin {
13
29
  /** Plugin name, used in verbose logging */
14
30
  name?: string;
@@ -22,12 +38,10 @@ export interface TacticaPlugin {
22
38
  * Decorator-arg factory method -> kind + target argument position
23
39
  * (`@UsePipes(mvp.forType(Dto))`): a CallExpression arg whose callee is
24
40
  * `<anything>.<name>(...)` matches when `name` is listed; the point's
25
- * class is the identifier in `targetArg` (default 0).
41
+ * class is the identifier in `targetArg` (default 0). With
42
+ * `instantiation: true` the call is also a construction of that type.
26
43
  */
27
- decoratorArgFactories?: Record<string, {
28
- kind: InstrumentationKind;
29
- targetArg?: number;
30
- }>;
44
+ decoratorArgFactories?: Record<string, DecoratorArgFactory>;
31
45
  /**
32
46
  * Enable middleware wiring detection: `consumer.apply(Mw).forRoutes(...)`
33
47
  * inside a `configure()` method. Shape-based (no vocabulary keys), so it
@@ -43,10 +57,7 @@ export interface InstrumentationVocabulary {
43
57
  interfaces: Record<string, InstrumentationKind>;
44
58
  useDecorators: Record<string, InstrumentationKind>;
45
59
  appTokens: Record<string, InstrumentationKind>;
46
- decoratorArgFactories: Record<string, {
47
- kind: InstrumentationKind;
48
- targetArg?: number;
49
- }>;
60
+ decoratorArgFactories: Record<string, DecoratorArgFactory>;
50
61
  middlewareWiring: boolean;
51
62
  }
52
63
  /**
package/lib/plugins.js CHANGED
@@ -26,4 +26,4 @@ function mergeTacticaPlugins(plugins) {
26
26
  }
27
27
  return merged;
28
28
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUF3RGIsa0RBa0JDO0FBeEJEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUUsT0FBd0I7SUFDNUQsTUFBTSxNQUFNLEdBQThCO1FBQ3pDLFVBQVUsRUFBYyxFQUFFO1FBQzFCLGFBQWEsRUFBVyxFQUFFO1FBQzFCLFNBQVMsRUFBZSxFQUFFO1FBQzFCLHFCQUFxQixFQUFHLEVBQUU7UUFDMUIsZ0JBQWdCLEVBQVEsS0FBSztLQUM3QixDQUFDO0lBQ0YsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFFLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0YsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgSW5zdHJ1bWVudGF0aW9uS2luZCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRhY3RpY2EgcGx1Z2luOiBzdXBwbGllcyB0aGUgZnJhbWV3b3JrIHZvY2FidWxhcnkgdGhlIGFuYWx5emVyIG1hdGNoZXNcbiAqIHN5bnRhY3RpY2FsbHkuIFRhY3RpY2EgY29yZSBpcyBmcmFtZXdvcmstYmxpbmQg4oCUIHdpdGggbm8gcGx1Z2lucyBsb2FkZWRcbiAqIGl0IGRldGVjdHMgbm8gaW5zdHJ1bWVudGF0aW9uIHBvaW50cyBhdCBhbGwuIEZyYW1ld29yayBhZGFwdGVycyAoZS5nLiBhXG4gKiBzZXJ2ZXItZnJhbWV3b3JrIGludGVncmF0aW9uIHBhY2thZ2UpIHNoaXAgYSBwbHVnaW47IHByb2plY3RzIGVuYWJsZSBpdFxuICogdGhyb3VnaCBhIGAudGFjdGljYS5qc2AgLyBgdGFjdGljYS5jb25maWcuanNgIGNvbmZpZyBmaWxlLlxuICpcbiAqIEFsbCBrZXlzIGFyZSBtYXRjaGVkIGJ5IGlkZW50aWZpZXIgVEVYVCBvbmx5IChubyBpbXBvcnQgcmVzb2x1dGlvbiwgbm9cbiAqIHR5cGUgY2hlY2tlciksIHNvIGEgcGx1Z2luIGVudHJ5IGZpcmVzIG9uIGFueSBzYW1lLW5hbWVkIGlkZW50aWZpZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFjdGljYVBsdWdpbiB7XG5cdC8qKiBQbHVnaW4gbmFtZSwgdXNlZCBpbiB2ZXJib3NlIGxvZ2dpbmcgKi9cblx0bmFtZT86IHN0cmluZztcblx0LyoqIEhlcml0YWdlIGludGVyZmFjZSBpZGVudGlmaWVyIC0+IGtpbmQgKGBpbXBsZW1lbnRzIFhgKSAqL1xuXHRpbnN0cnVtZW50YXRpb25JbnRlcmZhY2VzPzogUmVjb3JkPHN0cmluZywgSW5zdHJ1bWVudGF0aW9uS2luZD47XG5cdC8qKiBEZWNvcmF0b3IgaWRlbnRpZmllciAtPiBraW5kIChgQFgoSW1wbClgIG9uIGNsYXNzZXMvbWV0aG9kcykgKi9cblx0dXNlRGVjb3JhdG9ycz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKiogUHJvdmlkZXIgdG9rZW4gaWRlbnRpZmllciAtPiBraW5kIChgeyBwcm92aWRlOiBUT0tFTiwgdXNlQ2xhc3M6IFggfWApICovXG5cdGFwcFRva2Vucz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKipcblx0ICogRGVjb3JhdG9yLWFyZyBmYWN0b3J5IG1ldGhvZCAtPiBraW5kICsgdGFyZ2V0IGFyZ3VtZW50IHBvc2l0aW9uXG5cdCAqIChgQFVzZVBpcGVzKG12cC5mb3JUeXBlKER0bykpYCk6IGEgQ2FsbEV4cHJlc3Npb24gYXJnIHdob3NlIGNhbGxlZSBpc1xuXHQgKiBgPGFueXRoaW5nPi48bmFtZT4oLi4uKWAgbWF0Y2hlcyB3aGVuIGBuYW1lYCBpcyBsaXN0ZWQ7IHRoZSBwb2ludCdzXG5cdCAqIGNsYXNzIGlzIHRoZSBpZGVudGlmaWVyIGluIGB0YXJnZXRBcmdgIChkZWZhdWx0IDApLlxuXHQgKi9cblx0ZGVjb3JhdG9yQXJnRmFjdG9yaWVzPzogUmVjb3JkPHN0cmluZywgeyBraW5kOiBJbnN0cnVtZW50YXRpb25LaW5kOyB0YXJnZXRBcmc/OiBudW1iZXIgfT47XG5cdC8qKlxuXHQgKiBFbmFibGUgbWlkZGxld2FyZSB3aXJpbmcgZGV0ZWN0aW9uOiBgY29uc3VtZXIuYXBwbHkoTXcpLmZvclJvdXRlcyguLi4pYFxuXHQgKiBpbnNpZGUgYSBgY29uZmlndXJlKClgIG1ldGhvZC4gU2hhcGUtYmFzZWQgKG5vIHZvY2FidWxhcnkga2V5cyksIHNvIGl0XG5cdCAqIGlzIG9wdC1pbiBwZXIgcGx1Z2luLlxuXHQgKi9cblx0bWlkZGxld2FyZVdpcmluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIGFuYWx5emVyJ3MgbWVyZ2VkIHZpZXcgb2YgYWxsIGxvYWRlZCBwbHVnaW5zOiBvbmUgbG9va3VwIHRhYmxlIHBlclxuICogZGV0ZWN0aW9uIGNoYW5uZWwsIHBsdXMgdGhlIG1pZGRsZXdhcmUtd2lyaW5nIHN3aXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnN0cnVtZW50YXRpb25Wb2NhYnVsYXJ5IHtcblx0aW50ZXJmYWNlczogUmVjb3JkPHN0cmluZywgSW5zdHJ1bWVudGF0aW9uS2luZD47XG5cdHVzZURlY29yYXRvcnM6IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHRhcHBUb2tlbnM6IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHRkZWNvcmF0b3JBcmdGYWN0b3JpZXM6IFJlY29yZDxzdHJpbmcsIHsga2luZDogSW5zdHJ1bWVudGF0aW9uS2luZDsgdGFyZ2V0QXJnPzogbnVtYmVyIH0+O1xuXHRtaWRkbGV3YXJlV2lyaW5nOiBib29sZWFuO1xufVxuXG4vKipcbiAqIE1lcmdlIHBsdWdpbnMgaW50byBvbmUgdm9jYWJ1bGFyeS4gTGF0ZXIgcGx1Z2lucyBvdmVycmlkZSBlYXJsaWVyIG9uZXMgb25cbiAqIHRoZSBzYW1lIGlkZW50aWZpZXIga2V5OyBtaWRkbGV3YXJlV2lyaW5nIGlzIGFuIE9SIChhbnkgcGx1Z2luIGVuYWJsZXMgaXQpLlxuICogQW4gZW1wdHkgcGx1Z2luIGxpc3QgeWllbGRzIGFuIGVtcHR5IHZvY2FidWxhcnkg4oCUIHRoZSBhbmFseXplciB0aGVuXG4gKiBjb2xsZWN0cyB6ZXJvIGluc3RydW1lbnRhdGlvbiBwb2ludHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRhY3RpY2FQbHVnaW5zIChwbHVnaW5zOiBUYWN0aWNhUGx1Z2luW10pOiBJbnN0cnVtZW50YXRpb25Wb2NhYnVsYXJ5IHtcblx0Y29uc3QgbWVyZ2VkOiBJbnN0cnVtZW50YXRpb25Wb2NhYnVsYXJ5ID0ge1xuXHRcdGludGVyZmFjZXMgICAgICAgICAgICA6IHt9LFxuXHRcdHVzZURlY29yYXRvcnMgICAgICAgICA6IHt9LFxuXHRcdGFwcFRva2VucyAgICAgICAgICAgICA6IHt9LFxuXHRcdGRlY29yYXRvckFyZ0ZhY3RvcmllcyA6IHt9LFxuXHRcdG1pZGRsZXdhcmVXaXJpbmcgICAgICA6IGZhbHNlLFxuXHR9O1xuXHRmb3IgKGNvbnN0IHBsdWdpbiBvZiBwbHVnaW5zKSB7XG5cdFx0T2JqZWN0LmFzc2lnbihtZXJnZWQuaW50ZXJmYWNlcywgcGx1Z2luLmluc3RydW1lbnRhdGlvbkludGVyZmFjZXMpO1xuXHRcdE9iamVjdC5hc3NpZ24obWVyZ2VkLnVzZURlY29yYXRvcnMsIHBsdWdpbi51c2VEZWNvcmF0b3JzKTtcblx0XHRPYmplY3QuYXNzaWduKG1lcmdlZC5hcHBUb2tlbnMsIHBsdWdpbi5hcHBUb2tlbnMpO1xuXHRcdE9iamVjdC5hc3NpZ24obWVyZ2VkLmRlY29yYXRvckFyZ0ZhY3RvcmllcywgcGx1Z2luLmRlY29yYXRvckFyZ0ZhY3Rvcmllcyk7XG5cdFx0aWYgKHBsdWdpbi5taWRkbGV3YXJlV2lyaW5nKSB7XG5cdFx0XHRtZXJnZWQubWlkZGxld2FyZVdpcmluZyA9IHRydWU7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBtZXJnZWQ7XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUEwRWIsa0RBa0JDO0FBeEJEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUUsT0FBd0I7SUFDNUQsTUFBTSxNQUFNLEdBQThCO1FBQ3pDLFVBQVUsRUFBYyxFQUFFO1FBQzFCLGFBQWEsRUFBVyxFQUFFO1FBQzFCLFNBQVMsRUFBZSxFQUFFO1FBQzFCLHFCQUFxQixFQUFHLEVBQUU7UUFDMUIsZ0JBQWdCLEVBQVEsS0FBSztLQUM3QixDQUFDO0lBQ0YsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFFLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDO0lBQ0YsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgSW5zdHJ1bWVudGF0aW9uS2luZCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRhY3RpY2EgcGx1Z2luOiBzdXBwbGllcyB0aGUgZnJhbWV3b3JrIHZvY2FidWxhcnkgdGhlIGFuYWx5emVyIG1hdGNoZXNcbiAqIHN5bnRhY3RpY2FsbHkuIFRhY3RpY2EgY29yZSBpcyBmcmFtZXdvcmstYmxpbmQg4oCUIHdpdGggbm8gcGx1Z2lucyBsb2FkZWRcbiAqIGl0IGRldGVjdHMgbm8gaW5zdHJ1bWVudGF0aW9uIHBvaW50cyBhdCBhbGwuIEZyYW1ld29yayBhZGFwdGVycyAoZS5nLiBhXG4gKiBzZXJ2ZXItZnJhbWV3b3JrIGludGVncmF0aW9uIHBhY2thZ2UpIHNoaXAgYSBwbHVnaW47IHByb2plY3RzIGVuYWJsZSBpdFxuICogdGhyb3VnaCBhIGAudGFjdGljYS5qc2AgLyBgdGFjdGljYS5jb25maWcuanNgIGNvbmZpZyBmaWxlLlxuICpcbiAqIEFsbCBrZXlzIGFyZSBtYXRjaGVkIGJ5IGlkZW50aWZpZXIgVEVYVCBvbmx5IChubyBpbXBvcnQgcmVzb2x1dGlvbiwgbm9cbiAqIHR5cGUgY2hlY2tlciksIHNvIGEgcGx1Z2luIGVudHJ5IGZpcmVzIG9uIGFueSBzYW1lLW5hbWVkIGlkZW50aWZpZXIuXG4gKi9cbi8qKlxuICogT25lIGRlY29yYXRvci1hcmcgZmFjdG9yeSBlbnRyeTogdGhlIGluc3RydW1lbnRhdGlvbiBraW5kLCB0aGUgdGFyZ2V0XG4gKiBhcmd1bWVudCBwb3NpdGlvbiAoZGVmYXVsdCAwKSwgYW5kIHdoZXRoZXIgdGhlIGZhY3RvcnkgY29uc3RydWN0cyB0aGVcbiAqIHRhcmdldCB0eXBlIG9uIHRoZSBjYWxsZXIncyBiZWhhbGYgKGBpbnN0YW50aWF0aW9uYCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb3JhdG9yQXJnRmFjdG9yeSB7XG5cdGtpbmQ6IEluc3RydW1lbnRhdGlvbktpbmQ7XG5cdHRhcmdldEFyZz86IG51bWJlcjtcblx0LyoqXG5cdCAqIFRoZSBmYWN0b3J5IGNvbnN0cnVjdHMgdGhlIHR5cGUgcGFzc2VkIGF0IGB0YXJnZXRBcmdgIChlLmcuIGEgcGlwZVxuXHQgKiB0aGF0IHJ1bnMgYG5ldyBUYXJnZXQoYm9keSlgIHBlciByZXF1ZXN0KTogZWFjaCBtYXRjaGVkIGNhbGwgd2hvc2Vcblx0ICogdGFyZ2V0IHJlc29sdmVzIHRvIGEgZGVmaW5lZCB0eXBlIGlzIHJlY29yZGVkIGluIHVzYWdlcy5qc29uIGFuZFxuXHQgKiBmbG93Lmpzb24gYXMgYW4gYGluc3RhbnRpYXRpb25gIG9mIHRoYXQgdHlwZSBhdCB0aGUgY2FsbCBzaXRlLlxuXHQgKi9cblx0aW5zdGFudGlhdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFjdGljYVBsdWdpbiB7XG5cdC8qKiBQbHVnaW4gbmFtZSwgdXNlZCBpbiB2ZXJib3NlIGxvZ2dpbmcgKi9cblx0bmFtZT86IHN0cmluZztcblx0LyoqIEhlcml0YWdlIGludGVyZmFjZSBpZGVudGlmaWVyIC0+IGtpbmQgKGBpbXBsZW1lbnRzIFhgKSAqL1xuXHRpbnN0cnVtZW50YXRpb25JbnRlcmZhY2VzPzogUmVjb3JkPHN0cmluZywgSW5zdHJ1bWVudGF0aW9uS2luZD47XG5cdC8qKiBEZWNvcmF0b3IgaWRlbnRpZmllciAtPiBraW5kIChgQFgoSW1wbClgIG9uIGNsYXNzZXMvbWV0aG9kcykgKi9cblx0dXNlRGVjb3JhdG9ycz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKiogUHJvdmlkZXIgdG9rZW4gaWRlbnRpZmllciAtPiBraW5kIChgeyBwcm92aWRlOiBUT0tFTiwgdXNlQ2xhc3M6IFggfWApICovXG5cdGFwcFRva2Vucz86IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHQvKipcblx0ICogRGVjb3JhdG9yLWFyZyBmYWN0b3J5IG1ldGhvZCAtPiBraW5kICsgdGFyZ2V0IGFyZ3VtZW50IHBvc2l0aW9uXG5cdCAqIChgQFVzZVBpcGVzKG12cC5mb3JUeXBlKER0bykpYCk6IGEgQ2FsbEV4cHJlc3Npb24gYXJnIHdob3NlIGNhbGxlZSBpc1xuXHQgKiBgPGFueXRoaW5nPi48bmFtZT4oLi4uKWAgbWF0Y2hlcyB3aGVuIGBuYW1lYCBpcyBsaXN0ZWQ7IHRoZSBwb2ludCdzXG5cdCAqIGNsYXNzIGlzIHRoZSBpZGVudGlmaWVyIGluIGB0YXJnZXRBcmdgIChkZWZhdWx0IDApLiBXaXRoXG5cdCAqIGBpbnN0YW50aWF0aW9uOiB0cnVlYCB0aGUgY2FsbCBpcyBhbHNvIGEgY29uc3RydWN0aW9uIG9mIHRoYXQgdHlwZS5cblx0ICovXG5cdGRlY29yYXRvckFyZ0ZhY3Rvcmllcz86IFJlY29yZDxzdHJpbmcsIERlY29yYXRvckFyZ0ZhY3Rvcnk+O1xuXHQvKipcblx0ICogRW5hYmxlIG1pZGRsZXdhcmUgd2lyaW5nIGRldGVjdGlvbjogYGNvbnN1bWVyLmFwcGx5KE13KS5mb3JSb3V0ZXMoLi4uKWBcblx0ICogaW5zaWRlIGEgYGNvbmZpZ3VyZSgpYCBtZXRob2QuIFNoYXBlLWJhc2VkIChubyB2b2NhYnVsYXJ5IGtleXMpLCBzbyBpdFxuXHQgKiBpcyBvcHQtaW4gcGVyIHBsdWdpbi5cblx0ICovXG5cdG1pZGRsZXdhcmVXaXJpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBhbmFseXplcidzIG1lcmdlZCB2aWV3IG9mIGFsbCBsb2FkZWQgcGx1Z2luczogb25lIGxvb2t1cCB0YWJsZSBwZXJcbiAqIGRldGVjdGlvbiBjaGFubmVsLCBwbHVzIHRoZSBtaWRkbGV3YXJlLXdpcmluZyBzd2l0Y2guXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSB7XG5cdGludGVyZmFjZXM6IFJlY29yZDxzdHJpbmcsIEluc3RydW1lbnRhdGlvbktpbmQ+O1xuXHR1c2VEZWNvcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBJbnN0cnVtZW50YXRpb25LaW5kPjtcblx0YXBwVG9rZW5zOiBSZWNvcmQ8c3RyaW5nLCBJbnN0cnVtZW50YXRpb25LaW5kPjtcblx0ZGVjb3JhdG9yQXJnRmFjdG9yaWVzOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JBcmdGYWN0b3J5Pjtcblx0bWlkZGxld2FyZVdpcmluZzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBNZXJnZSBwbHVnaW5zIGludG8gb25lIHZvY2FidWxhcnkuIExhdGVyIHBsdWdpbnMgb3ZlcnJpZGUgZWFybGllciBvbmVzIG9uXG4gKiB0aGUgc2FtZSBpZGVudGlmaWVyIGtleTsgbWlkZGxld2FyZVdpcmluZyBpcyBhbiBPUiAoYW55IHBsdWdpbiBlbmFibGVzIGl0KS5cbiAqIEFuIGVtcHR5IHBsdWdpbiBsaXN0IHlpZWxkcyBhbiBlbXB0eSB2b2NhYnVsYXJ5IOKAlCB0aGUgYW5hbHl6ZXIgdGhlblxuICogY29sbGVjdHMgemVybyBpbnN0cnVtZW50YXRpb24gcG9pbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUYWN0aWNhUGx1Z2lucyAocGx1Z2luczogVGFjdGljYVBsdWdpbltdKTogSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSB7XG5cdGNvbnN0IG1lcmdlZDogSW5zdHJ1bWVudGF0aW9uVm9jYWJ1bGFyeSA9IHtcblx0XHRpbnRlcmZhY2VzICAgICAgICAgICAgOiB7fSxcblx0XHR1c2VEZWNvcmF0b3JzICAgICAgICAgOiB7fSxcblx0XHRhcHBUb2tlbnMgICAgICAgICAgICAgOiB7fSxcblx0XHRkZWNvcmF0b3JBcmdGYWN0b3JpZXMgOiB7fSxcblx0XHRtaWRkbGV3YXJlV2lyaW5nICAgICAgOiBmYWxzZSxcblx0fTtcblx0Zm9yIChjb25zdCBwbHVnaW4gb2YgcGx1Z2lucykge1xuXHRcdE9iamVjdC5hc3NpZ24obWVyZ2VkLmludGVyZmFjZXMsIHBsdWdpbi5pbnN0cnVtZW50YXRpb25JbnRlcmZhY2VzKTtcblx0XHRPYmplY3QuYXNzaWduKG1lcmdlZC51c2VEZWNvcmF0b3JzLCBwbHVnaW4udXNlRGVjb3JhdG9ycyk7XG5cdFx0T2JqZWN0LmFzc2lnbihtZXJnZWQuYXBwVG9rZW5zLCBwbHVnaW4uYXBwVG9rZW5zKTtcblx0XHRPYmplY3QuYXNzaWduKG1lcmdlZC5kZWNvcmF0b3JBcmdGYWN0b3JpZXMsIHBsdWdpbi5kZWNvcmF0b3JBcmdGYWN0b3JpZXMpO1xuXHRcdGlmIChwbHVnaW4ubWlkZGxld2FyZVdpcmluZykge1xuXHRcdFx0bWVyZ2VkLm1pZGRsZXdhcmVXaXJpbmcgPSB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbWVyZ2VkO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnemonica/tactica",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "description": "Type definition generator for Mnemonica: statically analyzes define() calls and emits .tactica types, registry, and metadata",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -54,8 +54,8 @@
54
54
  "@types/chai": "^4.3.20",
55
55
  "@types/mocha": "^10.0.10",
56
56
  "@types/node": "^20.19.43",
57
- "@typescript-eslint/eslint-plugin": "^8.71.2",
58
- "@typescript-eslint/parser": "^8.71.2",
57
+ "@typescript-eslint/eslint-plugin": "^8.72.0",
58
+ "@typescript-eslint/parser": "^8.72.0",
59
59
  "ajv": "^8.20.0",
60
60
  "chai": "^4.5.0",
61
61
  "eslint": "^9.39.5",
@@ -67,7 +67,7 @@
67
67
  "mocha": "^8.4.0",
68
68
  "nyc": "^18.0.0",
69
69
  "ts-node": "^10.9.2",
70
- "typeomatica": "^0.3.63",
70
+ "typeomatica": "^0.3.64",
71
71
  "typescript": "^6.0.3"
72
72
  },
73
73
  "dependencies": {