@webda/core 2.2.0 → 2.3.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.
Files changed (80) hide show
  1. package/lib/application.d.ts +51 -9
  2. package/lib/application.js +18 -1
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +4 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +31 -5
  7. package/lib/core.js +62 -2
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +49 -1
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +1 -0
  12. package/lib/index.js +1 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +1 -1
  15. package/lib/models/aclmodel.spec.js +10 -10
  16. package/lib/models/aclmodel.spec.js.map +1 -1
  17. package/lib/models/coremodel.d.ts +79 -24
  18. package/lib/models/coremodel.js +96 -17
  19. package/lib/models/coremodel.js.map +1 -1
  20. package/lib/models/coremodel.spec.js +32 -2
  21. package/lib/models/coremodel.spec.js.map +1 -1
  22. package/lib/models/user.d.ts +3 -3
  23. package/lib/models/user.js.map +1 -1
  24. package/lib/models/user.spec.js +1 -0
  25. package/lib/models/user.spec.js.map +1 -1
  26. package/lib/router.d.ts +1 -1
  27. package/lib/services/authentication.d.ts +1 -1
  28. package/lib/services/binary.d.ts +2 -2
  29. package/lib/services/cloudbinary.spec.js +1 -0
  30. package/lib/services/cloudbinary.spec.js.map +1 -1
  31. package/lib/services/configuration.d.ts +1 -1
  32. package/lib/services/oauth.d.ts +1 -1
  33. package/lib/services/service.d.ts +3 -3
  34. package/lib/stores/aliasstore.d.ts +107 -0
  35. package/lib/stores/aliasstore.js +152 -0
  36. package/lib/stores/aliasstore.js.map +1 -0
  37. package/lib/stores/aliasstore.spec.d.ts +11 -0
  38. package/lib/stores/aliasstore.spec.js +87 -0
  39. package/lib/stores/aliasstore.spec.js.map +1 -0
  40. package/lib/stores/file.spec.js +11 -113
  41. package/lib/stores/file.spec.js.map +1 -1
  42. package/lib/stores/mapper.d.ts +1 -1
  43. package/lib/stores/mapper.js +1 -1
  44. package/lib/stores/mapper.js.map +1 -1
  45. package/lib/stores/memory.spec.js +2 -0
  46. package/lib/stores/memory.spec.js.map +1 -1
  47. package/lib/stores/store.d.ts +58 -5
  48. package/lib/stores/store.js +85 -3
  49. package/lib/stores/store.js.map +1 -1
  50. package/lib/stores/store.spec.d.ts +2 -0
  51. package/lib/stores/store.spec.js +117 -0
  52. package/lib/stores/store.spec.js.map +1 -1
  53. package/lib/stores/webdaql/WebdaQLLexer.js +5 -5
  54. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  55. package/lib/stores/webdaql/WebdaQLParserLexer.js +5 -5
  56. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  57. package/lib/stores/webdaql/WebdaQLParserParser.js +4 -4
  58. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  59. package/lib/stores/webdaql/query.d.ts +16 -1
  60. package/lib/stores/webdaql/query.js +50 -1
  61. package/lib/stores/webdaql/query.js.map +1 -1
  62. package/lib/stores/webdaql/query.spec.js +20 -0
  63. package/lib/stores/webdaql/query.spec.js.map +1 -1
  64. package/lib/utils/context.d.ts +2 -2
  65. package/lib/utils/context.js +22 -22
  66. package/lib/utils/context.js.map +1 -1
  67. package/lib/utils/cookie.js +1 -1
  68. package/lib/utils/cookie.js.map +1 -1
  69. package/lib/utils/cookie.spec.js +5 -189
  70. package/lib/utils/cookie.spec.js.map +1 -1
  71. package/lib/utils/httpcontext.d.ts +2 -2
  72. package/lib/utils/throttler.d.ts +82 -0
  73. package/lib/utils/throttler.js +136 -0
  74. package/lib/utils/throttler.js.map +1 -0
  75. package/lib/utils/throttler.spec.d.ts +1 -0
  76. package/lib/utils/throttler.spec.js +47 -0
  77. package/lib/utils/throttler.spec.js.map +1 -0
  78. package/lib/utils/waiter.d.ts +2 -2
  79. package/package.json +3 -3
  80. package/webda.module.json +56 -2
