@feasibleone/blong-chain 1.8.0 → 1.8.2

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.
@@ -1,377 +0,0 @@
1
- import nodeAssert from 'node:assert';
2
- declare module 'node:assert' {
3
- function snapshot(value?: unknown, name?: string, opts?: {
4
- mask?: string[];
5
- }): void;
6
- }
7
- /**
8
- * Type definitions for the Blong parallel test framework
9
- */
10
- /** Minimal logger interface compatible with the framework's ILogger */
11
- export interface ITestLogger {
12
- trace?: (...args: unknown[]) => void;
13
- debug?: (...args: unknown[]) => void;
14
- info?: (...args: unknown[]) => void;
15
- warn?: (...args: unknown[]) => void;
16
- error?: (...args: unknown[]) => void;
17
- fatal?: (...args: unknown[]) => void;
18
- }
19
- /**
20
- * Context object passed to test step functions.
21
- * All properties except $meta are thenable proxies that must be awaited.
22
- */
23
- export interface ITestContext {
24
- /** Meta information - always available directly (not a thenable proxy) */
25
- $meta: IMeta;
26
- /** Dynamic properties added by completed steps - accessed via thenable proxies */
27
- [key: string]: unknown;
28
- }
29
- /**
30
- * A single test step function
31
- * @param assert - Assertion functions from node:assert or tap
32
- * @param context - Test context with $meta and outputs from previous steps
33
- * @returns The output to be stored in context under the function's name
34
- */
35
- export type StepFunction = (assert: typeof nodeAssert, context: ITestContext) => unknown | Promise<unknown>;
36
- /**
37
- * A snapshot checkpoint — an array of step-name strings placed inside the
38
- * steps array. At runtime, when the executor encounters it the current batch
39
- * is awaited and the listed step results are snapshotted into the TAP context.
40
- *
41
- * - `['*']` — snapshot ALL completed steps' results into one context object
42
- * - `['step1', 'step2']` — snapshot only those specific steps
43
- * - `[]` — sync barrier only, no snapshot (existing behaviour)
44
- *
45
- * The array may carry an optional `.name` to give the snapshot a stable name:
46
- * ```
47
- * const cp = Object.assign(['*'], {name: 'provisioning-complete'});
48
- * ```
49
- */
50
- export type CheckpointMarker = string[] & {
51
- name?: string;
52
- };
53
- /**
54
- * Array of test steps. May contain step functions, nested step groups, or
55
- * checkpoint markers (string arrays).
56
- */
57
- export type StepArray = (StepFunction | StepArray | CheckpointMarker)[] & {
58
- name?: string;
59
- };
60
- /**
61
- * Meta information passed through test execution
62
- */
63
- export interface IMeta {
64
- /** Optional concurrency limit for parallel step execution */
65
- concurrency?: number;
66
- /** Additional metadata properties */
67
- [key: string]: unknown;
68
- }
69
- /**
70
- * Test framework context (e.g., from node:test or tap)
71
- * Enables nested test output with automatic indentation
72
- */
73
- export interface ITestFrameworkContext {
74
- /** Creates a nested test scope for proper indentation */
75
- test: (name: string, fn: (t: unknown) => void | Promise<void>) => unknown;
76
- /** Captures a snapshot of a value under the given name */
77
- matchSnapshot?: (value: unknown, name: string) => void;
78
- }
79
- /**
80
- * A thenable proxy that acts as both a Promise and supports property access.
81
- * Used for automatic dependency detection in test steps.
82
- *
83
- * Note: This is a conceptual type. The actual implementation uses Proxy objects
84
- * that intercept property access. TypeScript cannot perfectly represent this pattern.
85
- */
86
- export type IThenableProxy<T = unknown> = Promise<T> & {
87
- /** Access nested properties, returning more thenable proxies */
88
- [key: string]: IThenableProxy<unknown>;
89
- };
90
- /**
91
- * Promise resolution tracking for a specific context path
92
- */
93
- export interface IPromiseEntry<T = unknown> {
94
- /** The actual promise that resolves when the step completes */
95
- promise: Promise<T>;
96
- /** Function to resolve the promise with a value */
97
- resolve: (value: T) => void;
98
- /** Function to reject the promise with an error */
99
- reject: (error: Error) => void;
100
- }
101
- /**
102
- * Complete definition of a test step including metadata
103
- */
104
- export interface IStepDefinition {
105
- /** The step function to execute */
106
- fn: StepFunction;
107
- /** The step's display name (function name or custom name) */
108
- name: string;
109
- /** Source code location where this step was defined */
110
- sourceLocation: ISourceLocation;
111
- /** Parent group hierarchy */
112
- groupPath: string[];
113
- }
114
- /**
115
- * Source code location information
116
- */
117
- export interface ISourceLocation {
118
- /** Absolute file path */
119
- file: string;
120
- /** Line number (1-indexed) */
121
- line: number;
122
- /** Column number (1-indexed) */
123
- column: number;
124
- /** Optional code snippet for context */
125
- snippet?: string;
126
- }
127
- /**
128
- * Graph structure tracking dependencies between test steps
129
- */
130
- export interface IDependencyGraph {
131
- /** All steps in the test as graph nodes */
132
- nodes: Map<string, IDependencyNode>;
133
- /** Dependency relationships between steps */
134
- edges: IDependencyEdge[];
135
- }
136
- /**
137
- * A single node in the dependency graph
138
- */
139
- export interface IDependencyNode {
140
- /** Step name (unique identifier) */
141
- stepName: string;
142
- /** Hierarchy of group names this step belongs to */
143
- groupPath: string[];
144
- /** When step execution started (timestamp) */
145
- startTime?: number;
146
- /** When step execution finished (timestamp) */
147
- endTime?: number;
148
- /** Current execution status */
149
- status: 'pending' | 'running' | 'completed' | 'failed';
150
- /** Error if step failed */
151
- error?: Error;
152
- }
153
- /**
154
- * An edge representing a dependency relationship
155
- */
156
- export interface IDependencyEdge {
157
- /** Step that depends on another step */
158
- from: string;
159
- /** Step being depended on */
160
- to: string;
161
- /** Which context property/path was accessed */
162
- property: string;
163
- }
164
- /**
165
- * Overall test execution progress
166
- */
167
- export interface ITestProgress {
168
- /** Test name */
169
- testName: string;
170
- /** Test start time */
171
- startTime: number;
172
- /** Test end time (when all steps complete) */
173
- endTime?: number;
174
- /** Overall test status */
175
- status: 'pending' | 'running' | 'completed' | 'failed';
176
- /** Total number of steps in the test */
177
- totalSteps: number;
178
- /** Number of completed steps */
179
- completedSteps: number;
180
- /** Number of failed steps */
181
- failedSteps: number;
182
- /** Progress details for each step */
183
- steps: Map<string, IStepProgress>;
184
- /** Group hierarchy information */
185
- groups: IGroupProgress[];
186
- }
187
- /**
188
- * Progress information for a single step
189
- */
190
- export interface IStepProgress {
191
- /** Step name */
192
- stepName: string;
193
- /** Display name (may differ from stepName for reused tests) */
194
- displayName: string;
195
- /** Group hierarchy path */
196
- groupPath: string[];
197
- /** Current step status */
198
- status: 'pending' | 'running' | 'completed' | 'failed';
199
- /** When step started executing */
200
- startTime?: number;
201
- /** When step finished executing */
202
- endTime?: number;
203
- /** Total duration (end - start) */
204
- duration?: number;
205
- /** Time spent waiting in queue before execution */
206
- queueTime?: number;
207
- /** Time spent actually executing the step function */
208
- executionTime?: number;
209
- /** Time spent waiting for dependencies to resolve */
210
- waitTime?: number;
211
- /** Steps this step depends on */
212
- dependencies: string[];
213
- /** Steps that depend on this step */
214
- dependents: string[];
215
- /** Source code location */
216
- sourceLocation?: ISourceLocation;
217
- /** Step output/result */
218
- result?: unknown;
219
- /** Error information if step failed */
220
- error?: IStepError;
221
- }
222
- /**
223
- * Error information with enhanced context
224
- */
225
- export interface IStepError {
226
- /** Error message */
227
- message: string;
228
- /** Stack trace */
229
- stack: string;
230
- /** Context snapshot at time of failure */
231
- context: Record<string, unknown>;
232
- }
233
- /**
234
- * Progress information for a group of steps
235
- */
236
- export interface IGroupProgress {
237
- /** Group name */
238
- groupName: string;
239
- /** Hierarchy path */
240
- path: string[];
241
- /** Group status */
242
- status: 'pending' | 'running' | 'completed' | 'failed';
243
- /** Step names in this group */
244
- steps: string[];
245
- /** Total steps in group */
246
- totalSteps: number;
247
- /** Completed steps in group */
248
- completedSteps: number;
249
- }
250
- /**
251
- * Detailed timing information for a step
252
- */
253
- export interface IStepLatency {
254
- /** Step name */
255
- stepName: string;
256
- /** When step was added to queue */
257
- queuedAt: number;
258
- /** When step execution started */
259
- startedAt?: number;
260
- /** When step execution completed */
261
- completedAt?: number;
262
- /** Time from queue entry to execution start */
263
- queueTime: number;
264
- /** Time spent waiting for dependencies */
265
- waitTime: number;
266
- /** Actual execution time (excludes wait time) */
267
- executionTime: number;
268
- /** Total time from queue to completion */
269
- totalTime: number;
270
- }
271
- /**
272
- * Aggregate latency metrics for entire test
273
- */
274
- export interface ITestLatency {
275
- /** Test name */
276
- testName: string;
277
- /** Total wall-clock duration */
278
- totalDuration: number;
279
- /** Latency details for each step */
280
- steps: Map<string, IStepLatency>;
281
- /** Steps on the critical path (longest dependency chain) */
282
- criticalPath: string[];
283
- /** Ratio of parallel efficiency (total step time / wall clock time) */
284
- parallelEfficiency: number;
285
- /** Steps that blocked the most other steps */
286
- bottlenecks: Array<{
287
- stepName: string;
288
- executionTime: number;
289
- blockedSteps: string[];
290
- }>;
291
- }
292
- /**
293
- * Event emitter interface for progress notifications
294
- */
295
- export interface ITestEvents {
296
- 'test:start': (progress: ITestProgress) => void;
297
- 'test:end': (progress: ITestProgress) => void;
298
- 'step:start': (stepName: string, progress: IStepProgress) => void;
299
- 'step:end': (stepName: string, progress: IStepProgress) => void;
300
- 'step:error': (stepName: string, error: Error, progress: IStepProgress) => void;
301
- }
302
- /**
303
- * Configuration for the parallel test executor
304
- */
305
- export interface ITestExecutorConfig {
306
- /** Maximum number of steps to run in parallel */
307
- concurrency?: number;
308
- /** Whether to capture stack traces (performance impact) */
309
- captureStackTraces?: boolean;
310
- /** Test framework to use (tap, node:test, etc.) */
311
- framework?: unknown;
312
- /** Logger instance for reporting step failures */
313
- log?: ITestLogger;
314
- /**
315
- * Chain-level mask paths. Applied to ALL snapshot operations in this chain:
316
- * `autoSnapshot`, `assert.snapshot()`, and checkpoint snapshots.
317
- *
318
- * Supports:
319
- * - Simple name: `'id'` — masks the `id` field in the snapshotted value
320
- * - Dot-path: `'user.id'` — masks a nested field
321
- * - Wildcard prefix: `'*.id'` — masks `id` inside every direct child of the
322
- * snapshotted object (useful for context-level snapshots where each child
323
- * is a step result)
324
- *
325
- * Per-call `{mask: [...]}` options are merged on top of this chain-level mask.
326
- */
327
- mask?: string[];
328
- /**
329
- * When `true`, automatically snapshot every step's return value under the
330
- * step's function name after it completes. The chain-level `mask` is applied
331
- * before snapshotting. No `assert.snapshot()` calls are needed in step
332
- * functions — the framework captures everything automatically.
333
- *
334
- * Requires a TAP (or compatible) test context to be passed to `execute()`.
335
- */
336
- autoSnapshot?: boolean;
337
- /**
338
- * @deprecated Use `mask` (string array) instead.
339
- * Custom masking function for advanced scenarios not covered by `mask`.
340
- * When both are provided, `maskFn` is used and `mask` is passed to it.
341
- */
342
- maskFn?: (value: unknown, paths: string[]) => unknown;
343
- /**
344
- * Automatic rerun configuration for failing steps (Phase 1).
345
- *
346
- * When enabled, a step that throws an error is retried up to `maxRetries`
347
- * times before being reported as failed. This is useful for flaky tests
348
- * caused by race conditions or transient network issues.
349
- *
350
- * Phase 2 (diagnostic attachment) is not yet implemented.
351
- */
352
- rerun?: {
353
- /** Whether to enable the retry mechanism (default: false) */
354
- enabled?: boolean;
355
- /**
356
- * Maximum number of retry attempts per failing step (default: 1).
357
- * Set to 0 to detect failures without retrying.
358
- */
359
- maxRetries?: number;
360
- };
361
- }
362
- /**
363
- * Test executor interface
364
- */
365
- export interface ITestExecutor {
366
- /** Execute test steps */
367
- execute(steps: StepArray, $meta: IMeta, testContext?: ITestFrameworkContext): Promise<void>;
368
- /** Get current progress snapshot */
369
- getProgress(): ITestProgress;
370
- /** Get dependency graph */
371
- getDependencyGraph(): IDependencyGraph;
372
- /** Get latency metrics */
373
- getLatencyReport(): ITestLatency;
374
- /** Register event listener */
375
- on<E extends keyof ITestEvents>(event: E, handler: ITestEvents[E]): void;
376
- }
377
- //# sourceMappingURL=test-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-types.d.ts","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,QAAQ,aAAa,CAAC;IACzB,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAC,GAAG,IAAI,CAAC;CACrF;AAED;;GAEG;AAMH,uEAAuE;AACvE,MAAM,WAAW,WAAW;IACxB,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;CACxC;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,0EAA0E;IAC1E,KAAK,EAAE,KAAK,CAAC;IACb,kFAAkF;IAClF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CACvB,MAAM,EAAE,OAAO,UAAU,EACzB,OAAO,EAAE,YAAY,KACpB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,EAAE,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,KAAK;IAClB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,yDAAyD;IACzD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;IAC1E,0DAA0D;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IACnD,gEAAgE;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACtC,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,mDAAmD;IACnD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,mCAAmC;IACnC,EAAE,EAAE,YAAY,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,cAAc,EAAE,eAAe,CAAC;IAChC,6BAA6B;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2CAA2C;IAC3C,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpC,6CAA6C;IAC7C,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,2BAA2B;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClC,kCAAkC;IAClC,MAAM,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qCAAqC;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,yBAAyB;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,UAAU,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,mBAAmB;IACnB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,+BAA+B;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,cAAc,EAAE,MAAM,CAAC;CAC1B;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjC,4DAA4D;IAC5D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,WAAW,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC,CAAC;CACN;AAMD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAChE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CACnF;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IACtD;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE;QACJ,6DAA6D;QAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,yBAAyB;IACzB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,oCAAoC;IACpC,WAAW,IAAI,aAAa,CAAC;IAC7B,2BAA2B;IAC3B,kBAAkB,IAAI,gBAAgB,CAAC;IACvC,0BAA0B;IAC1B,gBAAgB,IAAI,YAAY,CAAC;IACjC,8BAA8B;IAC9B,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;CAC5E"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=test-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-types.js","sourceRoot":"","sources":["../test-types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=timing-analysis.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timing-analysis.test.d.ts","sourceRoot":"","sources":["../timing-analysis.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"timing-analysis.test.js","sourceRoot":"","sources":["../timing-analysis.test.ts"],"names":[],"mappings":"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"}