@wxn0brp/vql 0.1.11 → 0.1.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/dist/falconFrame.d.ts +9 -0
- package/dist/falconFrame.js +18 -0
- package/dist/falconFrame.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/processor.d.ts +4 -2
- package/dist/processor.js +11 -3
- package/dist/processor.js.map +1 -1
- package/package.json +11 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type VQLProcessor } from "./processor.js";
|
|
2
|
+
import type { FalconFrame, FFRequest } from "@wxn0brp/falcon-frame";
|
|
3
|
+
type ContextFn = (req: FFRequest) => Promise<any> | any;
|
|
4
|
+
interface FF_VQL_Options {
|
|
5
|
+
path?: string;
|
|
6
|
+
getUser?: ContextFn;
|
|
7
|
+
}
|
|
8
|
+
export declare function FF_VQL(app: FalconFrame, processor: VQLProcessor, options?: FF_VQL_Options): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function FF_VQL(app, processor, options = {}) {
|
|
2
|
+
const path = options.path || "/VQL";
|
|
3
|
+
const getContext = options.getUser || (() => ({}));
|
|
4
|
+
app.post(path, async (req, res) => {
|
|
5
|
+
try {
|
|
6
|
+
const ctx = await getContext(req);
|
|
7
|
+
const result = await processor.execute(req.body.query, ctx);
|
|
8
|
+
if (result && result.err)
|
|
9
|
+
return result;
|
|
10
|
+
return { err: false, result };
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
res.status(500);
|
|
14
|
+
return { err: true, msg: e.message };
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=falconFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"falconFrame.js","sourceRoot":"","sources":["../src/falconFrame.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,MAAM,CAAC,GAAgB,EAAE,SAAuB,EAAE,UAA0B,EAAE;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnD,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5D,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG;gBAAE,OAAO,MAAM,CAAC;YACxC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { VQLProcessor } from "./processor.js";
|
|
|
2
2
|
import { VQLConfig } from "./config.js";
|
|
3
3
|
import { createValtheraAdapter } from "./apiAbstract.js";
|
|
4
4
|
import logger from "./logger.js";
|
|
5
|
-
import { LogLevel } from "@wxn0brp/
|
|
5
|
+
import { LogLevel } from "@wxn0brp/lucerna-log";
|
|
6
6
|
export default VQLProcessor;
|
|
7
7
|
export { createValtheraAdapter, VQLConfig, logger as VQLLogger, LogLevel as VQLLogLevel };
|
|
8
8
|
export * as VQLSheet from "./sheet/load.js";
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { VQLProcessor } from "./processor.js";
|
|
|
2
2
|
import { VQLConfig } from "./config.js";
|
|
3
3
|
import { createValtheraAdapter } from "./apiAbstract.js";
|
|
4
4
|
import logger from "./logger.js";
|
|
5
|
-
import { LogLevel } from "@wxn0brp/
|
|
5
|
+
import { LogLevel } from "@wxn0brp/lucerna-log";
|
|
6
6
|
export default VQLProcessor;
|
|
7
7
|
export { createValtheraAdapter, VQLConfig, logger as VQLLogger, LogLevel as VQLLogLevel };
|
|
8
8
|
export * as VQLSheet from "./sheet/load.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,eAAe,YAAY,CAAC;AAC5B,OAAO,EACH,qBAAqB,EACrB,SAAS,EACT,MAAM,IAAI,SAAS,EACnB,QAAQ,IAAI,WAAW,EAC1B,CAAA;AACD,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAC"}
|
package/dist/logger.d.ts
CHANGED
package/dist/logger.js
CHANGED
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
package/dist/processor.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Relation, ValtheraCompatible } from "@wxn0brp/db";
|
|
2
2
|
import { GateWarden } from "@wxn0brp/gate-warden";
|
|
3
|
-
import { VQL, VQLR } from "./types/vql.js";
|
|
3
|
+
import { VQL, VQLR, VQLRef } from "./types/vql.js";
|
|
4
4
|
export declare class VQLProcessor<GW = any> {
|
|
5
5
|
dbInstances: Record<string, ValtheraCompatible>;
|
|
6
6
|
gw: GateWarden<GW>;
|
|
7
7
|
relation: Relation;
|
|
8
8
|
preDefinedSheets: Map<string, VQL>;
|
|
9
9
|
constructor(dbInstances: Record<string, ValtheraCompatible>, gw?: GateWarden<GW>);
|
|
10
|
-
execute(queryRaw: VQLR | string
|
|
10
|
+
execute(queryRaw: VQLR | string | {
|
|
11
|
+
query: string;
|
|
12
|
+
} & VQLRef, user: any): Promise<any>;
|
|
11
13
|
}
|
package/dist/processor.js
CHANGED
|
@@ -16,17 +16,25 @@ export class VQLProcessor {
|
|
|
16
16
|
this.relation = new Relation(dbInstances);
|
|
17
17
|
}
|
|
18
18
|
async execute(queryRaw, user) {
|
|
19
|
-
if (typeof queryRaw === "string") {
|
|
19
|
+
if (typeof queryRaw === "string" || "query" in queryRaw) {
|
|
20
20
|
logger.info("Incoming string query");
|
|
21
|
-
|
|
21
|
+
const q = typeof queryRaw === "string" ? queryRaw : queryRaw.query;
|
|
22
|
+
const vars = typeof queryRaw === "string" ? null : queryRaw.var;
|
|
23
|
+
const ref = typeof queryRaw === "string" ? null : queryRaw.ref;
|
|
24
|
+
logger.debug(q);
|
|
22
25
|
try {
|
|
23
|
-
queryRaw = parseStringQuery(
|
|
26
|
+
queryRaw = parseStringQuery(q);
|
|
24
27
|
logger.debug("transformed query: ", queryRaw);
|
|
25
28
|
}
|
|
26
29
|
catch (e) {
|
|
27
30
|
logger.error("Error parsing string query: ", { error: e, msg: e.message });
|
|
28
31
|
return { err: true, msg: "Invalid query", c: 400, why: `String query parsing error: ${e.message}` };
|
|
29
32
|
}
|
|
33
|
+
if (vars)
|
|
34
|
+
queryRaw = { ...queryRaw, var: vars };
|
|
35
|
+
if (ref)
|
|
36
|
+
queryRaw = { ...queryRaw, ref };
|
|
37
|
+
logger.debug("Final string query: ", queryRaw);
|
|
30
38
|
}
|
|
31
39
|
else {
|
|
32
40
|
logger.info("Incoming object query");
|
package/dist/processor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAO,YAAY;IAKV;IACA;IALJ,QAAQ,CAAW;IACnB,gBAAgB,GAAqB,IAAI,GAAG,EAAE,CAAC;IAEtD,YACW,WAA+C,EAC/C,KAAqB,IAAI;QADzB,gBAAW,GAAX,WAAW,CAAoC;QAC/C,OAAE,GAAF,EAAE,CAAuB;QAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wxn0brp/vql",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"author": "wxn0brP",
|
|
6
6
|
"license": "MIT",
|
|
@@ -14,8 +14,17 @@
|
|
|
14
14
|
"files": [
|
|
15
15
|
"dist"
|
|
16
16
|
],
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"@wxn0brp/falcon-frame": ">=0.0.1"
|
|
19
|
+
},
|
|
20
|
+
"peerDependenciesMeta": {
|
|
21
|
+
"@wxn0brp/falcon-frame": {
|
|
22
|
+
"optional": true
|
|
23
|
+
}
|
|
24
|
+
},
|
|
17
25
|
"devDependencies": {
|
|
18
26
|
"@types/node": "^22.15.17",
|
|
27
|
+
"@wxn0brp/falcon-frame": ">=0.0.1",
|
|
19
28
|
"dotenv": "^16.5.0",
|
|
20
29
|
"source-map-support": "^0.5.21",
|
|
21
30
|
"tsc-alias": "^1.8.10",
|
|
@@ -25,8 +34,8 @@
|
|
|
25
34
|
"dependencies": {
|
|
26
35
|
"@wxn0brp/db": "^0.7.5",
|
|
27
36
|
"@wxn0brp/gate-warden": "^0.1.0",
|
|
37
|
+
"@wxn0brp/lucerna-log": "^0.1.1",
|
|
28
38
|
"@wxn0brp/wts-deep-merge": "github:wxn0brp/ts-shared#dist-deep-merge",
|
|
29
|
-
"@wxn0brp/wts-logger": "github:wxn0brp/ts-shared#dist-logger",
|
|
30
39
|
"ajv": "^8.17.1",
|
|
31
40
|
"ajv-formats": "^3.0.1",
|
|
32
41
|
"js-yaml": "^4.1.0",
|