@subsquid/openreader 4.3.1 → 4.4.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.
package/lib/ir/args.d.ts CHANGED
@@ -43,5 +43,5 @@ export type UnaryOp = 'isNull';
43
43
  export interface OrderBy {
44
44
  [field: string]: SortOrder | OrderBy;
45
45
  }
46
- export type SortOrder = "ASC" | "DESC";
46
+ export type SortOrder = 'ASC' | 'DESC' | 'ASC NULLS FIRST' | 'DESC NULLS LAST';
47
47
  //# sourceMappingURL=args.d.ts.map
@@ -1 +1 @@
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,MAAM,MAAM,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,MAAM,MAAM,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,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAA;AAG9B,MAAM,WAAW,OAAO;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAGD,MAAM,MAAM,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,MAAM,MAAM,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,MAAM,MAAM,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,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAA;AAG9B,MAAM,WAAW,OAAO;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;CACvC;AAGD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"orderBy.d.ts","sourceRoot":"","sources":["../../src/opencrud/orderBy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,UAAU,CAAA;AAEnC,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAGlC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAGzC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAMjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAQ1F;AAuCD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,CASnG;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAerD"}
1
+ {"version":3,"file":"orderBy.d.ts","sourceRoot":"","sources":["../../src/opencrud/orderBy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAGzC;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AAMjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAQ1F;AA0CD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,CASnG;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAerD"}
@@ -31,6 +31,8 @@ function buildOrderByMapping(model, typeName, depth) {
31
31
  if (propType.name != 'JSON') {
32
32
  m.set(key + '_ASC', { [key]: 'ASC' });
33
33
  m.set(key + '_DESC', { [key]: 'DESC' });
34
+ m.set(key + '_ASC_NULLS_FIRST', { [key]: 'ASC NULLS FIRST' });
35
+ m.set(key + '_DESC_NULLS_LAST', { [key]: 'DESC NULLS LAST' });
34
36
  }
35
37
  break;
36
38
  case 'object':
@@ -1 +1 @@
1
- {"version":3,"file":"orderBy.js","sourceRoot":"","sources":["../../src/opencrud/orderBy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orderBy.js","sourceRoot":"","sources":["../../src/opencrud/orderBy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subsquid/openreader",
3
- "version": "4.3.1",
3
+ "version": "4.4.0",
4
4
  "description": "GraphQL server for postgres-compatible databases",
5
5
  "keywords": [
6
6
  "graphql",
@@ -24,7 +24,7 @@
24
24
  "@graphql-tools/merge": "^8",
25
25
  "@subsquid/graphiql-console": "^0.3.0",
26
26
  "@subsquid/logger": "^1.3.0",
27
- "@subsquid/util-internal": "^2.4.0",
27
+ "@subsquid/util-internal": "^2.5.0",
28
28
  "@subsquid/util-internal-commander": "^1.3.0",
29
29
  "@subsquid/util-internal-hex": "^1.2.0",
30
30
  "@subsquid/util-internal-http-server": "^1.2.0",
package/src/ir/args.ts CHANGED
@@ -82,4 +82,4 @@ export interface OrderBy {
82
82
  }
83
83
 
84
84
 
85
- export type SortOrder = "ASC" | "DESC"
85
+ export type SortOrder = 'ASC' | 'DESC' | 'ASC NULLS FIRST' | 'DESC NULLS LAST'
@@ -1,7 +1,7 @@
1
1
  import assert from "assert"
2
- import type {Model} from "../model"
3
- import {getUnionProps, getUniversalProperties} from '../model.tools'
4
- import {OrderBy} from "../ir/args"
2
+ import type { Model } from "../model"
3
+ import { getUniversalProperties } from '../model.tools'
4
+ import { OrderBy } from "../ir/args"
5
5
 
6
6
 
7
7
  /**
@@ -36,31 +36,34 @@ function buildOrderByMapping(model: Model, typeName: string, depth: number): Ope
36
36
  let m = new Map<string, OrderBy>()
37
37
  for (let key in properties) {
38
38
  let propType = properties[key].type
39
- switch(propType.kind) {
39
+ switch (propType.kind) {
40
40
  case 'scalar':
41
41
  case 'enum':
42
42
  if (propType.name != 'JSON') {
43
- m.set(key + '_ASC', {[key]: 'ASC'})
44
- m.set(key + '_DESC', {[key]: 'DESC'})
43
+ m.set(key + '_ASC', { [key]: 'ASC' })
44
+ m.set(key + '_DESC', { [key]: 'DESC' })
45
+ m.set(key + '_ASC_NULLS_FIRST', { [key]: 'ASC NULLS FIRST' });
46
+ m.set(key + '_DESC_NULLS_LAST', { [key]: 'DESC NULLS LAST' });
47
+
45
48
  }
46
49
  break
47
50
  case 'object':
48
51
  case 'union':
49
52
  for (let [name, spec] of buildOrderByMapping(model, propType.name, depth - 1)) {
50
- m.set(key + '_' + name, {[key]: spec})
53
+ m.set(key + '_' + name, { [key]: spec })
51
54
  }
52
55
  break
53
56
  case 'fk':
54
57
  case 'lookup':
55
58
  for (let [name, spec] of buildOrderByMapping(model, propType.entity, depth - 1)) {
56
- m.set(key + '_' + name, {[key]: spec})
59
+ m.set(key + '_' + name, { [key]: spec })
57
60
  }
58
61
  break
59
62
  }
60
63
  }
61
64
  if (model[typeName].kind == 'interface') {
62
- m.set('_type_ASC', {_type: 'ASC'})
63
- m.set('_type_DESC', {_type: 'DESC'})
65
+ m.set('_type_ASC', { _type: 'ASC' })
66
+ m.set('_type_DESC', { _type: 'DESC' })
64
67
  }
65
68
  return m
66
69
  }
@@ -83,7 +86,7 @@ export function mergeOrderBy(list: OrderBy[]): OrderBy {
83
86
  list.forEach(item => {
84
87
  for (let key in item) {
85
88
  let current = result[key]
86
- if (current == null ) {
89
+ if (current == null) {
87
90
  result[key] = item[key]
88
91
  } else if (typeof current != 'string') {
89
92
  let it = item[key]