prostgles-server 4.2.592 → 4.2.594

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 (31) hide show
  1. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.d.ts +15 -0
  2. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.d.ts.map +1 -0
  3. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.js +17 -0
  4. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.js.map +1 -0
  5. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.d.ts +44 -2
  6. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.d.ts.map +1 -1
  7. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.js +11 -2
  8. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.js.map +1 -1
  9. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.spec.js +2 -0
  10. package/dist/DBSchemaBuilder/getServerFunctionReturnTypes.spec.js.map +1 -1
  11. package/dist/DBSchemaBuilder/resolveTypeToStructure.d.ts +1 -1
  12. package/dist/DBSchemaBuilder/resolveTypeToStructure.d.ts.map +1 -1
  13. package/dist/DBSchemaBuilder/resolveTypeToStructure.js +12 -11
  14. package/dist/DBSchemaBuilder/resolveTypeToStructure.js.map +1 -1
  15. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  16. package/dist/PublishParser/PublishParser.js +9 -9
  17. package/dist/PublishParser/PublishParser.js.map +1 -1
  18. package/dist/PublishParser/defineServerFunction.d.ts +15 -3
  19. package/dist/PublishParser/defineServerFunction.d.ts.map +1 -1
  20. package/dist/PublishParser/defineServerFunction.js +17 -0
  21. package/dist/PublishParser/defineServerFunction.js.map +1 -1
  22. package/dist/PublishParser/defineServerFunction.spec.js +19 -0
  23. package/dist/PublishParser/defineServerFunction.spec.js.map +1 -1
  24. package/lib/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.ts +16 -0
  25. package/lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts +33 -5
  26. package/lib/DBSchemaBuilder/getServerFunctionReturnTypes.spec.ts +5 -0
  27. package/lib/DBSchemaBuilder/resolveTypeToStructure.ts +21 -36
  28. package/lib/PublishParser/PublishParser.ts +15 -11
  29. package/lib/PublishParser/defineServerFunction.spec.ts +34 -1
  30. package/lib/PublishParser/defineServerFunction.ts +27 -13
  31. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ import type { FixtureSchema } from "./getServerFunctionReturnTypes.fixture";
2
+ export declare const externalFunctions: {
3
+ readonly externalScalar: {
4
+ input?: {
5
+ value: "string";
6
+ } | undefined;
7
+ description?: string;
8
+ run: (args: import("prostgles-types").JSONB.GetObjectType<{
9
+ value: "string";
10
+ }>, context: import("..").RestrictedFunctionContext<FixtureSchema, import("..").SessionUser>) => import("prostgles-types").MaybePromise<string>;
11
+ } & {
12
+ unrestrictedDbAccess?: undefined;
13
+ } & import("..").ServerFunctionContextMarker<FixtureSchema, import("..").SessionUser>;
14
+ };
15
+ //# sourceMappingURL=getServerFunctionReturnTypes.external.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getServerFunctionReturnTypes.external.fixture.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAI5E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAU5B,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.externalFunctions = void 0;
4
+ const __1 = require("..");
5
+ const defineFixtureFunctions = (0, __1.createFunctionsDefiner)();
6
+ exports.externalFunctions = defineFixtureFunctions({
7
+ externalScalar: (0, __1.defineFunction)({
8
+ input: { value: "string" },
9
+ run: ({ value }, { dbo }) => {
10
+ void dbo.orders.find();
11
+ // @ts-expect-error The schema must reach functions defined in another file.
12
+ void dbo.missingTable;
13
+ return value;
14
+ },
15
+ }),
16
+ });
17
+ //# sourceMappingURL=getServerFunctionReturnTypes.external.fixture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getServerFunctionReturnTypes.external.fixture.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.external.fixture.ts"],"names":[],"mappings":";;;AAAA,0BAA4D;AAG5D,MAAM,sBAAsB,GAAG,IAAA,0BAAsB,GAAiB,CAAC;AAE1D,QAAA,iBAAiB,GAAG,sBAAsB,CAAC;IACtD,cAAc,EAAE,IAAA,kBAAc,EAAC;QAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC1B,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YAC1B,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,4EAA4E;YAC5E,KAAK,GAAG,CAAC,YAAY,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;CACH,CAAC,CAAC"}
@@ -2,7 +2,24 @@ type RecursiveResult = {
2
2
  value: string;
3
3
  next?: RecursiveResult;
4
4
  };
