@subsquid/openreader 2.1.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/lib/ir/args.d.ts +1 -1
  2. package/lib/ir/args.d.ts.map +1 -1
  3. package/lib/ir/connection.d.ts +3 -4
  4. package/lib/ir/connection.d.ts.map +1 -1
  5. package/lib/ir/connection.js.map +1 -1
  6. package/lib/ir/fields.d.ts +6 -2
  7. package/lib/ir/fields.d.ts.map +1 -1
  8. package/lib/ir/fields.js +15 -0
  9. package/lib/ir/fields.js.map +1 -1
  10. package/lib/limit.size.d.ts +4 -4
  11. package/lib/limit.size.d.ts.map +1 -1
  12. package/lib/limit.size.js +51 -20
  13. package/lib/limit.size.js.map +1 -1
  14. package/lib/main.js +0 -9
  15. package/lib/main.js.map +1 -1
  16. package/lib/model.d.ts +3 -2
  17. package/lib/model.d.ts.map +1 -1
  18. package/lib/model.schema.d.ts +2 -2
  19. package/lib/model.schema.d.ts.map +1 -1
  20. package/lib/model.schema.js +8 -3
  21. package/lib/model.schema.js.map +1 -1
  22. package/lib/model.tools.d.ts +6 -1
  23. package/lib/model.tools.d.ts.map +1 -1
  24. package/lib/model.tools.js +111 -8
  25. package/lib/model.tools.js.map +1 -1
  26. package/lib/opencrud/orderBy.d.ts +2 -2
  27. package/lib/opencrud/orderBy.d.ts.map +1 -1
  28. package/lib/opencrud/orderBy.js +13 -17
  29. package/lib/opencrud/orderBy.js.map +1 -1
  30. package/lib/opencrud/schema.d.ts +4 -4
  31. package/lib/opencrud/schema.d.ts.map +1 -1
  32. package/lib/opencrud/schema.js +56 -62
  33. package/lib/opencrud/schema.js.map +1 -1
  34. package/lib/opencrud/tree.d.ts +9 -7
  35. package/lib/opencrud/tree.d.ts.map +1 -1
  36. package/lib/opencrud/tree.js +32 -14
  37. package/lib/opencrud/tree.js.map +1 -1
  38. package/lib/scalars/BigDecimal.d.ts +3 -0
  39. package/lib/scalars/BigDecimal.d.ts.map +1 -0
  40. package/lib/scalars/BigDecimal.js +38 -0
  41. package/lib/scalars/BigDecimal.js.map +1 -0
  42. package/lib/scalars/index.d.ts +1 -0
  43. package/lib/scalars/index.d.ts.map +1 -1
  44. package/lib/scalars/index.js +2 -0
  45. package/lib/scalars/index.js.map +1 -1
  46. package/lib/server.d.ts +4 -2
  47. package/lib/server.d.ts.map +1 -1
  48. package/lib/server.js +4 -2
  49. package/lib/server.js.map +1 -1
  50. package/lib/sql/cursor.d.ts.map +1 -1
  51. package/lib/sql/cursor.js +4 -2
  52. package/lib/sql/cursor.js.map +1 -1
  53. package/lib/sql/mapping.d.ts +3 -1
  54. package/lib/sql/mapping.d.ts.map +1 -1
  55. package/lib/sql/mapping.js +16 -1
  56. package/lib/sql/mapping.js.map +1 -1
  57. package/lib/sql/printer.d.ts +29 -11
  58. package/lib/sql/printer.d.ts.map +1 -1
  59. package/lib/sql/printer.js +112 -11
  60. package/lib/sql/printer.js.map +1 -1
  61. package/lib/sql/query.d.ts +11 -11
  62. package/lib/sql/query.d.ts.map +1 -1
  63. package/lib/sql/query.js +41 -19
  64. package/lib/sql/query.js.map +1 -1
  65. package/lib/test/queryable.test.d.ts +2 -0
  66. package/lib/test/queryable.test.d.ts.map +1 -0
  67. package/lib/test/queryable.test.js +255 -0
  68. package/lib/test/queryable.test.js.map +1 -0
  69. package/lib/test/scalars.test.js +75 -1
  70. package/lib/test/scalars.test.js.map +1 -1
  71. package/lib/util/big-decimal.d.ts +5 -0
  72. package/lib/util/big-decimal.d.ts.map +1 -0
  73. package/lib/util/big-decimal.js +15 -0
  74. package/lib/util/big-decimal.js.map +1 -0
  75. package/package.json +10 -2
  76. package/src/ir/args.ts +1 -1
  77. package/src/ir/connection.ts +3 -4
  78. package/src/ir/fields.ts +22 -2
  79. package/src/limit.size.ts +55 -30
  80. package/src/main.ts +0 -11
  81. package/src/model.schema.ts +16 -9
  82. package/src/model.tools.ts +121 -8
  83. package/src/model.ts +3 -2
  84. package/src/opencrud/orderBy.ts +13 -17
  85. package/src/opencrud/schema.ts +81 -84
  86. package/src/opencrud/tree.ts +55 -26
  87. package/src/scalars/BigDecimal.ts +37 -0
  88. package/src/scalars/index.ts +2 -0
  89. package/src/server.ts +10 -7
  90. package/src/sql/cursor.ts +4 -2
  91. package/src/sql/mapping.ts +18 -1
  92. package/src/sql/printer.ts +142 -22
  93. package/src/sql/query.ts +50 -30
  94. package/src/test/queryable.test.ts +258 -0
  95. package/src/test/scalars.test.ts +78 -1
  96. package/src/util/big-decimal.ts +15 -0
