velocious 1.0.552 → 1.0.555

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 (117) hide show
  1. package/README.md +2 -0
  2. package/build/background-jobs/status-reporter.js +15 -2
  3. package/build/background-jobs/worker.js +5 -1
  4. package/build/frontend-models/base.js +105 -47
  5. package/build/frontend-models/transport-deadline.js +66 -0
  6. package/build/src/background-jobs/status-reporter.d.ts +3 -1
  7. package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
  8. package/build/src/background-jobs/status-reporter.js +16 -3
  9. package/build/src/background-jobs/worker.d.ts.map +1 -1
  10. package/build/src/background-jobs/worker.js +6 -2
  11. package/build/src/frontend-models/base.d.ts +10 -1
  12. package/build/src/frontend-models/base.d.ts.map +1 -1
  13. package/build/src/frontend-models/base.js +71 -26
  14. package/build/src/frontend-models/transport-deadline.d.ts +26 -0
  15. package/build/src/frontend-models/transport-deadline.d.ts.map +1 -0
  16. package/build/src/frontend-models/transport-deadline.js +61 -0
  17. package/build/src/testing/factory/association-declaration.d.ts +37 -0
  18. package/build/src/testing/factory/association-declaration.d.ts.map +1 -0
  19. package/build/src/testing/factory/association-declaration.js +41 -0
  20. package/build/src/testing/factory/declarations.d.ts +190 -0
  21. package/build/src/testing/factory/declarations.d.ts.map +1 -0
  22. package/build/src/testing/factory/declarations.js +98 -0
  23. package/build/src/testing/factory/definition-builder.d.ts +132 -0
  24. package/build/src/testing/factory/definition-builder.d.ts.map +1 -0
  25. package/build/src/testing/factory/definition-builder.js +417 -0
  26. package/build/src/testing/factory/errors.d.ts +62 -0
  27. package/build/src/testing/factory/errors.d.ts.map +1 -0
  28. package/build/src/testing/factory/errors.js +67 -0
  29. package/build/src/testing/factory/evaluation-context.d.ts +95 -0
  30. package/build/src/testing/factory/evaluation-context.d.ts.map +1 -0
  31. package/build/src/testing/factory/evaluation-context.js +175 -0
  32. package/build/src/testing/factory/events.d.ts +21 -0
  33. package/build/src/testing/factory/events.d.ts.map +1 -0
  34. package/build/src/testing/factory/events.js +26 -0
  35. package/build/src/testing/factory/factory-definition.d.ts +39 -0
  36. package/build/src/testing/factory/factory-definition.d.ts.map +1 -0
  37. package/build/src/testing/factory/factory-definition.js +35 -0
  38. package/build/src/testing/factory/factory-registry.d.ts +263 -0
  39. package/build/src/testing/factory/factory-registry.d.ts.map +1 -0
  40. package/build/src/testing/factory/factory-registry.js +438 -0
  41. package/build/src/testing/factory/factory-runner.d.ts +179 -0
  42. package/build/src/testing/factory/factory-runner.d.ts.map +1 -0
  43. package/build/src/testing/factory/factory-runner.js +266 -0
  44. package/build/src/testing/factory/index.d.ts +18 -0
  45. package/build/src/testing/factory/index.d.ts.map +1 -0
  46. package/build/src/testing/factory/index.js +21 -0
  47. package/build/src/testing/factory/linter.d.ts +55 -0
  48. package/build/src/testing/factory/linter.d.ts.map +1 -0
  49. package/build/src/testing/factory/linter.js +106 -0
  50. package/build/src/testing/factory/model-contract.d.ts +11 -0
  51. package/build/src/testing/factory/model-contract.d.ts.map +1 -0
  52. package/build/src/testing/factory/model-contract.js +26 -0
  53. package/build/src/testing/factory/node/load-definitions.d.ts +24 -0
  54. package/build/src/testing/factory/node/load-definitions.d.ts.map +1 -0
  55. package/build/src/testing/factory/node/load-definitions.js +87 -0
  56. package/build/src/testing/factory/sequence.d.ts +73 -0
  57. package/build/src/testing/factory/sequence.d.ts.map +1 -0
  58. package/build/src/testing/factory/sequence.js +78 -0
  59. package/build/src/testing/factory/strategies/attributes-for.d.ts +21 -0
  60. package/build/src/testing/factory/strategies/attributes-for.d.ts.map +1 -0
  61. package/build/src/testing/factory/strategies/attributes-for.js +22 -0
  62. package/build/src/testing/factory/strategies/base.d.ts +101 -0
  63. package/build/src/testing/factory/strategies/base.d.ts.map +1 -0
  64. package/build/src/testing/factory/strategies/base.js +191 -0
  65. package/build/src/testing/factory/strategies/build.d.ts +20 -0
  66. package/build/src/testing/factory/strategies/build.d.ts.map +1 -0
  67. package/build/src/testing/factory/strategies/build.js +34 -0
  68. package/build/src/testing/factory/strategies/create.d.ts +32 -0
  69. package/build/src/testing/factory/strategies/create.d.ts.map +1 -0
  70. package/build/src/testing/factory/strategies/create.js +57 -0
  71. package/build/src/testing/factory/trait-definition.d.ts +22 -0
  72. package/build/src/testing/factory/trait-definition.d.ts.map +1 -0
  73. package/build/src/testing/factory/trait-definition.js +22 -0
  74. package/build/testing/factory/association-declaration.js +50 -0
  75. package/build/testing/factory/declarations.js +110 -0
  76. package/build/testing/factory/definition-builder.js +476 -0
  77. package/build/testing/factory/errors.js +79 -0
  78. package/build/testing/factory/evaluation-context.js +199 -0
  79. package/build/testing/factory/events.js +30 -0
  80. package/build/testing/factory/factory-definition.js +41 -0
  81. package/build/testing/factory/factory-registry.js +501 -0
  82. package/build/testing/factory/factory-runner.js +296 -0
  83. package/build/testing/factory/index.js +24 -0
  84. package/build/testing/factory/linter.js +119 -0
  85. package/build/testing/factory/model-contract.js +31 -0
  86. package/build/testing/factory/node/load-definitions.js +103 -0
  87. package/build/testing/factory/sequence.js +91 -0
  88. package/build/testing/factory/strategies/attributes-for.js +24 -0
  89. package/build/testing/factory/strategies/base.js +209 -0
  90. package/build/testing/factory/strategies/build.js +42 -0
  91. package/build/testing/factory/strategies/create.js +68 -0
  92. package/build/testing/factory/trait-definition.js +24 -0
  93. package/build/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +1 -1
  95. package/src/background-jobs/status-reporter.js +15 -2
  96. package/src/background-jobs/worker.js +5 -1
  97. package/src/frontend-models/base.js +105 -47
  98. package/src/frontend-models/transport-deadline.js +66 -0
  99. package/src/testing/factory/association-declaration.js +50 -0
  100. package/src/testing/factory/declarations.js +110 -0
  101. package/src/testing/factory/definition-builder.js +476 -0
  102. package/src/testing/factory/errors.js +79 -0
  103. package/src/testing/factory/evaluation-context.js +199 -0
  104. package/src/testing/factory/events.js +30 -0
  105. package/src/testing/factory/factory-definition.js +41 -0
  106. package/src/testing/factory/factory-registry.js +501 -0
  107. package/src/testing/factory/factory-runner.js +296 -0
  108. package/src/testing/factory/index.js +24 -0
  109. package/src/testing/factory/linter.js +119 -0
  110. package/src/testing/factory/model-contract.js +31 -0
  111. package/src/testing/factory/node/load-definitions.js +103 -0
  112. package/src/testing/factory/sequence.js +91 -0
  113. package/src/testing/factory/strategies/attributes-for.js +24 -0
  114. package/src/testing/factory/strategies/base.js +209 -0
  115. package/src/testing/factory/strategies/build.js +42 -0
  116. package/src/testing/factory/strategies/create.js +68 -0
  117. package/src/testing/factory/trait-definition.js +24 -0
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Owns all factories, traits, sequences, callbacks and construction defaults for
3
+ * one isolated scope, and exposes the strategy entry points. Registry mutation is
4
+ * setup-time only and is rejected while evaluations are active.
5
+ */
6
+ export default class FactoryRegistry {
7
+ /** @type {Map<string, import("./factory-definition.js").default>} - Factories and aliases. */
8
+ _factories: Map<string, import("./factory-definition.js").default>;
9
+ /** @type {Map<string, import("./trait-definition.js").default>} - Global traits. */
10
+ _globalTraits: Map<string, import("./trait-definition.js").default>;
11
+ /** @type {Map<string, import("./sequence.js").default>} - Global sequences and aliases. */
12
+ _sequences: Map<string, import("./sequence.js").default>;
13
+ /** @type {Map<string, Map<string, import("./sequence.js").default>>} - Factory-scoped sequences. */
14
+ _factorySequences: Map<string, Map<string, import("./sequence.js").default>>;
15
+ /** @type {import("./declarations.js").Declaration[]} - Registry-level default declarations. */
16
+ _globalDeclarations: import("./declarations.js").Declaration[];
17
+ /** @type {number} - In-flight evaluation count (mutation guard). */
18
+ _activeEvaluations: number;
19
+ /** @type {FactoryRunner} - Plan compiler. */
20
+ _runner: FactoryRunner;
21
+ /** @type {FactoryEventEmitter} - Debug/performance event emitter. */
22
+ _events: FactoryEventEmitter;
23
+ /** @type {{attributesFor: AttributesForStrategy, build: BuildStrategy, create: CreateStrategy}} - Installed strategies. */
24
+ _strategies: {
25
+ attributesFor: AttributesForStrategy;
26
+ build: BuildStrategy;
27
+ create: CreateStrategy;
28
+ };
29
+ /**
30
+ * Registers factories/traits/sequences/callbacks via a builder callback.
31
+ * @param {(builder: object) => void} callback - The definition callback.
32
+ * @returns {this} - This registry (for chaining).
33
+ */
34
+ define(callback: (builder: object) => void): this;
35
+ /**
36
+ * Reopens existing factories to append/override declarations, recompiling each
37
+ * into a fresh immutable definition. Rejected while evaluations are active.
38
+ * @param {(builder: object) => void} callback - The modify callback.
39
+ * @returns {this} - This registry (for chaining).
40
+ */
41
+ modify(callback: (builder: object) => void): this;
42
+ /**
43
+ * Lints factories/traits, aggregating every failure. Create-strategy cases roll
44
+ * back their database writes.
45
+ * @param {object} [options] - Lint options (factories, traits, strategy).
46
+ * @returns {Promise<void>} - Resolves when all cases pass; rejects with an aggregate otherwise.
47
+ */
48
+ lint(options?: object): Promise<void>;
49
+ /**
50
+ * Subscribes to factory debug events (`start`, `success`, `failure`).
51
+ * @param {string} event - Event name.
52
+ * @param {(payload: {invocationId: string, factory: string, strategy: string, traits: string[], durationMs?: number, error?: ?}) => void} handler - Event handler.
53
+ * @returns {this} - This registry (for chaining).
54
+ */
55
+ on(event: string, handler: (payload: {
56
+ invocationId: string;
57
+ factory: string;
58
+ strategy: string;
59
+ traits: string[];
60
+ durationMs?: number;
61
+ error?: unknown;
62
+ }) => void): this;
63
+ /**
64
+ * Unsubscribes a previously-registered event handler.
65
+ * @param {string} event - Event name.
66
+ * @param {(payload: ?) => void} handler - Event handler to remove.
67
+ * @returns {this} - This registry (for chaining).
68
+ */
69
+ off(event: string, handler: (payload: unknown) => void): this;
70
+ /**
71
+ * Resolves attributes without constructing a model or building associations.
72
+ * @param {string} factoryName - Factory name.
73
+ * @param {Array<?>} args - Trait names then an optional overrides object.
74
+ * @returns {Promise<Record<string, ?>>} - The resolved attributes.
75
+ */
76
+ attributesFor(factoryName: string, ...args: Array<unknown>): Promise<Record<string, unknown>>;
77
+ /**
78
+ * Builds an unsaved record graph.
79
+ * @param {string} factoryName - Factory name.
80
+ * @param {Array<?>} args - Trait names then an optional overrides object.
81
+ * @returns {Promise<?>} - The built record.
82
+ */
83
+ build(factoryName: string, ...args: Array<unknown>): Promise<unknown>;
84
+ /**
85
+ * Builds and persists a record graph.
86
+ * @param {string} factoryName - Factory name.
87
+ * @param {Array<?>} args - Trait names then an optional overrides object.
88
+ * @returns {Promise<?>} - The persisted record.
89
+ */
90
+ create(factoryName: string, ...args: Array<unknown>): Promise<unknown>;
91
+ /**
92
+ * Resolves attributes for a list of records sequentially.
93
+ * @param {string} factoryName - Factory name.
94
+ * @param {number} count - Number of entries.
95
+ * @param {Array<?>} args - Trait names then an optional overrides object.
96
+ * @returns {Promise<Array<Record<string, ?>>>} - The resolved attribute objects.
97
+ */
98
+ attributesForList(factoryName: string, count: number, ...args: Array<unknown>): Promise<Array<Record<string, unknown>>>;
99
+ /**
100
+ * Builds a list of unsaved records sequentially.
101
+ * @param {string} factoryName - Factory name.
102
+ * @param {number} count - Number of records.
103
+ * @param {Array<?>} args - Trait names then an optional overrides object.
104
+ * @returns {Promise<Array<?>>} - The built records.
105
+ */
106
+ buildList(factoryName: string, count: number, ...args: Array<unknown>): Promise<Array<unknown>>;
107
+ /**
108
+ * Creates a list of persisted records sequentially.
109
+ * @param {string} factoryName - Factory name.
110
+ * @param {number} count - Number of records.
111
+ * @param {Array<?>} args - Trait names then an optional overrides object.
112
+ * @returns {Promise<Array<?>>} - The persisted records.
113
+ */
114
+ createList(factoryName: string, count: number, ...args: Array<unknown>): Promise<Array<unknown>>;
115
+ /**
116
+ * Resolves attributes for exactly two records.
117
+ * @param {string} factoryName - Factory name.
118
+ * @param {Array<?>} args - Trait names then an optional overrides object.
119
+ * @returns {Promise<Array<Record<string, ?>>>} - The two resolved attribute objects.
120
+ */
121
+ attributesForPair(factoryName: string, ...args: Array<unknown>): Promise<Array<Record<string, unknown>>>;
122
+ /**
123
+ * Builds exactly two unsaved records.
124
+ * @param {string} factoryName - Factory name.
125
+ * @param {Array<?>} args - Trait names then an optional overrides object.
126
+ * @returns {Promise<Array<?>>} - The two built records.
127
+ */
128
+ buildPair(factoryName: string, ...args: Array<unknown>): Promise<Array<unknown>>;
129
+ /**
130
+ * Creates exactly two persisted records.
131
+ * @param {string} factoryName - Factory name.
132
+ * @param {Array<?>} args - Trait names then an optional overrides object.
133
+ * @returns {Promise<Array<?>>} - The two persisted records.
134
+ */
135
+ createPair(factoryName: string, ...args: Array<unknown>): Promise<Array<unknown>>;
136
+ /**
137
+ * Advances a sequence and returns its formatted value.
138
+ * @param {string} sequenceName - Sequence name.
139
+ * @returns {Promise<?>} - The formatted value.
140
+ */
141
+ generate(sequenceName: string): Promise<unknown>;
142
+ /**
143
+ * Advances a sequence `count` times and returns the formatted values.
144
+ * @param {string} sequenceName - Sequence name.
145
+ * @param {number} count - Number of values.
146
+ * @returns {Promise<Array<?>>} - The formatted values.
147
+ */
148
+ generateList(sequenceName: string, count: number): Promise<Array<unknown>>;
149
+ /**
150
+ * Returns the next raw value a global sequence would allocate without consuming it.
151
+ * @param {string} sequenceName - Sequence name.
152
+ * @returns {number} - The upcoming raw value.
153
+ */
154
+ peekSequence(sequenceName: string): number;
155
+ /**
156
+ * Sets the next value a global sequence will allocate.
157
+ * @param {string} sequenceName - Sequence name.
158
+ * @param {number} value - Next raw value.
159
+ * @returns {void}
160
+ */
161
+ setSequence(sequenceName: string, value: number): void;
162
+ /**
163
+ * Rewinds a single global sequence to its initial value.
164
+ * @param {string} sequenceName - Sequence name.
165
+ * @returns {void}
166
+ */
167
+ rewindSequence(sequenceName: string): void;
168
+ /**
169
+ * Rewinds every global and factory-scoped sequence to its initial value while
170
+ * leaving all definitions intact.
171
+ * @returns {void}
172
+ */
173
+ rewindSequences(): void;
174
+ /**
175
+ * Clears all definitions, traits, sequences and registry defaults, restoring an
176
+ * empty registry with the built-in strategies.
177
+ * @returns {void}
178
+ */
179
+ reset(): void;
180
+ /**
181
+ * Runs `count` sequential strategy invocations.
182
+ * @param {"attributesFor" | "build" | "create"} strategy - Strategy name.
183
+ * @param {string} factoryName - Factory name.
184
+ * @param {number} count - Number of entries.
185
+ * @param {Array<?>} args - Trait names then an optional overrides object.
186
+ * @returns {Promise<Array<?>>} - The results.
187
+ */
188
+ _runList(strategy: "attributesFor" | "build" | "create", factoryName: string, count: number, args: Array<unknown>): Promise<Array<unknown>>;
189
+ /**
190
+ * Compiles and runs a factory invocation under a strategy, tracking active
191
+ * evaluations for the mutation guard.
192
+ * @param {object} args - Options.
193
+ * @param {string} args.factoryName - Factory name.
194
+ * @param {string[]} args.traits - Ordered traits.
195
+ * @param {Record<string, ?>} args.overrides - Overrides.
196
+ * @param {"attributesFor" | "build" | "create"} args.strategy - Strategy name.
197
+ * @returns {Promise<?>} - The strategy result.
198
+ */
199
+ _runFactory({ factoryName, traits, overrides, strategy }: {
200
+ factoryName: string;
201
+ traits: string[];
202
+ overrides: Record<string, unknown>;
203
+ strategy: "attributesFor" | "build" | "create";
204
+ }): Promise<unknown>;
205
+ /**
206
+ * Registers an immutable factory definition and its aliases.
207
+ * @param {import("./factory-definition.js").default} definition - Compiled factory.
208
+ * @returns {void}
209
+ */
210
+ _registerFactoryDefinition(definition: import("./factory-definition.js").default): void;
211
+ /**
212
+ * Replaces an existing factory definition (and its aliases) with a recompiled
213
+ * one. Used by `modify`; no duplicate check because it intentionally overwrites.
214
+ * @param {import("./factory-definition.js").default} definition - Recompiled factory.
215
+ * @returns {void}
216
+ */
217
+ _replaceFactoryDefinition(definition: import("./factory-definition.js").default): void;
218
+ /**
219
+ * Registers a global trait.
220
+ * @param {import("./trait-definition.js").default} trait - Compiled trait.
221
+ * @returns {void}
222
+ */
223
+ _registerGlobalTrait(trait: import("./trait-definition.js").default): void;
224
+ /**
225
+ * Registers a sequence (and its aliases) either globally or under a factory scope.
226
+ * @param {import("./sequence.js").default} sequence - Sequence instance.
227
+ * @param {string | null} factoryScope - Factory name to scope under, or null for global.
228
+ * @returns {void}
229
+ */
230
+ _registerSequence(sequence: import("./sequence.js").default, factoryScope: string | null): void;
231
+ /**
232
+ * Appends a registry-level default declaration (callbacks/construction defaults).
233
+ * @param {import("./declarations.js").Declaration} declaration - Declaration to add.
234
+ * @returns {void}
235
+ */
236
+ _addGlobalDeclaration(declaration: import("./declarations.js").Declaration): void;
237
+ /**
238
+ * Resolves a sequence name against a factory scope chain (child first) then the
239
+ * global scope and advances it.
240
+ * @param {string} sequenceName - Sequence name.
241
+ * @param {string[]} chainNames - Inheritance chain names (child last).
242
+ * @returns {Promise<?>} - The formatted value.
243
+ */
244
+ _generateScoped(sequenceName: string, chainNames: string[]): Promise<unknown>;
245
+ /**
246
+ * Resolves a global sequence by name.
247
+ * @param {string} sequenceName - Sequence name.
248
+ * @returns {import("./sequence.js").default} - The sequence.
249
+ */
250
+ _resolveGlobalSequence(sequenceName: string): import("./sequence.js").default;
251
+ /**
252
+ * Rejects setup-time mutation while evaluations are active.
253
+ * @param {string} operation - Operation name, for the error message.
254
+ * @returns {void}
255
+ */
256
+ _assertNotEvaluating(operation: string): void;
257
+ }
258
+ import FactoryRunner from "./factory-runner.js";
259
+ import FactoryEventEmitter from "./events.js";
260
+ import AttributesForStrategy from "./strategies/attributes-for.js";
261
+ import BuildStrategy from "./strategies/build.js";
262
+ import CreateStrategy from "./strategies/create.js";
263
+ //# sourceMappingURL=factory-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory-registry.d.ts","sourceRoot":"","sources":["../../../../src/testing/factory/factory-registry.js"],"names":[],"mappings":"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"}