@overkill-dev/doubles 0.0.1 → 0.0.3
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/LICENSE +21 -0
- package/assert/assertion-extension.d.ts +65 -0
- package/assert/assertion-extension.d.ts.map +1 -0
- package/assert/assertion-extension.js +250 -0
- package/assert/assertion-extension.js.map +1 -0
- package/doubles/disposal-symbol.js +10 -0
- package/doubles/disposal-symbol.js.map +1 -0
- package/doubles/double-behavior.d.ts +106 -0
- package/doubles/double-behavior.d.ts.map +1 -0
- package/doubles/double-behavior.js +257 -0
- package/doubles/double-behavior.js.map +1 -0
- package/doubles/double-chronology.js +78 -0
- package/doubles/double-chronology.js.map +1 -0
- package/doubles/double-history-api.js +125 -0
- package/doubles/double-history-api.js.map +1 -0
- package/doubles/double-history-record.d.ts +82 -0
- package/doubles/double-history-record.d.ts.map +1 -0
- package/doubles/double-history-record.js +65 -0
- package/doubles/double-history-record.js.map +1 -0
- package/doubles/double-history-store.d.ts +21 -0
- package/doubles/double-history-store.d.ts.map +1 -0
- package/doubles/double-history-store.js +118 -0
- package/doubles/double-history-store.js.map +1 -0
- package/doubles/double-history.d.ts +141 -0
- package/doubles/double-history.d.ts.map +1 -0
- package/doubles/double-history.js +32 -0
- package/doubles/double-history.js.map +1 -0
- package/doubles/double-iterator-event-types.d.ts +25 -0
- package/doubles/double-iterator-event-types.d.ts.map +1 -0
- package/doubles/double-iterator-tracking.d.ts +12 -0
- package/doubles/double-iterator-tracking.d.ts.map +1 -0
- package/doubles/double-iterator-tracking.js +161 -0
- package/doubles/double-iterator-tracking.js.map +1 -0
- package/doubles/double-rule-arguments.d.ts +18 -0
- package/doubles/double-rule-arguments.d.ts.map +1 -0
- package/doubles/double-rule-callback.d.ts +40 -0
- package/doubles/double-rule-callback.d.ts.map +1 -0
- package/doubles/double-rule-callback.js +84 -0
- package/doubles/double-rule-callback.js.map +1 -0
- package/doubles/double-rule-generator.d.ts +108 -0
- package/doubles/double-rule-generator.d.ts.map +1 -0
- package/doubles/double-rule-generator.js +37 -0
- package/doubles/double-rule-generator.js.map +1 -0
- package/doubles/double-rule-types.d.ts +162 -0
- package/doubles/double-rule-types.d.ts.map +1 -0
- package/doubles/double-rule.d.ts +3 -0
- package/doubles/double-rule.d.ts.map +1 -0
- package/doubles/double-rule.js +113 -0
- package/doubles/double-rule.js.map +1 -0
- package/doubles/double-runtime.js +173 -0
- package/doubles/double-runtime.js.map +1 -0
- package/doubles/double-signature.d.ts +5 -0
- package/doubles/double-signature.d.ts.map +1 -0
- package/doubles/double-usage-argument-assertion.js +202 -0
- package/doubles/double-usage-argument-assertion.js.map +1 -0
- package/doubles/double-usage-contract.d.ts +29 -0
- package/doubles/double-usage-contract.d.ts.map +1 -0
- package/doubles/double-usage-contract.js +11 -0
- package/doubles/double-usage-contract.js.map +1 -0
- package/doubles/double-usage-count-assertion.js +73 -0
- package/doubles/double-usage-count-assertion.js.map +1 -0
- package/doubles/double-usage-disposal-assertion.js +175 -0
- package/doubles/double-usage-disposal-assertion.js.map +1 -0
- package/doubles/double-usage-inspection.js +59 -0
- package/doubles/double-usage-inspection.js.map +1 -0
- package/doubles/double-usage-iterator-assertion.js +124 -0
- package/doubles/double-usage-iterator-assertion.js.map +1 -0
- package/doubles/double-usage-order-assertion.js +91 -0
- package/doubles/double-usage-order-assertion.js.map +1 -0
- package/doubles/double-usage.d.ts +81 -0
- package/doubles/double-usage.d.ts.map +1 -0
- package/doubles/double-usage.js +228 -0
- package/doubles/double-usage.js.map +1 -0
- package/doubles/protocol-disposable-double.d.ts +16 -0
- package/doubles/protocol-disposable-double.d.ts.map +1 -0
- package/doubles/protocol-disposable-double.js +37 -0
- package/doubles/protocol-disposable-double.js.map +1 -0
- package/doubles/protocol-double-metadata.js +30 -0
- package/doubles/protocol-double-metadata.js.map +1 -0
- package/doubles/protocol-double.d.ts +50 -0
- package/doubles/protocol-double.d.ts.map +1 -0
- package/doubles/protocol-double.js +76 -0
- package/doubles/protocol-double.js.map +1 -0
- package/doubles/protocol-iterator-double.d.ts +93 -0
- package/doubles/protocol-iterator-double.d.ts.map +1 -0
- package/doubles/protocol-iterator-double.js +512 -0
- package/doubles/protocol-iterator-double.js.map +1 -0
- package/doubles/test-double.d.ts +62 -0
- package/doubles/test-double.d.ts.map +1 -0
- package/doubles/test-double.js +192 -0
- package/doubles/test-double.js.map +1 -0
- package/package.json +38 -6
- package/packages/doubles/doubles.entry-point.d.ts +13 -0
- package/packages/doubles/doubles.entry-point.d.ts.map +1 -0
- package/packages/doubles/doubles.entry-point.js +5 -0
- package/packages/doubles/doubles.entry-point.js.map +1 -0
- package/readme.md +423 -5
- package/sbom.cdx.json +50 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { constructsBehavior, ensureConstructorInstance, isRuntimeBehavior, isRuntimeRule, isUnknownFunction, rejectsBehavior, resolvesBehavior, returnsBehavior, throwsBehavior, yieldsAsyncBehavior, yieldsAsyncFromBehavior, yieldsBehavior, yieldsFromBehavior } from "./double-behavior.js";
|
|
2
|
+
import { createChronologyScope } from "./double-chronology.js";
|
|
3
|
+
import { createDouble, modeSet } from "./double-runtime.js";
|
|
4
|
+
function createCallableBehaviorDouble(scope, behavior) {
|
|
5
|
+
return createDouble({
|
|
6
|
+
answer: null,
|
|
7
|
+
fallback: behavior,
|
|
8
|
+
rules: []
|
|
9
|
+
}, scope.chronology, modeSet('call'));
|
|
10
|
+
}
|
|
11
|
+
function createConstructorBehaviorDouble(scope, behavior) {
|
|
12
|
+
const double = createDouble({
|
|
13
|
+
answer: null,
|
|
14
|
+
fallback: behavior,
|
|
15
|
+
rules: []
|
|
16
|
+
}, scope.chronology, modeSet('construction'));
|
|
17
|
+
return double;
|
|
18
|
+
}
|
|
19
|
+
function modesWithBehavior(behavior, modes) {
|
|
20
|
+
const nextModes = new Set(modes);
|
|
21
|
+
if (behavior.mode === 'both') {
|
|
22
|
+
nextModes.add('call');
|
|
23
|
+
nextModes.add('construction');
|
|
24
|
+
return nextModes;
|
|
25
|
+
}
|
|
26
|
+
nextModes.add(behavior.mode);
|
|
27
|
+
return nextModes;
|
|
28
|
+
}
|
|
29
|
+
function modesWithEntry(behavior, mode, modes) {
|
|
30
|
+
if (behavior === undefined) {
|
|
31
|
+
return modes;
|
|
32
|
+
}
|
|
33
|
+
const nextModes = new Set(modes);
|
|
34
|
+
nextModes.add(mode);
|
|
35
|
+
return nextModes;
|
|
36
|
+
}
|
|
37
|
+
function modesWithFallback(fallback, modes) {
|
|
38
|
+
if (fallback === null) {
|
|
39
|
+
return modes;
|
|
40
|
+
}
|
|
41
|
+
if (isRuntimeBehavior(fallback)) {
|
|
42
|
+
return modesWithBehavior(fallback, modes);
|
|
43
|
+
}
|
|
44
|
+
return modesWithEntry(fallback.construction, 'construction', modesWithEntry(fallback.call, 'call', modes));
|
|
45
|
+
}
|
|
46
|
+
function modesWithAnswer(answer, modes) {
|
|
47
|
+
if (answer === null) {
|
|
48
|
+
return modes;
|
|
49
|
+
}
|
|
50
|
+
return modeSet(...modes, 'call', 'construction');
|
|
51
|
+
}
|
|
52
|
+
function supportedModesFromConfiguration(configuration) {
|
|
53
|
+
const ruleModes = new Set(configuration.rules.map(function ruleMode(configuredRule) {
|
|
54
|
+
return configuredRule.criterion.invocationKind;
|
|
55
|
+
}));
|
|
56
|
+
const fallbackModes = modesWithFallback(configuration.fallback, ruleModes);
|
|
57
|
+
const modes = modesWithAnswer(configuration.answer, fallbackModes);
|
|
58
|
+
return modes.size === 0 ? modeSet('call', 'construction') : modes;
|
|
59
|
+
}
|
|
60
|
+
function isRuntimeConfiguration(value) {
|
|
61
|
+
return typeof value === 'object' && value !== null;
|
|
62
|
+
}
|
|
63
|
+
function isFallbackRecord(value) {
|
|
64
|
+
return typeof value === 'object' && value !== null &&
|
|
65
|
+
(Object.hasOwn(value, 'call') || Object.hasOwn(value, 'construction'));
|
|
66
|
+
}
|
|
67
|
+
function runtimeFallbackFrom(value) {
|
|
68
|
+
if (isRuntimeBehavior(value)) {
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
return isFallbackRecord(value) ? value : null;
|
|
72
|
+
}
|
|
73
|
+
function normalizeRuntimeConfiguration(configuration) {
|
|
74
|
+
return {
|
|
75
|
+
answer: isUnknownFunction(configuration.answer) ? configuration.answer : null,
|
|
76
|
+
fallback: runtimeFallbackFrom(configuration.fallback),
|
|
77
|
+
rules: Array.isArray(configuration.rules) ? configuration.rules.filter(isRuntimeRule) : []
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function createUntypedDoubleFromUnknowns(scope, configuration) {
|
|
81
|
+
if (configuration.length === 0) {
|
|
82
|
+
return createCallableBehaviorDouble(scope, returnsBehavior(undefined));
|
|
83
|
+
}
|
|
84
|
+
if (configuration.length !== 1 || !isRuntimeConfiguration(configuration[0])) {
|
|
85
|
+
throw new TypeError('testDouble() requires a configuration object.');
|
|
86
|
+
}
|
|
87
|
+
const runtimeConfiguration = normalizeRuntimeConfiguration(configuration[0]);
|
|
88
|
+
return createDouble(runtimeConfiguration, scope.chronology, supportedModesFromConfiguration(runtimeConfiguration));
|
|
89
|
+
}
|
|
90
|
+
function createConstructingDouble(scope, instance) {
|
|
91
|
+
ensureConstructorInstance(instance, 'testDouble.constructs()');
|
|
92
|
+
return createConstructorBehaviorDouble(scope, constructsBehavior(instance));
|
|
93
|
+
}
|
|
94
|
+
function createRejectingDouble(scope, reason) {
|
|
95
|
+
return createCallableBehaviorDouble(scope, rejectsBehavior(reason));
|
|
96
|
+
}
|
|
97
|
+
function createResolvingDouble(scope, value) {
|
|
98
|
+
return createCallableBehaviorDouble(scope, resolvesBehavior(value));
|
|
99
|
+
}
|
|
100
|
+
function createThrowingDouble(scope, thrown) {
|
|
101
|
+
return createCallableBehaviorDouble(scope, throwsBehavior(thrown));
|
|
102
|
+
}
|
|
103
|
+
function createYieldingDouble(scope, values, ...returnValue) {
|
|
104
|
+
return createCallableBehaviorDouble(scope, yieldsBehavior(values, returnValue[0]));
|
|
105
|
+
}
|
|
106
|
+
function createYieldingFromDouble(scope, sourceFactory) {
|
|
107
|
+
return createCallableBehaviorDouble(scope, yieldsFromBehavior(sourceFactory));
|
|
108
|
+
}
|
|
109
|
+
function createAsyncYieldingDouble(scope, values, ...returnValue) {
|
|
110
|
+
return createCallableBehaviorDouble(scope, yieldsAsyncBehavior(values, returnValue[0]));
|
|
111
|
+
}
|
|
112
|
+
function createAsyncYieldingFromDouble(scope, sourceFactory) {
|
|
113
|
+
return createCallableBehaviorDouble(scope, yieldsAsyncFromBehavior(sourceFactory));
|
|
114
|
+
}
|
|
115
|
+
function createScopedDoubleFunction(scope) {
|
|
116
|
+
function scopedDouble(...configuration) {
|
|
117
|
+
return createUntypedDoubleFromUnknowns(scope, configuration);
|
|
118
|
+
}
|
|
119
|
+
return scopedDouble;
|
|
120
|
+
}
|
|
121
|
+
function createScopedConstructs(scope) {
|
|
122
|
+
function scopedConstructs(instance) {
|
|
123
|
+
return createConstructingDouble(scope, instance);
|
|
124
|
+
}
|
|
125
|
+
return scopedConstructs;
|
|
126
|
+
}
|
|
127
|
+
function createScopedRejects(scope) {
|
|
128
|
+
function scopedRejects(reason) {
|
|
129
|
+
return createRejectingDouble(scope, reason);
|
|
130
|
+
}
|
|
131
|
+
return scopedRejects;
|
|
132
|
+
}
|
|
133
|
+
function createScopedResolves(scope) {
|
|
134
|
+
function scopedResolves(value) {
|
|
135
|
+
return createResolvingDouble(scope, value);
|
|
136
|
+
}
|
|
137
|
+
return scopedResolves;
|
|
138
|
+
}
|
|
139
|
+
function createScopedReturns(scope) {
|
|
140
|
+
function scopedReturns(...value) {
|
|
141
|
+
return createCallableBehaviorDouble(scope, returnsBehavior(value[0]));
|
|
142
|
+
}
|
|
143
|
+
return scopedReturns;
|
|
144
|
+
}
|
|
145
|
+
function createScopedThrows(scope) {
|
|
146
|
+
function scopedThrows(thrown) {
|
|
147
|
+
return createThrowingDouble(scope, thrown);
|
|
148
|
+
}
|
|
149
|
+
return scopedThrows;
|
|
150
|
+
}
|
|
151
|
+
function createScopedYields(scope) {
|
|
152
|
+
function scopedYields(values, ...returnValue) {
|
|
153
|
+
return createYieldingDouble(scope, values, ...returnValue);
|
|
154
|
+
}
|
|
155
|
+
return scopedYields;
|
|
156
|
+
}
|
|
157
|
+
function createScopedYieldsFrom(scope) {
|
|
158
|
+
function scopedYieldsFrom(sourceFactory) {
|
|
159
|
+
return createYieldingFromDouble(scope, sourceFactory);
|
|
160
|
+
}
|
|
161
|
+
return scopedYieldsFrom;
|
|
162
|
+
}
|
|
163
|
+
function createScopedYieldsAsync(scope) {
|
|
164
|
+
function scopedYieldsAsync(values, ...returnValue) {
|
|
165
|
+
return createAsyncYieldingDouble(scope, values, ...returnValue);
|
|
166
|
+
}
|
|
167
|
+
return scopedYieldsAsync;
|
|
168
|
+
}
|
|
169
|
+
function createScopedYieldsAsyncFrom(scope) {
|
|
170
|
+
function scopedYieldsAsyncFrom(sourceFactory) {
|
|
171
|
+
return createAsyncYieldingFromDouble(scope, sourceFactory);
|
|
172
|
+
}
|
|
173
|
+
return scopedYieldsAsyncFrom;
|
|
174
|
+
}
|
|
175
|
+
export function createTestDoubleScope() {
|
|
176
|
+
const scope = { chronology: createChronologyScope() };
|
|
177
|
+
return {
|
|
178
|
+
testDouble: Object.assign(createScopedDoubleFunction(scope), {
|
|
179
|
+
constructs: createScopedConstructs(scope),
|
|
180
|
+
rejects: createScopedRejects(scope),
|
|
181
|
+
resolves: createScopedResolves(scope),
|
|
182
|
+
returns: createScopedReturns(scope),
|
|
183
|
+
throws: createScopedThrows(scope),
|
|
184
|
+
yields: createScopedYields(scope),
|
|
185
|
+
yieldsAsync: createScopedYieldsAsync(scope),
|
|
186
|
+
yieldsAsyncFrom: createScopedYieldsAsyncFrom(scope),
|
|
187
|
+
yieldsFrom: createScopedYieldsFrom(scope)
|
|
188
|
+
})
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
export const testDouble = createTestDoubleScope().testDouble;
|
|
192
|
+
//# sourceMappingURL=test-double.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-double.js","sourceRoot":"","sources":["../../../../source/doubles/test-double.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,39 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
"author": "Christian Rackerseder <git@echooff.de>",
|
|
3
|
+
"bugs": {
|
|
4
|
+
"url": "https://github.com/enormora/overkill/issues"
|
|
5
|
+
},
|
|
6
|
+
"description": "Explicit Overkill test doubles.",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": "^26"
|
|
9
|
+
},
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./packages/doubles/doubles.entry-point.js",
|
|
13
|
+
"types": "./packages/doubles/doubles.entry-point.d.ts"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/enormora/overkill#readme",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"tdd",
|
|
19
|
+
"test",
|
|
20
|
+
"tests"
|
|
21
|
+
],
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"name": "@overkill-dev/doubles",
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@overkill-dev/engine": "0.0.5"
|
|
26
|
+
},
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/enormora/overkill.git"
|
|
30
|
+
},
|
|
31
|
+
"sideEffects": [
|
|
32
|
+
"./doubles/disposal-symbol.js",
|
|
33
|
+
"./doubles/double-usage.js",
|
|
34
|
+
"./doubles/protocol-double.js",
|
|
35
|
+
"./doubles/test-double.js"
|
|
36
|
+
],
|
|
37
|
+
"type": "module",
|
|
38
|
+
"version": "0.0.3"
|
|
39
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { doubleUsage } from '../../doubles/double-usage.ts';
|
|
2
|
+
export { rule } from '../../doubles/double-rule.ts';
|
|
3
|
+
export { testAsyncDisposable, testAsyncIterable, testAsyncIterator, testDisposable, testIterable, testIterator } from '../../doubles/protocol-double.ts';
|
|
4
|
+
export { testDouble } from '../../doubles/test-double.ts';
|
|
5
|
+
export type { DoubleUsageAssertions } from '../../doubles/double-usage.ts';
|
|
6
|
+
export type { DoubleInvocation } from '../../doubles/double-behavior.ts';
|
|
7
|
+
export type { DoubleCall, DoubleConstruction, DoubleInteraction, DoubleIteratorEvent, DoubleIteratorReturnEvent, DoubleIteratorThrowEvent, DoubleIteratorYieldEvent, DoubleResult, DoubleReturnedResult, DoubleThrownResult } from '../../doubles/double-history-record.ts';
|
|
8
|
+
export type { RuleFactory } from '../../doubles/double-rule-types.ts';
|
|
9
|
+
export type { AsyncDisposableConfiguration, DisposableConfiguration, TestAsyncDisposable, TestDisposable } from '../../doubles/protocol-disposable-double.ts';
|
|
10
|
+
export type { ProtocolMethodConfiguration, TestAsyncDisposableFactory, TestAsyncIterableFactory, TestAsyncIteratorFactory, TestDisposableFactory, TestIterableFactory, TestIteratorFactory } from '../../doubles/protocol-double.ts';
|
|
11
|
+
export type { AsyncIterableConfiguration, AsyncIteratorConfiguration, AsyncIteratorSource, SyncIterableConfiguration, SyncIteratorConfiguration, SyncIteratorSource, TestAsyncIterable, TestAsyncIterator, TestIterable, TestIterator } from '../../doubles/protocol-iterator-double.ts';
|
|
12
|
+
export type { DoubleHistory, TestDouble, TestDoubleFactory } from '../../doubles/test-double.ts';
|
|
13
|
+
//# sourceMappingURL=doubles.entry-point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doubles.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/doubles/doubles.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACR,gBAAgB,EACnB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACR,WAAW,EACd,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACR,4BAA4B,EAC5B,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACjB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EACR,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACf,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACR,aAAa,EACb,UAAU,EACV,iBAAiB,EACpB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { doubleUsage } from "../../doubles/double-usage.js";
|
|
2
|
+
export { rule } from "../../doubles/double-rule.js";
|
|
3
|
+
export { testAsyncDisposable, testAsyncIterable, testAsyncIterator, testDisposable, testIterable, testIterator } from "../../doubles/protocol-double.js";
|
|
4
|
+
export { testDouble } from "../../doubles/test-double.js";
|
|
5
|
+
//# sourceMappingURL=doubles.entry-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doubles.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/doubles/doubles.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,YAAY,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
|