@entity-access/entity-access 1.0.378 → 1.0.380
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/model/EntitySource.js.map +1 -1
- package/dist/model/IFilterWithParameter.d.ts +5 -5
- package/dist/model/IFilterWithParameter.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/model/EntityQuery.ts +1 -1
- package/src/model/EntitySource.ts +2 -2
- package/src/model/IFilterWithParameter.ts +5 -5
- package/dist/tests/TestConfig.d.ts +0 -6
- package/dist/tests/TestConfig.d.ts.map +0 -1
- package/dist/tests/TestConfig.js +0 -3
- package/dist/tests/TestConfig.js.map +0 -1
- package/dist/tests/db-tests/tests/check-constraint-test.d.ts +0 -3
- package/dist/tests/db-tests/tests/check-constraint-test.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/check-constraint-test.js +0 -25
- package/dist/tests/db-tests/tests/check-constraint-test.js.map +0 -1
- package/dist/tests/db-tests/tests/delete-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/delete-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/delete-items.js +0 -25
- package/dist/tests/db-tests/tests/delete-items.js.map +0 -1
- package/dist/tests/db-tests/tests/filtered-include-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/filtered-include-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/filtered-include-items.js +0 -19
- package/dist/tests/db-tests/tests/filtered-include-items.js.map +0 -1
- package/dist/tests/db-tests/tests/insert-into.d.ts +0 -3
- package/dist/tests/db-tests/tests/insert-into.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/insert-into.js +0 -17
- package/dist/tests/db-tests/tests/insert-into.js.map +0 -1
- package/dist/tests/db-tests/tests/multi-fk-tests.d.ts +0 -3
- package/dist/tests/db-tests/tests/multi-fk-tests.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/multi-fk-tests.js +0 -29
- package/dist/tests/db-tests/tests/multi-fk-tests.js.map +0 -1
- package/dist/tests/db-tests/tests/select-identity.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-identity.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-identity.js +0 -16
- package/dist/tests/db-tests/tests/select-identity.js.map +0 -1
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.js +0 -27
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items-map.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items-map.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items-map.js +0 -28
- package/dist/tests/db-tests/tests/select-items-map.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items-sum.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items-sum.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items-sum.js +0 -46
- package/dist/tests/db-tests/tests/select-items-sum.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items.js +0 -30
- package/dist/tests/db-tests/tests/select-items.js.map +0 -1
- package/dist/tests/db-tests/tests/select-map.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-map.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-map.js +0 -12
- package/dist/tests/db-tests/tests/select-map.js.map +0 -1
- package/dist/tests/db-tests/tests/select-nested.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-nested.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-nested.js +0 -25
- package/dist/tests/db-tests/tests/select-nested.js.map +0 -1
- package/dist/tests/db-tests/tests/select-parent.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-parent.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-parent.js +0 -17
- package/dist/tests/db-tests/tests/select-parent.js.map +0 -1
- package/dist/tests/db-tests/tests/select-related.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-related.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-related.js +0 -20
- package/dist/tests/db-tests/tests/select-related.js.map +0 -1
- package/dist/tests/db-tests/tests/update-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/update-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/update-items.js +0 -31
- package/dist/tests/db-tests/tests/update-items.js.map +0 -1
- package/dist/tests/db-tests/tests/update-select.d.ts +0 -3
- package/dist/tests/db-tests/tests/update-select.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/update-select.js +0 -19
- package/dist/tests/db-tests/tests/update-select.js.map +0 -1
- package/dist/tests/db-tests/tests/upsert-test.d.ts +0 -3
- package/dist/tests/db-tests/tests/upsert-test.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/upsert-test.js +0 -31
- package/dist/tests/db-tests/tests/upsert-test.js.map +0 -1
- package/dist/tests/db-tests/tests/version-history.d.ts +0 -3
- package/dist/tests/db-tests/tests/version-history.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/version-history.js +0 -16
- package/dist/tests/db-tests/tests/version-history.js.map +0 -1
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts +0 -3
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts.map +0 -1
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js +0 -58
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js.map +0 -1
- package/dist/tests/drivers/postgres/connection-test.d.ts +0 -3
- package/dist/tests/drivers/postgres/connection-test.d.ts.map +0 -1
- package/dist/tests/drivers/postgres/connection-test.js +0 -40
- package/dist/tests/drivers/postgres/connection-test.js.map +0 -1
- package/dist/tests/drivers/sql-server/sql-server-test.d.ts +0 -2
- package/dist/tests/drivers/sql-server/sql-server-test.d.ts.map +0 -1
- package/dist/tests/drivers/sql-server/sql-server-test.js +0 -6
- package/dist/tests/drivers/sql-server/sql-server-test.js.map +0 -1
- package/dist/tests/eternity/child-tests.d.ts +0 -3
- package/dist/tests/eternity/child-tests.d.ts.map +0 -1
- package/dist/tests/eternity/child-tests.js +0 -97
- package/dist/tests/eternity/child-tests.js.map +0 -1
- package/dist/tests/eternity/eternity-tests.d.ts +0 -3
- package/dist/tests/eternity/eternity-tests.d.ts.map +0 -1
- package/dist/tests/eternity/eternity-tests.js +0 -85
- package/dist/tests/eternity/eternity-tests.js.map +0 -1
- package/dist/tests/eternity/external-event-tests.d.ts +0 -3
- package/dist/tests/eternity/external-event-tests.d.ts.map +0 -1
- package/dist/tests/eternity/external-event-tests.js +0 -108
- package/dist/tests/eternity/external-event-tests.js.map +0 -1
- package/dist/tests/eternity/throttle-tests.d.ts +0 -3
- package/dist/tests/eternity/throttle-tests.d.ts.map +0 -1
- package/dist/tests/eternity/throttle-tests.js +0 -86
- package/dist/tests/eternity/throttle-tests.js.map +0 -1
- package/dist/tests/expressions/left-joins/child-joins.d.ts +0 -2
- package/dist/tests/expressions/left-joins/child-joins.d.ts.map +0 -1
- package/dist/tests/expressions/left-joins/child-joins.js +0 -114
- package/dist/tests/expressions/left-joins/child-joins.js.map +0 -1
- package/dist/tests/expressions/sanitize/sanitize-test.d.ts +0 -2
- package/dist/tests/expressions/sanitize/sanitize-test.d.ts.map +0 -1
- package/dist/tests/expressions/sanitize/sanitize-test.js +0 -8
- package/dist/tests/expressions/sanitize/sanitize-test.js.map +0 -1
- package/dist/tests/expressions/select/select.d.ts +0 -2
- package/dist/tests/expressions/select/select.d.ts.map +0 -1
- package/dist/tests/expressions/select/select.js +0 -11
- package/dist/tests/expressions/select/select.js.map +0 -1
- package/dist/tests/expressions/self-joins/self-joins.d.ts +0 -2
- package/dist/tests/expressions/self-joins/self-joins.d.ts.map +0 -1
- package/dist/tests/expressions/self-joins/self-joins.js +0 -14
- package/dist/tests/expressions/self-joins/self-joins.js.map +0 -1
- package/dist/tests/expressions/simple/parse-array.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-array.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-array.js +0 -21
- package/dist/tests/expressions/simple/parse-array.js.map +0 -1
- package/dist/tests/expressions/simple/parse-arrow.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-arrow.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-arrow.js +0 -36
- package/dist/tests/expressions/simple/parse-arrow.js.map +0 -1
- package/dist/tests/expressions/simple/parse-complex.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-complex.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-complex.js +0 -11
- package/dist/tests/expressions/simple/parse-complex.js.map +0 -1
- package/dist/tests/expressions/trimInternal.d.ts +0 -3
- package/dist/tests/expressions/trimInternal.d.ts.map +0 -1
- package/dist/tests/expressions/trimInternal.js +0 -24
- package/dist/tests/expressions/trimInternal.js.map +0 -1
- package/dist/tests/model/ShoppingContext.d.ts +0 -140
- package/dist/tests/model/ShoppingContext.d.ts.map +0 -1
- package/dist/tests/model/ShoppingContext.js +0 -440
- package/dist/tests/model/ShoppingContext.js.map +0 -1
- package/dist/tests/model/UseFile.d.ts +0 -8
- package/dist/tests/model/UseFile.d.ts.map +0 -1
- package/dist/tests/model/UseFile.js +0 -25
- package/dist/tests/model/UseFile.js.map +0 -1
- package/dist/tests/model/createContext.d.ts +0 -6
- package/dist/tests/model/createContext.d.ts.map +0 -1
- package/dist/tests/model/createContext.js +0 -327
- package/dist/tests/model/createContext.js.map +0 -1
- package/dist/tests/pool/pool-test.d.ts +0 -2
- package/dist/tests/pool/pool-test.d.ts.map +0 -1
- package/dist/tests/pool/pool-test.js +0 -66
- package/dist/tests/pool/pool-test.js.map +0 -1
- package/dist/tests/query/combine.d.ts +0 -2
- package/dist/tests/query/combine.d.ts.map +0 -1
- package/dist/tests/query/combine.js +0 -20
- package/dist/tests/query/combine.js.map +0 -1
- package/dist/tests/security/ShoppingContextEvents.d.ts +0 -5
- package/dist/tests/security/ShoppingContextEvents.d.ts.map +0 -1
- package/dist/tests/security/ShoppingContextEvents.js +0 -20
- package/dist/tests/security/ShoppingContextEvents.js.map +0 -1
- package/dist/tests/security/events/OrderEvents.d.ts +0 -17
- package/dist/tests/security/events/OrderEvents.d.ts.map +0 -1
- package/dist/tests/security/events/OrderEvents.js +0 -62
- package/dist/tests/security/events/OrderEvents.js.map +0 -1
- package/dist/tests/security/events/ProductEvents.d.ts +0 -23
- package/dist/tests/security/events/ProductEvents.d.ts.map +0 -1
- package/dist/tests/security/events/ProductEvents.js +0 -79
- package/dist/tests/security/events/ProductEvents.js.map +0 -1
- package/dist/tests/security/events/UserEvents.d.ts +0 -10
- package/dist/tests/security/events/UserEvents.d.ts.map +0 -1
- package/dist/tests/security/events/UserEvents.js +0 -26
- package/dist/tests/security/events/UserEvents.js.map +0 -1
- package/dist/tests/security/events/UserFileEvents.d.ts +0 -7
- package/dist/tests/security/events/UserFileEvents.d.ts.map +0 -1
- package/dist/tests/security/events/UserFileEvents.js +0 -7
- package/dist/tests/security/events/UserFileEvents.js.map +0 -1
- package/dist/tests/security/events/UserInfo.d.ts +0 -5
- package/dist/tests/security/events/UserInfo.d.ts.map +0 -1
- package/dist/tests/security/events/UserInfo.js +0 -9
- package/dist/tests/security/events/UserInfo.js.map +0 -1
- package/dist/tests/security/tests/include-items.d.ts +0 -3
- package/dist/tests/security/tests/include-items.d.ts.map +0 -1
- package/dist/tests/security/tests/include-items.js +0 -15
- package/dist/tests/security/tests/include-items.js.map +0 -1
- package/dist/tests/security/tests/place-order.d.ts +0 -3
- package/dist/tests/security/tests/place-order.d.ts.map +0 -1
- package/dist/tests/security/tests/place-order.js +0 -139
- package/dist/tests/security/tests/place-order.js.map +0 -1
- package/dist/tests/security/tests/test-events.d.ts +0 -3
- package/dist/tests/security/tests/test-events.d.ts.map +0 -1
- package/dist/tests/security/tests/test-events.js +0 -54
- package/dist/tests/security/tests/test-events.js.map +0 -1
- package/src/tests/TestConfig.ts +0 -6
- package/src/tests/db-tests/tests/check-constraint-test.ts +0 -32
- package/src/tests/db-tests/tests/delete-items.ts +0 -42
- package/src/tests/db-tests/tests/filtered-include-items.ts +0 -28
- package/src/tests/db-tests/tests/insert-into.ts +0 -24
- package/src/tests/db-tests/tests/multi-fk-tests.ts +0 -37
- package/src/tests/db-tests/tests/select-identity.ts +0 -23
- package/src/tests/db-tests/tests/select-inverse-one-to-one.ts +0 -39
- package/src/tests/db-tests/tests/select-items-map.ts +0 -38
- package/src/tests/db-tests/tests/select-items-sum.ts +0 -60
- package/src/tests/db-tests/tests/select-items.ts +0 -49
- package/src/tests/db-tests/tests/select-map.ts +0 -19
- package/src/tests/db-tests/tests/select-nested.ts +0 -36
- package/src/tests/db-tests/tests/select-parent.ts +0 -25
- package/src/tests/db-tests/tests/select-related.ts +0 -35
- package/src/tests/db-tests/tests/update-items.ts +0 -44
- package/src/tests/db-tests/tests/update-select.ts +0 -28
- package/src/tests/db-tests/tests/upsert-test.ts +0 -48
- package/src/tests/db-tests/tests/version-history.ts +0 -24
- package/src/tests/db-tests/transaction-save-point/transaction-save-point.ts +0 -48
- package/src/tests/drivers/postgres/connection-test.ts +0 -39
- package/src/tests/drivers/sql-server/sql-server-test.ts +0 -9
- package/src/tests/eternity/child-tests.ts +0 -119
- package/src/tests/eternity/eternity-tests.ts +0 -108
- package/src/tests/eternity/external-event-tests.ts +0 -133
- package/src/tests/eternity/throttle-tests.ts +0 -100
- package/src/tests/expressions/left-joins/child-joins.ts +0 -131
- package/src/tests/expressions/sanitize/sanitize-test.ts +0 -17
- package/src/tests/expressions/select/select.ts +0 -21
- package/src/tests/expressions/self-joins/self-joins.ts +0 -23
- package/src/tests/expressions/simple/parse-array.ts +0 -31
- package/src/tests/expressions/simple/parse-arrow.ts +0 -65
- package/src/tests/expressions/simple/parse-complex.ts +0 -20
- package/src/tests/expressions/trimInternal.ts +0 -25
- package/src/tests/model/ShoppingContext.ts +0 -435
- package/src/tests/model/UseFile.ts +0 -24
- package/src/tests/model/createContext.ts +0 -367
- package/src/tests/pool/pool-test.ts +0 -79
- package/src/tests/query/combine.ts +0 -28
- package/src/tests/security/ShoppingContextEvents.ts +0 -23
- package/src/tests/security/events/OrderEvents.ts +0 -72
- package/src/tests/security/events/ProductEvents.ts +0 -102
- package/src/tests/security/events/UserEvents.ts +0 -28
- package/src/tests/security/events/UserFileEvents.ts +0 -11
- package/src/tests/security/events/UserInfo.ts +0 -7
- package/src/tests/security/tests/include-items.ts +0 -20
- package/src/tests/security/tests/place-order.ts +0 -138
- package/src/tests/security/tests/test-events.ts +0 -55
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
-
/* eslint-disable no-console */
|
|
3
|
-
import assert from "assert";
|
|
4
|
-
import Inject, { RegisterSingleton, ServiceProvider } from "../../di/di.js";
|
|
5
|
-
import WorkflowContext from "../../workflows/WorkflowContext.js";
|
|
6
|
-
import Workflow, { Activity } from "../../workflows/Workflow.js";
|
|
7
|
-
import WorkflowClock from "../../workflows/WorkflowClock.js";
|
|
8
|
-
import DateTime from "../../types/DateTime.js";
|
|
9
|
-
import { BaseDriver } from "../../drivers/base/BaseDriver.js";
|
|
10
|
-
import WorkflowStorage from "../../workflows/WorkflowStorage.js";
|
|
11
|
-
import TimeSpan from "../../types/TimeSpan.js";
|
|
12
|
-
class MockClock extends WorkflowClock {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.time = DateTime.now;
|
|
16
|
-
}
|
|
17
|
-
get utcNow() {
|
|
18
|
-
return this.time;
|
|
19
|
-
}
|
|
20
|
-
set utcNow(v) {
|
|
21
|
-
this.time = v;
|
|
22
|
-
}
|
|
23
|
-
add(ts) {
|
|
24
|
-
this.time = this.time.add(ts);
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
let StateLogger = class StateLogger {
|
|
29
|
-
};
|
|
30
|
-
StateLogger = __decorate([
|
|
31
|
-
RegisterSingleton
|
|
32
|
-
], StateLogger);
|
|
33
|
-
class VerifyWorkflow extends Workflow {
|
|
34
|
-
async run() {
|
|
35
|
-
const ts = TimeSpan.fromSeconds(15);
|
|
36
|
-
for (let index = 0; index < 5; index++) {
|
|
37
|
-
const { name, result } = await this.waitForExternalEvent(ts, "verify", "resend");
|
|
38
|
-
switch (name) {
|
|
39
|
-
case "verify":
|
|
40
|
-
await this.log("verify");
|
|
41
|
-
if (result === this.input) {
|
|
42
|
-
return "ok";
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
case "resend":
|
|
46
|
-
// do something...
|
|
47
|
-
await this.delay(TimeSpan.fromSeconds(1));
|
|
48
|
-
await this.log("resend");
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return "failed";
|
|
53
|
-
}
|
|
54
|
-
async log(state, stateLogger) {
|
|
55
|
-
console.log(`${state} logged`);
|
|
56
|
-
stateLogger.state = state;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
__decorate([
|
|
60
|
-
Activity,
|
|
61
|
-
__param(1, Inject),
|
|
62
|
-
__metadata("design:type", Function),
|
|
63
|
-
__metadata("design:paramtypes", [String, StateLogger]),
|
|
64
|
-
__metadata("design:returntype", Promise)
|
|
65
|
-
], VerifyWorkflow.prototype, "log", null);
|
|
66
|
-
export default async function () {
|
|
67
|
-
const mockClock = new MockClock();
|
|
68
|
-
const stateLogger = new StateLogger();
|
|
69
|
-
const scope = new ServiceProvider();
|
|
70
|
-
scope.add(WorkflowClock, mockClock);
|
|
71
|
-
scope.add(BaseDriver, this.driver);
|
|
72
|
-
scope.add(StateLogger, stateLogger);
|
|
73
|
-
const storage = new WorkflowStorage(this.driver, mockClock);
|
|
74
|
-
scope.add(WorkflowStorage, storage);
|
|
75
|
-
const c = new WorkflowContext(storage);
|
|
76
|
-
scope.add(WorkflowContext, c);
|
|
77
|
-
// this is an important step
|
|
78
|
-
c.register(VerifyWorkflow);
|
|
79
|
-
await storage.seed();
|
|
80
|
-
const id = await c.queue(VerifyWorkflow, "a");
|
|
81
|
-
mockClock.add(TimeSpan.fromSeconds(5));
|
|
82
|
-
await c.processQueueOnce();
|
|
83
|
-
let w = await c.get(VerifyWorkflow, id);
|
|
84
|
-
assert.equal("queued", w.state);
|
|
85
|
-
mockClock.add(TimeSpan.fromSeconds(5));
|
|
86
|
-
await c.processQueueOnce();
|
|
87
|
-
w = await c.get(VerifyWorkflow, id);
|
|
88
|
-
assert.equal("queued", w.state);
|
|
89
|
-
await c.raiseEvent(id, { name: "resend" });
|
|
90
|
-
mockClock.add(TimeSpan.fromSeconds(5));
|
|
91
|
-
await c.processQueueOnce();
|
|
92
|
-
assert.equal("resend", stateLogger.state);
|
|
93
|
-
w = await c.get(VerifyWorkflow, id);
|
|
94
|
-
assert.equal("queued", w.state);
|
|
95
|
-
mockClock.add(TimeSpan.fromSeconds(5));
|
|
96
|
-
await c.raiseEvent(id, { name: "verify", result: "a" });
|
|
97
|
-
mockClock.add(TimeSpan.fromSeconds(5));
|
|
98
|
-
await c.processQueueOnce();
|
|
99
|
-
assert.equal("verify", stateLogger.state);
|
|
100
|
-
w = await c.get(VerifyWorkflow, id);
|
|
101
|
-
assert.equal("done", w.state);
|
|
102
|
-
mockClock.add(TimeSpan.fromDays(1));
|
|
103
|
-
await c.processQueueOnce();
|
|
104
|
-
// make sure workflow is deleted...
|
|
105
|
-
w = await c.get(VerifyWorkflow, id);
|
|
106
|
-
assert.equal(null, w);
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=external-event-tests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"external-event-tests.js","sourceRoot":"","sources":["../../../src/tests/eternity/external-event-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttle-tests.d.ts","sourceRoot":"","sources":["../../../src/tests/eternity/throttle-tests.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAoD9C,yBAA+B,IAAI,EAAE,UAAU,iBAyC9C"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
-
import assert from "assert";
|
|
3
|
-
import Inject, { RegisterSingleton, ServiceProvider } from "../../di/di.js";
|
|
4
|
-
import WorkflowContext from "../../workflows/WorkflowContext.js";
|
|
5
|
-
import Workflow, { Activity } from "../../workflows/Workflow.js";
|
|
6
|
-
import WorkflowClock from "../../workflows/WorkflowClock.js";
|
|
7
|
-
import DateTime from "../../types/DateTime.js";
|
|
8
|
-
import { BaseDriver } from "../../drivers/base/BaseDriver.js";
|
|
9
|
-
import WorkflowStorage from "../../workflows/WorkflowStorage.js";
|
|
10
|
-
import TimeSpan from "../../types/TimeSpan.js";
|
|
11
|
-
import sleep from "../../common/sleep.js";
|
|
12
|
-
class MockClock extends WorkflowClock {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.time = DateTime.now;
|
|
16
|
-
}
|
|
17
|
-
get utcNow() {
|
|
18
|
-
return this.time;
|
|
19
|
-
}
|
|
20
|
-
set utcNow(v) {
|
|
21
|
-
this.time = v;
|
|
22
|
-
}
|
|
23
|
-
add(ts) {
|
|
24
|
-
this.time = this.time.add(ts);
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
let Mailer = class Mailer {
|
|
29
|
-
constructor() {
|
|
30
|
-
this.items = [];
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
Mailer = __decorate([
|
|
34
|
-
RegisterSingleton
|
|
35
|
-
], Mailer);
|
|
36
|
-
class SendWorkflow extends Workflow {
|
|
37
|
-
async run() {
|
|
38
|
-
await this.delay(TimeSpan.fromHours(1));
|
|
39
|
-
await this.sendMail("a", "b", "c");
|
|
40
|
-
return "1";
|
|
41
|
-
}
|
|
42
|
-
async sendMail(from, to, message, logger) {
|
|
43
|
-
await sleep(10);
|
|
44
|
-
logger.items.push({ from, to, message });
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
__decorate([
|
|
48
|
-
Activity,
|
|
49
|
-
__param(3, Inject),
|
|
50
|
-
__metadata("design:type", Function),
|
|
51
|
-
__metadata("design:paramtypes", [String, String, String, Mailer]),
|
|
52
|
-
__metadata("design:returntype", Promise)
|
|
53
|
-
], SendWorkflow.prototype, "sendMail", null);
|
|
54
|
-
export default async function () {
|
|
55
|
-
const mockClock = new MockClock();
|
|
56
|
-
const mailer = new Mailer();
|
|
57
|
-
const scope = new ServiceProvider();
|
|
58
|
-
scope.add(WorkflowClock, mockClock);
|
|
59
|
-
scope.add(BaseDriver, this.driver);
|
|
60
|
-
const storage = new WorkflowStorage(this.driver, mockClock);
|
|
61
|
-
scope.add(Mailer, mailer);
|
|
62
|
-
scope.add(WorkflowStorage, storage);
|
|
63
|
-
const c = new WorkflowContext(storage);
|
|
64
|
-
scope.add(WorkflowContext, c);
|
|
65
|
-
// this is an important step
|
|
66
|
-
c.register(SendWorkflow);
|
|
67
|
-
await storage.seed();
|
|
68
|
-
const id = await c.queue(SendWorkflow, "a", {
|
|
69
|
-
throttle: {
|
|
70
|
-
group: "a",
|
|
71
|
-
maxPerSecond: 1 / 15
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
const result = await storage.getWorkflow(id);
|
|
75
|
-
const next = await c.queue(SendWorkflow, "b", {
|
|
76
|
-
throttle: {
|
|
77
|
-
group: "a",
|
|
78
|
-
maxPerSecond: 1 / 15
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
const resultNext = await storage.getWorkflow(next);
|
|
82
|
-
const span = DateTime.from(resultNext.eta).diff(DateTime.from(result.eta));
|
|
83
|
-
assert(span.totalSeconds > 14);
|
|
84
|
-
// throw new Error("Preserve");
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=throttle-tests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttle-tests.js","sourceRoot":"","sources":["../../../src/tests/eternity/throttle-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"child-joins.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/left-joins/child-joins.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAC,OAAO,mBA6Cb"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { ShoppingContext } from "../../model/ShoppingContext.js";
|
|
2
|
-
import { assertSqlMatch } from "../trimInternal.js";
|
|
3
|
-
import PostgreSqlDriver from "../../../drivers/postgres/PostgreSqlDriver.js";
|
|
4
|
-
const sql1 = `SELECT
|
|
5
|
-
p1.product_id,
|
|
6
|
-
p1.name,
|
|
7
|
-
p1.owner_id,
|
|
8
|
-
p1.status,
|
|
9
|
-
p1.product_description
|
|
10
|
-
FROM products AS p1
|
|
11
|
-
WHERE EXISTS (SELECT
|
|
12
|
-
1
|
|
13
|
-
FROM order_items AS o
|
|
14
|
-
WHERE (o.product_id = $1) AND (p1.product_id = o.product_id))`;
|
|
15
|
-
const sql2 = `SELECT
|
|
16
|
-
p1.product_id,
|
|
17
|
-
p1.name,
|
|
18
|
-
p1.owner_id,
|
|
19
|
-
p1.status,
|
|
20
|
-
p1.product_description
|
|
21
|
-
FROM products AS p1
|
|
22
|
-
WHERE EXISTS (SELECT
|
|
23
|
-
1
|
|
24
|
-
FROM order_items AS o
|
|
25
|
-
WHERE (o.product_id = $1) AND (p1.product_id = o.product_id)) AND EXISTS (SELECT
|
|
26
|
-
1
|
|
27
|
-
FROM order_items AS o1
|
|
28
|
-
WHERE (o1.amount > $2) AND (p1.product_id = o1.product_id))`;
|
|
29
|
-
const sql3 = `SELECT
|
|
30
|
-
p1.product_id,
|
|
31
|
-
p1.name,
|
|
32
|
-
p1.owner_id,
|
|
33
|
-
p1.status,
|
|
34
|
-
p1.product_description
|
|
35
|
-
FROM products AS p1
|
|
36
|
-
WHERE EXISTS (SELECT
|
|
37
|
-
1
|
|
38
|
-
FROM order_items AS o
|
|
39
|
-
WHERE (o.product_id = $1) AND (p1.product_id = o.product_id)) AND EXISTS (SELECT
|
|
40
|
-
1
|
|
41
|
-
FROM order_items AS o1
|
|
42
|
-
INNER JOIN orders AS o2 ON o1.order_id = o2.order_id
|
|
43
|
-
WHERE (o2.order_date > $2) AND (p1.product_id = o1.product_id))`;
|
|
44
|
-
const productJoin = `SELECT
|
|
45
|
-
p1.product_id,
|
|
46
|
-
p1.name,
|
|
47
|
-
p1.owner_id,
|
|
48
|
-
p1.status,
|
|
49
|
-
p1.product_description
|
|
50
|
-
FROM products AS p1
|
|
51
|
-
LEFT JOIN users AS u ON p1.owner_id = u.user_id
|
|
52
|
-
WHERE u.date_created > $1`;
|
|
53
|
-
const join2 = `SELECT
|
|
54
|
-
o1.order_item_id,
|
|
55
|
-
o1.order_id,
|
|
56
|
-
o1.product_id,
|
|
57
|
-
o1.price_id,
|
|
58
|
-
o1.amount
|
|
59
|
-
FROM order_items AS o1
|
|
60
|
-
LEFT JOIN products AS p ON o1.product_id = p.product_id
|
|
61
|
-
WHERE (o1.product_id = $1) OR (p.owner_id = $2)`;
|
|
62
|
-
const notExp = `SELECT
|
|
63
|
-
p1.product_id,
|
|
64
|
-
p1.name,
|
|
65
|
-
p1.owner_id,
|
|
66
|
-
p1.status,
|
|
67
|
-
p1.product_description
|
|
68
|
-
FROM products AS p1
|
|
69
|
-
WHERE EXISTS
|
|
70
|
-
(SELECT 1 FROM order_items AS o
|
|
71
|
-
WHERE (o.product_id = $1) AND (p1.product_id = o.product_id)) AND
|
|
72
|
-
NOT (EXISTS (SELECT 1 FROM order_items AS o1
|
|
73
|
-
INNER JOIN orders AS o2 ON o1.order_id = o2.order_id
|
|
74
|
-
WHERE (o2.order_date > $2) AND (p1.product_id = o1.product_id)))
|
|
75
|
-
`;
|
|
76
|
-
export default function () {
|
|
77
|
-
const context = new ShoppingContext(new PostgreSqlDriver({}));
|
|
78
|
-
let query = context.products.where({ productID: 1 }, (p) => (x) => x.orderItems.some((o) => o.productID === p.productID));
|
|
79
|
-
let r = query.toQuery();
|
|
80
|
-
assertSqlMatch(sql1, r.text);
|
|
81
|
-
const old = query;
|
|
82
|
-
query = query.where({ amount: 200 }, (p) => (x) => x.orderItems.some((o) => o.amount > p.amount));
|
|
83
|
-
r = query.toQuery();
|
|
84
|
-
assertSqlMatch(sql2, r.text);
|
|
85
|
-
query = old.where({ date: new Date() }, (p) => (x) => x.orderItems.some((o) => o.order.orderDate > p.date));
|
|
86
|
-
r = query.toQuery();
|
|
87
|
-
assertSqlMatch(sql3, r.text);
|
|
88
|
-
query = context.products.where({ date: new Date() }, (p) => (x) => x.owner.dateCreated > p.date);
|
|
89
|
-
r = query.toQuery();
|
|
90
|
-
assertSqlMatch(productJoin, r.text);
|
|
91
|
-
const q = context.orderItems.where({ o: 1, owner: 1 }, (p) => (x) => x.productID === p.o || x.product.ownerID === p.owner);
|
|
92
|
-
r = q.toQuery();
|
|
93
|
-
assertSqlMatch(join2, r.text);
|
|
94
|
-
query = old.where({ date: new Date() }, (p) => (x) => !x.orderItems.some((o) => o.order.orderDate > p.date));
|
|
95
|
-
r = query.toQuery();
|
|
96
|
-
assertSqlMatch(notExp, r.text);
|
|
97
|
-
query = old.selectView(void 0, (p) => (x) => ({
|
|
98
|
-
productDescription: x.productDescription,
|
|
99
|
-
ownerID: 0,
|
|
100
|
-
}));
|
|
101
|
-
r = query.toQuery();
|
|
102
|
-
assertSqlMatch(`SELECT
|
|
103
|
-
s."product_description",
|
|
104
|
-
s."owner_id"
|
|
105
|
-
FROM (SELECT
|
|
106
|
-
p1."product_description",
|
|
107
|
-
p1."owner_id"
|
|
108
|
-
FROM products AS p1
|
|
109
|
-
WHERE EXISTS (SELECT
|
|
110
|
-
1
|
|
111
|
-
FROM order_items AS o
|
|
112
|
-
WHERE (o.product_id = $1) AND (p1.product_id = o.product_id))) AS s`, r.text);
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=child-joins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"child-joins.js","sourceRoot":"","sources":["../../../../src/tests/expressions/left-joins/child-joins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/sanitize/sanitize-test.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,mBAWb"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import QueryCompiler from "../../../compiler/QueryCompiler.js";
|
|
3
|
-
export default function () {
|
|
4
|
-
const compiler = QueryCompiler.instance;
|
|
5
|
-
const name = "Akash";
|
|
6
|
-
assert.throws(() => compiler.execute({ name }, (p) => (x) => pg_kill(9)));
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=sanitize-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-test.js","sourceRoot":"","sources":["../../../../src/tests/expressions/sanitize/sanitize-test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAI/D,MAAM,CAAC,OAAO;IAEV,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAExC,MAAM,IAAI,GAAG,OAAO,CAAC;IAErB,MAAM,CAAC,MAAM,CAAC,GAAE,EAAE,CACd,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;AAGN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/select/select.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,mBAeb"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import QueryCompiler from "../../../compiler/QueryCompiler.js";
|
|
3
|
-
export default function () {
|
|
4
|
-
const compiler = QueryCompiler.instance;
|
|
5
|
-
const name = "Akash";
|
|
6
|
-
let r = compiler.execute({ name }, (p) => ({ firstName, lastName, emailAddress }) => ({ emailAddress, name: `${firstName} ${lastName}` }));
|
|
7
|
-
assert.strictEqual(`FROM (x1.emailAddress AS emailAddress,CONCAT(x1.firstName,' ',x1.lastName) AS name)`, r.text);
|
|
8
|
-
r = compiler.execute({ name }, (p) => ({ id }) => ({ error: `${id > 0 ? "Error" : ""}` }));
|
|
9
|
-
assert.strictEqual(`FROM (CONCAT((CASE WHEN x1.id > 0 THEN 'Error' ELSE '' END)) AS error)`, r.text);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/tests/expressions/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAI/D,MAAM,CAAC,OAAO;IAGV,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAExC,MAAM,IAAI,GAAG,OAAO,CAAC;IAErB,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAa,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,SAAS,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAEtJ,MAAM,CAAC,WAAW,CAAC,qFAAqF,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAElH,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAE3F,MAAM,CAAC,WAAW,CAAC,wEAAwE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAEzG,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"self-joins.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/self-joins/self-joins.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,mBAeb"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export default function () {
|
|
2
|
-
// const { driver } = this;
|
|
3
|
-
// const context = new ShoppingContext(driver);
|
|
4
|
-
// const c1 = "a";
|
|
5
|
-
// const log = [];
|
|
6
|
-
// let query = context.categories.where({ c1 }, (p) => (x) => x.categoryID === p.c1)
|
|
7
|
-
// .include((x) => x.children)
|
|
8
|
-
// .trace((x) => log.push(x))
|
|
9
|
-
// .first();
|
|
10
|
-
// for (const iterator of log) {
|
|
11
|
-
// console.log(iterator);
|
|
12
|
-
// }
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=self-joins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"self-joins.js","sourceRoot":"","sources":["../../../../src/tests/expressions/self-joins/self-joins.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO;IAEV,2BAA2B;IAE3B,+CAA+C;IAC/C,kBAAkB;IAClB,kBAAkB;IAClB,oFAAoF;IACpF,kCAAkC;IAClC,iCAAiC;IACjC,gBAAgB;IAEhB,gCAAgC;IAChC,6BAA6B;IAC7B,IAAI;AACR,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-array.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-array.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,mBAyBb"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import Sql from "../../../sql/Sql.js";
|
|
3
|
-
import QueryCompiler from "../../../compiler/QueryCompiler.js";
|
|
4
|
-
export default function () {
|
|
5
|
-
const compiler = QueryCompiler.instance;
|
|
6
|
-
const names = ["Akash", "Simmi"];
|
|
7
|
-
let r = compiler.execute({ names }, (p) => (x) => Sql.in(x.firstName, p.names));
|
|
8
|
-
assert.equal("x.firstName IN ($1,$2)", r.text);
|
|
9
|
-
r = compiler.execute({ names }, (p) => (x) => x.firstName in p.names);
|
|
10
|
-
assert.equal("x.firstName IN ($1,$2)", r.text);
|
|
11
|
-
r = compiler.execute({ names }, (p) => (x) => x.firstName in ["a", "b"]);
|
|
12
|
-
assert.equal("x.firstName IN ('a','b')", r.text);
|
|
13
|
-
// r = compiler.execute({ names }, (p) => (x) => Sql.text.likeAny(x.firstName, p.names));
|
|
14
|
-
// r = compiler.execute({ names }, (p) => (x) => Sql.text.likeAny(x.firstName, p.names));
|
|
15
|
-
// assert.equal("((x.firstName like $1) OR (x.firstName like $2))", r.text);
|
|
16
|
-
r = compiler.execute({ names }, (p) => (x) => Sql.text.likeAny(x.firstName, p.names));
|
|
17
|
-
assert.equal("(x.firstName LIKE ANY (ARRAY[$1,$2]))", r.text);
|
|
18
|
-
r = compiler.execute({ names }, (p) => (x) => Sql.text.iLikeAny(x.firstName, p.names));
|
|
19
|
-
assert.equal("(x.firstName iLIKE ANY (ARRAY[$1,$2]))", r.text);
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=parse-array.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-array.js","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-array.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAE/D,MAAM,CAAC,OAAO;IAEV,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/C,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/C,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAEjD,yFAAyF;IAEzF,yFAAyF;IACzF,4EAA4E;IAE5E,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9D,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvF,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-arrow.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,mBA0Db"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import Sql from "../../../sql/Sql.js";
|
|
3
|
-
import QueryCompiler from "../../../compiler/QueryCompiler.js";
|
|
4
|
-
export default function () {
|
|
5
|
-
const compiler = QueryCompiler.instance;
|
|
6
|
-
const name = "Akash";
|
|
7
|
-
let r = compiler.execute({ name }, (p) => (x) => x.firstName === p.name);
|
|
8
|
-
assert.equal(`x.firstName = $1`, r.text);
|
|
9
|
-
r = compiler.execute({ name }, (p) => (x) => x.firstName === p.name && x.lastName !== p.name);
|
|
10
|
-
assert.equal(`(x.firstName = $1) AND (x.lastName <> $2)`, r.text);
|
|
11
|
-
r = compiler.execute({ name }, (p) => (x) => (x.firstName === p.name || x.middleName === p.name) && x.lastName !== p.name);
|
|
12
|
-
assert.equal(`((x.firstName = $1) OR (x.middleName = $2)) AND (x.lastName <> $3)`, r.text);
|
|
13
|
-
r = compiler.execute({ name }, (p) => (x) => x.lastName !== p.name || (x.firstName === p.name || x.middleName === p.name));
|
|
14
|
-
assert.equal(`(x.lastName <> $1) OR ((x.firstName = $2) OR (x.middleName = $3))`, r.text);
|
|
15
|
-
const sqlServerCompiler = new QueryCompiler({});
|
|
16
|
-
r = sqlServerCompiler.execute({ name }, (p) => (x) => x.firstName === p.name && x.lastName !== p.name);
|
|
17
|
-
assert.equal(`(x.firstName = $1) AND (x.lastName <> $2)`, r.text);
|
|
18
|
-
r = compiler.execute({ name }, (p) => (x) => (x.firstName ?? x.lastName) === p.name);
|
|
19
|
-
assert.equal(`COALESCE(x.firstName, x.lastName) = $1`, r.text);
|
|
20
|
-
r = compiler.execute({ name }, (p) => (x) => Sql.text.like(x.firstName, p.name));
|
|
21
|
-
assert.equal(`(x.firstName LIKE $1)`, r.text);
|
|
22
|
-
r = compiler.execute({ days: 1 }, (p) => (x) => Sql.date.addDays(x.birthDate, p.days));
|
|
23
|
-
assert.equal(`(x.birthDate + ($1 * interval '1 day'))`, r.text);
|
|
24
|
-
r = compiler.execute({ name }, (p) => (x) => Sql.text.startsWith(x.firstName, p.name));
|
|
25
|
-
assert.equal(`starts_with(x.firstName, $1)`, r.text);
|
|
26
|
-
assert.equal("Akash", r.values[0]);
|
|
27
|
-
const code = "1235";
|
|
28
|
-
const key = 13434;
|
|
29
|
-
r = compiler.execute({ name, code, key }, (p) => (x) => x.code === Sql.cast.asNumber(p.code) && x.key === Sql.cast.asText(p.key));
|
|
30
|
-
assert.equal(`(x.code = ($1 ::numeric)) AND (x.key = ($2 ::text))`, r.text);
|
|
31
|
-
r = compiler.execute({}, (p) => (x) => `a`);
|
|
32
|
-
assert.equal(`'a'`, r.text);
|
|
33
|
-
r = compiler.execute({}, (p) => (x) => `${x.firstName} ${x.lastName}`);
|
|
34
|
-
assert.equal(`CONCAT(x.firstName,' ',x.lastName)`, r.text);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=parse-arrow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-arrow.js","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-arrow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-complex.d.ts","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-complex.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,mBAab"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import QueryCompiler from "../../../compiler/QueryCompiler.js";
|
|
3
|
-
export default function () {
|
|
4
|
-
const compiler = QueryCompiler.instance;
|
|
5
|
-
const name = "Akash";
|
|
6
|
-
let r = compiler.execute({ name }, (p) => (x) => x.id ? 1 : -1);
|
|
7
|
-
assert.equal("(CASE WHEN x.id THEN 1 ELSE -1 END)", r.text);
|
|
8
|
-
r = compiler.execute({ name }, (p) => (x) => x.id ? 1 : -(5 * 1));
|
|
9
|
-
assert.equal("(CASE WHEN x.id THEN 1 ELSE (-5 * 1) END)", r.text);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=parse-complex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-complex.js","sourceRoot":"","sources":["../../../../src/tests/expressions/simple/parse-complex.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAE/D,MAAM,CAAC,OAAO;IAEV,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAExC,MAAM,IAAI,GAAG,OAAO,CAAC;IAErB,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAE5D,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAGtE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trimInternal.d.ts","sourceRoot":"","sources":["../../../src/tests/expressions/trimInternal.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,SAAU,MAAM,WAgBxC,CAAC;AAEF,eAAO,MAAM,cAAc,aAAc,MAAM,UAAU,MAAM,SAI9D,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
export const trimInternal = (text) => {
|
|
3
|
-
let r = "";
|
|
4
|
-
for (const iterator of text) {
|
|
5
|
-
switch (iterator) {
|
|
6
|
-
case "\n":
|
|
7
|
-
case "\t":
|
|
8
|
-
case "\r":
|
|
9
|
-
case " ":
|
|
10
|
-
if (!r.endsWith(" ")) {
|
|
11
|
-
r += " ";
|
|
12
|
-
}
|
|
13
|
-
continue;
|
|
14
|
-
}
|
|
15
|
-
r += iterator;
|
|
16
|
-
}
|
|
17
|
-
return r.trim();
|
|
18
|
-
};
|
|
19
|
-
export const assertSqlMatch = (expected, actual) => {
|
|
20
|
-
const expectedTrimmed = trimInternal(expected);
|
|
21
|
-
const actualTrimmed = trimInternal(actual);
|
|
22
|
-
assert.strictEqual(actualTrimmed, expectedTrimmed);
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=trimInternal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trimInternal.js","sourceRoot":"","sources":["../../../src/tests/expressions/trimInternal.ts"],"names":[],"mappings":"AAAA,OAAO,MAA0B,MAAM,QAAQ,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC1B,QAAO,QAAQ,EAAE,CAAC;YACd,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,CAAC,IAAI,GAAG,CAAC;gBACb,CAAC;gBACD,SAAS;QACjB,CAAC;QACD,CAAC,IAAI,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE;IAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC,CAAC"}
|