unikvs 0.0.10 â 0.0.13
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/README.md +3 -0
- package/dist/index.d.ts +1553 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4032 -0
- package/dist/index.js.map +1 -0
- package/package.json +35 -34
- package/src/_contexts.ts +1089 -0
- package/src/_logger.ts +5 -3
- package/src/_middleware.ts +207 -0
- package/src/_pipeline-graph.helpers.ts +183 -0
- package/src/_pipeline-graph.ts +1307 -0
- package/src/_pipeline-graph.types.ts +303 -0
- package/src/_pipeline-leaf-resolver.ts +70 -0
- package/src/_plugin-lifecycle.ts +201 -0
- package/src/_storage.ts +173 -96
- package/src/_streams.schemas.ts +21 -0
- package/src/_streams.ts +73 -0
- package/src/_to-value-stream.ts +22 -11
- package/src/_types.ts +237 -0
- package/src/_unikvs-branch.ts +94 -0
- package/src/_unikvs.schemas.ts +451 -0
- package/src/_valibot.ts +17 -3
- package/src/_value-schemas.ts +192 -0
- package/src/_value-validation.ts +57 -0
- package/src/errors.ts +446 -252
- package/src/index.ts +46 -26
- package/src/types.ts +13 -0
- package/src/unikvs-branch.ts +445 -0
- package/src/unikvs-builder.ts +706 -0
- package/src/unikvs.ts +1456 -971
- package/src/unikvs.types.ts +194 -0
- package/src/value-schemas.ts +98 -0
- package/dist/src/_logger.d.ts +0 -3
- package/dist/src/_logger.d.ts.map +0 -1
- package/dist/src/_logger.js +0 -3
- package/dist/src/_merge-context.d.ts +0 -13
- package/dist/src/_merge-context.d.ts.map +0 -1
- package/dist/src/_merge-context.js +0 -12
- package/dist/src/_storage.d.ts +0 -18
- package/dist/src/_storage.d.ts.map +0 -1
- package/dist/src/_storage.js +0 -94
- package/dist/src/_to-value-stream.d.ts +0 -12
- package/dist/src/_to-value-stream.d.ts.map +0 -1
- package/dist/src/_to-value-stream.js +0 -102
- package/dist/src/_transformer.d.ts +0 -13
- package/dist/src/_transformer.d.ts.map +0 -1
- package/dist/src/_transformer.js +0 -60
- package/dist/src/_valibot.d.ts +0 -15
- package/dist/src/_valibot.d.ts.map +0 -1
- package/dist/src/_valibot.js +0 -23
- package/dist/src/context.types.d.ts +0 -17
- package/dist/src/context.types.d.ts.map +0 -1
- package/dist/src/context.types.js +0 -1
- package/dist/src/errors.d.ts +0 -340
- package/dist/src/errors.d.ts.map +0 -1
- package/dist/src/errors.js +0 -250
- package/dist/src/index.d.ts +0 -10
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -3
- package/dist/src/unikvs-config.d.ts +0 -255
- package/dist/src/unikvs-config.d.ts.map +0 -1
- package/dist/src/unikvs-config.js +0 -105
- package/dist/src/unikvs.d.ts +0 -354
- package/dist/src/unikvs.d.ts.map +0 -1
- package/dist/src/unikvs.js +0 -867
- package/dist/src/utils.types.d.ts +0 -7
- package/dist/src/utils.types.d.ts.map +0 -1
- package/dist/src/utils.types.js +0 -1
- package/dist/src/value-stream.types.d.ts +0 -16
- package/dist/src/value-stream.types.d.ts.map +0 -1
- package/dist/src/value-stream.types.js +0 -1
- package/src/_merge-context.ts +0 -19
- package/src/_transformer.ts +0 -89
- package/src/context.types.ts +0 -19
- package/src/unikvs-config.ts +0 -426
- package/src/utils.types.ts +0 -6
- package/src/value-stream.types.ts +0 -19
package/src/_contexts.ts
ADDED
|
@@ -0,0 +1,1089 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type IGetContext,
|
|
3
|
+
type IHasContext,
|
|
4
|
+
type ISetContext,
|
|
5
|
+
type IOpenContext,
|
|
6
|
+
type IClearContext,
|
|
7
|
+
type ICloseContext,
|
|
8
|
+
type IActionContext,
|
|
9
|
+
type IDecodeContext,
|
|
10
|
+
type IDeleteContext,
|
|
11
|
+
type IEncodeContext,
|
|
12
|
+
type IMapKeyContext,
|
|
13
|
+
type IStreamContext,
|
|
14
|
+
type IReadableStream,
|
|
15
|
+
type IPipelineContext,
|
|
16
|
+
type ILifecycleContext,
|
|
17
|
+
type ITransformContext,
|
|
18
|
+
type IKeyedActionContext,
|
|
19
|
+
type IDecodeStreamContext,
|
|
20
|
+
type IEncodeStreamContext,
|
|
21
|
+
type ITransformDataContext,
|
|
22
|
+
type ITransformStreamContext,
|
|
23
|
+
ReadonlyVariableError,
|
|
24
|
+
} from "@unikvs/core";
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* ĺŽčĄćĺ¤ć°ăŽ 1 äťśĺăŽĺ˝˘ĺźă§ăă
|
|
28
|
+
*/
|
|
29
|
+
export type VariablesEntry = readonly [name: string, value: unknown];
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ăŤä˝żăăăăă形ĺźă§ăă
|
|
33
|
+
*
|
|
34
|
+
* ăŹăłăźăăžăăŻă¨ăłăăŞăźăŽĺ垊ĺăĺăäťăăžăă
|
|
35
|
+
*/
|
|
36
|
+
export type VariablesInit = Readonly<Record<string, unknown>> | Iterable<VariablesEntry>;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ăă¨ăłăăŞăźĺăŤćŁčŚĺăăžăă
|
|
40
|
+
*
|
|
41
|
+
* ăŹăłăźă㯠`Object.entries` ă§ĺąéăăžăă
|
|
42
|
+
* ĺ垊ĺăŻăăŽăžăžčżăăžăă
|
|
43
|
+
*
|
|
44
|
+
* @param vars ĺćĺ¤ă§ăă
|
|
45
|
+
*
|
|
46
|
+
* @returns ă¨ăłăăŞăźĺăčżăăžăă
|
|
47
|
+
*/
|
|
48
|
+
function normalizeVariablesInit(vars: VariablesInit | undefined): Iterable<VariablesEntry> {
|
|
49
|
+
if (!vars) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (Symbol.iterator in vars) {
|
|
54
|
+
return vars;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return Object.entries(vars);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* č¤ć°ăŽăłăłăăăšăéă§ĺ
ąćăăăĺ¤ć°ăšăă˘ă§ăă
|
|
62
|
+
*
|
|
63
|
+
* ăŞăăŞăłĺŽčĄă§ăŻćä˝ĺ
ăŽĺ
¨ăłăłăăăšăăĺä¸ăšăă˘ăĺç
§ăăžăă
|
|
64
|
+
* ä¸ćľăŽ `set` ăä¸ćľă `await next()` ăŽĺžăŤ `get` ă§ĺç
§ă§ăăžăă
|
|
65
|
+
*/
|
|
66
|
+
export type VariablesStore = {
|
|
67
|
+
/**
|
|
68
|
+
* ĺ¤ć°ăŽăăăă§ăă
|
|
69
|
+
*/
|
|
70
|
+
readonly data: Map<string, unknown>;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* čŞăżĺăĺ°ç¨ăŽĺ¤ć°ĺăŽéĺă§ăă
|
|
74
|
+
*/
|
|
75
|
+
readonly readonly: Set<string>;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* ć°ăă犺ăŽĺ¤ć°ăšăă˘ăä˝ćăăžăă
|
|
80
|
+
*
|
|
81
|
+
* @param vars ĺćĺ¤ă§ăă
|
|
82
|
+
*
|
|
83
|
+
* @returns 犺ăšăă˘ăčżăăžăă
|
|
84
|
+
*/
|
|
85
|
+
export function createVariablesStore(
|
|
86
|
+
vars: readonly VariablesEntry[] | undefined = [],
|
|
87
|
+
): VariablesStore {
|
|
88
|
+
return {
|
|
89
|
+
data: new Map(vars),
|
|
90
|
+
readonly: new Set(),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* `PipelineContext` ăŽĺćĺ¤ă§ăă
|
|
96
|
+
*/
|
|
97
|
+
type PipelineContextInit = {
|
|
98
|
+
/**
|
|
99
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
100
|
+
*/
|
|
101
|
+
readonly vars?: VariablesInit | undefined;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
105
|
+
*
|
|
106
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
107
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
108
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
109
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
110
|
+
*/
|
|
111
|
+
readonly store?: VariablesStore | undefined;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* ĺŽčĄćĺ¤ć°ăäżćăăĺşĺşăłăłăăăšăă§ăă
|
|
116
|
+
*/
|
|
117
|
+
class PipelineContext implements IPipelineContext {
|
|
118
|
+
/**
|
|
119
|
+
* ĺ¤ć°ăŽăăăă§ăăĺ
ąćăšăă˘ăŽĺç
§ă§ăăĺ ´ĺăăăăžăă
|
|
120
|
+
*/
|
|
121
|
+
readonly #data: Map<string, unknown>;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* čŞăżĺăĺ°ç¨ăŽĺ¤ć°ĺăŽéĺă§ăăĺ
ąćăšăă˘ăŽĺç
§ă§ăăĺ ´ĺăăăăžăă
|
|
125
|
+
*/
|
|
126
|
+
readonly #readonly: Set<string>;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
130
|
+
*
|
|
131
|
+
* @param init ĺćĺ¤ă§ăă
|
|
132
|
+
*/
|
|
133
|
+
public constructor(init: PipelineContextInit) {
|
|
134
|
+
const { store } = init;
|
|
135
|
+
|
|
136
|
+
if (store) {
|
|
137
|
+
// ĺ
ąćăšăă˘ăĺç
§ăăä¸ćľăŽĺ¤ć´ăä¸ćľăŤčŚăăăăăŤăăžăă
|
|
138
|
+
this.#data = store.data;
|
|
139
|
+
this.#readonly = store.readonly;
|
|
140
|
+
} else {
|
|
141
|
+
this.#data = new Map();
|
|
142
|
+
this.#readonly = new Set();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const vars = normalizeVariablesInit(init.vars);
|
|
146
|
+
|
|
147
|
+
for (const [name, value] of vars) {
|
|
148
|
+
this.#data.set(name, value);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* ĺ¤ć°ăŽĺ¤ăčŞăżĺăăžăă
|
|
154
|
+
*
|
|
155
|
+
* @param name ĺ¤ć°ĺă§ăă
|
|
156
|
+
*
|
|
157
|
+
* @returns ĺ¤ć°ăŽĺ¤ăčżăăžăă
|
|
158
|
+
*/
|
|
159
|
+
public get(name: string): unknown {
|
|
160
|
+
return this.#data.get(name);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* ĺ¤ć°ăŽĺ¤ăć¸ăčžźăżăžăă
|
|
165
|
+
*
|
|
166
|
+
* @param name ĺ¤ć°ĺă§ăă
|
|
167
|
+
* @param value č¨ĺŽăăĺ¤ă§ăă
|
|
168
|
+
*
|
|
169
|
+
* @returns čŞčşŤăčżăăžăă
|
|
170
|
+
*/
|
|
171
|
+
public set(name: string, value: unknown): this {
|
|
172
|
+
if (this.#readonly.has(name)) {
|
|
173
|
+
throw new ReadonlyVariableError({ name });
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
this.#data.set(name, value);
|
|
177
|
+
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* ĺ¤ć°ăŽĺ¤ăč¨ĺŽăăčŞăżĺăĺ°ç¨ăŤăăžăă
|
|
183
|
+
*
|
|
184
|
+
* @param name ĺ¤ć°ĺă§ăă
|
|
185
|
+
* @param value č¨ĺŽăăĺ¤ă§ăă
|
|
186
|
+
*
|
|
187
|
+
* @returns čŞčşŤăčżăăžăă
|
|
188
|
+
*/
|
|
189
|
+
public setReadonly(name: string, value: unknown): this {
|
|
190
|
+
if (this.#readonly.has(name)) {
|
|
191
|
+
throw new ReadonlyVariableError({ name });
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
this.#data.set(name, value);
|
|
195
|
+
this.#readonly.add(name);
|
|
196
|
+
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* `MapKeyContext` ăŽĺćĺ¤ă§ăă
|
|
203
|
+
*/
|
|
204
|
+
type MapKeyContextInit = {
|
|
205
|
+
/**
|
|
206
|
+
* 寞蹥ăŽăăźă§ăă
|
|
207
|
+
*/
|
|
208
|
+
readonly key: string;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
212
|
+
*
|
|
213
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
214
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
215
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
216
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
217
|
+
*/
|
|
218
|
+
readonly store?: VariablesStore | undefined;
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
222
|
+
*/
|
|
223
|
+
readonly vars?: VariablesInit | undefined;
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
export class MapKeyContext extends PipelineContext implements IMapKeyContext {
|
|
227
|
+
/**
|
|
228
|
+
* 寞蹥ăŽăăźă§ăă
|
|
229
|
+
*/
|
|
230
|
+
public readonly key: string;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
234
|
+
*
|
|
235
|
+
* @param init ĺćĺ¤ă§ăă
|
|
236
|
+
*/
|
|
237
|
+
public constructor(init: MapKeyContextInit) {
|
|
238
|
+
const { key, vars, store } = init;
|
|
239
|
+
super({
|
|
240
|
+
vars,
|
|
241
|
+
store,
|
|
242
|
+
});
|
|
243
|
+
this.key = key;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* `ActionContext` ăŽĺćĺ¤ă§ăă
|
|
249
|
+
*/
|
|
250
|
+
type ActionContextInit<TAction extends IActionContext["action"]> = {
|
|
251
|
+
/**
|
|
252
|
+
* ĺŽčĄăăćä˝ăŽç¨ŽĺĽă§ăă
|
|
253
|
+
*/
|
|
254
|
+
readonly action: TAction;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
258
|
+
*/
|
|
259
|
+
readonly signal: AbortSignal;
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
263
|
+
*
|
|
264
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
265
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
266
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
267
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
268
|
+
*/
|
|
269
|
+
readonly store?: VariablesStore | undefined;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
273
|
+
*/
|
|
274
|
+
readonly vars?: VariablesInit | undefined;
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
class ActionContext<const TAction extends IActionContext["action"]>
|
|
278
|
+
extends PipelineContext
|
|
279
|
+
implements IActionContext
|
|
280
|
+
{
|
|
281
|
+
/**
|
|
282
|
+
* ĺŽčĄăăćä˝ăŽç¨ŽĺĽă§ăă
|
|
283
|
+
*/
|
|
284
|
+
public readonly action: TAction;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
288
|
+
*/
|
|
289
|
+
public readonly signal: AbortSignal;
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
293
|
+
*
|
|
294
|
+
* @param init ĺćĺ¤ă§ăă
|
|
295
|
+
*/
|
|
296
|
+
public constructor(init: ActionContextInit<TAction>) {
|
|
297
|
+
const { vars, store, action, signal } = init;
|
|
298
|
+
super({
|
|
299
|
+
vars,
|
|
300
|
+
store,
|
|
301
|
+
});
|
|
302
|
+
this.action = action;
|
|
303
|
+
this.signal = signal;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
class LifecycleContext<const TAction extends ILifecycleContext["action"]>
|
|
308
|
+
extends ActionContext<TAction>
|
|
309
|
+
implements ILifecycleContext {}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* `OpenContext` ăŽĺćĺ¤ă§ăă
|
|
313
|
+
*/
|
|
314
|
+
type OpenContextInit = {
|
|
315
|
+
/**
|
|
316
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
317
|
+
*/
|
|
318
|
+
readonly signal: AbortSignal;
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
322
|
+
*
|
|
323
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
324
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
325
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
326
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
327
|
+
*/
|
|
328
|
+
readonly store?: VariablesStore | undefined;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
332
|
+
*/
|
|
333
|
+
readonly vars?: VariablesInit | undefined;
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* éĺ§ĺŚçăŽăłăłăăăšăă§ăă
|
|
338
|
+
*/
|
|
339
|
+
export class OpenContext extends LifecycleContext<"open"> implements IOpenContext {
|
|
340
|
+
/**
|
|
341
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
342
|
+
*
|
|
343
|
+
* @param init ĺćĺ¤ă§ăă
|
|
344
|
+
*/
|
|
345
|
+
public constructor(init: OpenContextInit) {
|
|
346
|
+
super({
|
|
347
|
+
...init,
|
|
348
|
+
action: "open",
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* `CloseContext` ăŽĺćĺ¤ă§ăă
|
|
355
|
+
*/
|
|
356
|
+
type CloseContextInit = {
|
|
357
|
+
/**
|
|
358
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
359
|
+
*/
|
|
360
|
+
readonly signal: AbortSignal;
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
364
|
+
*
|
|
365
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
366
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
367
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
368
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
369
|
+
*/
|
|
370
|
+
readonly store?: VariablesStore | undefined;
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
374
|
+
*/
|
|
375
|
+
readonly vars?: VariablesInit | undefined;
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* çľäşĺŚçăŽăłăłăăăšăă§ăă
|
|
380
|
+
*/
|
|
381
|
+
export class CloseContext extends LifecycleContext<"close"> implements ICloseContext {
|
|
382
|
+
/**
|
|
383
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
384
|
+
*
|
|
385
|
+
* @param init ĺćĺ¤ă§ăă
|
|
386
|
+
*/
|
|
387
|
+
public constructor(init: CloseContextInit) {
|
|
388
|
+
super({
|
|
389
|
+
...init,
|
|
390
|
+
action: "close",
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* `KeyedActionContext` ăŽĺćĺ¤ă§ăă
|
|
397
|
+
*/
|
|
398
|
+
type KeyedActionContextInit<TAction extends IKeyedActionContext["action"]> = {
|
|
399
|
+
/**
|
|
400
|
+
* ĺŽčĄăăćä˝ăŽç¨ŽĺĽă§ăă
|
|
401
|
+
*/
|
|
402
|
+
readonly action: TAction;
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* 寞蹥ăŽăăźă§ăă
|
|
406
|
+
*/
|
|
407
|
+
readonly key: string;
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
411
|
+
*/
|
|
412
|
+
readonly signal: AbortSignal;
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
416
|
+
*
|
|
417
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
418
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
419
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
420
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
421
|
+
*/
|
|
422
|
+
readonly store?: VariablesStore | undefined;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
426
|
+
*/
|
|
427
|
+
readonly vars?: VariablesInit | undefined;
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
class KeyedActionContext<TAction extends IKeyedActionContext["action"]>
|
|
431
|
+
extends ActionContext<TAction>
|
|
432
|
+
implements IKeyedActionContext
|
|
433
|
+
{
|
|
434
|
+
/**
|
|
435
|
+
* 寞蹥ăŽăăźă§ăă
|
|
436
|
+
*/
|
|
437
|
+
public readonly key: string;
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
441
|
+
*
|
|
442
|
+
* @param init ĺćĺ¤ă§ăă
|
|
443
|
+
*/
|
|
444
|
+
public constructor(init: KeyedActionContextInit<TAction>) {
|
|
445
|
+
const { key, ...superInit } = init;
|
|
446
|
+
super(superInit);
|
|
447
|
+
this.key = key;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* `SetContext` ăŽĺćĺ¤ă§ăă
|
|
453
|
+
*/
|
|
454
|
+
type SetContextInit = {
|
|
455
|
+
/**
|
|
456
|
+
* 寞蹥ăŽăăźă§ăă
|
|
457
|
+
*/
|
|
458
|
+
readonly key: string;
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
462
|
+
*/
|
|
463
|
+
readonly signal: AbortSignal;
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
467
|
+
*
|
|
468
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
469
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
470
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
471
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
472
|
+
*/
|
|
473
|
+
readonly store?: VariablesStore | undefined;
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
477
|
+
*/
|
|
478
|
+
readonly vars?: VariablesInit | undefined;
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
/**
|
|
482
|
+
* ć¸ăčžźăżĺŚçăŽăłăłăăăšăă§ăă
|
|
483
|
+
*/
|
|
484
|
+
export class SetContext extends KeyedActionContext<"set"> implements ISetContext {
|
|
485
|
+
/**
|
|
486
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
487
|
+
*
|
|
488
|
+
* @param init ĺćĺ¤ă§ăă
|
|
489
|
+
*/
|
|
490
|
+
public constructor(init: SetContextInit) {
|
|
491
|
+
super({
|
|
492
|
+
...init,
|
|
493
|
+
action: "set",
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
/**
|
|
499
|
+
* `GetContext` ăŽĺćĺ¤ă§ăă
|
|
500
|
+
*/
|
|
501
|
+
type GetContextInit = {
|
|
502
|
+
/**
|
|
503
|
+
* 寞蹥ăŽăăźă§ăă
|
|
504
|
+
*/
|
|
505
|
+
readonly key: string;
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
509
|
+
*/
|
|
510
|
+
readonly signal: AbortSignal;
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* 俎垊ăŽćĄäťśă§ăă
|
|
514
|
+
*
|
|
515
|
+
* ççĽćăŻäżŽĺžŠăăžăăă
|
|
516
|
+
*/
|
|
517
|
+
readonly repair?: IGetContext["repair"] | undefined;
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
521
|
+
*
|
|
522
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
523
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
524
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
525
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
526
|
+
*/
|
|
527
|
+
readonly store?: VariablesStore | undefined;
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
531
|
+
*/
|
|
532
|
+
readonly vars?: VariablesInit | undefined;
|
|
533
|
+
};
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* čŞăżĺăĺŚçăŽăłăłăăăšăă§ăă
|
|
537
|
+
*/
|
|
538
|
+
export class GetContext extends KeyedActionContext<"get"> implements IGetContext {
|
|
539
|
+
/**
|
|
540
|
+
* 俎垊ăŽćĄäťśă§ăă
|
|
541
|
+
*/
|
|
542
|
+
public readonly repair: IGetContext["repair"];
|
|
543
|
+
|
|
544
|
+
/**
|
|
545
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
546
|
+
*
|
|
547
|
+
* @param init ĺćĺ¤ă§ăă
|
|
548
|
+
*/
|
|
549
|
+
public constructor(init: GetContextInit) {
|
|
550
|
+
const {
|
|
551
|
+
repair = {
|
|
552
|
+
enabled: false,
|
|
553
|
+
targets: [],
|
|
554
|
+
},
|
|
555
|
+
...superInit
|
|
556
|
+
} = init;
|
|
557
|
+
super({
|
|
558
|
+
...superInit,
|
|
559
|
+
action: "get",
|
|
560
|
+
});
|
|
561
|
+
this.repair = repair;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* `StreamContext` ăŽĺćĺ¤ă§ăă
|
|
567
|
+
*/
|
|
568
|
+
type StreamContextInit = {
|
|
569
|
+
/**
|
|
570
|
+
* 寞蹥ăŽăăźă§ăă
|
|
571
|
+
*/
|
|
572
|
+
readonly key: string;
|
|
573
|
+
|
|
574
|
+
/**
|
|
575
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
576
|
+
*/
|
|
577
|
+
readonly signal: AbortSignal;
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* 俎垊ăŽćĄäťśă§ăă
|
|
581
|
+
*
|
|
582
|
+
* ççĽćăŻäżŽĺžŠăăžăăă
|
|
583
|
+
*/
|
|
584
|
+
readonly repair?: IStreamContext["repair"] | undefined;
|
|
585
|
+
|
|
586
|
+
/**
|
|
587
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
588
|
+
*
|
|
589
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
590
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
591
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
592
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
593
|
+
*/
|
|
594
|
+
readonly store?: VariablesStore | undefined;
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
598
|
+
*/
|
|
599
|
+
readonly vars?: VariablesInit | undefined;
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* ăšăăŞăźă ĺŚçăŽăłăłăăăšăă§ăă
|
|
604
|
+
*/
|
|
605
|
+
export class StreamContext extends KeyedActionContext<"stream"> implements IStreamContext {
|
|
606
|
+
/**
|
|
607
|
+
* 俎垊ăŽćĄäťśă§ăă
|
|
608
|
+
*/
|
|
609
|
+
public readonly repair: IStreamContext["repair"];
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
613
|
+
*
|
|
614
|
+
* @param init ĺćĺ¤ă§ăă
|
|
615
|
+
*/
|
|
616
|
+
public constructor(init: StreamContextInit) {
|
|
617
|
+
const {
|
|
618
|
+
repair = {
|
|
619
|
+
enabled: false,
|
|
620
|
+
targets: [],
|
|
621
|
+
},
|
|
622
|
+
...superInit
|
|
623
|
+
} = init;
|
|
624
|
+
super({
|
|
625
|
+
...superInit,
|
|
626
|
+
action: "stream",
|
|
627
|
+
});
|
|
628
|
+
this.repair = repair;
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* `HasContext` ăŽĺćĺ¤ă§ăă
|
|
634
|
+
*/
|
|
635
|
+
type HasContextInit = {
|
|
636
|
+
/**
|
|
637
|
+
* 寞蹥ăŽăăźă§ăă
|
|
638
|
+
*/
|
|
639
|
+
readonly key: string;
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
643
|
+
*/
|
|
644
|
+
readonly signal: AbortSignal;
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
648
|
+
*
|
|
649
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
650
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
651
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
652
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
653
|
+
*/
|
|
654
|
+
readonly store?: VariablesStore | undefined;
|
|
655
|
+
|
|
656
|
+
/**
|
|
657
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
658
|
+
*/
|
|
659
|
+
readonly vars?: VariablesInit | undefined;
|
|
660
|
+
};
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* ĺĺ¨ç˘şčŞăŽăłăłăăăšăă§ăă
|
|
664
|
+
*/
|
|
665
|
+
export class HasContext extends KeyedActionContext<"has"> implements IHasContext {
|
|
666
|
+
/**
|
|
667
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
668
|
+
*
|
|
669
|
+
* @param init ĺćĺ¤ă§ăă
|
|
670
|
+
*/
|
|
671
|
+
public constructor(init: HasContextInit) {
|
|
672
|
+
super({
|
|
673
|
+
...init,
|
|
674
|
+
action: "has",
|
|
675
|
+
});
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* `DeleteContext` ăŽĺćĺ¤ă§ăă
|
|
681
|
+
*/
|
|
682
|
+
type DeleteContextInit = {
|
|
683
|
+
/**
|
|
684
|
+
* 寞蹥ăŽăăźă§ăă
|
|
685
|
+
*/
|
|
686
|
+
readonly key: string;
|
|
687
|
+
|
|
688
|
+
/**
|
|
689
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
690
|
+
*/
|
|
691
|
+
readonly signal: AbortSignal;
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
695
|
+
*
|
|
696
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
697
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
698
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
699
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
700
|
+
*/
|
|
701
|
+
readonly store?: VariablesStore | undefined;
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
705
|
+
*/
|
|
706
|
+
readonly vars?: VariablesInit | undefined;
|
|
707
|
+
};
|
|
708
|
+
|
|
709
|
+
/**
|
|
710
|
+
* ĺé¤ĺŚçăŽăłăłăăăšăă§ăă
|
|
711
|
+
*/
|
|
712
|
+
export class DeleteContext extends KeyedActionContext<"delete"> implements IDeleteContext {
|
|
713
|
+
/**
|
|
714
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
715
|
+
*
|
|
716
|
+
* @param init ĺćĺ¤ă§ăă
|
|
717
|
+
*/
|
|
718
|
+
public constructor(init: DeleteContextInit) {
|
|
719
|
+
super({
|
|
720
|
+
...init,
|
|
721
|
+
action: "delete",
|
|
722
|
+
});
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
* `ClearContext` ăŽĺćĺ¤ă§ăă
|
|
728
|
+
*/
|
|
729
|
+
type ClearContextInit = {
|
|
730
|
+
/**
|
|
731
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
732
|
+
*/
|
|
733
|
+
readonly signal: AbortSignal;
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
737
|
+
*
|
|
738
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
739
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
740
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
741
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
742
|
+
*/
|
|
743
|
+
readonly store?: VariablesStore | undefined;
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
747
|
+
*/
|
|
748
|
+
readonly vars?: VariablesInit | undefined;
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* ĺ
¨ĺé¤ăŽăłăłăăăšăă§ăă
|
|
753
|
+
*/
|
|
754
|
+
export class ClearContext extends ActionContext<"clear"> implements IClearContext {
|
|
755
|
+
/**
|
|
756
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
757
|
+
*
|
|
758
|
+
* @param init ĺćĺ¤ă§ăă
|
|
759
|
+
*/
|
|
760
|
+
public constructor(init: ClearContextInit) {
|
|
761
|
+
super({
|
|
762
|
+
...init,
|
|
763
|
+
action: "clear",
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
/**
|
|
769
|
+
* `TransformContext` ăŽĺćĺ¤ă§ăă
|
|
770
|
+
*/
|
|
771
|
+
type TransformContextInit<TAction extends ITransformContext["action"], TSource = any> = {
|
|
772
|
+
/**
|
|
773
|
+
* ĺŽčĄăăćä˝ăŽç¨ŽĺĽă§ăă
|
|
774
|
+
*/
|
|
775
|
+
readonly action: TAction;
|
|
776
|
+
|
|
777
|
+
/**
|
|
778
|
+
* 寞蹥ăŽăăźă§ăă
|
|
779
|
+
*/
|
|
780
|
+
readonly key: string;
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
784
|
+
*/
|
|
785
|
+
readonly signal: AbortSignal;
|
|
786
|
+
|
|
787
|
+
/**
|
|
788
|
+
* ĺ¤ćĺăŽĺ¤ă§ăă
|
|
789
|
+
*/
|
|
790
|
+
readonly source: TSource;
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
794
|
+
*
|
|
795
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
796
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
797
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
798
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
799
|
+
*/
|
|
800
|
+
readonly store?: VariablesStore | undefined;
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
804
|
+
*/
|
|
805
|
+
readonly vars?: VariablesInit | undefined;
|
|
806
|
+
};
|
|
807
|
+
|
|
808
|
+
/**
|
|
809
|
+
* ĺ¤ĺ¤ćăŽĺşĺşăłăłăăăšăă§ăă
|
|
810
|
+
*/
|
|
811
|
+
class TransformContext<
|
|
812
|
+
const TAction extends ITransformContext["action"],
|
|
813
|
+
TSource = any,
|
|
814
|
+
TDestination = TSource,
|
|
815
|
+
>
|
|
816
|
+
extends KeyedActionContext<TAction>
|
|
817
|
+
implements ITransformContext<TSource, TDestination>
|
|
818
|
+
{
|
|
819
|
+
/**
|
|
820
|
+
* ĺ¤ćĺăŽĺ¤ă§ăă
|
|
821
|
+
*/
|
|
822
|
+
public readonly source: TSource;
|
|
823
|
+
|
|
824
|
+
/**
|
|
825
|
+
* ĺ¤ćĺžăŽĺ¤ă§ăă
|
|
826
|
+
*
|
|
827
|
+
* ăăăŤăŚă§ă˘ăč¨ĺŽăăžăă
|
|
828
|
+
* ĺĺ¨ăăŞăĺ ´ĺăŻćŞč¨ĺŽă襨ăăžăă
|
|
829
|
+
* `next` ăŽĺŽčĄĺžăŻĺçľăăăčŞăżĺăăŻă§ăăžăăč¨ĺŽăă㨠`MiddlewareDestinationFrozenError` ăćăăžăă
|
|
830
|
+
*/
|
|
831
|
+
public destination?: TDestination;
|
|
832
|
+
|
|
833
|
+
/**
|
|
834
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
835
|
+
*
|
|
836
|
+
* @param init ĺćĺ¤ă§ăă
|
|
837
|
+
*/
|
|
838
|
+
public constructor(init: TransformContextInit<TAction, TSource>) {
|
|
839
|
+
const { source, ...superInit } = init;
|
|
840
|
+
super(superInit);
|
|
841
|
+
this.source = source;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* ăăźăżĺ¤ćăŽĺşĺşăłăłăăăšăă§ăă
|
|
847
|
+
*/
|
|
848
|
+
class TransformDataContext<
|
|
849
|
+
const TAction extends ITransformDataContext["action"],
|
|
850
|
+
TSourceData = any,
|
|
851
|
+
TDestinationData = TSourceData,
|
|
852
|
+
>
|
|
853
|
+
extends TransformContext<TAction, TSourceData, TDestinationData>
|
|
854
|
+
implements ITransformDataContext<TSourceData, TDestinationData> {}
|
|
855
|
+
|
|
856
|
+
/**
|
|
857
|
+
* `EncodeContext` ăŽĺćĺ¤ă§ăă
|
|
858
|
+
*/
|
|
859
|
+
type EncodeContextInit<TRawData = any> = {
|
|
860
|
+
/**
|
|
861
|
+
* 寞蹥ăŽăăźă§ăă
|
|
862
|
+
*/
|
|
863
|
+
readonly key: string;
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
867
|
+
*/
|
|
868
|
+
readonly signal: AbortSignal;
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* ĺ¤ćĺăŽĺ¤ă§ăă
|
|
872
|
+
*/
|
|
873
|
+
readonly source: TRawData;
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
877
|
+
*
|
|
878
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
879
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
880
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
881
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
882
|
+
*/
|
|
883
|
+
readonly store?: VariablesStore | undefined;
|
|
884
|
+
|
|
885
|
+
/**
|
|
886
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
887
|
+
*/
|
|
888
|
+
readonly vars?: VariablesInit | undefined;
|
|
889
|
+
};
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* 珌ĺˇĺăŽăłăłăăăšăă§ăă
|
|
893
|
+
*/
|
|
894
|
+
export class EncodeContext<TRawData = any, TEncodedData = TRawData>
|
|
895
|
+
extends TransformDataContext<"set", TRawData, TEncodedData>
|
|
896
|
+
implements IEncodeContext<TRawData, TEncodedData>
|
|
897
|
+
{
|
|
898
|
+
/**
|
|
899
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
900
|
+
*
|
|
901
|
+
* @param init ĺćĺ¤ă§ăă
|
|
902
|
+
*/
|
|
903
|
+
public constructor(init: EncodeContextInit<TRawData>) {
|
|
904
|
+
super({
|
|
905
|
+
...init,
|
|
906
|
+
action: "set",
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
/**
|
|
912
|
+
* `DecodeContext` ăŽĺćĺ¤ă§ăă
|
|
913
|
+
*/
|
|
914
|
+
type DecodeContextInit<TRawData = any> = {
|
|
915
|
+
/**
|
|
916
|
+
* 寞蹥ăŽăăźă§ăă
|
|
917
|
+
*/
|
|
918
|
+
readonly key: string;
|
|
919
|
+
|
|
920
|
+
/**
|
|
921
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
922
|
+
*/
|
|
923
|
+
readonly signal: AbortSignal;
|
|
924
|
+
|
|
925
|
+
/**
|
|
926
|
+
* ĺ¤ćĺăŽĺ¤ă§ăă
|
|
927
|
+
*/
|
|
928
|
+
readonly source: TRawData;
|
|
929
|
+
|
|
930
|
+
/**
|
|
931
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
932
|
+
*
|
|
933
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
934
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
935
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
936
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
937
|
+
*/
|
|
938
|
+
readonly store?: VariablesStore | undefined;
|
|
939
|
+
|
|
940
|
+
/**
|
|
941
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
942
|
+
*/
|
|
943
|
+
readonly vars?: VariablesInit | undefined;
|
|
944
|
+
};
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* 垊ĺˇăŽăłăłăăăšăă§ăă
|
|
948
|
+
*/
|
|
949
|
+
export class DecodeContext<TRawData = any, TDecodedData = TRawData>
|
|
950
|
+
extends TransformDataContext<"get", TRawData, TDecodedData>
|
|
951
|
+
implements IDecodeContext<TRawData, TDecodedData>
|
|
952
|
+
{
|
|
953
|
+
/**
|
|
954
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
955
|
+
*
|
|
956
|
+
* @param init ĺćĺ¤ă§ăă
|
|
957
|
+
*/
|
|
958
|
+
public constructor(init: DecodeContextInit<TRawData>) {
|
|
959
|
+
super({
|
|
960
|
+
...init,
|
|
961
|
+
action: "get",
|
|
962
|
+
});
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
/**
|
|
967
|
+
* ăšăăŞăźă ĺ¤ćăŽĺşĺşăłăłăăăšăă§ăă
|
|
968
|
+
*/
|
|
969
|
+
class TransformStreamContext<
|
|
970
|
+
TAction extends ITransformStreamContext["action"],
|
|
971
|
+
TSourceChunk = any,
|
|
972
|
+
TDestinationChunk = TSourceChunk,
|
|
973
|
+
>
|
|
974
|
+
extends TransformContext<
|
|
975
|
+
TAction,
|
|
976
|
+
IReadableStream<TSourceChunk>,
|
|
977
|
+
IReadableStream<TDestinationChunk>
|
|
978
|
+
>
|
|
979
|
+
implements ITransformStreamContext<TSourceChunk, TDestinationChunk> {}
|
|
980
|
+
|
|
981
|
+
/**
|
|
982
|
+
* `EncodeStreamContext` ăŽĺćĺ¤ă§ăă
|
|
983
|
+
*/
|
|
984
|
+
type EncodeStreamContextInit<TRawChunk = any> = {
|
|
985
|
+
/**
|
|
986
|
+
* 寞蹥ăŽăăźă§ăă
|
|
987
|
+
*/
|
|
988
|
+
readonly key: string;
|
|
989
|
+
|
|
990
|
+
/**
|
|
991
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
992
|
+
*/
|
|
993
|
+
readonly signal: AbortSignal;
|
|
994
|
+
|
|
995
|
+
/**
|
|
996
|
+
* ĺ¤ćĺăŽăšăăŞăźă ă§ăă
|
|
997
|
+
*/
|
|
998
|
+
readonly source: IReadableStream<TRawChunk>;
|
|
999
|
+
|
|
1000
|
+
/**
|
|
1001
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
1002
|
+
*
|
|
1003
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
1004
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
1005
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
1006
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
1007
|
+
*/
|
|
1008
|
+
readonly store?: VariablesStore | undefined;
|
|
1009
|
+
|
|
1010
|
+
/**
|
|
1011
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
1012
|
+
*/
|
|
1013
|
+
readonly vars?: VariablesInit | undefined;
|
|
1014
|
+
};
|
|
1015
|
+
|
|
1016
|
+
/**
|
|
1017
|
+
* ăšăăŞăźă 珌ĺˇĺăŽăłăłăăăšăă§ăă
|
|
1018
|
+
*/
|
|
1019
|
+
export class EncodeStreamContext<TRawChunk = any, TEncodedChunk = TRawChunk>
|
|
1020
|
+
extends TransformStreamContext<"set", TRawChunk, TEncodedChunk>
|
|
1021
|
+
implements IEncodeStreamContext<TRawChunk, TEncodedChunk>
|
|
1022
|
+
{
|
|
1023
|
+
/**
|
|
1024
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
1025
|
+
*
|
|
1026
|
+
* @param init ĺćĺ¤ă§ăă
|
|
1027
|
+
*/
|
|
1028
|
+
public constructor(init: EncodeStreamContextInit<TRawChunk>) {
|
|
1029
|
+
super({
|
|
1030
|
+
...init,
|
|
1031
|
+
action: "set",
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/**
|
|
1037
|
+
* `DecodeStreamContext` ăŽĺćĺ¤ă§ăă
|
|
1038
|
+
*/
|
|
1039
|
+
type DecodeStreamContextInit<TRawChunk = any> = {
|
|
1040
|
+
/**
|
|
1041
|
+
* 寞蹥ăŽăăźă§ăă
|
|
1042
|
+
*/
|
|
1043
|
+
readonly key: string;
|
|
1044
|
+
|
|
1045
|
+
/**
|
|
1046
|
+
* ä¸ćăçĽăăăăˇă°ăăŤă§ăă
|
|
1047
|
+
*/
|
|
1048
|
+
readonly signal: AbortSignal;
|
|
1049
|
+
|
|
1050
|
+
/**
|
|
1051
|
+
* ĺ¤ćĺăŽăšăăŞăźă ă§ăă
|
|
1052
|
+
*/
|
|
1053
|
+
readonly source: IReadableStream<TRawChunk>;
|
|
1054
|
+
|
|
1055
|
+
/**
|
|
1056
|
+
* ĺ
ąćăăĺ¤ć°ăšăă˘ă§ăă
|
|
1057
|
+
*
|
|
1058
|
+
* ćĺŽăăă¨ă㯠`vars` ăč¤ĺăăăăšăă˘ăŽĺç
§ăĺ
ąćăăžăă
|
|
1059
|
+
* ä¸ćľăŽ `set` ăŻä¸ćľăŽ `get` ăŤčŚăăžăă
|
|
1060
|
+
* ăŞăăŞăłĺŽčĄăŽăăšăă§ä˝żç¨ăăžăă
|
|
1061
|
+
* ççĽćăŻçŹçŤăăăšăă˘ăä˝ćăăžăă
|
|
1062
|
+
*/
|
|
1063
|
+
readonly store?: VariablesStore | undefined;
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* ĺŽčĄćĺ¤ć°ăŽĺćĺ¤ă§ăă
|
|
1067
|
+
*/
|
|
1068
|
+
readonly vars?: VariablesInit | undefined;
|
|
1069
|
+
};
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* ăšăăŞăźă 垊ĺˇăŽăłăłăăăšăă§ăă
|
|
1073
|
+
*/
|
|
1074
|
+
export class DecodeStreamContext<TRawChunk = any, TDecodedChunk = TRawChunk>
|
|
1075
|
+
extends TransformStreamContext<"stream", TRawChunk, TDecodedChunk>
|
|
1076
|
+
implements IDecodeStreamContext<TRawChunk, TDecodedChunk>
|
|
1077
|
+
{
|
|
1078
|
+
/**
|
|
1079
|
+
* ăłăłăăăšăăä˝ćăăžăă
|
|
1080
|
+
*
|
|
1081
|
+
* @param init ĺćĺ¤ă§ăă
|
|
1082
|
+
*/
|
|
1083
|
+
public constructor(init: DecodeStreamContextInit<TRawChunk>) {
|
|
1084
|
+
super({
|
|
1085
|
+
...init,
|
|
1086
|
+
action: "stream",
|
|
1087
|
+
});
|
|
1088
|
+
}
|
|
1089
|
+
}
|