5
- type FixtureSchema = {
5
+ type SampleSchema = {
6
+ name: string;
7
+ path: string;
8
+ } & ({
9
+ type: "sql";
10
+ file: string;
11
+ } | {
12
+ type: "dir";
13
+ workspaceConfig?: {
14
+ workspaces: {
15
+ options?: {
16
+ hideCounts?: boolean;
17
+ tableListEndInfo?: "count" | "size" | "none";
18
+ };
19
+ }[];
20
+ };
21
+ });
22
+ export type FixtureSchema = {
6
23
  orders: {
7
24
  columns: {
8
25
  id: string;
@@ -10,7 +27,7 @@ type FixtureSchema = {
10
27
  };
11
28
  };
12
29
  export declare const stateServerFunctions: {
13
- readonly public: {
30
+ public: {
14
31
  readonly userFilter: {
15
32
  readonly type: "public";
16
33
  };
@@ -22,6 +39,13 @@ export declare const stateServerFunctions: {
22
39
  } & {
23
40
  unrestrictedDbAccess?: undefined;
24
41
  } & import("..").ServerFunctionContextMarker<FixtureSchema, import("..").SessionUser>;
42
+ readonly sampleSchemas: {
43
+ input?: Record<string, import("prostgles-types").JSONB.FieldType> | undefined;
44
+ description?: string;
45
+ run: (args: import("prostgles-types").JSONB.GetObjectType<Record<string, import("prostgles-types").JSONB.FieldType>>, context: import("..").RestrictedFunctionContext<FixtureSchema, import("..").SessionUser>) => import("prostgles-types").MaybePromise<SampleSchema[]>;
46
+ } & {
47
+ unrestrictedDbAccess?: undefined;
48
+ } & import("..").ServerFunctionContextMarker<FixtureSchema, import("..").SessionUser>;
25
49
  readonly scalarResult: {
26
50
  input?: {
27
51
  value: "number";
@@ -35,6 +59,24 @@ export declare const stateServerFunctions: {
35
59
  } & import("..").ServerFunctionContextMarker<FixtureSchema, import("..").SessionUser>;
36
60
  };
37
61
  };
62
+ external: {
63
+ readonly userFilter: {
64
+ readonly type: "public";
65
+ };
66
+ readonly functions: {
67
+ readonly externalScalar: {
68
+ input?: {
69
+ value: "string";
70
+ } | undefined;
71
+ description?: string;
72
+ run: (args: import("prostgles-types").JSONB.GetObjectType<{
73
+ value: "string";
74
+ }>, context: import("..").RestrictedFunctionContext<FixtureSchema, import("..").SessionUser>) => import("prostgles-types").MaybePromise<string>;
75
+ } & {
76
+ unrestrictedDbAccess?: undefined;
77
+ } & import("..").ServerFunctionContextMarker<FixtureSchema, import("..").SessionUser>;
78
+ };
79
+ };
38
80
  };
39
81
  export {};
40
82
  //# sourceMappingURL=getServerFunctionReturnTypes.fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getServerFunctionReturnTypes.fixture.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE;QACN,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KACzB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;CAmB4B,CAAC"}
1
+ {"version":3,"file":"getServerFunctionReturnTypes.fixture.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts"],"names":[],"mappings":"AAGA,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,CACA;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7B;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,eAAe,CAAC,EAAE;QAChB,UAAU,EAAE;YACV,OAAO,CAAC,EAAE;gBACR,UAAU,CAAC,EAAE,OAAO,CAAC;gBACrB,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;aAC9C,CAAC;SACH,EAAE,CAAC;KACL,CAAC;CACH,CACJ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QACN,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KACzB,CAAC;CACH,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhC,CAAC"}
@@ -35,13 +35,18 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.stateServerFunctions = void 0;
37
37
  const __1 = __importStar(require(".."));
38
+ const getServerFunctionReturnTypes_external_fixture_1 = require("./getServerFunctionReturnTypes.external.fixture");
39
+ const defineFixtureFunctionGroup = (0, __1.createFunctionGroupDefiner)();
38
40
  exports.stateServerFunctions = {
39
- public: {
41
+ public: defineFixtureFunctionGroup({
40
42
  userFilter: { type: "public" },
41
43
  functions: {
42
44
  recursiveResult: (0, __1.defineFunction)({
43
45
  run: () => ({ value: "ok" }),
44
46
  }),
47
+ sampleSchemas: (0, __1.defineFunction)({
48
+ run: () => [],
49
+ }),
45
50
  scalarResult: (0, __1.defineFunction)({
46
51
  input: { value: "number" },
47
52
  run: ({ value }, { dbo }) => {
@@ -53,7 +58,11 @@ exports.stateServerFunctions = {
53
58
  },
54
59
  }),
55
60
  },
56
- },
61
+ }),
62
+ external: defineFixtureFunctionGroup({
63
+ userFilter: { type: "public" },
64
+ functions: getServerFunctionReturnTypes_external_fixture_1.externalFunctions,
65
+ }),
57
66
  };
58
67
  void (0, __1.default)({
59
68
  dbConnection: "",
@@ -1 +1 @@
1
- {"version":3,"file":"getServerFunctionReturnTypes.fixture.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA+E;AAalE,QAAA,oBAAoB,GAAG;IAClC,MAAM,EAAE;QACN,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE;YACT,eAAe,EAAE,IAAA,kBAAc,EAAC;gBAC9B,GAAG,EAAE,GAAoB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC9C,CAAC;YACF,YAAY,EAAE,IAAA,kBAAc,EAAC;gBAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC1B,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAC1B,KAAsB,CAAC;oBACvB,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACvB,+EAA+E;oBAC/E,KAAK,GAAG,CAAC,YAAY,CAAC;oBACtB,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC;SACH;KACF;CAC0D,CAAC;AAE9D,KAAK,IAAA,WAAS,EAAgB;IAC5B,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,SAAS,EAAE,4BAAoB;CAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"getServerFunctionReturnTypes.fixture.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAA2E;AAC3E,mHAAoF;AA+BpF,MAAM,0BAA0B,GAAG,IAAA,8BAA0B,GAAiB,CAAC;AAElE,QAAA,oBAAoB,GAAG;IAClC,MAAM,EAAE,0BAA0B,CAAC;QACjC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE;YACT,eAAe,EAAE,IAAA,kBAAc,EAAC;gBAC9B,GAAG,EAAE,GAAoB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC9C,CAAC;YACF,aAAa,EAAE,IAAA,kBAAc,EAAC;gBAC5B,GAAG,EAAE,GAAmB,EAAE,CAAC,EAAE;aAC9B,CAAC;YACF,YAAY,EAAE,IAAA,kBAAc,EAAC;gBAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC1B,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBAC1B,KAAsB,CAAC;oBACvB,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACvB,+EAA+E;oBAC/E,KAAK,GAAG,CAAC,YAAY,CAAC;oBACtB,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC;SACH;KACF,CAAC;IACF,QAAQ,EAAE,0BAA0B,CAAC;QACnC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,iEAAiB;KAC7B,CAAC;CACH,CAAC;AAEF,KAAK,IAAA,WAAS,EAAgB;IAC5B,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,SAAS,EAAE,4BAAoB;CAChC,CAAC,CAAC"}
@@ -12,7 +12,9 @@ void (0, node_test_1.describe)("getServerFunctionReturnTypes", async () => {
12
12
  const fixturePath = (0, node_path_1.resolve)(__dirname, "../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.fixture.ts");
13
13
  const result = (0, getServerFunctionReturnTypes_1.getServerFunctionReturnTypes)(fixturePath);
14
14
  node_assert_1.default.equal(result.get("scalarResult"), "number");
15
+ node_assert_1.default.equal(result.get("externalScalar"), "string");
15
16
  node_assert_1.default.equal(result.get("recursiveResult"), "{ value: string; next?: unknown }");
17
+ node_assert_1.default.equal(result.get("sampleSchemas"), 'Array<(({ name: string; path: string } & { type: "sql"; file: string }) | ({ name: string; path: string } & { type: "dir"; workspaceConfig?: (undefined | { workspaces: Array<{ options?: (undefined | { hideCounts?: (undefined | false | true); tableListEndInfo?: (undefined | "count" | "size" | "none") }) }> }) }))>');
16
18
  });
17
19
  });
18
20
  //# sourceMappingURL=getServerFunctionReturnTypes.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getServerFunctionReturnTypes.spec.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.spec.ts"],"names":[],"mappings":";;;;;AAAA,8DAAiC;AACjC,yCAAoC;AACpC,yCAA2C;AAC3C,iFAA8E;AAG9E,KAAK,IAAA,oBAAQ,EAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,IAAA,gBAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;QACtE,MAAM,WAAW,GAAG,IAAA,mBAAO,EACzB,SAAS,EACT,mEAAmE,CACpE,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,2DAA4B,EAAC,WAAW,CAAC,CAAC;QAEzD,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getServerFunctionReturnTypes.spec.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/getServerFunctionReturnTypes.spec.ts"],"names":[],"mappings":";;;;;AAAA,8DAAiC;AACjC,yCAAoC;AACpC,yCAA2C;AAC3C,iFAA8E;AAG9E,KAAK,IAAA,oBAAQ,EAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;IACvD,MAAM,IAAA,gBAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;QACtE,MAAM,WAAW,GAAG,IAAA,mBAAO,EACzB,SAAS,EACT,mEAAmE,CACpE,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,2DAA4B,EAAC,WAAW,CAAC,CAAC;QAEzD,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrD,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,mCAAmC,CAAC,CAAC;QACjF,qBAAM,CAAC,KAAK,CACV,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAC3B,4TAA4T,CAC7T,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,5 +3,5 @@ import * as ts from "typescript";
3
3
  * Recursively resolve a type to its structural representation
4
4
  * using only built-in/primitive types
5
5
  */
6
- export declare const resolveTypeToStructure: (globalBuiltIns: Set<string>, functionName: string, checker: ts.TypeChecker, type: ts.Type, parentTypes?: ts.Type[], maxDepth?: number) => string;
6
+ export declare const resolveTypeToStructure: (globalBuiltIns: Set<string>, functionName: string, checker: ts.TypeChecker, type: ts.Type, parentTypes?: ts.Type[], maxDepth?: number, depth?: number) => string;
7
7
  //# sourceMappingURL=resolveTypeToStructure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTypeToStructure.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/resolveTypeToStructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,GAAG,CAAC,MAAM,CAAC,EAC3B,cAAc,MAAM,EACpB,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,cAAa,EAAE,CAAC,IAAI,EAAO,EAC3B,iBAAa,KACZ,MA6LF,CAAC"}
1
+ {"version":3,"file":"resolveTypeToStructure.d.ts","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/resolveTypeToStructure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,GAAG,CAAC,MAAM,CAAC,EAC3B,cAAc,MAAM,EACpB,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,cAAa,EAAE,CAAC,IAAI,EAAO,EAC3B,iBAAa,EACb,cAAS,KACR,MA6KF,CAAC"}
@@ -39,14 +39,15 @@ const ts = __importStar(require("typescript"));
39
39
  * Recursively resolve a type to its structural representation
40
40
  * using only built-in/primitive types
41
41
  */
42
- const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, parentTypes = [], maxDepth = 10) => {
43
- const depth = parentTypes.length;
42
+ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, parentTypes = [], maxDepth = 10, depth = 0) => {
44
43
  const getParentNames = () => parentTypes.map((t) => checker.typeToString(t));
45
44
  if (depth > maxDepth) {
46
45
  console.warn(`Max type resolution depth (${maxDepth}) reached for function ${JSON.stringify(functionName)} ReturnType`, getParentNames().join(" -> "));
47
46
  return "unknown";
48
47
  }
49
48
  const nextParentTypes = [...parentTypes, type];
49
+ /** Unions, intersections, and containers track cycles without consuming structural depth. */
50
+ const resolveChild = (childType, isNestedStructure = false) => (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, childType, nextParentTypes, maxDepth, depth + (isNestedStructure ? 1 : 0));
50
51
  if (type.flags & ts.TypeFlags.String)
51
52
  return "string";
52
53
  if (type.flags & ts.TypeFlags.Number)
@@ -81,7 +82,7 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
81
82
  return "unknown";
82
83
  // Handle union types
83
84
  if (type.isUnion()) {
84
- const parts = type.types.map((t) => (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, t, nextParentTypes));
85
+ const parts = type.types.map((t) => resolveChild(t));
85
86
  // Deduplicate
86
87
  const unique = [...new Set(parts)];
87
88
  if (unique.includes("unknown"))
@@ -92,7 +93,7 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
92
93
  }
93
94
  // Handle intersection types
94
95
  if (type.isIntersection()) {
95
- const parts = type.types.map((t) => (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, t, nextParentTypes));
96
+ const parts = type.types.map((t) => resolveChild(t));
96
97
  return `(${parts.join(" & ")})`;
97
98
  }
98
99
  // Handle Promise<T> - unwrap to Promise<ResolvedT>
@@ -113,14 +114,14 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
113
114
  // Handle tuple types
114
115
  if (checker.isTupleType(type)) {
115
116
  const typeArgs = checker.getTypeArguments(type);
116
- const elements = typeArgs.map((t) => (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, t, nextParentTypes));
117
+ const elements = typeArgs.map((t) => resolveChild(t));
117
118
  return `[${elements.join(", ")}]`;
118
119
  }
119
120
  if (typeName && globalBuiltIns.has(typeName)) {
120
121
  // Check for type arguments (e.g., ReadableStream<Uint8Array>)
121
122
  const typeArgs = checker.getTypeArguments(type);
122
123
  if (typeArgs.length > 0) {
123
- const resolvedArgs = typeArgs.map((t) => (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, t, nextParentTypes));
124
+ const resolvedArgs = typeArgs.map((t) => resolveChild(t));
124
125
  return `${typeName}<${resolvedArgs.join(", ")}>`;
125
126
  }
126
127
  return typeName;
@@ -132,11 +133,11 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
132
133
  const sig = callSignatures[0];
133
134
  const params = sig.getParameters().map((param) => {
134
135
  const paramType = checker.getTypeOfSymbolAtLocation(param, param.valueDeclaration);
135
- const paramTypeStr = (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, paramType, nextParentTypes);
136
+ const paramTypeStr = resolveChild(paramType, true);
136
137
  const isOptional = param.flags & ts.SymbolFlags.Optional;
137
138
  return `${param.getName()}${isOptional ? "?" : ""}: ${paramTypeStr}`;
138
139
  });
139
- const returnType = (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, checker.getReturnTypeOfSignature(sig), nextParentTypes);
140
+ const returnType = resolveChild(checker.getReturnTypeOfSignature(sig), true);
140
141
  return `((${params.join(", ")}) => ${returnType})`;
141
142
  }
142
143
  // Handle object types - expand to structural form
@@ -157,7 +158,7 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
157
158
  // get the type directly from the symbol
158
159
  propType = checker.getTypeOfSymbol(prop);
159
160
  }
160
- const propTypeStr = (0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, propType, nextParentTypes);
161
+ const propTypeStr = resolveChild(propType, true);
161
162
  const isOptional = prop.flags & ts.SymbolFlags.Optional;
162
163
  const propName = prop.getName();
163
164
  // Handle property names that need quoting
@@ -169,10 +170,10 @@ const resolveTypeToStructure = (globalBuiltIns, functionName, checker, type, par
169
170
  const stringIndexType = type.getStringIndexType();
170
171
  const numberIndexType = type.getNumberIndexType();
171
172
  if (stringIndexType) {
172
- members.push(`[key: string]: ${(0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, stringIndexType, nextParentTypes)}`);
173
+ members.push(`[key: string]: ${resolveChild(stringIndexType, true)}`);
173
174
  }
174
175
  if (numberIndexType) {
175
- members.push(`[key: number]: ${(0, exports.resolveTypeToStructure)(globalBuiltIns, functionName, checker, numberIndexType, nextParentTypes)}`);
176
+ members.push(`[key: number]: ${resolveChild(numberIndexType, true)}`);
176
177
  }
177
178
  if (members.length === 0) {
178
179
  // Empty object or object with no enumerable properties
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTypeToStructure.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/resolveTypeToStructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveTypeToStructure.js","sourceRoot":"","sources":["../../lib/DBSchemaBuilder/resolveTypeToStructure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIvE,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,aAAa;IACxB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAc1B,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC;IAmBnB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS;IA+D/F;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe/B,2BAA2B,CAC/B,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAClD,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAWrB,kBAAkB,CACtB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAmC3B,mBAAmB,CACjB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,eAAe,EACvC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,eAAe,GAAG,SAAS;IAoD9B,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA+BvC,6BAA6B,0LAA4C;IAGzE,oBAAoB;;;;;OAAmC;CACxD;AAED,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,aAAa;IACxB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAc1B,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC;IAmBnB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS;IA+D/F;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe/B,2BAA2B,CAC/B,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAClD,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAWrB,kBAAkB,CACtB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAmC3B,mBAAmB,CACjB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,eAAe,EACvC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,eAAe,GAAG,SAAS;IAoD9B,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA+BvC,6BAA6B,0LAA4C;IAGzE,oBAAoB;;;;;OAAmC;CACxD;AAED,cAAc,wBAAwB,CAAC"}
@@ -87,22 +87,22 @@ class PublishParser {
87
87
  const runWithContext = async (args) => {
88
88
  const ctx = await (async () => {
89
89
  if (method.unrestrictedDbAccess) {
90
- return {
90
+ const unrestrictedCtx = {
91
91
  ...publishParams,
92
- db: publishParams.dbo,
93
- _db: publishParams.db,
94
92
  user,
95
93
  };
94
+ return unrestrictedCtx;
96
95
  }
97
- const { clientDb, clientSql } = await publishParams.getClientDBHandlers(undefined);
98
- const { db: _db, ...safeParams } = publishParams;
99
- return {
100
- ...safeParams,
101
- db: clientDb,
96
+ const { clientDb } = await publishParams.getClientDBHandlers(undefined);
97
+ const { clientInfo, clientReq, tables } = publishParams;
98
+ const restrictedCtx = {
102
99
  dbo: clientDb,
103
- sql: clientSql,
104
100
  user,
101
+ clientInfo,
102
+ clientReq,
103
+ tables,
105
104
  };
105
+ return restrictedCtx;
106
106
  })();
107
107
  return method.run(args, ctx);
108
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"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"}
@@ -41,9 +41,21 @@ type UsersTableRow<S> = S extends DBSchema ? S extends {
41
41
  };
42
42
  } ? UserRow : AnyObject : AnyObject;
43
43
  type ValidDbSchema<S> = S extends DBSchema ? S : void;
44
- export type ServerFunctionDefinitions<S = void, SUser extends SessionUser = SessionUser> = Record<string, {
44
+ export type ServerFunctionGroupFunctions<S = void, SUser extends SessionUser = SessionUser> = Record<string, ServerFunctionDefinition & ServerFunctionContextMarker<S, SUser>>;
45
+ export type ServerFunctionGroup<S = void, SUser extends SessionUser = SessionUser> = {
45
46
  userFilter: FullFilter<UsersTableRow<S>, ValidDbSchema<S>>;
46
- functions: Record<string, ServerFunctionDefinition & ServerFunctionContextMarker<S, SUser>>;
47
- }>;
47
+ functions: ServerFunctionGroupFunctions<S, SUser>;
48
+ };
49
+ export type ServerFunctionDefinitions<S = void, SUser extends SessionUser = SessionUser> = Record<string, ServerFunctionGroup<S, SUser>>;
50
+ /**
51
+ * Creates a schema-aware identity helper for defining a server function group
52
+ * while preserving its inferred function names and return types.
53
+ */
54
+ export declare const createFunctionGroupDefiner: <S = void, SUser extends SessionUser = SessionUser>() => <const T extends ServerFunctionGroup<S, SUser>>(group: T) => T;
55
+ /**
56
+ * Creates a schema-aware identity helper for function maps that are composed
57
+ * into a server function group elsewhere.
58
+ */
59
+ export declare const createFunctionsDefiner: <S = void, SUser extends SessionUser = SessionUser>() => <const T extends ServerFunctionGroupFunctions<S, SUser>>(functions: T) => T;
48
60
  export {};
49
61
  //# sourceMappingURL=defineServerFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defineServerFunction.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defineServerFunction.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFunctionsDefiner = exports.createFunctionGroupDefiner = void 0;
3
4
  exports.defineFunction = defineFunction;
4
5
  function defineFunction(args) {
5
6
  return args;
6
7
  }
8
+ /**
9
+ * Creates a schema-aware identity helper for defining a server function group
10
+ * while preserving its inferred function names and return types.
11
+ */
12
+ const createFunctionGroupDefiner = () => {
13
+ return (group) => group;
14
+ };
15
+ exports.createFunctionGroupDefiner = createFunctionGroupDefiner;
16
+ /**
17
+ * Creates a schema-aware identity helper for function maps that are composed
18
+ * into a server function group elsewhere.
19
+ */
20
+ const createFunctionsDefiner = () => {
21
+ return (functions) => functions;
22
+ };
23
+ exports.createFunctionsDefiner = createFunctionsDefiner;
7
24
  //# sourceMappingURL=defineServerFunction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defineServerFunction.js","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.ts"],"names":[],"mappings":";;AAwFA,wCAEC;AAFD,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"defineServerFunction.js","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.ts"],"names":[],"mappings":";;;AAqFA,wCAEC;AAFD,SAAgB,cAAc,CAAC,IAAa;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AA0BD;;;GAGG;AACI,MAAM,0BAA0B,GAAG,GAAsD,EAAE;IAChG,OAAO,CAAgD,KAAQ,EAAK,EAAE,CAAC,KAAK,CAAC;AAC/E,CAAC,CAAC;AAFW,QAAA,0BAA0B,8BAErC;AAEF;;;GAGG;AACI,MAAM,sBAAsB,GAAG,GAAsD,EAAE;IAC5F,OAAO,CAAyD,SAAY,EAAK,EAAE,CAAC,SAAS,CAAC;AAChG,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC"}
@@ -22,6 +22,25 @@ void (0, node_test_1.describe)("defineFunction type test", async () => {
22
22
  });
23
23
  //@ts-expect-error run is required
24
24
  (0, defineServerFunction_1.defineFunction)({ description: "invalid" });
25
+ const defineTestFunctions = (0, defineServerFunction_1.createFunctionsDefiner)();
26
+ const functions = defineTestFunctions({
27
+ getItem: (0, defineServerFunction_1.defineFunction)({
28
+ run: (_args, { dbo }) => {
29
+ void dbo.items.find();
30
+ // @ts-expect-error The schema is retained without a satisfies assertion.
31
+ void dbo.missingTable;
32
+ return { id: 1 };
33
+ },
34
+ }),
35
+ });
36
+ const defineTestFunctionGroup = (0, defineServerFunction_1.createFunctionGroupDefiner)();
37
+ const group = defineTestFunctionGroup({
38
+ userFilter: { type: "public" },
39
+ functions,
40
+ });
41
+ group.functions.getItem;
42
+ // @ts-expect-error A group must have a user filter.
43
+ defineTestFunctionGroup({ functions });
25
44
  });
26
45
  });
27
46
  //# sourceMappingURL=defineServerFunction.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defineServerFunction.spec.js","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.spec.ts"],"names":[],"mappings":";;AAAA,yCAA2C;AAC3C,iEAAwD;AAExD,KAAK,IAAA,oBAAQ,EAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,IAAA,gBAAI,EAAC,WAAW,EAAE,GAAG,EAAE;QAC3B,IAAA,qCAAc,EAAC;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE;YACnC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEhB,2DAA2D;gBAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAE3B,kBAAkB;gBAClB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAA,qCAAc,EAAC;YACb,oBAAoB,EAAE,IAAI;YAC1B,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;SACpD,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAA,qCAAc,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"defineServerFunction.spec.js","sourceRoot":"","sources":["../../lib/PublishParser/defineServerFunction.spec.ts"],"names":[],"mappings":";;AAAA,yCAA2C;AAC3C,iEAIgC;AAQhC,KAAK,IAAA,oBAAQ,EAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IACnD,MAAM,IAAA,gBAAI,EAAC,WAAW,EAAE,GAAG,EAAE;QAC3B,IAAA,qCAAc,EAAC;YACb,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE;YACnC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBACrB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEhB,2DAA2D;gBAC3D,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAE3B,kBAAkB;gBAClB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAA,qCAAc,EAAC;YACb,oBAAoB,EAAE,IAAI;YAC1B,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC;SACpD,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAA,qCAAc,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAE3C,MAAM,mBAAmB,GAAG,IAAA,6CAAsB,GAAc,CAAC;QACjE,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,OAAO,EAAE,IAAA,qCAAc,EAAC;gBACtB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;oBACtB,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACtB,yEAAyE;oBACzE,KAAK,GAAG,CAAC,YAAY,CAAC;oBACtB,OAAO,EAAE,EAAE,EAAE,CAAU,EAAE,CAAC;gBAC5B,CAAC;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,IAAA,iDAA0B,GAAc,CAAC;QACzE,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACpC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,SAAS;SACV,CAAC,CAAC;QAEH,KAAK,CAAC,SAAS,CAAC,OAA+C,CAAC;QAEhE,oDAAoD;QACpD,uBAAuB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { defineFunction, createFunctionsDefiner } from "..";
2
+ import type { FixtureSchema } from "./getServerFunctionReturnTypes.fixture";
3
+
4
+ const defineFixtureFunctions = createFunctionsDefiner<FixtureSchema>();
5
+
6
+ export const externalFunctions = defineFixtureFunctions({
7
+ externalScalar: defineFunction({
8
+ input: { value: "string" },
9
+ run: ({ value }, { dbo }) => {
10
+ void dbo.orders.find();
11
+ // @ts-expect-error The schema must reach functions defined in another file.
12
+ void dbo.missingTable;
13
+ return value;
14
+ },
15
+ }),
16
+ });
@@ -1,23 +1,47 @@
1
- import prostgles, { defineFunction, type ServerFunctionDefinitions } from "..";
1
+ import prostgles, { defineFunction, createFunctionGroupDefiner } from "..";
2
+ import { externalFunctions } from "./getServerFunctionReturnTypes.external.fixture";
2
3
 
3
4
  type RecursiveResult = {
4
5
  value: string;
5
6
  next?: RecursiveResult;
6
7
  };
7
8
 
8
- type FixtureSchema = {
9
+ type SampleSchema = {
10
+ name: string;
11
+ path: string;
12
+ } & (
13
+ | { type: "sql"; file: string }
14
+ | {
15
+ type: "dir";
16
+ workspaceConfig?: {
17
+ workspaces: {
18
+ options?: {
19
+ hideCounts?: boolean;
20
+ tableListEndInfo?: "count" | "size" | "none";
21
+ };
22
+ }[];
23
+ };
24
+ }
25
+ );
26
+
27
+ export type FixtureSchema = {
9
28
  orders: {
10
29
  columns: { id: string };
11
30
  };
12
31
  };
13
32
 
33
+ const defineFixtureFunctionGroup = createFunctionGroupDefiner<FixtureSchema>();
34
+
14
35
  export const stateServerFunctions = {
15
- public: {
36
+ public: defineFixtureFunctionGroup({
16
37
  userFilter: { type: "public" },
17
38
  functions: {
18
39
  recursiveResult: defineFunction({
19
40
  run: (): RecursiveResult => ({ value: "ok" }),
20
41
  }),
42
+ sampleSchemas: defineFunction({
43
+ run: (): SampleSchema[] => [],
44
+ }),
21
45
  scalarResult: defineFunction({
22
46
  input: { value: "number" },
23
47
  run: ({ value }, { dbo }) => {
@@ -29,8 +53,12 @@ export const stateServerFunctions = {
29
53
  },
30
54
  }),
31
55
  },
32
- },
33
- } as const satisfies ServerFunctionDefinitions<FixtureSchema>;
56
+ }),
57
+ external: defineFixtureFunctionGroup({
58
+ userFilter: { type: "public" },
59
+ functions: externalFunctions,
60
+ }),
61
+ };
34
62
 
35
63
  void prostgles<FixtureSchema>({
36
64
  dbConnection: "",
@@ -13,6 +13,11 @@ void describe("getServerFunctionReturnTypes", async () => {
13
13
  const result = getServerFunctionReturnTypes(fixturePath);
14
14
 
15
15
  assert.equal(result.get("scalarResult"), "number");
16
+ assert.equal(result.get("externalScalar"), "string");
16
17
  assert.equal(result.get("recursiveResult"), "{ value: string; next?: unknown }");
18
+ assert.equal(
19
+ result.get("sampleSchemas"),
20
+ 'Array<(({ name: string; path: string } & { type: "sql"; file: string }) | ({ name: string; path: string } & { type: "dir"; workspaceConfig?: (undefined | { workspaces: Array<{ options?: (undefined | { hideCounts?: (undefined | false | true); tableListEndInfo?: (undefined | "count" | "size" | "none") }) }> }) }))>',
21
+ );
17
22
  });
18
23
  });
@@ -11,8 +11,8 @@ export const resolveTypeToStructure = (
11
11
  type: ts.Type,
12
12
  parentTypes: ts.Type[] = [],
13
13
  maxDepth = 10,
14
+ depth = 0,
14
15
  ): string => {
15
- const depth = parentTypes.length;
16
16
  const getParentNames = () => parentTypes.map((t) => checker.typeToString(t));
17
17
  if (depth > maxDepth) {
18
18
  console.warn(
@@ -23,6 +23,17 @@ export const resolveTypeToStructure = (
23
23
  }
24
24
 
25
25
  const nextParentTypes = [...parentTypes, type];
26
+ /** Unions, intersections, and containers track cycles without consuming structural depth. */
27
+ const resolveChild = (childType: ts.Type, isNestedStructure = false) =>
28
+ resolveTypeToStructure(
29
+ globalBuiltIns,
30
+ functionName,
31
+ checker,
32
+ childType,
33
+ nextParentTypes,
34
+ maxDepth,
35
+ depth + (isNestedStructure ? 1 : 0),
36
+ );
26
37
 
27
38
  if (type.flags & ts.TypeFlags.String) return "string";
28
39
  if (type.flags & ts.TypeFlags.Number) return "number";
@@ -48,9 +59,7 @@ export const resolveTypeToStructure = (
48
59
 
49
60
  // Handle union types
50
61
  if (type.isUnion()) {
51
- const parts = type.types.map((t) =>
52
- resolveTypeToStructure(globalBuiltIns, functionName, checker, t, nextParentTypes),
53
- );
62
+ const parts = type.types.map((t) => resolveChild(t));
54
63
  // Deduplicate
55
64
  const unique = [...new Set(parts)];
56
65
  if (unique.includes("unknown")) return "unknown";
@@ -60,9 +69,7 @@ export const resolveTypeToStructure = (
60
69
 
61
70
  // Handle intersection types
62
71
  if (type.isIntersection()) {
63
- const parts = type.types.map((t) =>
64
- resolveTypeToStructure(globalBuiltIns, functionName, checker, t, nextParentTypes),
65
- );
72
+ const parts = type.types.map((t) => resolveChild(t));
66
73
  return `(${parts.join(" & ")})`;
67
74
  }
68
75
 
@@ -91,9 +98,7 @@ export const resolveTypeToStructure = (
91
98
  // Handle tuple types
92
99
  if (checker.isTupleType(type)) {
93
100
  const typeArgs = checker.getTypeArguments(type as ts.TypeReference);
94
- const elements = typeArgs.map((t) =>
95
- resolveTypeToStructure(globalBuiltIns, functionName, checker, t, nextParentTypes),
96
- );
101
+ const elements = typeArgs.map((t) => resolveChild(t));
97
102
  return `[${elements.join(", ")}]`;
98
103
  }
99
104
 
@@ -101,9 +106,7 @@ export const resolveTypeToStructure = (
101
106
  // Check for type arguments (e.g., ReadableStream<Uint8Array>)
102
107
  const typeArgs = checker.getTypeArguments(type as ts.TypeReference);
103
108
  if (typeArgs.length > 0) {
104
- const resolvedArgs = typeArgs.map((t) =>
105
- resolveTypeToStructure(globalBuiltIns, functionName, checker, t, nextParentTypes),
106
- );
109
+ const resolvedArgs = typeArgs.map((t) => resolveChild(t));
107
110
  return `${typeName}<${resolvedArgs.join(", ")}>`;
108
111
  }
109
112
  return typeName;
@@ -119,23 +122,11 @@ export const resolveTypeToStructure = (
119
122
  const sig = callSignatures[0]!;
120
123
  const params = sig.getParameters().map((param) => {
121
124
  const paramType = checker.getTypeOfSymbolAtLocation(param, param.valueDeclaration!);
122
- const paramTypeStr = resolveTypeToStructure(
123
- globalBuiltIns,
124
- functionName,
125
- checker,
126
- paramType,
127
- nextParentTypes,
128
- );
125
+ const paramTypeStr = resolveChild(paramType, true);
129
126
  const isOptional = param.flags & ts.SymbolFlags.Optional;
130
127
  return `${param.getName()}${isOptional ? "?" : ""}: ${paramTypeStr}`;
131
128
  });
132
- const returnType = resolveTypeToStructure(
133
- globalBuiltIns,
134
- functionName,
135
- checker,
136
- checker.getReturnTypeOfSignature(sig),
137
- nextParentTypes,
138
- );
129
+ const returnType = resolveChild(checker.getReturnTypeOfSignature(sig), true);
139
130
  return `((${params.join(", ")}) => ${returnType})`;
140
131
  }
141
132
 
@@ -158,13 +149,7 @@ export const resolveTypeToStructure = (
158
149
  propType = checker.getTypeOfSymbol(prop);
159
150
  }
160
151
 
161
- const propTypeStr = resolveTypeToStructure(
162
- globalBuiltIns,
163
- functionName,
164
- checker,
165
- propType,
166
- nextParentTypes,
167
- );
152
+ const propTypeStr = resolveChild(propType, true);
168
153
  const isOptional = prop.flags & ts.SymbolFlags.Optional;
169
154
  const propName = prop.getName();
170
155
 
@@ -181,12 +166,12 @@ export const resolveTypeToStructure = (
181
166
 
182
167
  if (stringIndexType) {
183
168
  members.push(
184
- `[key: string]: ${resolveTypeToStructure(globalBuiltIns, functionName, checker, stringIndexType, nextParentTypes)}`,
169
+ `[key: string]: ${resolveChild(stringIndexType, true)}`,
185
170
  );
186
171
  }
187
172
  if (numberIndexType) {
188
173
  members.push(
189
- `[key: number]: ${resolveTypeToStructure(globalBuiltIns, functionName, checker, numberIndexType, nextParentTypes)}`,
174
+ `[key: number]: ${resolveChild(numberIndexType, true)}`,
190
175
  );
191
176
  }
192
177
 
@@ -6,7 +6,11 @@ import type { DB, DBHandlerServer, Prostgles } from "../Prostgles";
6
6
  import type { ProstglesInitOptions } from "../ProstglesTypes";
7
7
  import { getClientHandlers } from "../WebsocketAPI/getClientHandlers";
8
8
  import { applyScopeToTableRules } from "./applyScopeToTableRules";
9
- import type { ServerFunctionDefinition } from "./defineServerFunction";
9
+ import type {
10
+ RestrictedFunctionContext,
11
+ ServerFunctionDefinition,
12
+ UnrestrictedFunctionContext,
13
+ } from "./defineServerFunction";
10
14
  import { getFileTableRules } from "./getFileTableRules";
11
15
  import { getSchemaFromPublish } from "./getSchemaFromPublish";
12
16
  import { getTableRulesWithoutFileTable } from "./getTableRulesWithoutFileTable";
@@ -102,22 +106,22 @@ export class PublishParser {
102
106
  const runWithContext = async (args: Record<string, unknown> | undefined) => {
103
107
  const ctx = await (async () => {
104
108
  if (method.unrestrictedDbAccess) {
105
- return {
109
+ const unrestrictedCtx: UnrestrictedFunctionContext = {
106
110
  ...publishParams,
107
- db: publishParams.dbo,
108
- _db: publishParams.db,
109
111
  user,
110
112
  };
113
+ return unrestrictedCtx;
111
114
  }
112
- const { clientDb, clientSql } = await publishParams.getClientDBHandlers(undefined);
113
- const { db: _db, ...safeParams } = publishParams;
114
- return {
115
- ...safeParams,
116
- db: clientDb,
117
- dbo: clientDb,
118
- sql: clientSql,
115
+ const { clientDb } = await publishParams.getClientDBHandlers(undefined);
116
+ const { clientInfo, clientReq, tables } = publishParams;
117
+ const restrictedCtx: RestrictedFunctionContext = {
118
+ dbo: clientDb as unknown as DBOFullyTyped<void>,
119
119
  user,
120
+ clientInfo,
121
+ clientReq,
122
+ tables,
120
123
  };
124
+ return restrictedCtx;
121
125
  })();
122
126
 
123
127
  return method.run(args, ctx);
@@ -1,5 +1,15 @@
1
1
  import { describe, test } from "node:test";
2
- import { defineFunction } from "./defineServerFunction";
2
+ import {
3
+ defineFunction,
4
+ createFunctionGroupDefiner,
5
+ createFunctionsDefiner,
6
+ } from "./defineServerFunction";
7
+
8
+ type TestSchema = {
9
+ items: {
10
+ columns: { id: number };
11
+ };
12
+ };
3
13
 
4
14
  void describe("defineFunction type test", async () => {
5
15
  await test("Type test", () => {
@@ -25,5 +35,28 @@ void describe("defineFunction type test", async () => {
25
35
 
26
36
  //@ts-expect-error run is required
27
37
  defineFunction({ description: "invalid" });
38
+
39
+ const defineTestFunctions = createFunctionsDefiner<TestSchema>();
40
+ const functions = defineTestFunctions({
41
+ getItem: defineFunction({
42
+ run: (_args, { dbo }) => {
43
+ void dbo.items.find();
44
+ // @ts-expect-error The schema is retained without a satisfies assertion.
45
+ void dbo.missingTable;
46
+ return { id: 1 as const };
47
+ },
48
+ }),
49
+ });
50
+
51
+ const defineTestFunctionGroup = createFunctionGroupDefiner<TestSchema>();
52
+ const group = defineTestFunctionGroup({
53
+ userFilter: { type: "public" },
54
+ functions,
55
+ });
56
+
57
+ group.functions.getItem satisfies (typeof functions)["getItem"];
58
+
59
+ // @ts-expect-error A group must have a user filter.
60
+ defineTestFunctionGroup({ functions });
28
61
  });
29
62
  });
@@ -48,10 +48,7 @@ export type ServerFunctionDefinition = {
48
48
  };
49
49
 
50
50
  declare const serverFunctionContext: unique symbol;
51
- export type ServerFunctionContextMarker<
52
- S,
53
- SUser extends SessionUser,
54
- > = {
51
+ export type ServerFunctionContextMarker<S, SUser extends SessionUser> = {
55
52
  [serverFunctionContext]?: [S, SUser];
56
53
  };
57
54
 
@@ -99,16 +96,33 @@ type UsersTableRow<S> =
99
96
 
100
97
  type ValidDbSchema<S> = S extends DBSchema ? S : void;
101
98
 
102
- export type ServerFunctionDefinitions<
99
+ export type ServerFunctionGroupFunctions<
103
100
  S = void,
104
101
  SUser extends SessionUser = SessionUser,
105
- > = Record<
102
+ > = Record<string, ServerFunctionDefinition & ServerFunctionContextMarker<S, SUser>>;
103
+
104
+ export type ServerFunctionGroup<S = void, SUser extends SessionUser = SessionUser> = {
105
+ userFilter: FullFilter<UsersTableRow<S>, ValidDbSchema<S>>;
106
+ functions: ServerFunctionGroupFunctions<S, SUser>;
107
+ };
108
+
109
+ export type ServerFunctionDefinitions<S = void, SUser extends SessionUser = SessionUser> = Record<
106
110
  string,
107
- {
108
- userFilter: FullFilter<UsersTableRow<S>, ValidDbSchema<S>>;
109
- functions: Record<
110
- string,
111
- ServerFunctionDefinition & ServerFunctionContextMarker<S, SUser>
112
- >;
113
- }
111
+ ServerFunctionGroup<S, SUser>
114
112
  >;
113
+
114
+ /**
115
+ * Creates a schema-aware identity helper for defining a server function group
116
+ * while preserving its inferred function names and return types.
117
+ */
118
+ export const createFunctionGroupDefiner = <S = void, SUser extends SessionUser = SessionUser>() => {
119
+ return <const T extends ServerFunctionGroup<S, SUser>>(group: T): T => group;
120
+ };
121
+
122
+ /**
123
+ * Creates a schema-aware identity helper for function maps that are composed
124
+ * into a server function group elsewhere.
125
+ */
126
+ export const createFunctionsDefiner = <S = void, SUser extends SessionUser = SessionUser>() => {
127
+ return <const T extends ServerFunctionGroupFunctions<S, SUser>>(functions: T): T => functions;
128
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.592",
3
+ "version": "4.2.594",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",