@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.
@@ -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/wts-logger";
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/wts-logger";
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,qBAAqB,CAAC;AAE/C,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"}
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
@@ -1,3 +1,3 @@
1
- import { Logger } from "@wxn0brp/wts-logger";
1
+ import { Logger } from "@wxn0brp/lucerna-log";
2
2
  declare const logger: Logger;
3
3
  export default logger;
package/dist/logger.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Logger } from "@wxn0brp/wts-logger";
1
+ import { Logger } from "@wxn0brp/lucerna-log";
2
2
  const logger = new Logger({
3
3
  loggerName: "VQL"
4
4
  });
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
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"}
@@ -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, user: any): Promise<any>;
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
- logger.debug(queryRaw);
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(queryRaw);
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");
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
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.11",
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",