@kensio/yulin 0.15.0 → 0.17.0
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/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +1 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +2 -2
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +2 -2
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +3 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +7 -3
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +1 -0
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/create-table/create-table.handler.js +2 -2
- package/dist/service/dynamodb/command/create-table/create-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts +3 -0
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js +7 -3
- package/dist/service/dynamodb/command/describe-table/describe-table.handler.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts +3 -0
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.d.ts.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +7 -3
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
- package/dist/service/dynamodb/sim-dynamodb.js +8 -2
- package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +3 -0
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +9 -5
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +7 -3
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +4 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +7 -3
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +4 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +7 -3
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +3 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +7 -3
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +3 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +7 -3
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +3 -0
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +22 -5
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/background/background.d.ts +47 -2
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +71 -4
- package/dist/util/background/background.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,60 @@
|
|
|
1
1
|
export type BackgroundTask = () => Promise<void>;
|
|
2
2
|
export interface BackgroundScheduler {
|
|
3
|
+
/**
|
|
4
|
+
* Wait at a simulator sequencing point.
|
|
5
|
+
*
|
|
6
|
+
* The default implementation is deterministic and simply yields to the
|
|
7
|
+
* microtask queue. Non-deterministic implementations may delay by a random
|
|
8
|
+
* amount to simulate operations completing out of sequence.
|
|
9
|
+
*/
|
|
10
|
+
sequence(): Promise<void>;
|
|
3
11
|
schedule(task: BackgroundTask): void;
|
|
4
12
|
}
|
|
5
13
|
export interface BackgroundCompleter {
|
|
6
14
|
complete(): Promise<void>;
|
|
7
15
|
}
|
|
8
16
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
17
|
+
* Deterministic async background tasks scheduler.
|
|
18
|
+
*
|
|
19
|
+
* Tasks still run asynchronously, outside the current call stack, but dispatch in
|
|
20
|
+
* the order they were scheduled.
|
|
11
21
|
*/
|
|
12
22
|
export declare class BackgroundTasks implements BackgroundScheduler, BackgroundCompleter {
|
|
13
23
|
private readonly pending;
|
|
24
|
+
/**
|
|
25
|
+
* Wait at a deterministic sequencing point.
|
|
26
|
+
*/
|
|
27
|
+
sequence(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Schedule a task to happen asynchronously in the background.
|
|
30
|
+
*/
|
|
31
|
+
schedule(task: BackgroundTask): void;
|
|
32
|
+
/**
|
|
33
|
+
* Wait until all tasks currently scheduled have finished.
|
|
34
|
+
* If tasks schedule more tasks, this will continue draining until idle.
|
|
35
|
+
*/
|
|
36
|
+
complete(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* See how many outstanding background tasks are scheduled.
|
|
39
|
+
*/
|
|
40
|
+
get size(): number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Non-deterministic async background tasks scheduler.
|
|
44
|
+
*
|
|
45
|
+
* Use this when you deliberately want to simulate asynchronous distributed
|
|
46
|
+
* operations completing in a random order.
|
|
47
|
+
*/
|
|
48
|
+
export declare class NonDeterministicBackgroundTasks implements BackgroundScheduler, BackgroundCompleter {
|
|
49
|
+
private readonly pending;
|
|
50
|
+
private readonly maxJitterMs;
|
|
51
|
+
constructor(props?: {
|
|
52
|
+
maxJitterMs?: number;
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Wait at a non-deterministic sequencing point.
|
|
56
|
+
*/
|
|
57
|
+
sequence(): Promise<void>;
|
|
14
58
|
/**
|
|
15
59
|
* Schedule a task to happen asynchronously in the background.
|
|
16
60
|
*/
|
|
@@ -24,5 +68,6 @@ export declare class BackgroundTasks implements BackgroundScheduler, BackgroundC
|
|
|
24
68
|
* See how many outstanding background tasks are scheduled.
|
|
25
69
|
*/
|
|
26
70
|
get size(): number;
|
|
71
|
+
private sleep;
|
|
27
72
|
}
|
|
28
73
|
//# sourceMappingURL=background.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,eACX,YAAW,mBAAmB,EAAE,mBAAmB;IAEnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAsBpC;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;CACF;AAED;;;;;GAKG;AACH,qBAAa,+BACX,YAAW,mBAAmB,EAAE,mBAAmB;IAEnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,KAAK,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAKhD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAoBpC;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;YAEa,KAAK;CAKpB"}
|
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Deterministic async background tasks scheduler.
|
|
3
|
+
*
|
|
4
|
+
* Tasks still run asynchronously, outside the current call stack, but dispatch in
|
|
5
|
+
* the order they were scheduled.
|
|
4
6
|
*/
|
|
5
7
|
export class BackgroundTasks {
|
|
6
8
|
pending = new Set();
|
|
9
|
+
/**
|
|
10
|
+
* Wait at a deterministic sequencing point.
|
|
11
|
+
*/
|
|
12
|
+
sequence() {
|
|
13
|
+
return Promise.resolve();
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* Schedule a task to happen asynchronously in the background.
|
|
9
17
|
*/
|
|
10
18
|
schedule(task) {
|
|
11
19
|
const promise = new Promise((resolve) => {
|
|
12
|
-
setTimeout(resolve,
|
|
20
|
+
setTimeout(resolve, 0);
|
|
13
21
|
})
|
|
14
22
|
.then(task)
|
|
15
23
|
.then(() => {
|
|
16
24
|
//
|
|
17
25
|
}, (error) => {
|
|
18
|
-
// Keep the promise rejected so
|
|
26
|
+
// Keep the promise rejected so complete() can surface failures
|
|
19
27
|
// deterministically.
|
|
20
28
|
throw error;
|
|
21
29
|
})
|
|
@@ -41,4 +49,63 @@ export class BackgroundTasks {
|
|
|
41
49
|
return this.pending.size;
|
|
42
50
|
}
|
|
43
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Non-deterministic async background tasks scheduler.
|
|
54
|
+
*
|
|
55
|
+
* Use this when you deliberately want to simulate asynchronous distributed
|
|
56
|
+
* operations completing in a random order.
|
|
57
|
+
*/
|
|
58
|
+
export class NonDeterministicBackgroundTasks {
|
|
59
|
+
pending = new Set();
|
|
60
|
+
maxJitterMs;
|
|
61
|
+
constructor(props = {}) {
|
|
62
|
+
const { maxJitterMs = 5 } = props;
|
|
63
|
+
this.maxJitterMs = maxJitterMs;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Wait at a non-deterministic sequencing point.
|
|
67
|
+
*/
|
|
68
|
+
async sequence() {
|
|
69
|
+
await this.sleep(Math.random() * this.maxJitterMs);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Schedule a task to happen asynchronously in the background.
|
|
73
|
+
*/
|
|
74
|
+
schedule(task) {
|
|
75
|
+
const promise = this.sequence()
|
|
76
|
+
.then(task)
|
|
77
|
+
.then(() => {
|
|
78
|
+
//
|
|
79
|
+
}, (error) => {
|
|
80
|
+
// Keep the promise rejected so complete() can surface failures
|
|
81
|
+
// deterministically.
|
|
82
|
+
throw error;
|
|
83
|
+
})
|
|
84
|
+
.finally(() => {
|
|
85
|
+
this.pending.delete(promise);
|
|
86
|
+
});
|
|
87
|
+
this.pending.add(promise);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Wait until all tasks currently scheduled have finished.
|
|
91
|
+
* If tasks schedule more tasks, this will continue draining until idle.
|
|
92
|
+
*/
|
|
93
|
+
async complete() {
|
|
94
|
+
while (this.pending.size > 0) {
|
|
95
|
+
// eslint-disable-next-line no-await-in-loop
|
|
96
|
+
await Promise.all(this.pending);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* See how many outstanding background tasks are scheduled.
|
|
101
|
+
*/
|
|
102
|
+
get size() {
|
|
103
|
+
return this.pending.size;
|
|
104
|
+
}
|
|
105
|
+
async sleep(ms = 0) {
|
|
106
|
+
await new Promise((resolve) => {
|
|
107
|
+
setTimeout(resolve, ms);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
44
111
|
//# sourceMappingURL=background.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/util/background/background.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAGT,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEpD;;OAEG;IACH,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC;aACC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,CACH,GAAG,EAAE;YACH,EAAE;QACJ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,+DAA+D;YAC/D,qBAAqB;YACrB,MAAM,KAAK,CAAC;QACd,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,+BAA+B;IAGzB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IACnC,WAAW,CAAS;IAErC,YAAY,QAAkC,EAAE;QAC9C,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;aAC5B,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,CACH,GAAG,EAAE;YACH,EAAE;QACJ,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,+DAA+D;YAC/D,qBAAqB;YACrB,MAAM,KAAK,CAAC;QACd,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;QACxB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|