@overkill-dev/doubles 0.0.1 → 0.0.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.
- 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/assertion-protocol/assertion-evaluation.d.ts +13 -0
- package/assertion-protocol/assertion-evaluation.d.ts.map +1 -0
- package/assertion-protocol/assertion-node-shape.d.ts +71 -0
- package/assertion-protocol/assertion-node-shape.d.ts.map +1 -0
- package/assertion-protocol/assertion-node.d.ts +97 -0
- package/assertion-protocol/assertion-node.d.ts.map +1 -0
- package/assertion-protocol/assertion-reference.d.ts +73 -0
- package/assertion-protocol/assertion-reference.d.ts.map +1 -0
- package/assertion-protocol/assertion-reference.js +49 -0
- package/assertion-protocol/assertion-reference.js.map +1 -0
- package/assertion-protocol/assertions/boolean.d.ts +11 -0
- package/assertion-protocol/assertions/boolean.d.ts.map +1 -0
- package/assertion-protocol/assertions/collection.d.ts +22 -0
- package/assertion-protocol/assertions/collection.d.ts.map +1 -0
- package/assertion-protocol/assertions/equality.d.ts +17 -0
- package/assertion-protocol/assertions/equality.d.ts.map +1 -0
- package/assertion-protocol/assertions/fail.d.ts +13 -0
- package/assertion-protocol/assertions/fail.d.ts.map +1 -0
- package/assertion-protocol/assertions/numeric.d.ts +29 -0
- package/assertion-protocol/assertions/numeric.d.ts.map +1 -0
- package/assertion-protocol/assertions/partial.d.ts +14 -0
- package/assertion-protocol/assertions/partial.d.ts.map +1 -0
- package/assertion-protocol/assertions/presence.d.ts +17 -0
- package/assertion-protocol/assertions/presence.d.ts.map +1 -0
- package/assertion-protocol/assertions/string.d.ts +28 -0
- package/assertion-protocol/assertions/string.d.ts.map +1 -0
- package/assertion-protocol/assertions/type-shape.d.ts +42 -0
- package/assertion-protocol/assertions/type-shape.d.ts.map +1 -0
- package/assertion-protocol/thrown-error-record.d.ts +8 -0
- package/assertion-protocol/thrown-error-record.d.ts.map +1 -0
- package/assertion-protocol/thrown-error-record.js +17 -0
- package/assertion-protocol/thrown-error-record.js.map +1 -0
- package/assertion-protocol/thrown-matcher.d.ts +51 -0
- package/assertion-protocol/thrown-matcher.d.ts.map +1 -0
- package/assertion-protocol/thrown-matcher.js +186 -0
- package/assertion-protocol/thrown-matcher.js.map +1 -0
- package/compare/comparison-result.d.ts +25 -0
- package/compare/comparison-result.d.ts.map +1 -0
- package/compare/comparison-state.d.ts +7 -0
- package/compare/comparison-state.d.ts.map +1 -0
- package/compare/comparison-state.js +20 -0
- package/compare/comparison-state.js.map +1 -0
- package/compare/comparison.d.ts +12 -0
- package/compare/comparison.d.ts.map +1 -0
- package/compare/raw-comparison.d.ts +24 -0
- package/compare/raw-comparison.d.ts.map +1 -0
- package/compare/raw-comparison.js +285 -0
- package/compare/raw-comparison.js.map +1 -0
- package/compare/serialized-value-shape.d.ts +143 -0
- package/compare/serialized-value-shape.d.ts.map +1 -0
- package/compare/serialized-value.d.ts +11 -0
- package/compare/serialized-value.d.ts.map +1 -0
- package/compare/value-classification.d.ts +26 -0
- package/compare/value-classification.d.ts.map +1 -0
- package/compare/value-classification.js +110 -0
- package/compare/value-classification.js.map +1 -0
- package/diff/diff-shape.d.ts +117 -0
- package/diff/diff-shape.d.ts.map +1 -0
- package/doubles/disposal-symbol.d.ts +3 -0
- package/doubles/disposal-symbol.d.ts.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.d.ts +21 -0
- package/doubles/double-chronology.d.ts.map +1 -0
- package/doubles/double-chronology.js +78 -0
- package/doubles/double-chronology.js.map +1 -0
- package/doubles/double-history-api.d.ts +33 -0
- package/doubles/double-history-api.d.ts.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.d.ts +9 -0
- package/doubles/double-runtime.d.ts.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.d.ts +27 -0
- package/doubles/double-usage-argument-assertion.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.d.ts +6 -0
- package/doubles/double-usage-count-assertion.d.ts.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.d.ts +7 -0
- package/doubles/double-usage-disposal-assertion.d.ts.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.d.ts +22 -0
- package/doubles/double-usage-inspection.d.ts.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.d.ts +7 -0
- package/doubles/double-usage-iterator-assertion.d.ts.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.d.ts +3 -0
- package/doubles/double-usage-order-assertion.d.ts.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.d.ts +15 -0
- package/doubles/protocol-double-metadata.d.ts.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 +36 -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 +30 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { AggregateArguments, AggregateIndexedArguments, AggregateIndexedPrefixArguments, AggregatePrefixArguments, CountArguments, IteratorValuesArguments, OrderArguments, UsageAssertionReference, ValueArguments } from './double-usage-contract.ts';
|
|
2
|
+
type CountReference = UsageAssertionReference<CountArguments>;
|
|
3
|
+
type IteratorValuesReference = UsageAssertionReference<IteratorValuesArguments>;
|
|
4
|
+
type ValueReference = UsageAssertionReference<ValueArguments>;
|
|
5
|
+
type OrderReference = UsageAssertionReference<OrderArguments>;
|
|
6
|
+
type ArgumentReference = UsageAssertionReference<AggregateArguments>;
|
|
7
|
+
type PrefixReference = UsageAssertionReference<AggregatePrefixArguments>;
|
|
8
|
+
type IndexedArgumentReference = UsageAssertionReference<AggregateIndexedArguments>;
|
|
9
|
+
type IndexedPrefixReference = UsageAssertionReference<AggregateIndexedPrefixArguments>;
|
|
10
|
+
export type DoubleUsageAssertions = {
|
|
11
|
+
readonly callCount: CountReference;
|
|
12
|
+
readonly callOrder: OrderReference;
|
|
13
|
+
readonly called: ValueReference;
|
|
14
|
+
readonly calledOnce: ValueReference;
|
|
15
|
+
readonly calledOnceWith: ArgumentReference;
|
|
16
|
+
readonly calledOnceWithExactly: ArgumentReference;
|
|
17
|
+
readonly calledOnceWithPrefix: PrefixReference;
|
|
18
|
+
readonly calledWith: ArgumentReference;
|
|
19
|
+
readonly calledWithExactly: ArgumentReference;
|
|
20
|
+
readonly calledWithPrefix: PrefixReference;
|
|
21
|
+
readonly constructed: ValueReference;
|
|
22
|
+
readonly constructedOnce: ValueReference;
|
|
23
|
+
readonly constructedOnceWith: ArgumentReference;
|
|
24
|
+
readonly constructedOnceWithExactly: ArgumentReference;
|
|
25
|
+
readonly constructedOnceWithPrefix: PrefixReference;
|
|
26
|
+
readonly constructedWith: ArgumentReference;
|
|
27
|
+
readonly constructedWithExactly: ArgumentReference;
|
|
28
|
+
readonly constructedWithPrefix: PrefixReference;
|
|
29
|
+
readonly constructionCount: CountReference;
|
|
30
|
+
readonly constructionOrder: OrderReference;
|
|
31
|
+
readonly disposeCount: CountReference;
|
|
32
|
+
readonly disposeOrder: OrderReference;
|
|
33
|
+
readonly disposed: ValueReference;
|
|
34
|
+
readonly disposedOnce: ValueReference;
|
|
35
|
+
readonly interacted: ValueReference;
|
|
36
|
+
readonly interactedOnce: ValueReference;
|
|
37
|
+
readonly interactedOnceWith: ArgumentReference;
|
|
38
|
+
readonly interactedOnceWithExactly: ArgumentReference;
|
|
39
|
+
readonly interactedOnceWithPrefix: PrefixReference;
|
|
40
|
+
readonly interactedWith: ArgumentReference;
|
|
41
|
+
readonly interactedWithExactly: ArgumentReference;
|
|
42
|
+
readonly interactedWithPrefix: PrefixReference;
|
|
43
|
+
readonly iterated: ValueReference;
|
|
44
|
+
readonly iteratorEventCount: CountReference;
|
|
45
|
+
readonly interactionCount: CountReference;
|
|
46
|
+
readonly interactionOrder: OrderReference;
|
|
47
|
+
readonly lastCalledWith: ArgumentReference;
|
|
48
|
+
readonly lastCalledWithExactly: ArgumentReference;
|
|
49
|
+
readonly lastCalledWithPrefix: PrefixReference;
|
|
50
|
+
readonly lastConstructedWith: ArgumentReference;
|
|
51
|
+
readonly lastConstructedWithExactly: ArgumentReference;
|
|
52
|
+
readonly lastConstructedWithPrefix: PrefixReference;
|
|
53
|
+
readonly lastInteractedWith: ArgumentReference;
|
|
54
|
+
readonly lastInteractedWithExactly: ArgumentReference;
|
|
55
|
+
readonly lastInteractedWithPrefix: PrefixReference;
|
|
56
|
+
readonly notCalled: ValueReference;
|
|
57
|
+
readonly notCalledWith: ArgumentReference;
|
|
58
|
+
readonly notCalledWithPrefix: PrefixReference;
|
|
59
|
+
readonly notConstructed: ValueReference;
|
|
60
|
+
readonly notConstructedWith: ArgumentReference;
|
|
61
|
+
readonly notConstructedWithPrefix: PrefixReference;
|
|
62
|
+
readonly notDisposed: ValueReference;
|
|
63
|
+
readonly notInteracted: ValueReference;
|
|
64
|
+
readonly notInteractedWith: ArgumentReference;
|
|
65
|
+
readonly notInteractedWithPrefix: PrefixReference;
|
|
66
|
+
readonly notIterated: ValueReference;
|
|
67
|
+
readonly nthCallWith: IndexedArgumentReference;
|
|
68
|
+
readonly nthCallWithExactly: IndexedArgumentReference;
|
|
69
|
+
readonly nthCallWithPrefix: IndexedPrefixReference;
|
|
70
|
+
readonly nthConstructionWith: IndexedArgumentReference;
|
|
71
|
+
readonly nthConstructionWithExactly: IndexedArgumentReference;
|
|
72
|
+
readonly nthConstructionWithPrefix: IndexedPrefixReference;
|
|
73
|
+
readonly nthInteractionWith: IndexedArgumentReference;
|
|
74
|
+
readonly nthInteractionWithExactly: IndexedArgumentReference;
|
|
75
|
+
readonly nthInteractionWithPrefix: IndexedPrefixReference;
|
|
76
|
+
readonly yieldCount: CountReference;
|
|
77
|
+
readonly yieldedExactly: IteratorValuesReference;
|
|
78
|
+
};
|
|
79
|
+
export declare const doubleUsage: DoubleUsageAssertions;
|
|
80
|
+
export {};
|
|
81
|
+
//# sourceMappingURL=double-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-usage.d.ts","sourceRoot":"","sources":["../../../../source/doubles/double-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { argumentPrefixReference, argumentReference, indexedArgumentPrefixReference, indexedArgumentReference } from "./double-usage-argument-assertion.js";
|
|
2
|
+
import { atLeastOneReference, countReference, noEventsReference, onceReference } from "./double-usage-count-assertion.js";
|
|
3
|
+
import { disposedOnceReference, disposedReference, disposeCountReference, disposeOrderReference, notDisposedReference } from "./double-usage-disposal-assertion.js";
|
|
4
|
+
import { iteratedReference, iteratorEventCountReference, notIteratedReference, yieldCountReference, yieldedExactlyReference } from "./double-usage-iterator-assertion.js";
|
|
5
|
+
import { orderReference } from "./double-usage-order-assertion.js";
|
|
6
|
+
export const doubleUsage = {
|
|
7
|
+
callCount: countReference('doubleUsage.callCount', 'call'),
|
|
8
|
+
callOrder: orderReference('doubleUsage.callOrder', 'call'),
|
|
9
|
+
called: atLeastOneReference('doubleUsage.called', 'call'),
|
|
10
|
+
calledOnce: onceReference('doubleUsage.calledOnce', 'call'),
|
|
11
|
+
calledOnceWith: argumentReference('doubleUsage.calledOnceWith', {
|
|
12
|
+
match: 'partial',
|
|
13
|
+
mode: 'call',
|
|
14
|
+
negative: false,
|
|
15
|
+
position: 'once'
|
|
16
|
+
}),
|
|
17
|
+
calledOnceWithExactly: argumentReference('doubleUsage.calledOnceWithExactly', {
|
|
18
|
+
match: 'exact',
|
|
19
|
+
mode: 'call',
|
|
20
|
+
negative: false,
|
|
21
|
+
position: 'once'
|
|
22
|
+
}),
|
|
23
|
+
calledOnceWithPrefix: argumentPrefixReference('doubleUsage.calledOnceWithPrefix', {
|
|
24
|
+
mode: 'call',
|
|
25
|
+
negative: false,
|
|
26
|
+
position: 'once'
|
|
27
|
+
}),
|
|
28
|
+
calledWith: argumentReference('doubleUsage.calledWith', {
|
|
29
|
+
match: 'partial',
|
|
30
|
+
mode: 'call',
|
|
31
|
+
negative: false,
|
|
32
|
+
position: 'any'
|
|
33
|
+
}),
|
|
34
|
+
calledWithExactly: argumentReference('doubleUsage.calledWithExactly', {
|
|
35
|
+
match: 'exact',
|
|
36
|
+
mode: 'call',
|
|
37
|
+
negative: false,
|
|
38
|
+
position: 'any'
|
|
39
|
+
}),
|
|
40
|
+
calledWithPrefix: argumentPrefixReference('doubleUsage.calledWithPrefix', {
|
|
41
|
+
mode: 'call',
|
|
42
|
+
negative: false,
|
|
43
|
+
position: 'any'
|
|
44
|
+
}),
|
|
45
|
+
constructed: atLeastOneReference('doubleUsage.constructed', 'construction'),
|
|
46
|
+
constructedOnce: onceReference('doubleUsage.constructedOnce', 'construction'),
|
|
47
|
+
constructedOnceWith: argumentReference('doubleUsage.constructedOnceWith', {
|
|
48
|
+
match: 'partial',
|
|
49
|
+
mode: 'construction',
|
|
50
|
+
negative: false,
|
|
51
|
+
position: 'once'
|
|
52
|
+
}),
|
|
53
|
+
constructedOnceWithExactly: argumentReference('doubleUsage.constructedOnceWithExactly', {
|
|
54
|
+
match: 'exact',
|
|
55
|
+
mode: 'construction',
|
|
56
|
+
negative: false,
|
|
57
|
+
position: 'once'
|
|
58
|
+
}),
|
|
59
|
+
constructedOnceWithPrefix: argumentPrefixReference('doubleUsage.constructedOnceWithPrefix', {
|
|
60
|
+
mode: 'construction',
|
|
61
|
+
negative: false,
|
|
62
|
+
position: 'once'
|
|
63
|
+
}),
|
|
64
|
+
constructedWith: argumentReference('doubleUsage.constructedWith', {
|
|
65
|
+
match: 'partial',
|
|
66
|
+
mode: 'construction',
|
|
67
|
+
negative: false,
|
|
68
|
+
position: 'any'
|
|
69
|
+
}),
|
|
70
|
+
constructedWithExactly: argumentReference('doubleUsage.constructedWithExactly', {
|
|
71
|
+
match: 'exact',
|
|
72
|
+
mode: 'construction',
|
|
73
|
+
negative: false,
|
|
74
|
+
position: 'any'
|
|
75
|
+
}),
|
|
76
|
+
constructedWithPrefix: argumentPrefixReference('doubleUsage.constructedWithPrefix', {
|
|
77
|
+
mode: 'construction',
|
|
78
|
+
negative: false,
|
|
79
|
+
position: 'any'
|
|
80
|
+
}),
|
|
81
|
+
constructionCount: countReference('doubleUsage.constructionCount', 'construction'),
|
|
82
|
+
constructionOrder: orderReference('doubleUsage.constructionOrder', 'construction'),
|
|
83
|
+
disposeCount: disposeCountReference('doubleUsage.disposeCount'),
|
|
84
|
+
disposeOrder: disposeOrderReference('doubleUsage.disposeOrder'),
|
|
85
|
+
disposed: disposedReference('doubleUsage.disposed'),
|
|
86
|
+
disposedOnce: disposedOnceReference('doubleUsage.disposedOnce'),
|
|
87
|
+
interacted: atLeastOneReference('doubleUsage.interacted', 'interaction'),
|
|
88
|
+
interactedOnce: onceReference('doubleUsage.interactedOnce', 'interaction'),
|
|
89
|
+
interactedOnceWith: argumentReference('doubleUsage.interactedOnceWith', {
|
|
90
|
+
match: 'partial',
|
|
91
|
+
mode: 'interaction',
|
|
92
|
+
negative: false,
|
|
93
|
+
position: 'once'
|
|
94
|
+
}),
|
|
95
|
+
interactedOnceWithExactly: argumentReference('doubleUsage.interactedOnceWithExactly', {
|
|
96
|
+
match: 'exact',
|
|
97
|
+
mode: 'interaction',
|
|
98
|
+
negative: false,
|
|
99
|
+
position: 'once'
|
|
100
|
+
}),
|
|
101
|
+
interactedOnceWithPrefix: argumentPrefixReference('doubleUsage.interactedOnceWithPrefix', {
|
|
102
|
+
mode: 'interaction',
|
|
103
|
+
negative: false,
|
|
104
|
+
position: 'once'
|
|
105
|
+
}),
|
|
106
|
+
interactedWith: argumentReference('doubleUsage.interactedWith', {
|
|
107
|
+
match: 'partial',
|
|
108
|
+
mode: 'interaction',
|
|
109
|
+
negative: false,
|
|
110
|
+
position: 'any'
|
|
111
|
+
}),
|
|
112
|
+
interactedWithExactly: argumentReference('doubleUsage.interactedWithExactly', {
|
|
113
|
+
match: 'exact',
|
|
114
|
+
mode: 'interaction',
|
|
115
|
+
negative: false,
|
|
116
|
+
position: 'any'
|
|
117
|
+
}),
|
|
118
|
+
interactedWithPrefix: argumentPrefixReference('doubleUsage.interactedWithPrefix', {
|
|
119
|
+
mode: 'interaction',
|
|
120
|
+
negative: false,
|
|
121
|
+
position: 'any'
|
|
122
|
+
}),
|
|
123
|
+
iterated: iteratedReference('doubleUsage.iterated'),
|
|
124
|
+
iteratorEventCount: iteratorEventCountReference('doubleUsage.iteratorEventCount'),
|
|
125
|
+
interactionCount: countReference('doubleUsage.interactionCount', 'interaction'),
|
|
126
|
+
interactionOrder: orderReference('doubleUsage.interactionOrder', 'interaction'),
|
|
127
|
+
lastCalledWith: argumentReference('doubleUsage.lastCalledWith', {
|
|
128
|
+
match: 'partial',
|
|
129
|
+
mode: 'call',
|
|
130
|
+
negative: false,
|
|
131
|
+
position: 'last'
|
|
132
|
+
}),
|
|
133
|
+
lastCalledWithExactly: argumentReference('doubleUsage.lastCalledWithExactly', {
|
|
134
|
+
match: 'exact',
|
|
135
|
+
mode: 'call',
|
|
136
|
+
negative: false,
|
|
137
|
+
position: 'last'
|
|
138
|
+
}),
|
|
139
|
+
lastCalledWithPrefix: argumentPrefixReference('doubleUsage.lastCalledWithPrefix', {
|
|
140
|
+
mode: 'call',
|
|
141
|
+
negative: false,
|
|
142
|
+
position: 'last'
|
|
143
|
+
}),
|
|
144
|
+
lastConstructedWith: argumentReference('doubleUsage.lastConstructedWith', {
|
|
145
|
+
match: 'partial',
|
|
146
|
+
mode: 'construction',
|
|
147
|
+
negative: false,
|
|
148
|
+
position: 'last'
|
|
149
|
+
}),
|
|
150
|
+
lastConstructedWithExactly: argumentReference('doubleUsage.lastConstructedWithExactly', {
|
|
151
|
+
match: 'exact',
|
|
152
|
+
mode: 'construction',
|
|
153
|
+
negative: false,
|
|
154
|
+
position: 'last'
|
|
155
|
+
}),
|
|
156
|
+
lastConstructedWithPrefix: argumentPrefixReference('doubleUsage.lastConstructedWithPrefix', {
|
|
157
|
+
mode: 'construction',
|
|
158
|
+
negative: false,
|
|
159
|
+
position: 'last'
|
|
160
|
+
}),
|
|
161
|
+
lastInteractedWith: argumentReference('doubleUsage.lastInteractedWith', {
|
|
162
|
+
match: 'partial',
|
|
163
|
+
mode: 'interaction',
|
|
164
|
+
negative: false,
|
|
165
|
+
position: 'last'
|
|
166
|
+
}),
|
|
167
|
+
lastInteractedWithExactly: argumentReference('doubleUsage.lastInteractedWithExactly', {
|
|
168
|
+
match: 'exact',
|
|
169
|
+
mode: 'interaction',
|
|
170
|
+
negative: false,
|
|
171
|
+
position: 'last'
|
|
172
|
+
}),
|
|
173
|
+
lastInteractedWithPrefix: argumentPrefixReference('doubleUsage.lastInteractedWithPrefix', {
|
|
174
|
+
mode: 'interaction',
|
|
175
|
+
negative: false,
|
|
176
|
+
position: 'last'
|
|
177
|
+
}),
|
|
178
|
+
notCalled: noEventsReference('doubleUsage.notCalled', 'call'),
|
|
179
|
+
notCalledWith: argumentReference('doubleUsage.notCalledWith', {
|
|
180
|
+
match: 'partial',
|
|
181
|
+
mode: 'call',
|
|
182
|
+
negative: true,
|
|
183
|
+
position: 'any'
|
|
184
|
+
}),
|
|
185
|
+
notCalledWithPrefix: argumentPrefixReference('doubleUsage.notCalledWithPrefix', {
|
|
186
|
+
mode: 'call',
|
|
187
|
+
negative: true,
|
|
188
|
+
position: 'any'
|
|
189
|
+
}),
|
|
190
|
+
notConstructed: noEventsReference('doubleUsage.notConstructed', 'construction'),
|
|
191
|
+
notConstructedWith: argumentReference('doubleUsage.notConstructedWith', {
|
|
192
|
+
match: 'partial',
|
|
193
|
+
mode: 'construction',
|
|
194
|
+
negative: true,
|
|
195
|
+
position: 'any'
|
|
196
|
+
}),
|
|
197
|
+
notConstructedWithPrefix: argumentPrefixReference('doubleUsage.notConstructedWithPrefix', {
|
|
198
|
+
mode: 'construction',
|
|
199
|
+
negative: true,
|
|
200
|
+
position: 'any'
|
|
201
|
+
}),
|
|
202
|
+
notDisposed: notDisposedReference('doubleUsage.notDisposed'),
|
|
203
|
+
notInteracted: noEventsReference('doubleUsage.notInteracted', 'interaction'),
|
|
204
|
+
notInteractedWith: argumentReference('doubleUsage.notInteractedWith', {
|
|
205
|
+
match: 'partial',
|
|
206
|
+
mode: 'interaction',
|
|
207
|
+
negative: true,
|
|
208
|
+
position: 'any'
|
|
209
|
+
}),
|
|
210
|
+
notInteractedWithPrefix: argumentPrefixReference('doubleUsage.notInteractedWithPrefix', {
|
|
211
|
+
mode: 'interaction',
|
|
212
|
+
negative: true,
|
|
213
|
+
position: 'any'
|
|
214
|
+
}),
|
|
215
|
+
notIterated: notIteratedReference('doubleUsage.notIterated'),
|
|
216
|
+
nthCallWith: indexedArgumentReference('doubleUsage.nthCallWith', 'call', 'partial'),
|
|
217
|
+
nthCallWithExactly: indexedArgumentReference('doubleUsage.nthCallWithExactly', 'call', 'exact'),
|
|
218
|
+
nthCallWithPrefix: indexedArgumentPrefixReference('doubleUsage.nthCallWithPrefix', 'call'),
|
|
219
|
+
nthConstructionWith: indexedArgumentReference('doubleUsage.nthConstructionWith', 'construction', 'partial'),
|
|
220
|
+
nthConstructionWithExactly: indexedArgumentReference('doubleUsage.nthConstructionWithExactly', 'construction', 'exact'),
|
|
221
|
+
nthConstructionWithPrefix: indexedArgumentPrefixReference('doubleUsage.nthConstructionWithPrefix', 'construction'),
|
|
222
|
+
nthInteractionWith: indexedArgumentReference('doubleUsage.nthInteractionWith', 'interaction', 'partial'),
|
|
223
|
+
nthInteractionWithExactly: indexedArgumentReference('doubleUsage.nthInteractionWithExactly', 'interaction', 'exact'),
|
|
224
|
+
nthInteractionWithPrefix: indexedArgumentPrefixReference('doubleUsage.nthInteractionWithPrefix', 'interaction'),
|
|
225
|
+
yieldCount: yieldCountReference('doubleUsage.yieldCount'),
|
|
226
|
+
yieldedExactly: yieldedExactlyReference('doubleUsage.yieldedExactly')
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=double-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-usage.js","sourceRoot":"","sources":["../../../../source/doubles/double-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type TestDouble, type TestDoubleConfiguration } from './test-double.ts';
|
|
2
|
+
export type TestDisposable = Disposable & {
|
|
3
|
+
readonly dispose: TestDouble<() => void>;
|
|
4
|
+
};
|
|
5
|
+
export type TestAsyncDisposable = AsyncDisposable & {
|
|
6
|
+
readonly asyncDispose: TestDouble<() => Promise<void>>;
|
|
7
|
+
};
|
|
8
|
+
export type DisposableConfiguration = {
|
|
9
|
+
readonly dispose: TestDoubleConfiguration<() => void>;
|
|
10
|
+
};
|
|
11
|
+
export type AsyncDisposableConfiguration = {
|
|
12
|
+
readonly asyncDispose: TestDoubleConfiguration<() => Promise<void>>;
|
|
13
|
+
};
|
|
14
|
+
export declare function createTestDisposable(...configuration: readonly [] | readonly [DisposableConfiguration]): TestDisposable;
|
|
15
|
+
export declare function createTestAsyncDisposable(...configuration: readonly [] | readonly [AsyncDisposableConfiguration]): TestAsyncDisposable;
|
|
16
|
+
//# sourceMappingURL=protocol-disposable-double.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-disposable-double.d.ts","sourceRoot":"","sources":["../../../../source/doubles/protocol-disposable-double.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACtC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAChD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,MAAM,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACvE,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,GAAG,aAAa,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,uBAAuB,CAAC,GACnE,cAAc,CAiBhB;AAED,wBAAgB,yBAAyB,CACrC,GAAG,aAAa,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,4BAA4B,CAAC,GACxE,mBAAmB,CAiBrB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-type-assertion -- TypeScript cannot see native symbol installation through computed runtime keys. */
|
|
2
|
+
import { asyncDisposeSymbol, disposeSymbol } from "./disposal-symbol.js";
|
|
3
|
+
import { installProtocolMetadata } from "./protocol-double-metadata.js";
|
|
4
|
+
import { testDouble } from "./test-double.js";
|
|
5
|
+
export function createTestDisposable(...configuration) {
|
|
6
|
+
const dispose = configuration[0] === undefined
|
|
7
|
+
? testDouble.returns()
|
|
8
|
+
: testDouble(configuration[0].dispose);
|
|
9
|
+
const disposable = ({ dispose, [disposeSymbol]: dispose });
|
|
10
|
+
installProtocolMetadata(disposable, {
|
|
11
|
+
disposeMethod() {
|
|
12
|
+
return dispose;
|
|
13
|
+
},
|
|
14
|
+
iteratorEvents() {
|
|
15
|
+
return [];
|
|
16
|
+
},
|
|
17
|
+
kind: 'disposable'
|
|
18
|
+
});
|
|
19
|
+
return disposable;
|
|
20
|
+
}
|
|
21
|
+
export function createTestAsyncDisposable(...configuration) {
|
|
22
|
+
const asyncDispose = configuration[0] === undefined
|
|
23
|
+
? testDouble.resolves(undefined)
|
|
24
|
+
: testDouble(configuration[0].asyncDispose);
|
|
25
|
+
const disposable = ({ asyncDispose, [asyncDisposeSymbol]: asyncDispose });
|
|
26
|
+
installProtocolMetadata(disposable, {
|
|
27
|
+
disposeMethod() {
|
|
28
|
+
return asyncDispose;
|
|
29
|
+
},
|
|
30
|
+
iteratorEvents() {
|
|
31
|
+
return [];
|
|
32
|
+
},
|
|
33
|
+
kind: 'async-disposable'
|
|
34
|
+
});
|
|
35
|
+
return disposable;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=protocol-disposable-double.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-disposable-double.js","sourceRoot":"","sources":["../../../../source/doubles/protocol-disposable-double.ts"],"names":[],"mappings":"AAAA,mJAAmJ;AACnJ,OAAO,EACH,kBAAkB,EAClB,aAAa,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EACH,UAAU,EAGb,MAAM,kBAAkB,CAAC;AAkB1B,MAAM,UAAU,oBAAoB,CAChC,GAAG,aAA+D;IAElE,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS;QAC1C,CAAC,CAAC,UAAU,CAAC,OAAO,EAAc;QAClC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAA8B,CAAC;IAExF,uBAAuB,CAAC,UAAU,EAAE;QAChC,aAAa;YACT,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,cAAc;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,EAAE,YAAY;KACrB,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,GAAG,aAAoE;IAEvE,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,SAAS;QAC/C,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAsB,SAAS,CAAC;QACrD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAmC,CAAC;IAE5G,uBAAuB,CAAC,UAAU,EAAE;QAChC,aAAa;YACT,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,cAAc;YACV,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,EAAE,kBAAkB;KAC3B,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DoubleIteratorEvent } from './double-history-record.ts';
|
|
2
|
+
import type { UnknownFunction } from './double-behavior.ts';
|
|
3
|
+
type DisposableProtocol = 'async-disposable' | 'disposable';
|
|
4
|
+
type IteratorProtocol = 'async-iterable' | 'async-iterator' | 'iterable' | 'iterator';
|
|
5
|
+
type ProtocolKind = DisposableProtocol | IteratorProtocol;
|
|
6
|
+
type ProtocolMetadata = {
|
|
7
|
+
readonly disposeMethod: () => UnknownFunction<unknown> | null;
|
|
8
|
+
readonly iteratorEvents: () => readonly DoubleIteratorEvent[];
|
|
9
|
+
readonly kind: ProtocolKind;
|
|
10
|
+
};
|
|
11
|
+
export declare function installProtocolMetadata(target: NonNullable<unknown>, metadata: ProtocolMetadata): void;
|
|
12
|
+
export declare function protocolDisposeMethod(value: unknown): UnknownFunction<unknown> | null;
|
|
13
|
+
export declare function protocolIteratorEvents(value: unknown): readonly DoubleIteratorEvent[] | null;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=protocol-double-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-double-metadata.d.ts","sourceRoot":"","sources":["../../../../source/doubles/protocol-double-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,kBAAkB,GAAG,kBAAkB,GAAG,YAAY,CAAC;AAC5D,KAAK,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,CAAC;AACtF,KAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE1D,KAAK,gBAAgB,GAAG;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,cAAc,EAAE,MAAM,SAAS,mBAAmB,EAAE,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B,CAAC;AAeF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAKtG;AAYD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAErF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAE5F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const protocolMetadataSymbol = Symbol('overkill.protocolDoubleMetadata');
|
|
2
|
+
function isRecord(value) {
|
|
3
|
+
return value !== null && (typeof value === 'object' || typeof value === 'function');
|
|
4
|
+
}
|
|
5
|
+
function isProtocolMetadata(value) {
|
|
6
|
+
return isRecord(value) &&
|
|
7
|
+
typeof Reflect.get(value, 'disposeMethod') === 'function' &&
|
|
8
|
+
typeof Reflect.get(value, 'iteratorEvents') === 'function' &&
|
|
9
|
+
typeof Reflect.get(value, 'kind') === 'string';
|
|
10
|
+
}
|
|
11
|
+
export function installProtocolMetadata(target, metadata) {
|
|
12
|
+
Object.defineProperty(target, protocolMetadataSymbol, {
|
|
13
|
+
enumerable: false,
|
|
14
|
+
value: metadata
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function protocolMetadata(value) {
|
|
18
|
+
if (!isRecord(value) || !Object.hasOwn(value, protocolMetadataSymbol)) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, protocolMetadataSymbol);
|
|
22
|
+
return isProtocolMetadata(descriptor?.value) ? descriptor.value : null;
|
|
23
|
+
}
|
|
24
|
+
export function protocolDisposeMethod(value) {
|
|
25
|
+
return protocolMetadata(value)?.disposeMethod() ?? null;
|
|
26
|
+
}
|
|
27
|
+
export function protocolIteratorEvents(value) {
|
|
28
|
+
return protocolMetadata(value)?.iteratorEvents() ?? null;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=protocol-double-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-double-metadata.js","sourceRoot":"","sources":["../../../../source/doubles/protocol-double-metadata.ts"],"names":[],"mappings":"AAaA,MAAM,sBAAsB,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAEzE,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,UAAU;QACzD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,UAAU;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA4B,EAAE,QAA0B;IAC5F,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,sBAAsB,EAAE;QAClD,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAElF,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAChD,OAAO,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACjD,OAAO,gBAAgB,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type AsyncDisposableConfiguration, type DisposableConfiguration, type TestAsyncDisposable, type TestDisposable } from './protocol-disposable-double.ts';
|
|
2
|
+
import { type AsyncIterableConfiguration, type AsyncIteratorConfiguration, type AsyncIteratorSource, type SyncIterableConfiguration, type SyncIteratorConfiguration, type SyncIteratorSource, type TestAsyncIterable, type TestAsyncIterator, type TestIterable, type TestIterator } from './protocol-iterator-double.ts';
|
|
3
|
+
import { type TestDoubleConfiguration } from './test-double.ts';
|
|
4
|
+
import type { CallableSignature } from './double-behavior.ts';
|
|
5
|
+
export type ProtocolMethodConfiguration<Signature extends CallableSignature> = TestDoubleConfiguration<Signature>;
|
|
6
|
+
export type TestIteratorFactory = {
|
|
7
|
+
<YieldValue = unknown, ReturnValue = undefined, NextValue = unknown>(configuration: SyncIteratorConfiguration<YieldValue, ReturnValue>): TestIterator<YieldValue, ReturnValue, NextValue>;
|
|
8
|
+
(): TestIterator;
|
|
9
|
+
readonly yields: {
|
|
10
|
+
<YieldValue>(values: readonly YieldValue[]): TestIterator<YieldValue, undefined>;
|
|
11
|
+
<YieldValue, ReturnValue>(values: readonly YieldValue[], returnValue: ReturnValue): TestIterator<YieldValue, ReturnValue>;
|
|
12
|
+
};
|
|
13
|
+
readonly yieldsFrom: <YieldValue, ReturnValue = unknown, NextValue = unknown>(sourceFactory: () => SyncIteratorSource<YieldValue, ReturnValue>) => TestIterator<YieldValue, ReturnValue, NextValue>;
|
|
14
|
+
};
|
|
15
|
+
export type TestAsyncIteratorFactory = {
|
|
16
|
+
<YieldValue = unknown, ReturnValue = undefined, NextValue = unknown>(configuration: AsyncIteratorConfiguration<YieldValue, ReturnValue>): TestAsyncIterator<YieldValue, ReturnValue, NextValue>;
|
|
17
|
+
(): TestAsyncIterator;
|
|
18
|
+
readonly yields: {
|
|
19
|
+
<YieldValue>(values: readonly YieldValue[]): TestAsyncIterator<YieldValue, undefined>;
|
|
20
|
+
<YieldValue, ReturnValue>(values: readonly YieldValue[], returnValue: ReturnValue): TestAsyncIterator<YieldValue, ReturnValue>;
|
|
21
|
+
};
|
|
22
|
+
readonly yieldsFrom: <YieldValue, ReturnValue = unknown, NextValue = unknown>(sourceFactory: () => AsyncIteratorSource<YieldValue, ReturnValue>) => TestAsyncIterator<YieldValue, ReturnValue, NextValue>;
|
|
23
|
+
};
|
|
24
|
+
export type TestIterableFactory = {
|
|
25
|
+
<YieldValue = unknown, ReturnValue = undefined, NextValue = unknown>(configuration: SyncIterableConfiguration<YieldValue, ReturnValue, NextValue>): TestIterable<YieldValue, ReturnValue, NextValue>;
|
|
26
|
+
(): TestIterable;
|
|
27
|
+
readonly yields: {
|
|
28
|
+
<YieldValue>(values: readonly YieldValue[]): TestIterable<YieldValue, undefined>;
|
|
29
|
+
<YieldValue, ReturnValue>(values: readonly YieldValue[], returnValue: ReturnValue): TestIterable<YieldValue, ReturnValue>;
|
|
30
|
+
};
|
|
31
|
+
readonly yieldsFrom: <YieldValue, ReturnValue = unknown, NextValue = unknown>(sourceFactory: () => SyncIteratorSource<YieldValue, ReturnValue>) => TestIterable<YieldValue, ReturnValue, NextValue>;
|
|
32
|
+
};
|
|
33
|
+
export type TestAsyncIterableFactory = {
|
|
34
|
+
<YieldValue = unknown, ReturnValue = undefined, NextValue = unknown>(configuration: AsyncIterableConfiguration<YieldValue, ReturnValue, NextValue>): TestAsyncIterable<YieldValue, ReturnValue, NextValue>;
|
|
35
|
+
(): TestAsyncIterable;
|
|
36
|
+
readonly yields: {
|
|
37
|
+
<YieldValue>(values: readonly YieldValue[]): TestAsyncIterable<YieldValue, undefined>;
|
|
38
|
+
<YieldValue, ReturnValue>(values: readonly YieldValue[], returnValue: ReturnValue): TestAsyncIterable<YieldValue, ReturnValue>;
|
|
39
|
+
};
|
|
40
|
+
readonly yieldsFrom: <YieldValue, ReturnValue = unknown, NextValue = unknown>(sourceFactory: () => AsyncIteratorSource<YieldValue, ReturnValue>) => TestAsyncIterable<YieldValue, ReturnValue, NextValue>;
|
|
41
|
+
};
|
|
42
|
+
export type TestDisposableFactory = (...configuration: readonly [] | readonly [DisposableConfiguration]) => TestDisposable;
|
|
43
|
+
export type TestAsyncDisposableFactory = (...configuration: readonly [] | readonly [AsyncDisposableConfiguration]) => TestAsyncDisposable;
|
|
44
|
+
export declare const testIterator: TestIteratorFactory;
|
|
45
|
+
export declare const testAsyncIterator: TestAsyncIteratorFactory;
|
|
46
|
+
export declare const testIterable: TestIterableFactory;
|
|
47
|
+
export declare const testAsyncIterable: TestAsyncIterableFactory;
|
|
48
|
+
export declare const testDisposable: TestDisposableFactory;
|
|
49
|
+
export declare const testAsyncDisposable: TestAsyncDisposableFactory;
|
|
50
|
+
//# sourceMappingURL=protocol-double.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-double.d.ts","sourceRoot":"","sources":["../../../../source/doubles/protocol-double.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { createTestAsyncDisposable, createTestDisposable } from "./protocol-disposable-double.js";
|
|
2
|
+
import { createAsyncIterableFromFactory, createAsyncIterableFromMethod, createAsyncIteratorFromMethods, createConfiguredAsyncMethods, createConfiguredSyncMethods, createDefaultAsyncMethods, createDefaultSyncMethods, createDelegatingAsyncMethods, createDelegatingSyncMethods, createSyncIterableFromFactory, createSyncIterableFromMethod, createSyncIteratorFromMethods, createYieldingAsyncMethods, createYieldingSyncMethods } from "./protocol-iterator-double.js";
|
|
3
|
+
import { testDouble } from "./test-double.js";
|
|
4
|
+
function createTestIterator(...configuration) {
|
|
5
|
+
return createSyncIteratorFromMethods(configuration[0] === undefined ? createDefaultSyncMethods() : createConfiguredSyncMethods(configuration[0]));
|
|
6
|
+
}
|
|
7
|
+
function createTestAsyncIterator(...configuration) {
|
|
8
|
+
return createAsyncIteratorFromMethods(configuration[0] === undefined ? createDefaultAsyncMethods() : createConfiguredAsyncMethods(configuration[0]));
|
|
9
|
+
}
|
|
10
|
+
function createTestIterable(...configuration) {
|
|
11
|
+
if (configuration[0] !== undefined) {
|
|
12
|
+
return createSyncIterableFromMethod(testDouble(configuration[0].iterator));
|
|
13
|
+
}
|
|
14
|
+
return createSyncIterableFromFactory(function createIterator() {
|
|
15
|
+
return createSyncIteratorFromMethods(createDefaultSyncMethods());
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function createTestAsyncIterable(...configuration) {
|
|
19
|
+
if (configuration[0] !== undefined) {
|
|
20
|
+
return createAsyncIterableFromMethod(testDouble(configuration[0].asyncIterator));
|
|
21
|
+
}
|
|
22
|
+
return createAsyncIterableFromFactory(function createIterator() {
|
|
23
|
+
return createAsyncIteratorFromMethods(createDefaultAsyncMethods());
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function syncIteratorYields(values, returnValue) {
|
|
27
|
+
return createSyncIteratorFromMethods(createYieldingSyncMethods(values, returnValue));
|
|
28
|
+
}
|
|
29
|
+
function syncIteratorYieldsFrom(sourceFactory) {
|
|
30
|
+
return createSyncIteratorFromMethods(createDelegatingSyncMethods(sourceFactory));
|
|
31
|
+
}
|
|
32
|
+
export const testIterator = Object.assign(createTestIterator, {
|
|
33
|
+
yields: syncIteratorYields,
|
|
34
|
+
yieldsFrom: syncIteratorYieldsFrom
|
|
35
|
+
});
|
|
36
|
+
function asyncIteratorYields(values, returnValue) {
|
|
37
|
+
return createAsyncIteratorFromMethods(createYieldingAsyncMethods(values, returnValue));
|
|
38
|
+
}
|
|
39
|
+
function asyncIteratorYieldsFrom(sourceFactory) {
|
|
40
|
+
return createAsyncIteratorFromMethods(createDelegatingAsyncMethods(sourceFactory));
|
|
41
|
+
}
|
|
42
|
+
export const testAsyncIterator = Object.assign(createTestAsyncIterator, {
|
|
43
|
+
yields: asyncIteratorYields,
|
|
44
|
+
yieldsFrom: asyncIteratorYieldsFrom
|
|
45
|
+
});
|
|
46
|
+
function syncIterableYields(values, returnValue) {
|
|
47
|
+
return createSyncIterableFromFactory(function createIterator() {
|
|
48
|
+
return createSyncIteratorFromMethods(createYieldingSyncMethods(values, returnValue));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function syncIterableYieldsFrom(sourceFactory) {
|
|
52
|
+
return createSyncIterableFromFactory(function createIterator() {
|
|
53
|
+
return createSyncIteratorFromMethods(createDelegatingSyncMethods(sourceFactory));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export const testIterable = Object.assign(createTestIterable, {
|
|
57
|
+
yields: syncIterableYields,
|
|
58
|
+
yieldsFrom: syncIterableYieldsFrom
|
|
59
|
+
});
|
|
60
|
+
function asyncIterableYields(values, returnValue) {
|
|
61
|
+
return createAsyncIterableFromFactory(function createIterator() {
|
|
62
|
+
return createAsyncIteratorFromMethods(createYieldingAsyncMethods(values, returnValue));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function asyncIterableYieldsFrom(sourceFactory) {
|
|
66
|
+
return createAsyncIterableFromFactory(function createIterator() {
|
|
67
|
+
return createAsyncIteratorFromMethods(createDelegatingAsyncMethods(sourceFactory));
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export const testAsyncIterable = Object.assign(createTestAsyncIterable, {
|
|
71
|
+
yields: asyncIterableYields,
|
|
72
|
+
yieldsFrom: asyncIterableYieldsFrom
|
|
73
|
+
});
|
|
74
|
+
export const testDisposable = createTestDisposable;
|
|
75
|
+
export const testAsyncDisposable = createTestAsyncDisposable;
|
|
76
|
+
//# sourceMappingURL=protocol-double.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-double.js","sourceRoot":"","sources":["../../../../source/doubles/protocol-double.ts"],"names":[],"mappings":"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"}
|