package/lib/ir/args.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export interface EntityListArguments {
1
+ export interface SqlArguments {
2
2
  offset?: number;
3
3
  limit?: number;
4
4
  orderBy?: OrderBy;
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/ir/args.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,oBAAY,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,CAAA;AAG7H,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,GAAG,QAAQ,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;CACf;AAGD,oBAAY,QAAQ,GAChB,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,UAAU,GAAG,cAAc,GAC3B,qBAAqB,GAAG,yBAAyB,GACjD,YAAY,GAAG,gBAAgB,GAC/B,UAAU,GAAG,cAAc,GAC3B,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,GACd,YAAY,CAAA;AAGhB,oBAAY,OAAO,GAAG,QAAQ,CAAA;AAG9B,MAAM,WAAW,OAAO;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAGD,oBAAY,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/ir/args.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,oBAAY,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,CAAA;AAG7H,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,KAAK,EAAE,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,KAAK,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,IAAI,GAAG,QAAQ,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,EAAE,CAAA;CACpB;AAGD,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,QAAQ,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACjB;AAGD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,OAAO,CAAA;CACf;AAGD,oBAAY,QAAQ,GAChB,IAAI,GACJ,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,UAAU,GAAG,cAAc,GAC3B,qBAAqB,GAAG,yBAAyB,GACjD,YAAY,GAAG,gBAAgB,GAC/B,UAAU,GAAG,cAAc,GAC3B,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,GACd,YAAY,CAAA;AAGhB,oBAAY,OAAO,GAAG,QAAQ,CAAA;AAG9B,MAAM,WAAW,OAAO;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAGD,oBAAY,SAAS,GAAG,KAAK,GAAG,MAAM,CAAA"}
@@ -1,11 +1,10 @@
1
- import { OrderBy, Where } from "./args";
2
- import { FieldRequest } from "./fields";
3
- export interface RelayConnectionRequest {
1
+ import { OrderBy, Where } from './args';
2
+ export interface RelayConnectionRequest<R> {
4
3
  orderBy: OrderBy;
5
4
  where?: Where;
6
5
  first?: number;
7
6
  after?: string;
8
- edgeNode?: FieldRequest[];
7
+ edgeNode?: R;
9
8
  edgeCursor?: boolean;
10
9
  pageInfo?: boolean;
11
10
  totalCount?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAA;AAGrC,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAGD,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9E;AAGD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,QAAQ,CAAA;AAGrC,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB;AAGD,MAAM,WAAW,uBAAuB;IACpC,KAAK,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAGD,MAAM,WAAW,mBAAmB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAGD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK9E;AAGD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":";;;AAqCA,SAAgB,2BAA2B,CAAC,MAAc;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACpD,OAAO,SAAS,CAAA;AACpB,CAAC;AALD,kEAKC;AAGD,SAAgB,2BAA2B,CAAC,GAAW;IACnD,OAAO,EAAE,GAAG,GAAG,CAAA;AACnB,CAAC;AAFD,kEAEC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/ir/connection.ts"],"names":[],"mappings":";;;AAoCA,SAAgB,2BAA2B,CAAC,MAAc;IACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9B,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACpD,OAAO,SAAS,CAAA;AACpB,CAAC;AALD,kEAKC;AAGD,SAAgB,2BAA2B,CAAC,GAAW;IACnD,OAAO,EAAE,GAAG,GAAG,CAAA;AACnB,CAAC;AAFD,kEAEC"}
@@ -1,5 +1,5 @@
1
1
  import { EnumPropType, FkPropType, ListLookupPropType, ListPropType, LookupPropType, ObjectPropType, Prop, PropType, ScalarPropType, UnionPropType } from "../model";
2
- import { EntityListArguments } from "./args";
2
+ import { SqlArguments } from "./args";
3
3
  export declare type FieldRequest = EntityListRequest | ObjectRequest | OpaqueRequest;
4
4
  declare type Base<T> = T extends PropType ? {
5
5
  field: string;
@@ -12,11 +12,15 @@ declare type Base<T> = T extends PropType ? {
12
12
  } : never;
13
13
  export declare type EntityListRequest = Base<ListLookupPropType> & {
14
14
  children: FieldRequest[];
15
- args?: EntityListArguments;
15
+ args?: SqlArguments;
16
16
  };
17
17
  export declare type ObjectRequest = Base<FkPropType | LookupPropType | ObjectPropType | UnionPropType> & {
18
18
  children: FieldRequest[];
19
19
  };
20
20
  export declare type OpaqueRequest = Base<ScalarPropType | EnumPropType | ListPropType>;
21
+ export declare type FieldsByEntity = Record<string, FieldRequest[]>;
22
+ export declare type AnyFields = FieldRequest[] | FieldsByEntity;
23
+ export declare function asEntityFields(fields: AnyFields): FieldRequest[];
24
+ export declare function asQueryableFields(fields: AnyFields): FieldsByEntity;
21
25
  export {};
22
26
  //# sourceMappingURL=fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,EAAE,IAAI,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAC,mBAAmB,EAAC,MAAM,QAAQ,CAAA;AAG1C,oBAAY,YAAY,GAAG,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAA;AAG5E,aAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACf,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAA;AAGT,oBAAY,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG;IACvD,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,mBAAmB,CAAA;CAC7B,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG;IAC7F,QAAQ,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,EAAE,IAAI,EACpB,QAAQ,EACR,cAAc,EACd,aAAa,EAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AAGnC,oBAAY,YAAY,GAAG,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAA;AAG5E,aAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACf,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB,GAAG,KAAK,CAAA;AAGT,oBAAY,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG;IACvD,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,YAAY,CAAA;CACtB,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,CAAC,GAAG;IAC7F,QAAQ,EAAE,YAAY,EAAE,CAAA;CAC3B,CAAA;AAGD,oBAAY,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,YAAY,CAAC,CAAA;AAI9E,oBAAY,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;AAG3D,oBAAY,SAAS,GAAG,YAAY,EAAE,GAAG,cAAc,CAAA;AAGvD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,CAGhE;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAGnE"}
package/lib/ir/fields.js CHANGED
@@ -1,3 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.asQueryableFields = exports.asEntityFields = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ function asEntityFields(fields) {
9
+ (0, assert_1.default)(Array.isArray(fields));
10
+ return fields;
11
+ }
12
+ exports.asEntityFields = asEntityFields;
13
+ function asQueryableFields(fields) {
14
+ (0, assert_1.default)(!Array.isArray(fields));
15
+ return fields;
16
+ }
17
+ exports.asQueryableFields = asQueryableFields;
3
18
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/ir/fields.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAkD3B,SAAgB,cAAc,CAAC,MAAiB;IAC5C,IAAA,gBAAM,EAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAA;AACjB,CAAC;AAHD,wCAGC;AAGD,SAAgB,iBAAiB,CAAC,MAAiB;IAC/C,IAAA,gBAAM,EAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9B,OAAO,MAAM,CAAA;AACjB,CAAC;AAHD,8CAGC"}
@@ -1,8 +1,8 @@
1
1
  import { Where } from './ir/args';
2
2
  import { RelayConnectionRequest } from './ir/connection';
3
- import { FieldRequest } from './ir/fields';
3
+ import { AnyFields, FieldRequest } from './ir/fields';
4
4
  import { Model } from './model';
5
- export declare function getSize(model: Model, fields: FieldRequest[]): number;
6
- export declare function getEntityListSize(model: Model, entityName: string, fields: FieldRequest[], limit?: number, where?: Where): number;
7
- export declare function getRelaySize(model: Model, entityName: string, req: RelayConnectionRequest): number;
5
+ export declare function getObjectSize(model: Model, fields: FieldRequest[]): number;
6
+ export declare function getListSize(model: Model, typeName: string, fields: AnyFields, limit?: number, where?: Where): number;
7
+ export declare function getConnectionSize(model: Model, typeName: string, req: RelayConnectionRequest<AnyFields>): number;
8
8
  //# sourceMappingURL=limit.size.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"limit.size.d.ts","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAI7B,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAWpE;AA6BD,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,KAAK,GACd,MAAM,CAWR;AAuCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAoBlG"}
1
+ {"version":3,"file":"limit.size.d.ts","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,aAAa,CAAA;AACnD,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAI7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAW1E;AA6BD,wBAAgB,WAAW,CACvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,KAAK,GACd,MAAM,CAoBR;AA+DD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,CAAC,SAAS,CAAC,GAAG,MAAM,CAgBhH"}
package/lib/limit.size.js CHANGED
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRelaySize = exports.getEntityListSize = exports.getSize = void 0;
6
+ exports.getConnectionSize = exports.getListSize = exports.getObjectSize = void 0;
4
7
  const util_internal_1 = require("@subsquid/util-internal");
8
+ const assert_1 = __importDefault(require("assert"));
5
9
  const model_tools_1 = require("./model.tools");
6
- function getSize(model, fields) {
10
+ function getObjectSize(model, fields) {
7
11
  let total = 0;
8
12
  for (let req of fields) {
9
13
  let size = getFieldSize(model, req);
@@ -16,7 +20,7 @@ function getSize(model, fields) {
16
20
  }
17
21
  return total;
18
22
  }
19
- exports.getSize = getSize;
23
+ exports.getObjectSize = getObjectSize;
20
24
  function getFieldSize(model, req) {
21
25
  switch (req.kind) {
22
26
  case "scalar":
@@ -28,23 +32,53 @@ function getFieldSize(model, req) {
28
32
  case "fk":
29
33
  case "lookup":
30
34
  case "union":
31
- return getSize(model, req.children) + 1;
35
+ return getObjectSize(model, req.children) + 1;
32
36
  case "list-lookup":
33
- return getEntityListSize(model, req.type.entity, req.children, Math.min(req.args?.limit ?? Infinity, req.prop.cardinality ?? Infinity), req.args?.where) + 1;
37
+ return getListSize(model, req.type.entity, req.children, Math.min(req.args?.limit ?? Infinity, req.prop.cardinality ?? Infinity), req.args?.where) + 1;
34
38
  default:
35
39
  throw (0, util_internal_1.unexpectedCase)();
36
40
  }
37
41
  }
38
- function getEntityListSize(model, entityName, fields, limit, where) {
39
- let cardinality = Math.min(getEntityCardinality(model, entityName), limit ?? Infinity, getWhereCardinality(where));
40
- if (Number.isFinite(cardinality)) {
41
- return cardinality * Math.max(getSize(model, fields), 1);
42
- }
43
- else {
42
+ function getListSize(model, typeName, fields, limit, where) {
43
+ let cardinality = getCardinality(model, typeName, limit, where);
44
+ if (!Number.isFinite(cardinality))
44
45
  return Infinity;
46
+ let type = model[typeName];
47
+ switch (type.kind) {
48
+ case 'entity': {
49
+ (0, assert_1.default)(Array.isArray(fields));
50
+ return cardinality * Math.max(getObjectSize(model, fields), 1);
51
+ }
52
+ case 'interface': {
53
+ (0, assert_1.default)(!Array.isArray(fields));
54
+ let weight = 1;
55
+ for (let entity of (0, model_tools_1.getQueryableEntities)(model, typeName)) {
56
+ weight = Math.max(weight, getObjectSize(model, fields[entity] || []));
57
+ }
58
+ return cardinality * weight;
59
+ }
60
+ default:
61
+ throw (0, util_internal_1.unexpectedCase)(type.kind);
62
+ }
63
+ }
64
+ exports.getListSize = getListSize;
65
+ function getCardinality(model, typeName, limit, where) {
66
+ let type = model[typeName];
67
+ switch (type.kind) {
68
+ case 'entity':
69
+ return Math.min(type.cardinality ?? Infinity, limit ?? Infinity, getWhereCardinality(where));
70
+ case 'interface': {
71
+ let whereCardinality = getWhereCardinality(where);
72
+ let cardinality = 0;
73
+ for (let entity of (0, model_tools_1.getQueryableEntities)(model, typeName)) {
74
+ cardinality += Math.min((0, model_tools_1.getEntity)(model, entity).cardinality ?? Infinity, whereCardinality);
75
+ }
76
+ return Math.min(cardinality, limit ?? Infinity);
77
+ }
78
+ default:
79
+ throw (0, util_internal_1.unexpectedCase)(type.kind);
45
80
  }
46
81
  }
47
- exports.getEntityListSize = getEntityListSize;
48
82
  function getWhereCardinality(where) {
49
83
  if (where == null)
50
84
  return Infinity;
@@ -83,14 +117,14 @@ function getWhereCardinality(where) {
83
117
  return Infinity;
84
118
  }
85
119
  }
86
- function getRelaySize(model, entityName, req) {
120
+ function getConnectionSize(model, typeName, req) {
121
+ let first = req.first ?? 100;
87
122
  let total = 0;
88
- let limit = Math.min(getEntityCardinality(model, entityName), req.first ?? 100, getWhereCardinality(req.where));
89
123
  if (req.edgeNode) {
90
- total += limit * Math.max(getSize(model, req.edgeNode), 1);
124
+ total += getListSize(model, typeName, req.edgeNode, first, req.where);
91
125
  }
92
126
  if (req.edgeCursor) {
93
- total += limit;
127
+ total += getCardinality(model, typeName, first, req.where);
94
128
  }
95
129
  if (req.pageInfo) {
96
130
  total += 4;
@@ -100,8 +134,5 @@ function getRelaySize(model, entityName, req) {
100
134
  }
101
135
  return total;
102
136
  }
103
- exports.getRelaySize = getRelaySize;
104
- function getEntityCardinality(model, entityName) {
105
- return (0, model_tools_1.getEntity)(model, entityName).cardinality ?? Infinity;
106
- }
137
+ exports.getConnectionSize = getConnectionSize;
107
138
  //# sourceMappingURL=limit.size.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"limit.size.js","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAKtD,+CAAuC;AAGvC,SAAgB,OAAO,CAAC,KAAY,EAAE,MAAsB;IACxD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;QACpB,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;SACrC;aAAM;YACH,OAAO,QAAQ,CAAA;SAClB;KACJ;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAXD,0BAWC;AAGD,SAAS,YAAY,CAAC,KAAY,EAAE,GAAiB;IACjD,QAAO,GAAG,CAAC,IAAI,EAAE;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACP,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA;QACnC,KAAK,MAAM;YACP,OAAO,CAAC,CAAA;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO;YACR,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,KAAK,aAAa;YACd,OAAO,iBAAiB,CACpB,KAAK,EACL,GAAG,CAAC,IAAI,CAAC,MAAM,EACf,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,EACvE,GAAG,CAAC,IAAI,EAAE,KAAK,CAClB,GAAG,CAAC,CAAA;QACT;YACI,MAAM,IAAA,8BAAc,GAAE,CAAA;KAC7B;AACL,CAAC;AAGD,SAAgB,iBAAiB,CAC7B,KAAY,EACZ,UAAkB,EAClB,MAAsB,EACtB,KAAc,EACd,KAAa;IAEb,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CACtB,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,EACvC,KAAK,IAAI,QAAQ,EACjB,mBAAmB,CAAC,KAAK,CAAC,CAC7B,CAAA;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QAC9B,OAAO,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3D;SAAM;QACH,OAAO,QAAQ,CAAA;KAClB;AACL,CAAC;AAjBD,8CAiBC;AAGD,SAAS,mBAAmB,CAAC,KAAa;IACtC,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,QAAQ,CAAA;IAClC,QAAO,KAAK,CAAC,EAAE,EAAE;QACb,KAAK,KAAK,CAAC,CAAC;YACR,IAAI,GAAG,GAAG,QAAQ,CAAA;YAClB,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE;gBACvB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAA;aAC/C;YACD,OAAO,GAAG,CAAA;SACb;QACD,KAAK,IAAI,CAAC,CAAC;YACP,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,QAAQ,CAAA;YAC3C,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE;gBACvB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAA;aAC/C;YACD,OAAO,GAAG,CAAA;SACb;QACD,KAAK,IAAI;YACL,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;gBACrB,OAAO,CAAC,CAAA;aACX;iBAAM;gBACH,OAAO,QAAQ,CAAA;aAClB;QACL,KAAK,IAAI;YACL,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;gBACrB,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;aAC7B;iBAAM;gBACH,OAAO,QAAQ,CAAA;aAClB;QACL;YACI,OAAO,QAAQ,CAAA;KACtB;AACL,CAAC;AAGD,SAAgB,YAAY,CAAC,KAAY,EAAE,UAAkB,EAAE,GAA2B;IACtF,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAChB,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,EACvC,GAAG,CAAC,KAAK,IAAI,GAAG,EAChB,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CACjC,CAAA;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE;QACd,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;KAC7D;IACD,IAAI,GAAG,CAAC,UAAU,EAAE;QAChB,KAAK,IAAI,KAAK,CAAA;KACjB;IACD,IAAI,GAAG,CAAC,QAAQ,EAAE;QACd,KAAK,IAAI,CAAC,CAAA;KACb;IACD,IAAI,GAAG,CAAC,UAAU,EAAE;QAChB,KAAK,IAAI,CAAC,CAAA;KACb;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AApBD,oCAoBC;AAGD,SAAS,oBAAoB,CAAC,KAAY,EAAE,UAAkB;IAC1D,OAAO,IAAA,uBAAS,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"limit.size.js","sourceRoot":"","sources":["../src/limit.size.ts"],"names":[],"mappings":"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"}
package/lib/main.js CHANGED
@@ -24,7 +24,6 @@ GraphQL server for postgres-compatible databases
24
24
  program.option('--sql-statement-timeout <ms>', 'sql statement timeout in ms', util_internal_commander_1.nat);
25
25
  program.option('--subscriptions', 'enable gql subscriptions');
26
26
  program.option('--subscription-poll-interval <ms>', 'subscription poll interval in ms', util_internal_commander_1.nat, 1000);
27
- program.option('--subscription-sql-statement-timeout <ms>', 'sql statement timeout for polling queries', util_internal_commander_1.nat);
28
27
  program.option('--subscription-max-response-size <nodes>', 'max response size measured in nodes', util_internal_commander_1.nat);
29
28
  let opts = program.parse().opts();
30
29
  let model = (0, tools_1.loadModel)(opts.schema);
@@ -32,13 +31,6 @@ GraphQL server for postgres-compatible databases
32
31
  connectionString: opts.dbUrl,
33
32
  statement_timeout: opts.sqlStatementTimeout || undefined
34
33
  });
35
- let subscriptionConnection;
36
- if (opts.subscriptions) {
37
- subscriptionConnection = new pg_1.Pool({
38
- connectionString: opts.dbUrl,
39
- statement_timeout: opts.subscriptionSqlStatementTimeout || opts.sqlStatementTimeout || undefined
40
- });
41
- }
42
34
  let server = await (0, server_1.serve)({
43
35
  model,
44
36
  dialect: opts.dbType,
@@ -50,7 +42,6 @@ GraphQL server for postgres-compatible databases
50
42
  maxResponseNodes: opts.maxResponseSize,
51
43
  subscriptions: opts.subscriptions,
52
44
  subscriptionPollInterval: opts.subscriptionPollInterval,
53
- subscriptionConnection,
54
45
  subscriptionMaxResponseNodes: opts.subscriptionMaxResponseSize
55
46
  });
56
47
  LOG.info(`listening on port ${server.port}`);
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,6CAA6C;AAC7C,2DAAkD;AAClD,+EAA0D;AAC1D,mFAAuE;AACvE,yCAAyC;AACzC,2BAAuB;AAEvB,qCAA8B;AAC9B,mCAAiC;AAGjC,MAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,gBAAgB,CAAC,CAAA;AAG1C,IAAA,0BAAU,EAAC,KAAK,IAAI,EAAE;IAClB,IAAI,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC;;KAEnB,CAAC,IAAI,EAAE,CAAC,CAAA;IAET,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,sDAAsD,CAAC,CAAA;IACrG,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,4BAA4B,EAAE,IAAA,6BAAG,EAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC9F,OAAO,CAAC,SAAS,CACb,IAAI,kBAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAC7G,CAAA;IACD,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,6BAAG,EAAE,IAAI,CAAC,CAAA;IACrE,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,6BAAG,EAAE,GAAG,CAAC,CAAA;IACpF,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,sCAAsC,EAAE,6BAAG,CAAC,CAAA;IACxF,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,qCAAqC,EAAE,6BAAG,CAAC,CAAA;IACzF,OAAO,CAAC,MAAM,CAAC,8BAA8B,EAAE,6BAA6B,EAAE,6BAAG,CAAC,CAAA;IAClF,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAA;IAC7D,OAAO,CAAC,MAAM,CAAC,mCAAmC,EAAE,kCAAkC,EAAE,6BAAG,EAAE,IAAI,CAAC,CAAA;IAClG,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE,qCAAqC,EAAE,6BAAG,CAAC,CAAA;IAEtG,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAY9B,CAAA;IAED,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAElC,IAAI,UAAU,GAAG,IAAI,SAAI,CAAC;QACtB,gBAAgB,EAAE,IAAI,CAAC,KAAK;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;KAC3D,CAAC,CAAA;IAEF,IAAI,MAAM,GAAG,MAAM,IAAA,cAAK,EAAC;QACrB,KAAK;QACL,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,GAAG;QACR,mBAAmB,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI;QAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gBAAgB,EAAE,IAAI,CAAC,eAAe;QACtC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;QACvD,4BAA4B,EAAE,IAAI,CAAC,2BAA2B;KACjE,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5C,OAAO,IAAA,+CAAmB,EAAC,MAAM,CAAC,CAAA;AACtC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA"}
package/lib/model.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface JsonObject extends TypeMeta {
15
15
  export interface Interface extends TypeMeta {
16
16
  kind: 'interface';
17
17
  properties: Record<Name, Prop>;
18
+ queryable?: boolean;
18
19
  }
19
20
  export interface Union extends TypeMeta {
20
21
  kind: 'union';
@@ -49,7 +50,7 @@ export interface ScalarPropType {
49
50
  kind: 'scalar';
50
51
  name: Scalar;
51
52
  }
52
- export declare type Scalar = 'ID' | 'String' | 'Int' | 'Float' | 'Boolean' | 'DateTime' | 'BigInt' | 'JSON' | 'Bytes';
53
+ export declare type Scalar = 'ID' | 'String' | 'Int' | 'Float' | 'Boolean' | 'DateTime' | 'BigInt' | 'JSON' | 'Bytes' | 'BigDecimal';
53
54
  export interface EnumPropType {
54
55
  kind: 'enum';
55
56
  name: Name;
@@ -68,7 +69,7 @@ export interface ListPropType {
68
69
  }
69
70
  export interface FkPropType {
70
71
  kind: 'fk';
71
- foreignEntity: Name;
72
+ entity: Name;
72
73
  }
73
74
  export interface LookupPropType {
74
75
  kind: 'lookup';
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { DocumentNode, GraphQLSchema } from "graphql";
2
- import { Model } from "./model";
1
+ import { DocumentNode, GraphQLSchema } from 'graphql';
2
+ import { Model } from './model';
3
3
  export declare function buildSchema(doc: DocumentNode): GraphQLSchema;
4
4
  export declare function buildModel(schema: GraphQLSchema): Model;
5
5
  export declare class SchemaError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"model.schema.d.ts","sourceRoot":"","sources":["../src/model.schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,YAAY,EAWZ,aAAa,EAIhB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAQ,KAAK,EAAyB,MAAM,SAAS,CAAA;AAoB5D,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,CAO5D;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAWvD;AAidD,qBAAa,WAAY,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"model.schema.d.ts","sourceRoot":"","sources":["../src/model.schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,YAAY,EAWZ,aAAa,EAIhB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAQ,KAAK,EAAyB,MAAM,SAAS,CAAA;AAqB5D,wBAAgB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,aAAa,CAO5D;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,KAAK,CAWvD;AAudD,qBAAa,WAAY,SAAQ,KAAK;CAAG"}
@@ -11,6 +11,7 @@ const model_tools_1 = require("./model.tools");
11
11
  const scalars_1 = require("./scalars");
12
12
  const baseSchema = (0, graphql_1.buildASTSchema)((0, graphql_1.parse)(`
13
13
  directive @entity on OBJECT
14
+ directive @query on INTERFACE
14
15
  directive @derivedFrom(field: String!) on FIELD_DEFINITION
15
16
  directive @unique on FIELD_DEFINITION
16
17
  directive @index(fields: [String!] unique: Boolean) on OBJECT | FIELD_DEFINITION
@@ -66,7 +67,7 @@ function addEntityOrJsonObjectOrInterface(model, type) {
66
67
  model[type.name] = { kind, properties, description, interfaces };
67
68
  break;
68
69
  case 'interface':
69
- model[type.name] = { kind, properties, description };
70
+ model[type.name] = { kind, properties, description, queryable: isQueryableInterface(type) };
70
71
  break;
71
72
  default:
72
73
  throw (0, util_internal_1.unexpectedCase)(kind);
@@ -147,7 +148,7 @@ function addEntityOrJsonObjectOrInterface(model, type) {
147
148
  };
148
149
  }
149
150
  else if (fieldType instanceof graphql_1.GraphQLObjectType) {
150
- if (isEntityType(fieldType)) {
151
+ if (isEntityType(fieldType) && kind != 'interface') {
151
152
  switch (list.nulls.length) {
152
153
  case 0:
153
154
  if (derivedFrom) {
@@ -171,7 +172,7 @@ function addEntityOrJsonObjectOrInterface(model, type) {
171
172
  properties[key] = {
172
173
  type: {
173
174
  kind: 'fk',
174
- foreignEntity: fieldType.name
175
+ entity: fieldType.name
175
176
  },
176
177
  nullable,
177
178
  unique,
@@ -447,6 +448,10 @@ function checkByteWeightDirective(type, f) {
447
448
  throw new SchemaError(`Incorrect @byteWeight where applied to ${type.name}.${f.name}. Byte weight value must be positive.`);
448
449
  return { byteWeight };
449
450
  }
451
+ function isQueryableInterface(type) {
452
+ return type instanceof graphql_1.GraphQLInterfaceType
453
+ && !!type.astNode?.directives?.find(d => d.name.value == 'query');
454
+ }
450
455
  function unsupportedFieldTypeError(propName) {
451
456
  return new SchemaError(`Property ${propName} has unsupported type`);
452
457
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.schema.js","sourceRoot":"","sources":["../src/model.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.schema.js","sourceRoot":"","sources":["../src/model.schema.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
- import { Entity, FTS_Query, JsonObject, Model, PropType } from "./model";
1
+ import { Entity, FTS_Query, Interface, JsonObject, Model, Prop, PropType } from './model';
2
2
  export declare function getUnionProps(model: Model, unionName: string): JsonObject;
3
3
  export declare function buildUnionProps(model: Model, unionName: string): JsonObject;
4
+ export declare function getQueryableEntities(model: Model, queryableName: string): string[];
5
+ export declare function getQueryableProperties(model: Model, queryableName: string): Record<string, Prop>;
6
+ export declare function getUniversalProperties(model: Model, typeName: string): Record<string, Prop>;
4
7
  export declare function validateModel(model: Model): void;
5
8
  export declare function validateNames(model: Model): void;
6
9
  export declare function validateUnionTypes(model: Model): void;
7
10
  export declare function validateLookups(model: Model): void;
8
11
  export declare function validateIndexes(model: Model): void;
12
+ export declare function validateQueryableInterfaces(model: Model): void;
9
13
  export declare function propTypeEquals(a: PropType, b: PropType): boolean;
10
14
  export declare function getEntity(model: Model, name: string): Entity;
11
15
  export declare function getObject(model: Model, name: string): JsonObject;
16
+ export declare function getInterface(model: Model, name: string): Interface;
12
17
  export declare function getFtsQuery(model: Model, name: string): FTS_Query;
13
18
  //# sourceMappingURL=model.tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.tools.d.ts","sourceRoot":"","sources":["../src/model.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAQ,QAAQ,EAAC,MAAM,SAAS,CAAA;AAM5E,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAQzE;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAe3E;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAMzC;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAwBzC;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAoBrD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAiClD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAwBlD;AAQD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAYhE;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI5D;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAIhE;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIjE"}
1
+ {"version":3,"file":"model.tools.d.ts","sourceRoot":"","sources":["../src/model.tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAA;AAMvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAQzE;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAc3E;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBlF;AAGD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAkBhG;AAoCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAc3F;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAOzC;AAOD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,QAwBzC;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAoBrD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAiClD;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAwBlD;AAGD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAO9D;AAQD,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAchE;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI5D;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAIhE;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIlE;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAIjE"}