@@ -193,7 +193,7 @@ export class OperationContext extends EventEmitter {
193
193
  /**
194
194
  * Write data to the client
195
195
  *
196
- * @param output If it is an object it will be serializeb with toPublicJSON, if it is a String it will be appended to the result, if it is a buffer it will replace the result
196
+ * @param output If it is an object it will be serialized with toPublicJSON, if it is a String it will be appended to the result, if it is a buffer it will replace the result
197
197
  * @param ...args any arguments to pass to the toPublicJSON method
198
198
  */
199
199
  write(output, _encoding, _cb) {
@@ -291,27 +291,6 @@ export class SimpleOperationContext extends OperationContext {
291
291
  * @deprecated use WebContext instead - will be removed in 3.0
292
292
  */
293
293
  export class Context extends OperationContext {
294
- /**
295
- * @ignore
296
- * Used by Webda framework to set the body, session and output stream if known
297
- */
298
- constructor(webda, httpContext, stream = undefined) {
299
- super(webda, stream);
300
- this._ended = undefined;
301
- this.parameters = undefined;
302
- this._pathParams = {};
303
- this._serviceParams = {};
304
- this.setHttpContext(httpContext);
305
- this._outputHeaders = new Map();
306
- this.headersFlushed = false;
307
- this.statusCode = 204;
308
- this.parameters = {};
309
- this.headers = new Map();
310
- this.processParameters();
311
- if (httpContext) {
312
- this.session = this.newSession();
313
- }
314
- }
315
294
  /**
316
295
  * Set current http context
317
296
  * @param httpContext current http context
@@ -638,6 +617,27 @@ export class Context extends OperationContext {
638
617
  setFlushedHeaders(status = true) {
639
618
  this.headersFlushed = status;
640
619
  }
620
+ /**
621
+ * @ignore
622
+ * Used by Webda framework to set the body, session and output stream if known
623
+ */
624
+ constructor(webda, httpContext, stream = undefined) {
625
+ super(webda, stream);
626
+ this._ended = undefined;
627
+ this.parameters = undefined;
628
+ this._pathParams = {};
629
+ this._serviceParams = {};
630
+ this.setHttpContext(httpContext);
631
+ this._outputHeaders = new Map();
632
+ this.headersFlushed = false;
633
+ this.statusCode = 204;
634
+ this.parameters = {};
635
+ this.headers = new Map();
636
+ this.processParameters();
637
+ if (httpContext) {
638
+ this.session = this.newSession();
639
+ }
640
+ }
641
641
  async init() {
642
642
  this._stream.on("pipe", () => {
643
643
  this._webda.flushHeaders(this);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export class CookieOptions {
22
22
  this.name ?? (this.name = "webda");
23
23
  if (httpContext) {
24
24
  this.domain ?? (this.domain = httpContext.getHostName());
25
- this.httpOnly ?? (this.httpOnly = httpContext.getProtocol() === "https:");
25
+ this.secure ?? (this.secure = httpContext.getProtocol() === "https:");
26
26
  }
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { suite, test } from "@testdeck/mocha";
8
8
  import * as assert from "assert";
9
9
  import { serialize as cookieSerialize } from "cookie";
10
- import { Context, SecureCookie } from "../index.js";
10
+ import { Context, CookieOptions, SecureCookie } from "../index.js";
11
11
  import { WebdaTest } from "../test.js";
12
12
  import { SimpleOperationContext } from "./context.js";
13
13
  import { HttpContext } from "./httpcontext.js";
@@ -19,194 +19,6 @@ let CookieTest = class CookieTest extends WebdaTest {
19
19
  this._ctx = await this.webda.newContext(new HttpContext("test.webda.io", "GET", "/"));
20
20
  this.webda.updateContextWithRoute(this._ctx);
21
21
  }
22
- /*
23
- @test("No changes") testNoChanges() {
24
- var cookie = new SecureCookie(
25
- "test",
26
- {
27
- secretOrPublicKey: SECRET
28
- },
29
- this._ctx,
30
- {
31
- title: "TITLE",
32
- desc: "DESCRIPTION"
33
- }
34
- ).getProxy();
35
- assert.strictEqual(cookie["title"], "TITLE");
36
- assert.strictEqual(cookie["desc"], "DESCRIPTION");
37
- assert.strictEqual(cookie.needSave(), false);
38
- }
39
-
40
- @test("Add a value") testAddValue() {
41
- var cookie = new SecureCookie(
42
- "test",
43
- {
44
- secretOrPublicKey: SECRET
45
- },
46
- this._ctx,
47
- {
48
- title: "TITLE",
49
- desc: "DESCRIPTION"
50
- }
51
- ).getProxy();
52
- cookie.test = "PLOP";
53
- assert.strictEqual(cookie["title"], "TITLE");
54
- assert.strictEqual(cookie["desc"], "DESCRIPTION");
55
- assert.strictEqual(cookie["test"], "PLOP");
56
- assert.strictEqual(cookie.needSave(), true);
57
- }
58
-
59
- @test("Change a value") testChangeValue() {
60
- var cookie = new SecureCookie(
61
- "test",
62
- {
63
- secretOrPublicKey: SECRET
64
- },
65
- this._ctx,
66
- {
67
- title: "TITLE",
68
- desc: "DESCRIPTION"
69
- }
70
- ).getProxy();
71
- cookie.title = "TITLE2";
72
- assert.strictEqual(cookie["title"], "TITLE2");
73
- assert.strictEqual(cookie["desc"], "DESCRIPTION");
74
- assert.strictEqual(cookie.needSave(), true);
75
- }
76
-
77
- @test("Delete a value") testDeleteValue() {
78
- var cookie = new SecureCookie(
79
- "test",
80
- {
81
- secretOrPublicKey: SECRET
82
- },
83
- this._ctx,
84
- {
85
- title: "TITLE",
86
- desc: "DESCRIPTION"
87
- }
88
- ).getProxy();
89
- cookie["title"] = undefined;
90
- assert.strictEqual(cookie["title"], undefined);
91
- assert.strictEqual(cookie["desc"], "DESCRIPTION");
92
- assert.strictEqual(cookie.needSave(), true);
93
- }
94
-
95
- @test("Empty cookie") testEmptyCookie() {
96
- var cookie = new SecureCookie(
97
- "test",
98
- {
99
- secretOrPublicKey: SECRET
100
- },
101
- this._ctx,
102
- {}
103
- );
104
- assert.strictEqual(cookie.needSave(), false);
105
- }
106
-
107
- @test("session cookie") sessionCookie() {
108
- var cookie = new SessionCookie(this._ctx);
109
- assert.strictEqual(cookie.isLogged(), false);
110
- cookie.login("plop", "");
111
- assert.strictEqual(cookie.isLogged(), true);
112
- }
113
-
114
- @test("Cookie parameters") async testCookieParameters() {
115
- var cookie = new SecureCookie(
116
- "test",
117
- {
118
- secretOrPublicKey: SECRET
119
- },
120
- this._ctx,
121
- {}
122
- ).getProxy();
123
- cookie["title"] = "plop";
124
- assert.strictEqual(cookie.needSave(), true);
125
- await cookie.save(this._ctx);
126
- assert.deepStrictEqual(this._ctx.getResponseCookies()["test"].options, {
127
- path: "/",
128
- domain: "test.webda.io",
129
- httpOnly: true,
130
- secure: false,
131
- maxAge: 604800,
132
- sameSite: "None"
133
- });
134
- cookie["title"] = "plop2";
135
- assert.strictEqual(cookie.needSave(), true);
136
- // @ts-ignore
137
- this._ctx.parameters.cookie = {
138
- maxAge: 3600
139
- };
140
- await cookie.save(this._ctx);
141
- assert.deepStrictEqual(this._ctx.getResponseCookies()["test"].options, {
142
- path: "/",
143
- domain: "test.webda.io",
144
- httpOnly: true,
145
- secure: false,
146
- maxAge: 3600,
147
- sameSite: "Lax"
148
- });
149
- }
150
-
151
- @test("bad cookie")
152
- testBad() {
153
- this._ctx.getHttpContext().cookies = {
154
- testor: "badCookie"
155
- };
156
- let stub = sinon.stub(this._ctx, "log").callsFake(() => {});
157
- try {
158
- new SecureCookie(
159
- "testor",
160
- {
161
- secretOrPublicKey: "plop".repeat(64)
162
- },
163
- this._ctx
164
- );
165
- assert.strictEqual(stub.getCall(0).args[0], "WARN");
166
- assert.ok(stub.getCall(0).args[1].match(/Ignoring bad cookie/));
167
- } finally {
168
- stub.restore();
169
- }
170
- }
171
-
172
- @test("Normal enc/dec") async testEncryption() {
173
- var cookie = new SecureCookie(
174
- "test",
175
- {
176
- secretOrPublicKey: SECRET
177
- },
178
- this._ctx,
179
- {
180
- title: "TITLE",
181
- desc: "DESCRIPTION"
182
- }
183
- ).getProxy();
184
- assert.strictEqual(cookie["title"], "TITLE");
185
- assert.strictEqual(cookie["desc"], "DESCRIPTION");
186
- // Force encryption
187
- // @ts-ignore
188
- cookie.changed = true;
189
- await cookie.save(this._ctx);
190
- let cookies = this._ctx.getResponseCookies();
191
- let httpContext = this._ctx.getHttpContext();
192
- httpContext.cookies = httpContext.cookies || {};
193
- for (let i in cookies) {
194
- httpContext.cookies[i] = cookies[i].value;
195
- }
196
- var cookie2 = new SecureCookie(
197
- "test",
198
- {
199
- secretOrPublicKey: SECRET
200
- },
201
- this._ctx
202
- );
203
- assert.strictEqual(cookie.title, cookie2.title);
204
- assert.strictEqual(cookie2.needSave(), false);
205
- assert.strictEqual(cookie.desc, cookie2.desc);
206
- }
207
-
208
-
209
- */
210
22
  async testBadSecret() {
211
23
  let ctx = await this.newContext();
212
24
  ctx.getHttpContext().cookies = {};
@@ -218,6 +30,10 @@ let CookieTest = class CookieTest extends WebdaTest {
218
30
  let session = await SecureCookie.load("test", new Context(this.webda, undefined, undefined), undefined);
219
31
  assert.strictEqual(Object.keys(session).length, 0);
220
32
  assert.strictEqual(await new SimpleOperationContext(this.webda).setInput(Buffer.from("plop")).getRawInputAsString(), "plop");
33
+ let ctx = await this.newContext();
34
+ assert.ok(!new CookieOptions({}, ctx.getHttpContext()).secure);
35
+ ctx.getHttpContext().protocol = "https:";
36
+ assert.ok(new CookieOptions({}, ctx.getHttpContext()).secure);
221
37
  }
222
38
  async testOversize() {
223
39
  var cookie = new Session().getProxy();
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.spec.js","sourceRoot":"","sources":["../../src/utils/cookie.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cookie.spec.js","sourceRoot":"","sources":["../../src/utils/cookie.spec.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  /// <reference types="node" />
5
5
  import { IncomingHttpHeaders } from "http";
6
6
  import { Readable } from "stream";
7
- export declare type HttpMethodType = "GET" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE";
8
- declare type HeadersRequest = IncomingHttpHeaders & {
7
+ export type HttpMethodType = "GET" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE";
8
+ type HeadersRequest = IncomingHttpHeaders & {
9
9
  [headerName: `x-${string}`]: string;
10
10
  };
11
11
  /**
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Represent an item within the Throttler
3
+ */
4
+ declare class ThrottlerItem {
5
+ method: () => Promise<any>;
6
+ callbacks: ((res?: any) => void)[];
7
+ name: string;
8
+ /**
9
+ * Once the promise is in progress
10
+ */
11
+ promise?: Promise<any>;
12
+ constructor(method: () => Promise<any>, callbacks: ((res?: any) => void)[], name: string);
13
+ toString(): string;
14
+ }
15
+ /**
16
+ * Promise Throttler
17
+ *
18
+ * Allow you to queue promise and execute them concurrently
19
+ *
20
+ * Several libraries does that
21
+ *
22
+ * The queue method still gives you a simple Promise linked to the resolution
23
+ * of your queued item, so you can still wait for the execution of the specific
24
+ * item
25
+ */
26
+ export declare class Throttler {
27
+ protected concurrency: number;
28
+ /**
29
+ * Current queue
30
+ */
31
+ protected _queue: ThrottlerItem[];
32
+ /**
33
+ * Number of promises in-progress
34
+ */
35
+ current: number;
36
+ /**
37
+ * Resolver for each call to waitForCompletion
38
+ */
39
+ protected _waiters: (() => void)[];
40
+ /**
41
+ *
42
+ * @param concurrency max concurrent promise to execute
43
+ */
44
+ constructor(concurrency?: number);
45
+ /**
46
+ * Queue a new promise
47
+ *
48
+ * @param method executor that return the promise to queue
49
+ * @param name of the task, usefull when calling getInProgress
50
+ * @returns
51
+ */
52
+ queue(method: () => Promise<any>, name?: string): Promise<any>;
53
+ /**
54
+ * Set the concurrency
55
+ * @param concurrency newValue
56
+ *
57
+ * If decreased, it will be in effect only when current promises resolve
58
+ * If increased, it will have immediate effect
59
+ */
60
+ setConcurrency(concurrency: number): void;
61
+ /**
62
+ * Get inprogress items
63
+ * @returns
64
+ */
65
+ getInProgress(): ThrottlerItem[];
66
+ /**
67
+ * Get global queue size
68
+ * @returns
69
+ */
70
+ getSize(): number;
71
+ /**
72
+ * Wait until every promise resolve
73
+ * @returns
74
+ */
75
+ waitForCompletion(): Promise<void>;
76
+ /**
77
+ * Internal manage the promise concurrency
78
+ * @returns
79
+ */
80
+ protected add(): void;
81
+ }
82
+ export {};
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Represent an item within the Throttler
3
+ */
4
+ class ThrottlerItem {
5
+ constructor(method, callbacks, name) {
6
+ this.method = method;
7
+ this.callbacks = callbacks;
8
+ this.name = name;
9
+ }
10
+ toString() {
11
+ return `${this.name}: ${this.promise ? "IN-PROGRESS" : "QUEUED"}`;
12
+ }
13
+ }
14
+ /**
15
+ * Promise Throttler
16
+ *
17
+ * Allow you to queue promise and execute them concurrently
18
+ *
19
+ * Several libraries does that
20
+ *
21
+ * The queue method still gives you a simple Promise linked to the resolution
22
+ * of your queued item, so you can still wait for the execution of the specific
23
+ * item
24
+ */
25
+ export class Throttler {
26
+ /**
27
+ *
28
+ * @param concurrency max concurrent promise to execute
29
+ */
30
+ constructor(concurrency = 10) {
31
+ this.concurrency = concurrency;
32
+ /**
33
+ * Current queue
34
+ */
35
+ this._queue = [];
36
+ /**
37
+ * Number of promises in-progress
38
+ */
39
+ this.current = 0;
40
+ /**
41
+ * Resolver for each call to waitForCompletion
42
+ */
43
+ this._waiters = [];
44
+ }
45
+ /**
46
+ * Queue a new promise
47
+ *
48
+ * @param method executor that return the promise to queue
49
+ * @param name of the task, usefull when calling getInProgress
50
+ * @returns
51
+ */
52
+ queue(method, name = `Promise_${this.getSize()}`) {
53
+ return new Promise((...callbacks) => {
54
+ this._queue.push(new ThrottlerItem(method, callbacks, name));
55
+ this.add();
56
+ });
57
+ }
58
+ /**
59
+ * Set the concurrency
60
+ * @param concurrency newValue
61
+ *
62
+ * If decreased, it will be in effect only when current promises resolve
63
+ * If increased, it will have immediate effect
64
+ */
65
+ setConcurrency(concurrency) {
66
+ let oldValue = this.concurrency;
67
+ this.concurrency = concurrency;
68
+ // Ensure we launch new promise if concurrency has increased
69
+ while (oldValue < this.concurrency) {
70
+ this.add();
71
+ oldValue++;
72
+ }
73
+ }
74
+ /**
75
+ * Get inprogress items
76
+ * @returns
77
+ */
78
+ getInProgress() {
79
+ return this._queue.filter(p => p.promise);
80
+ }
81
+ /**
82
+ * Get global queue size
83
+ * @returns
84
+ */
85
+ getSize() {
86
+ return this._queue.length;
87
+ }
88
+ /**
89
+ * Wait until every promise resolve
90
+ * @returns
91
+ */
92
+ async waitForCompletion() {
93
+ if (this.current === 0) {
94
+ return;
95
+ }
96
+ return new Promise(resolve => {
97
+ this._waiters.push(resolve);
98
+ });
99
+ }
100
+ /**
101
+ * Internal manage the promise concurrency
102
+ * @returns
103
+ */
104
+ add() {
105
+ if (this.current >= this.concurrency) {
106
+ return;
107
+ }
108
+ const next = this._queue.find(p => !p.promise);
109
+ if (!next) {
110
+ if (this.current === 0) {
111
+ // Call all waiters
112
+ this._waiters.forEach(p => p());
113
+ this._waiters = [];
114
+ }
115
+ return;
116
+ }
117
+ this.current++;
118
+ next.promise = next
119
+ .method()
120
+ .then(res => {
121
+ // Call the resolve
122
+ next.callbacks[0](res);
123
+ })
124
+ .catch(err => {
125
+ // Call the reject
126
+ next.callbacks[1](err);
127
+ })
128
+ .finally(() => {
129
+ this.current--;
130
+ // Remove from queue
131
+ this._queue.splice(this._queue.indexOf(next), 1);
132
+ this.add();
133
+ });
134
+ }
135
+ }
136
+ //# sourceMappingURL=throttler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttler.js","sourceRoot":"","sources":["../../src/utils/throttler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,47 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { suite, test } from "@testdeck/mocha";
8
+ import * as assert from "assert";
9
+ import { Throttler } from "./throttler.js";
10
+ let ThrottlerTest = class ThrottlerTest {
11
+ async test() {
12
+ let resolvers = [];
13
+ let t = new Throttler(2);
14
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P1");
15
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P2");
16
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P3");
17
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P4");
18
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P5");
19
+ t.queue(() => new Promise((_, reject) => resolvers.push(reject)), "P6");
20
+ t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P7");
21
+ assert.strictEqual(t.getSize(), 7);
22
+ // @ts-ignore
23
+ resolvers.shift()();
24
+ assert.strictEqual(t.getInProgress().length, 2);
25
+ t.setConcurrency(1);
26
+ // @ts-ignore
27
+ resolvers.shift()();
28
+ await new Promise(resolve => setImmediate(resolve));
29
+ let curs = t.getInProgress();
30
+ assert.strictEqual(curs.length, 1, `Currents ${curs}`);
31
+ t.setConcurrency(3);
32
+ assert.strictEqual(t.getInProgress().length, 3);
33
+ let p = t.waitForCompletion();
34
+ resolvers.forEach(r => r());
35
+ await new Promise(resolve => setImmediate(resolve));
36
+ resolvers.forEach(r => r());
37
+ await p;
38
+ await t.waitForCompletion();
39
+ }
40
+ };
41
+ __decorate([
42
+ test
43
+ ], ThrottlerTest.prototype, "test", null);
44
+ ThrottlerTest = __decorate([
45
+ suite
46
+ ], ThrottlerTest);
47
+ //# sourceMappingURL=throttler.spec.js.map