@kronor/dtv 4.0.0 → 5.0.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 (35) hide show
  1. package/README.md +6 -0
  2. package/bin/dtv.js +24 -0
  3. package/dist/assets/{index-BktfNqU5.js → index-BCuRRUo9.js} +215 -128
  4. package/dist/cli/dtv.js +512 -0
  5. package/dist/cli/dtv.js.map +1 -0
  6. package/dist/cli/typegen/schemaToTs.js +163 -0
  7. package/dist/cli/typegen/schemaToTs.js.map +1 -0
  8. package/dist/index.es.js +7930 -7750
  9. package/dist/index.html +1 -1
  10. package/dist/types/App.d.ts.map +1 -1
  11. package/dist/types/cli/dtv.d.ts +2 -0
  12. package/dist/types/cli/dtv.d.ts.map +1 -0
  13. package/dist/types/cli/typegen/schemaToTs.d.ts +13 -0
  14. package/dist/types/cli/typegen/schemaToTs.d.ts.map +1 -0
  15. package/dist/types/components/ActionButtons.d.ts +2 -1
  16. package/dist/types/components/ActionButtons.d.ts.map +1 -1
  17. package/dist/types/dsl/columns.d.ts +50 -23
  18. package/dist/types/dsl/columns.d.ts.map +1 -1
  19. package/dist/types/dsl/internal/queryForRow.d.ts +42 -0
  20. package/dist/types/dsl/internal/queryForRow.d.ts.map +1 -0
  21. package/dist/types/framework/actions.d.ts +13 -0
  22. package/dist/types/framework/actions.d.ts.map +1 -1
  23. package/dist/types/framework/column-definition.d.ts +205 -24
  24. package/dist/types/framework/column-definition.d.ts.map +1 -1
  25. package/dist/types/framework/hasura.d.ts +2 -2
  26. package/dist/types/framework/hasura.d.ts.map +1 -1
  27. package/dist/types/framework/native-runtime/index.d.ts +2 -2
  28. package/dist/types/framework/typelevel.d.ts +6 -0
  29. package/dist/types/framework/typelevel.d.ts.map +1 -0
  30. package/dist/types/lib/index.d.ts +2 -0
  31. package/dist/types/lib/index.d.ts.map +1 -1
  32. package/dist/types/typegen/index.d.ts +27 -0
  33. package/dist/types/typegen/index.d.ts.map +1 -0
  34. package/docs/typegen.md +86 -0
  35. package/package.json +18 -5
package/dist/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <link rel="icon" type="image/svg+xml" href="/portal/static/assets/table-views/vite.svg" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
8
  <title>Filters Demo</title>
9
- <script type="module" crossorigin src="/portal/static/assets/table-views/assets/index-BktfNqU5.js"></script>
9
+ <script type="module" crossorigin src="/portal/static/assets/table-views/assets/index-BCuRRUo9.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/portal/static/assets/table-views/assets/index-8FxkZzYn.css">
11
11
  </head>
12
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE;QACX,qGAAqG;QACrG,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC;QACtC,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KACxD,CAAC;IACF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IAE9C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE;QACP,2EAA2E;QAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;QAEhF,8FAA8F;QAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KACpE,CAAC;CACL;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,qEAAqE;IACrE,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,YAAY,EAAE;QACV,6EAA6E;QAC7E,KAAK,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC;CACL,CAAC;AAIF,iBAAS,GAAG,CAAC,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAA2B,EAC3B,gBAAuB,EACvB,KAAK,EAAE,cAAc,EACrB,SAAS,EACT,eAAe,EACf,SAAiB,EACjB,cAAc,EACd,oBAA4B,EAC5B,YAAY,EACZ,OAAY,EACZ,gBAAgB,EAChB,kBAAuC,EACvC,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACT,EAAE,QAAQ,2CA6jBV;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/App.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMvE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,MAAM,WAAW,QAAQ;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE;QACX,qGAAqG;QACrG,gBAAgB,EAAE,MAAM,GAAG,UAAU,CAAC;QACtC,0DAA0D;QAC1D,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;KACxD,CAAC;IACF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,gEAAgE;IAChE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IAE9C,4CAA4C;IAC5C,QAAQ,CAAC,EAAE;QACP,2EAA2E;QAC3E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;QAEhF,8FAA8F;QAC9F,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KACpE,CAAC;CACL;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,qEAAqE;IACrE,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,YAAY,EAAE;QACV,6EAA6E;QAC7E,KAAK,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC;CACL,CAAC;AAIF,iBAAS,GAAG,CAAC,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,mBAA2B,EAC3B,gBAAuB,EACvB,KAAK,EAAE,cAAc,EACrB,SAAS,EACT,eAAe,EACf,SAAiB,EACjB,cAAc,EACd,oBAA4B,EAC5B,YAAY,EACZ,OAAY,EACZ,gBAAgB,EAChB,kBAAuC,EACvC,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACT,EAAE,QAAQ,2CA6lBV;AAED,eAAe,GAAG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dtv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dtv.d.ts","sourceRoot":"","sources":["../../../src/cli/dtv.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { type GraphQLNamedType, type GraphQLSchema, type GraphQLType } from 'graphql';
2
+ export declare function unwrapCollectionElementType(fieldType: GraphQLType): GraphQLNamedType;
3
+ export declare function collectReachableTypes(_schema: GraphQLSchema, roots: GraphQLNamedType[]): GraphQLNamedType[];
4
+ export declare function renderTsFromSchema(types: GraphQLNamedType[], options?: {
5
+ scalars?: Record<string, string>;
6
+ includeGraphqlTypeComments?: boolean;
7
+ /**
8
+ * When true (default), emit `export type ...` declarations.
9
+ * When false, emit local `type ...` declarations.
10
+ */
11
+ exportTypes?: boolean;
12
+ }): string;
13
+ //# sourceMappingURL=schemaToTs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaToTs.d.ts","sourceRoot":"","sources":["../../../../src/cli/typegen/schemaToTs.ts"],"names":[],"mappings":"AAAA,OAAO,EAUH,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EACnB,MAAM,SAAS,CAAC;AAMjB,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,WAAW,GAAG,gBAAgB,CAUpF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAiC3G;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,CAAC,EAAE;IACN,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB,GACF,MAAM,CAqHR"}
@@ -6,12 +6,13 @@ export interface ActionButtonsProps {
6
6
  actions: ActionDefinition[];
7
7
  selectedView: View;
8
8
  filterState: FilterState;
9
+ selectedRows: unknown[];
9
10
  setFilterState: (next: FilterState) => void;
10
11
  refetch: () => void;
11
12
  showToast: ShowToastFn;
12
13
  paginationState: PaginationState;
13
14
  rowsPerPage: number;
14
15
  }
15
- export declare function ActionButtons({ actions, selectedView, filterState, setFilterState, refetch, showToast, paginationState, rowsPerPage }: ActionButtonsProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ActionButtons({ actions, selectedView, filterState, selectedRows, setFilterState, refetch, showToast, paginationState, rowsPerPage }: ActionButtonsProps): import("react/jsx-runtime").JSX.Element;
16
17
  export default ActionButtons;
17
18
  //# sourceMappingURL=ActionButtons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtons.d.ts","sourceRoot":"","sources":["../../../src/components/ActionButtons.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAa,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,kBAAkB,2CAkDzJ;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ActionButtons.d.ts","sourceRoot":"","sources":["../../../src/components/ActionButtons.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAa,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,kBAAkB,2CAwDvK;AAED,eAAe,aAAa,CAAC"}
@@ -5,53 +5,80 @@
5
5
  * and provide a concise, ergonomic way to build column definitions while
6
6
  * retaining full type safety.
7
7
  */
8
- import { type FieldQuery, type TableColumnDefinition, type VirtualColumnDefinition, type CellRenderer, type Query, type OrderByConfig, type ValueQuery, type ObjectQuery, type ArrayQuery } from "../framework/column-definition";
8
+ import { type FieldQuery, type DataFromFieldQueriesSafe, type DataFromFieldQueriesForRowSafe, type FieldQueryForRowSafe, type TableColumnDefinition, type VirtualColumnDefinition, type CellRenderer, type Query, type OrderByConfig, type ValueQuery, type ObjectQuery, type ArrayQuery } from "../framework/column-definition";
9
9
  import type { HasuraCondition } from '../framework/graphql';
10
+ /**
11
+ * Produces a phantom value used for type inference.
12
+ *
13
+ * Typical usage:
14
+ *
15
+ * column({
16
+ * rowType: rowType<MyFullRow>(),
17
+ * ...
18
+ * })
19
+ */
20
+ export declare function rowType<Row>(): Row;
10
21
  /**
11
22
  * Creates a renderable table column definition.
12
- * Convenience wrapper that accepts raw string paths or FieldQuery objects.
23
+ * Convenience wrapper around the underlying TableColumnDefinition type.
13
24
  */
14
- export declare function column(args: {
25
+ export declare function column<Row, const FieldQueries extends readonly FieldQuery[]>(args: {
26
+ rowType: Row;
27
+ id: string;
28
+ name: string;
29
+ data: FieldQueries & readonly FieldQueryForRowSafe<Row>[];
30
+ cellRenderer: CellRenderer<DataFromFieldQueriesForRowSafe<Row, FieldQueries>>;
31
+ }): TableColumnDefinition<FieldQueries, DataFromFieldQueriesForRowSafe<Row, FieldQueries>>;
32
+ export declare function column<const FieldQueries extends readonly FieldQuery[]>(args: {
33
+ rowType?: never;
15
34
  id: string;
16
35
  name: string;
17
- data: FieldQuery[];
18
- cellRenderer: CellRenderer;
19
- }): TableColumnDefinition;
36
+ data: FieldQueries;
37
+ cellRenderer: CellRenderer<DataFromFieldQueriesSafe<FieldQueries>>;
38
+ }): TableColumnDefinition<FieldQueries>;
20
39
  /**
21
- * Creates a data-only virtual column definition. Convenience wrapper that
22
- * accepts raw string paths or FieldQuery objects.
40
+ * Creates a data-only virtual column definition. Convenience wrapper around
41
+ * the underlying VirtualColumnDefinition type.
23
42
  */
24
- export declare function virtualColumn(args: {
43
+ export declare function virtualColumn<const FieldQueries extends readonly FieldQuery[]>(args: {
25
44
  id: string;
26
- data: FieldQuery[];
27
- }): VirtualColumnDefinition;
45
+ data: FieldQueries;
46
+ }): VirtualColumnDefinition<FieldQueries>;
28
47
  /**
29
48
  * Creates a ValueQuery (scalar field) definition.
30
49
  */
31
- export declare function valueQuery(args: {
32
- field: string;
50
+ export declare function valueQuery<const Field extends string>(args: {
51
+ field: Field;
33
52
  path?: string;
34
- }): ValueQuery;
53
+ }): ValueQuery & {
54
+ field: Field;
55
+ };
35
56
  /**
36
57
  * Creates an ObjectQuery (nested object) with a selection set.
37
58
  * selectionSet must contain only Query variants (value/object/array queries).
38
59
  */
39
- export declare function objectQuery(args: {
40
- field: string;
41
- selectionSet: Query[];
60
+ export declare function objectQuery<const Field extends string, const SelectionSet extends readonly Query[]>(args: {
61
+ field: Field;
62
+ selectionSet: SelectionSet;
42
63
  path?: string;
43
- }): ObjectQuery;
64
+ }): ObjectQuery & {
65
+ field: Field;
66
+ selectionSet: SelectionSet;
67
+ };
44
68
  /**
45
69
  * Creates an ArrayQuery (list) with a selection set and optional ordering/limit.
46
70
  */
47
- export declare function arrayQuery(args: {
48
- field: string;
49
- selectionSet: Query[];
71
+ export declare function arrayQuery<const Field extends string, const SelectionSet extends readonly Query[]>(args: {
72
+ field: Field;
73
+ selectionSet: SelectionSet;
50
74
  path?: string;
51
75
  orderBy?: OrderByConfig | OrderByConfig[];
52
76
  distinctOn?: string[];
53
77
  limit?: number;
54
78
  where?: HasuraCondition;
55
- }): ArrayQuery;
56
- export type { Query };
79
+ }): ArrayQuery & {
80
+ field: Field;
81
+ selectionSet: SelectionSet;
82
+ };
83
+ export type { Query } from "../framework/column-definition";
57
84
  //# sourceMappingURL=columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/dsl/columns.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACH,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,GAAG,qBAAqB,CAQhI;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAA;CAAE,GAAG,uBAAuB,CAM/F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAM7E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,KAAK,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAOtG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,eAAe,CAAC;CAC3B,GAAG,UAAU,CAWb;AAGD,YAAY,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/dsl/columns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import type { ArrayQuery, ArrayQueryForRow, ObjectQueryForRow, QueryForRowSafe, ValueQueryForRow } from '../../framework/column-definition';
2
+ type NonNullish<T> = Exclude<T, null | undefined>;
3
+ type ElemOf<T> = T extends ReadonlyArray<infer E> ? E : never;
4
+ type ArrayFieldKey<Row> = ArrayQueryForRow<Row> extends {
5
+ field: infer F;
6
+ } ? Extract<F, string> : never;
7
+ type ObjectFieldKey<Row> = ObjectQueryForRow<Row> extends {
8
+ field: infer F;
9
+ } ? Extract<F, string> : never;
10
+ export type QueryBuilder<Row> = {
11
+ value: <K extends keyof Row & string>(field: K, args?: {
12
+ path?: string;
13
+ }) => ValueQueryForRow<Row> & {
14
+ field: K;
15
+ };
16
+ object: <K extends ObjectFieldKey<Row> & keyof Row & string, const SelectionSet extends readonly QueryForRowSafe<NonNullish<Row[K]>>[]>(field: K, buildSelection: (q: QueryBuilder<NonNullish<Row[K]>>) => SelectionSet, args?: {
17
+ path?: string;
18
+ }) => ObjectQueryForRow<Row> & {
19
+ field: K;
20
+ selectionSet: SelectionSet;
21
+ };
22
+ array: <K extends ArrayFieldKey<Row> & keyof Row & string, const SelectionSet extends readonly QueryForRowSafe<NonNullish<ElemOf<NonNullish<Row[K]>>>>[]>(field: K, buildSelection: (q: QueryBuilder<NonNullish<ElemOf<NonNullish<Row[K]>>>>) => SelectionSet, args?: {
23
+ path?: string;
24
+ orderBy?: ArrayQuery['orderBy'];
25
+ distinctOn?: ArrayQuery['distinctOn'];
26
+ limit?: number;
27
+ where?: ArrayQuery['where'];
28
+ }) => ArrayQueryForRow<Row> & {
29
+ field: K;
30
+ selectionSet: SelectionSet;
31
+ };
32
+ selection: <SelectionRow>() => QueryBuilder<SelectionRow>;
33
+ __row: Row;
34
+ };
35
+ /**
36
+ * Internal typed query builder scoped to a Row type.
37
+ *
38
+ * Not exported via the public DSL surface (yet).
39
+ */
40
+ export declare function queryForRow<Row>(): QueryBuilder<Row>;
41
+ export {};
42
+ //# sourceMappingURL=queryForRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryForRow.d.ts","sourceRoot":"","sources":["../../../../src/dsl/internal/queryForRow.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,12 @@ import { generateGraphQLQueryAST, renderGraphQLQuery } from './graphql';
4
4
  import { buildGraphQLQueryVariables } from './data';
5
5
  import type { PaginationState } from './state';
6
6
  import type { ShowToastFn } from './toast';
7
+ import type { CSSProperties } from 'react';
7
8
  export interface ActionAPI {
8
9
  view: View;
9
10
  filterState: FilterState;
11
+ /** Current selected rows (simplified/flattened), empty when none selected or selection disabled. */
12
+ selectedRows: unknown[];
10
13
  setFilterState: (next: FilterState) => void;
11
14
  refetch: () => void;
12
15
  showToast: ShowToastFn;
@@ -25,6 +28,16 @@ export interface ActionDefinition {
25
28
  label: string;
26
29
  onClick: (api: ActionAPI) => void | Promise<void>;
27
30
  icon?: string;
31
+ /** Optional PrimeReact Button badge value. */
32
+ badge?: string;
33
+ /** Optional className applied to the badge element by PrimeReact Button. */
34
+ badgeClassName?: string;
35
+ /** Optional visual severity of the action button. */
36
+ severity?: 'secondary' | 'success' | 'info' | 'warning' | 'help' | 'danger' | 'contrast';
37
+ /** Optional className applied to the action button. */
38
+ className?: string;
39
+ /** Optional inline style applied to the action button. */
40
+ style?: CSSProperties;
28
41
  outlined?: boolean;
29
42
  size?: 'small' | 'normal';
30
43
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/framework/actions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,4CAA4C;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,yGAAyG;IACzG,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,wEAAwE;IACxE,kBAAkB,EAAE,MAAM,eAAe,CAAC;CAC7C;AAGD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/framework/actions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,WAAW,CAAC;IACzB,oGAAoG;IACpG,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,4CAA4C;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,yGAAyG;IACzG,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,wEAAwE;IACxE,kBAAkB,EAAE,MAAM,eAAe,CAAC;CAC7C;AAGD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACzF,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -1,15 +1,16 @@
1
1
  import { ReactNode, createElement } from "react";
2
- import type { HasuraCondition } from './graphql';
2
+ import type { HasuraCondition } from "./graphql";
3
3
  import { FlexRow, FlexColumn, DateTime } from "./cell-renderer-components/LayoutHelpers";
4
- import { CurrencyAmount } from './cell-renderer-components/CurrencyAmount';
5
- import { majorToMinor, minorToMajor } from './currency';
4
+ import { CurrencyAmount } from "./cell-renderer-components/CurrencyAmount";
5
+ import { majorToMinor, minorToMajor } from "./currency";
6
6
  import { Mapping } from "./cell-renderer-components/Mapping";
7
7
  import { Link } from "./cell-renderer-components/Link";
8
- import { Tag } from 'primereact/tag';
9
- import { FilterState } from "./state";
10
- import { FilterId } from "./filters";
11
- export type CellRendererProps = {
12
- data: Record<string, any>;
8
+ import { Tag } from "primereact/tag";
9
+ import type { FilterState } from "./state";
10
+ import type { FilterId } from "./filters";
11
+ import type { EmptyObject, Simplify, UnionToIntersection } from "./typelevel";
12
+ export type CellRendererProps<Data extends Record<string, any> = Record<string, any>> = {
13
+ data: Data;
13
14
  setFilterState: (updater: (currentState: FilterState) => FilterState) => void;
14
15
  applyFilters: () => void;
15
16
  updateFilterById: (filterId: FilterId, updater: (currentValue: any) => any) => void;
@@ -33,52 +34,232 @@ export type CellRendererProps = {
33
34
  */
34
35
  columnDefinition: TableColumnDefinition;
35
36
  };
36
- export type CellRenderer = (props: CellRendererProps) => ReactNode;
37
+ export type CellRenderer<Data extends Record<string, any> = Record<string, any>> = {
38
+ bivarianceHack(props: CellRendererProps<Data>): ReactNode;
39
+ }["bivarianceHack"];
37
40
  export type ColumnId = string;
38
41
  export type OrderByConfig = {
39
42
  key: string;
40
- direction: 'ASC' | 'DESC';
43
+ direction: "ASC" | "DESC";
41
44
  };
42
45
  export type FieldAlias = {
43
- type: 'fieldAlias';
46
+ type: "fieldAlias";
44
47
  alias: string;
45
48
  field: FieldQuery;
46
49
  };
47
50
  export type ValueQuery = {
48
- type: 'valueQuery';
51
+ type: "valueQuery";
49
52
  field: string;
50
53
  path?: string;
51
54
  };
52
55
  export type ObjectQuery = {
53
- type: 'objectQuery';
56
+ type: "objectQuery";
54
57
  field: string;
55
58
  path?: string;
56
- selectionSet: Query[];
59
+ selectionSet: readonly Query[];
57
60
  };
58
61
  export type ArrayQuery = {
59
- type: 'arrayQuery';
62
+ type: "arrayQuery";
60
63
  field: string;
61
64
  path?: string;
62
65
  orderBy?: OrderByConfig | OrderByConfig[];
63
66
  distinctOn?: string[];
64
67
  limit?: number;
65
68
  where?: HasuraCondition;
66
- selectionSet: Query[];
69
+ selectionSet: readonly Query[];
67
70
  };
68
71
  export type Query = ValueQuery | ObjectQuery | ArrayQuery;
69
72
  export type FieldQuery = Query | FieldAlias;
70
- export declare function fieldAlias(alias: string, fieldQuery: FieldQuery): FieldQuery;
71
- export type TableColumnDefinition = {
72
- type: 'tableColumn';
73
+ type ValueFromObjectQuery<Q extends Query> = Q extends {
74
+ type: "objectQuery";
75
+ selectionSet: infer SelectionSet extends readonly Query[];
76
+ } ? DataFromSelectionSet<SelectionSet> : unknown;
77
+ type ValueFromArrayQuery<Q extends Query> = Q extends {
78
+ type: "arrayQuery";
79
+ selectionSet: infer SelectionSet extends readonly Query[];
80
+ } ? Array<DataFromSelectionSet<SelectionSet>> : unknown;
81
+ type ValueFromQuery<Q extends Query> = Q extends {
82
+ type: "valueQuery";
83
+ } ? unknown : Q extends {
84
+ type: "objectQuery";
85
+ } ? ValueFromObjectQuery<Q> : Q extends {
86
+ type: "arrayQuery";
87
+ } ? ValueFromArrayQuery<Q> : unknown;
88
+ type ValueFromFieldQuery<FQ extends FieldQuery> = FQ extends FieldAlias ? ValueFromFieldQuery<FQ["field"]> : FQ extends Query ? ValueFromQuery<FQ> : unknown;
89
+ type DataFromValueQuery<Q extends Query> = Q extends {
90
+ type: "valueQuery";
91
+ field: infer Field extends string;
92
+ } ? {
93
+ [K in Field]: unknown;
94
+ } : EmptyObject;
95
+ type DataFromObjectQuery<Q extends Query> = Q extends {
96
+ type: "objectQuery";
97
+ field: infer Field extends string;
98
+ selectionSet: infer SelectionSet extends readonly Query[];
99
+ } ? {
100
+ [K in Field]: DataFromSelectionSet<SelectionSet>;
101
+ } : EmptyObject;
102
+ type DataFromArrayQuery<Q extends Query> = Q extends {
103
+ type: "arrayQuery";
104
+ field: infer Field extends string;
105
+ selectionSet: infer SelectionSet extends readonly Query[];
106
+ } ? {
107
+ [K in Field]: Array<DataFromSelectionSet<SelectionSet>>;
108
+ } : EmptyObject;
109
+ export type DataFromQuery<Q extends Query> = Q extends {
110
+ type: "valueQuery";
111
+ } ? DataFromValueQuery<Q> : Q extends {
112
+ type: "objectQuery";
113
+ } ? DataFromObjectQuery<Q> : Q extends {
114
+ type: "arrayQuery";
115
+ } ? DataFromArrayQuery<Q> : EmptyObject;
116
+ export type DataFromFieldQuery<FQ extends FieldQuery> = FQ extends FieldAlias ? {
117
+ [K in FQ["alias"]]: ValueFromFieldQuery<FQ["field"]>;
118
+ } : FQ extends Query ? DataFromQuery<FQ> : EmptyObject;
119
+ export type DataFromSelectionSet<SelectionSet extends readonly Query[]> = Simplify<UnionToIntersection<DataFromQuery<SelectionSet[number]>>>;
120
+ export type DataFromFieldQueries<FieldQueries extends readonly FieldQuery[]> = Simplify<UnionToIntersection<DataFromFieldQuery<FieldQueries[number]>>>;
121
+ type PreserveNull<TOriginal, TMapped> = null extends TOriginal ? TMapped | null : TMapped;
122
+ type PreserveUndefined<TOriginal, TMapped> = undefined extends TOriginal ? TMapped | undefined : TMapped;
123
+ type PreserveNullish<TOriginal, TMapped> = PreserveUndefined<TOriginal, PreserveNull<TOriginal, TMapped>>;
124
+ type ValueFromObjectQueryForRow<Row, Q extends Query> = Q extends {
125
+ type: "objectQuery";
126
+ field: infer Field extends string;
127
+ selectionSet: infer SelectionSet extends readonly Query[];
128
+ } ? Field extends keyof Row ? PreserveNullish<Row[Field], NonNullable<Row[Field]> extends object ? DataFromSelectionSetForRow<NonNullable<Row[Field]>, SelectionSet> : unknown> : unknown : unknown;
129
+ type ValueFromArrayQueryForRow<Row, Q extends Query> = Q extends {
130
+ type: "arrayQuery";
131
+ field: infer Field extends string;
132
+ selectionSet: infer SelectionSet extends readonly Query[];
133
+ } ? Field extends keyof Row ? PreserveNullish<Row[Field], NonNullable<Row[Field]> extends ReadonlyArray<infer Elem> ? Array<PreserveNullish<Elem, DataFromSelectionSetForRow<NonNullable<Elem> extends object ? NonNullable<Elem> : Record<string, unknown>, SelectionSet>>> : unknown> : unknown : unknown;
134
+ type ValueFromQueryForRow<Row, Q extends Query> = Q extends {
135
+ type: "valueQuery";
136
+ field: infer Field extends string;
137
+ } ? Row[Field & keyof Row] : Q extends {
138
+ type: "objectQuery";
139
+ } ? ValueFromObjectQueryForRow<Row, Q> : Q extends {
140
+ type: "arrayQuery";
141
+ } ? ValueFromArrayQueryForRow<Row, Q> : unknown;
142
+ type ValueFromFieldQueryForRow<Row, FQ extends FieldQuery> = FQ extends FieldAlias ? ValueFromFieldQueryForRow<Row, FQ["field"]> : FQ extends Query ? ValueFromQueryForRow<Row, FQ> : unknown;
143
+ type DataFromValueQueryForRow<Row, Q extends Query> = Q extends {
144
+ type: "valueQuery";
145
+ field: infer Field extends string;
146
+ } ? {
147
+ [K in Field]: Row[K & keyof Row];
148
+ } : EmptyObject;
149
+ type DataFromObjectQueryForRow<Row, Q extends Query> = Q extends {
150
+ type: "objectQuery";
151
+ field: infer Field extends string;
152
+ selectionSet: infer SelectionSet extends readonly Query[];
153
+ } ? {
154
+ [K in Field]: PreserveNullish<Row[Field & keyof Row], NonNullable<Row[Field & keyof Row]> extends object ? DataFromSelectionSetForRow<NonNullable<Row[Field & keyof Row]>, SelectionSet> : unknown>;
155
+ } : EmptyObject;
156
+ type DataFromArrayQueryForRow<Row, Q extends Query> = Q extends {
157
+ type: "arrayQuery";
158
+ field: infer Field extends string;
159
+ selectionSet: infer SelectionSet extends readonly Query[];
160
+ } ? {
161
+ [K in Field]: PreserveNullish<Row[Field & keyof Row], NonNullable<Row[Field & keyof Row]> extends ReadonlyArray<infer Elem> ? Array<PreserveNullish<Elem, DataFromSelectionSetForRow<NonNullable<Elem> extends object ? NonNullable<Elem> : Record<string, unknown>, SelectionSet>>> : unknown>;
162
+ } : EmptyObject;
163
+ export type DataFromQueryForRow<Row, Q extends Query> = Q extends {
164
+ type: "valueQuery";
165
+ } ? DataFromValueQueryForRow<Row, Q> : Q extends {
166
+ type: "objectQuery";
167
+ } ? DataFromObjectQueryForRow<Row, Q> : Q extends {
168
+ type: "arrayQuery";
169
+ } ? DataFromArrayQueryForRow<Row, Q> : EmptyObject;
170
+ export type DataFromFieldQueryForRow<Row, FQ extends FieldQuery> = FQ extends FieldAlias ? {
171
+ [K in FQ["alias"]]: ValueFromFieldQueryForRow<Row, FQ["field"]>;
172
+ } : FQ extends Query ? DataFromQueryForRow<Row, FQ> : EmptyObject;
173
+ export type DataFromSelectionSetForRow<Row, SelectionSet extends readonly Query[]> = Simplify<UnionToIntersection<DataFromQueryForRow<Row, SelectionSet[number]>>>;
174
+ export type DataFromFieldQueriesForRow<Row, FieldQueries extends readonly FieldQuery[]> = Simplify<UnionToIntersection<DataFromFieldQueryForRow<Row, FieldQueries[number]>>>;
175
+ type ExtractTopLevelKey<FQ extends FieldQuery> = FQ extends {
176
+ type: "fieldAlias";
177
+ alias: infer Alias extends string;
178
+ } ? Alias : FQ extends {
179
+ field: infer Field extends string;
180
+ } ? Field : never;
181
+ type HasWideTopLevelKeys<FieldQueries extends readonly FieldQuery[]> = string extends ExtractTopLevelKey<FieldQueries[number]> ? true : false;
182
+ /**
183
+ * Safe variant that avoids deep conditional-type expansion when the column's
184
+ * FieldQuery[] has been widened to generic `string` keys.
185
+ */
186
+ export type DataFromFieldQueriesSafe<FieldQueries extends readonly FieldQuery[]> = HasWideTopLevelKeys<FieldQueries> extends true ? Record<string, any> : DataFromFieldQueries<FieldQueries>;
187
+ export type DataFromFieldQueriesForRowSafe<Row, FieldQueries extends readonly FieldQuery[]> = HasWideTopLevelKeys<FieldQueries> extends true ? Record<string, any> : DataFromFieldQueriesForRow<Row, FieldQueries>;
188
+ type HasWideKeys<Row> = string extends keyof Row ? true : false;
189
+ type StringKeyOf<Row> = keyof Row & string;
190
+ type NonNullish<T> = Exclude<T, null | undefined>;
191
+ type ElemOf<T> = T extends ReadonlyArray<infer E> ? E : never;
192
+ type KeysMatching<Row, Constraint> = {
193
+ [K in keyof Row]-?: NonNullish<Row[K]> extends Constraint ? K : never;
194
+ }[keyof Row];
195
+ type ArrayKeys<Row> = KeysMatching<Row, ReadonlyArray<any>>;
196
+ type ObjectKeys<Row> = {
197
+ [K in keyof Row]-?: NonNullish<Row[K]> extends ReadonlyArray<any> ? never : NonNullish<Row[K]> extends object ? K : never;
198
+ }[keyof Row];
199
+ export type ValueQueryForRow<Row> = ValueQuery & {
200
+ field: StringKeyOf<Row>;
201
+ };
202
+ export type ObjectQueryForRow<Row> = {
203
+ [K in Extract<ObjectKeys<Row>, string>]: ObjectQuery & {
204
+ field: K;
205
+ selectionSet: readonly QueryForRowSafe<NonNullish<Row[K]>>[];
206
+ };
207
+ }[Extract<ObjectKeys<Row>, string>];
208
+ export type ArrayQueryForRow<Row> = {
209
+ [K in Extract<ArrayKeys<Row>, string>]: ArrayQuery & {
210
+ field: K;
211
+ selectionSet: readonly QueryForRowSafe<NonNullish<ElemOf<NonNullish<Row[K]>>>>[];
212
+ };
213
+ }[Extract<ArrayKeys<Row>, string>];
214
+ export type QueryForRow<Row> = ValueQueryForRow<Row> | ObjectQueryForRow<Row> | ArrayQueryForRow<Row>;
215
+ export type QueryForRowSafe<Row> = HasWideKeys<Row> extends true ? Query : QueryForRow<Row>;
216
+ export type FieldAliasForRow<Row> = FieldAlias & {
217
+ field: FieldQueryForRowSafe<Row>;
218
+ };
219
+ export type FieldQueryForRow<Row> = QueryForRow<Row> | FieldAliasForRow<Row>;
220
+ export type FieldQueryForRowSafe<Row> = HasWideKeys<Row> extends true ? FieldQuery : FieldQueryForRow<Row>;
221
+ type IsTuple<T extends readonly unknown[]> = number extends T["length"] ? false : true;
222
+ type FieldOfQuery<Q extends Query> = Q extends {
223
+ field: infer Field;
224
+ } ? Field : never;
225
+ type SelectionSetOfQuery<Q extends Query> = Q extends {
226
+ selectionSet: infer SelectionSet extends readonly Query[];
227
+ } ? SelectionSet : never;
228
+ type ValidateQueryForRow<Row, Q extends Query> = Q extends {
229
+ type: "valueQuery";
230
+ } ? FieldOfQuery<Q> extends StringKeyOf<Row> ? Q : never : Q extends {
231
+ type: "objectQuery";
232
+ } ? FieldOfQuery<Q> extends Extract<ObjectKeys<Row>, string> ? ValidateSelectionSetForRow<NonNullish<Row[FieldOfQuery<Q>]>, SelectionSetOfQuery<Q>> extends never ? never : Q : never : Q extends {
233
+ type: "arrayQuery";
234
+ } ? FieldOfQuery<Q> extends Extract<ArrayKeys<Row>, string> ? ValidateSelectionSetForRow<NonNullish<ElemOf<NonNullish<Row[FieldOfQuery<Q>]>>>, SelectionSetOfQuery<Q>> extends never ? never : Q : never : never;
235
+ type ValidateSelectionSetForRow<Row, SelectionSet extends readonly Query[]> = IsTuple<SelectionSet> extends true ? SelectionSet extends readonly [] ? SelectionSet : SelectionSet extends readonly [infer Head, ...infer Tail] ? Head extends Query ? ValidateQueryForRow<Row, Head> extends never ? never : Tail extends readonly Query[] ? ValidateSelectionSetForRow<Row, Tail> : never : never : never : SelectionSet;
236
+ type ValidateFieldQueryForRow<Row, FQ extends FieldQuery> = FQ extends FieldAlias ? ValidateFieldQueryForRow<Row, FQ["field"]> extends never ? never : FQ : FQ extends Query ? ValidateQueryForRow<Row, FQ> : never;
237
+ type ValidateFieldQueriesTupleForRow<Row, FieldQueries extends readonly FieldQuery[]> = FieldQueries extends readonly [] ? FieldQueries : FieldQueries extends readonly [infer Head, ...infer Tail] ? Head extends FieldQuery ? ValidateFieldQueryForRow<Row, Head> extends never ? never : Tail extends readonly FieldQuery[] ? ValidateFieldQueriesTupleForRow<Row, Tail> : never : never : never;
238
+ /**
239
+ * Validates that every FieldQuery in FieldQueries only refers to keys present
240
+ * on Row (recursively for nested selection sets).
241
+ *
242
+ * When FieldQueries is a tuple (typical inline literals), validation is strict.
243
+ * When FieldQueries is a widened array type, validation is best-effort and
244
+ * requires the element type to be compatible with row-aware query types.
245
+ */
246
+ export type ValidateFieldQueriesForRow<Row, FieldQueries extends readonly FieldQuery[]> = IsTuple<FieldQueries> extends true ? ValidateFieldQueriesTupleForRow<Row, FieldQueries> : FieldQueries;
247
+ export declare function fieldAlias<const Alias extends string, const FQ extends FieldQuery>(alias: Alias, fieldQuery: FQ): FieldAlias & {
248
+ alias: Alias;
249
+ field: FQ;
250
+ };
251
+ export type TableColumnDefinition<FieldQueries extends readonly FieldQuery[] = readonly FieldQuery[], CellData extends Record<string, any> = DataFromFieldQueriesSafe<FieldQueries>> = {
252
+ type: "tableColumn";
73
253
  id: ColumnId;
74
- data: FieldQuery[];
254
+ data: FieldQueries;
75
255
  name: string;
76
- cellRenderer: CellRenderer;
256
+ cellRenderer: CellRenderer<CellData>;
77
257
  };
78
- export type VirtualColumnDefinition = {
79
- type: 'virtualColumn';
258
+ export type VirtualColumnDefinition<FieldQueries extends readonly FieldQuery[] = readonly FieldQuery[]> = {
259
+ type: "virtualColumn";
80
260
  id: ColumnId;
81
- data: FieldQuery[];
261
+ data: FieldQueries;
82
262
  };
83
263
  export type ColumnDefinition = TableColumnDefinition | VirtualColumnDefinition;
264
+ export {};
84
265
  //# sourceMappingURL=column-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"column-definition.d.ts","sourceRoot":"","sources":["../../../src/framework/column-definition.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-definition.d.ts","sourceRoot":"","sources":["../../../src/framework/column-definition.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACH,OAAO,EACP,UAAU,EACV,QAAQ,EACX,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,MAAM,iBAAiB,CACzB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACtD;IACA,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,GAAG,KAClC,IAAI,CAAC;IACV,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,UAAU,EAAE;QACR,KAAK,EAAE,OAAO,GAAG,CAAC;QAClB,OAAO,EAAE,OAAO,OAAO,CAAC;QACxB,UAAU,EAAE,OAAO,UAAU,CAAC;QAC9B,OAAO,EAAE,OAAO,OAAO,CAAC;QACxB,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAC1B,cAAc,EAAE,OAAO,cAAc,CAAC;QACtC,IAAI,EAAE,OAAO,IAAI,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACN,YAAY,EAAE,OAAO,YAAY,CAAC;QAClC,YAAY,EAAE,OAAO,YAAY,CAAC;KACrC,CAAC;IACF;;;OAGG;IACH,gBAAgB,EAAE,qBAAqB,CAAC;CAC3C,CAAC;AAIF,MAAM,MAAM,YAAY,CACpB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACtD;IACA,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7D,CAAC,gBAAgB,CAAC,CAAC;AAEpB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;AAE5C,KAAK,oBAAoB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK,oBAAoB,CAAC,YAAY,CAAC,GAClC,OAAO,CAAC;AAEd,KAAK,mBAAmB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAClD,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,GACzC,OAAO,CAAC;AAEd,KAAK,cAAc,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACjE,OAAO,GACP,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC,oBAAoB,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC,mBAAmB,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC;AAEd,KAAK,mBAAmB,CAAC,EAAE,SAAS,UAAU,IAAI,EAAE,SAAS,UAAU,GACjE,mBAAmB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAChC,EAAE,SAAS,KAAK,GAChB,cAAc,CAAC,EAAE,CAAC,GAClB,OAAO,CAAC;AAEd,KAAK,kBAAkB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;CACrC,GACK;KAAG,CAAC,IAAI,KAAK,GAAG,OAAO;CAAE,GACzB,WAAW,CAAC;AAElB,KAAK,mBAAmB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK;KAAG,CAAC,IAAI,KAAK,GAAG,oBAAoB,CAAC,YAAY,CAAC;CAAE,GACpD,WAAW,CAAC;AAElB,KAAK,kBAAkB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK;KAAG,CAAC,IAAI,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;CAAE,GAC3D,WAAW,CAAC;AAElB,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACvE,kBAAkB,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC,mBAAmB,CAAC,CAAC,CAAC,GACtB,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC,kBAAkB,CAAC,CAAC,CAAC,GACrB,WAAW,CAAC;AAElB,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,UAAU,IAAI,EAAE,SAAS,UAAU,GACvE;KAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;CAAE,GACxD,EAAE,SAAS,KAAK,GAChB,aAAa,CAAC,EAAE,CAAC,GACjB,WAAW,CAAC;AAElB,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,SAAS,KAAK,EAAE,IAClE,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE,MAAM,MAAM,oBAAoB,CAAC,YAAY,SAAS,SAAS,UAAU,EAAE,IACvE,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5E,KAAK,YAAY,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI,SAAS,SAAS,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AAC1F,KAAK,iBAAiB,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,SAAS,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AACzG,KAAK,eAAe,CAAC,SAAS,EAAE,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1G,KAAK,0BAA0B,CAC3B,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IACV,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK,KAAK,SAAS,MAAM,GAAG,GACvB,eAAe,CACb,GAAG,CAAC,KAAK,CAAC,EACV,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,GACpC,0BAA0B,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GACjE,OAAO,CACZ,GACC,OAAO,GACP,OAAO,CAAC;AAEd,KAAK,yBAAyB,CAC1B,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IACV,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK,KAAK,SAAS,MAAM,GAAG,GACvB,eAAe,CACb,GAAG,CAAC,KAAK,CAAC,EACV,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GACvD,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACtJ,OAAO,CACZ,GACC,OAAO,GACP,OAAO,CAAC;AAEd,KAAK,oBAAoB,CACrB,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAA;CAAE,GACjE,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,GACtB,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC,0BAA0B,CAAC,GAAG,EAAE,CAAC,CAAC,GAClC,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC,GACjC,OAAO,CAAC;AAEd,KAAK,yBAAyB,CAC1B,GAAG,EACH,EAAE,SAAS,UAAU,IACrB,EAAE,SAAS,UAAU,GACnB,yBAAyB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAC3C,EAAE,SAAS,KAAK,GAChB,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,GAC7B,OAAO,CAAC;AAEd,KAAK,wBAAwB,CACzB,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IACV,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;CACrC,GACK;KAAG,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;CAAE,GACpC,WAAW,CAAC;AAElB,KAAK,yBAAyB,CAC1B,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IACV,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK;KACG,CAAC,IAAI,KAAK,GAAG,eAAe,CACzB,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAChD,0BAA0B,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAC7E,OAAO,CACZ;CACJ,GACC,WAAW,CAAC;AAElB,KAAK,wBAAwB,CACzB,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IACV,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAC;CAC7D,GACK;KACG,CAAC,IAAI,KAAK,GAAG,eAAe,CACzB,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,EACtB,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,IAAI,CAAC,GACnE,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACtJ,OAAO,CACZ;CACJ,GACC,WAAW,CAAC;AAElB,MAAM,MAAM,mBAAmB,CAC3B,GAAG,EACH,CAAC,SAAS,KAAK,IACf,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAC9B,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAChC,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC,yBAAyB,CAAC,GAAG,EAAE,CAAC,CAAC,GACjC,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAChC,WAAW,CAAC;AAElB,MAAM,MAAM,wBAAwB,CAChC,GAAG,EACH,EAAE,SAAS,UAAU,IACrB,EAAE,SAAS,UAAU,GACnB;KAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,yBAAyB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;CAAE,GACnE,EAAE,SAAS,KAAK,GAChB,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,GAC5B,WAAW,CAAC;AAElB,MAAM,MAAM,0BAA0B,CAClC,GAAG,EACH,YAAY,SAAS,SAAS,KAAK,EAAE,IACrC,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF,MAAM,MAAM,0BAA0B,CAClC,GAAG,EACH,YAAY,SAAS,SAAS,UAAU,EAAE,IAC1C,QAAQ,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF,KAAK,kBAAkB,CAAC,EAAE,SAAS,UAAU,IAAI,EAAE,SAAS;IACxD,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAC;CACrC,GACK,KAAK,GACL,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,CAAA;CAAE,GAChD,KAAK,GACL,KAAK,CAAC;AAEZ,KAAK,mBAAmB,CAAC,YAAY,SAAS,SAAS,UAAU,EAAE,IAC/D,MAAM,SAAS,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,wBAAwB,CAChC,YAAY,SAAS,SAAS,UAAU,EAAE,IAE1C,mBAAmB,CAAC,YAAY,CAAC,SAAS,IAAI,GAC5C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAEzC,MAAM,MAAM,8BAA8B,CACtC,GAAG,EACH,YAAY,SAAS,SAAS,UAAU,EAAE,IAC1C,mBAAmB,CAAC,YAAY,CAAC,SAAS,IAAI,GAC5C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB,0BAA0B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAEpD,KAAK,WAAW,CAAC,GAAG,IAAI,MAAM,SAAS,MAAM,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;AAChE,KAAK,WAAW,CAAC,GAAG,IAAI,MAAM,GAAG,GAAG,MAAM,CAAC;AAC3C,KAAK,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;AAClD,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE9D,KAAK,YAAY,CAAC,GAAG,EAAE,UAAU,IAAI;KAChC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,MAAM,GAAG,CAAC,CAAC;AAEb,KAAK,SAAS,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,KAAK,UAAU,CAAC,GAAG,IAAI;KAClB,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,GAC/D,KAAK,GACL,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjC,CAAC,GACD,KAAK;CACV,CAAC,MAAM,GAAG,CAAC,CAAC;AAEb,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI,UAAU,GAAG;IAC7C,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,GAAG,IAAI;KAChC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,WAAW,GAAG;QACnD,KAAK,EAAE,CAAC,CAAC;QACT,YAAY,EAAE,SAAS,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE;CACJ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI;KAC/B,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,GAAG;QACjD,KAAK,EAAE,CAAC,CAAC;QACT,YAAY,EAAE,SAAS,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpF;CACJ,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAEnC,MAAM,MAAM,WAAW,CAAC,GAAG,IACrB,gBAAgB,CAAC,GAAG,CAAC,GACrB,iBAAiB,CAAC,GAAG,CAAC,GACtB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE5B,MAAM,MAAM,eAAe,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAE5F,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI,UAAU,GAAG;IAC7C,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC7E,MAAM,MAAM,oBAAoB,CAAC,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE3G,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAEvF,KAAK,YAAY,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,KAAK,CAAA;CAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AACtF,KAAK,mBAAmB,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAAE,YAAY,EAAE,MAAM,YAAY,SAAS,SAAS,KAAK,EAAE,CAAA;CAAE,GAC7G,YAAY,GACZ,KAAK,CAAC;AAEZ,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAC3E,YAAY,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GACxC,CAAC,GACD,KAAK,GACL,CAAC,SAAS;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACjC,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GACxD,0BAA0B,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAClG,KAAK,GACL,CAAC,GACD,KAAK,GACL,CAAC,SAAS;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAChC,YAAY,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GACvD,0BAA0B,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GACtH,KAAK,GACL,CAAC,GACD,KAAK,GACL,KAAK,CAAC;AAEZ,KAAK,0BAA0B,CAAC,GAAG,EAAE,YAAY,SAAS,SAAS,KAAK,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,GAC1G,YAAY,SAAS,SAAS,EAAE,GAChC,YAAY,GACZ,YAAY,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACzD,IAAI,SAAS,KAAK,GAClB,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,KAAK,GAC5C,KAAK,GACL,IAAI,SAAS,SAAS,KAAK,EAAE,GAC7B,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,GACrC,KAAK,GACL,KAAK,GACL,KAAK,GACL,YAAY,CAAC;AAEnB,KAAK,wBAAwB,CAAC,GAAG,EAAE,EAAE,SAAS,UAAU,IAAI,EAAE,SAAS,UAAU,GAC3E,wBAAwB,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,GACxD,KAAK,GACL,EAAE,GACF,EAAE,SAAS,KAAK,GAChB,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,GAC5B,KAAK,CAAC;AAEZ,KAAK,+BAA+B,CAAC,GAAG,EAAE,YAAY,SAAS,SAAS,UAAU,EAAE,IAAI,YAAY,SAAS,SAAS,EAAE,GAClH,YAAY,GACZ,YAAY,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACzD,IAAI,SAAS,UAAU,GACvB,wBAAwB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,KAAK,GACjD,KAAK,GACL,IAAI,SAAS,SAAS,UAAU,EAAE,GAClC,+BAA+B,CAAC,GAAG,EAAE,IAAI,CAAC,GAC1C,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,MAAM,0BAA0B,CAAC,GAAG,EAAE,YAAY,SAAS,SAAS,UAAU,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,GACtH,+BAA+B,CAAC,GAAG,EAAE,YAAY,CAAC,GAClD,YAAY,CAAC;AAGnB,wBAAgB,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,UAAU,EAC9E,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,EAAE,GACf,UAAU,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,EAAE,CAAA;CAAE,CAE1C;AAED,MAAM,MAAM,qBAAqB,CAC7B,YAAY,SAAS,SAAS,UAAU,EAAE,GAAG,SAAS,UAAU,EAAE,EAClE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,wBAAwB,CAAC,YAAY,CAAC,IAC7E;IACA,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;CACxC,CAAC;AAGF,MAAM,MAAM,uBAAuB,CAC/B,YAAY,SAAS,SAAS,UAAU,EAAE,GAAG,SAAS,UAAU,EAAE,IAClE;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { FilterGroups } from './filters';
2
- import { FilterFormState } from './filter-form-state';
2
+ import { FilterState } from './state';
3
3
  export type HasuraOperator = {
4
4
  _eq?: any;
5
5
  } | {
@@ -44,7 +44,7 @@ export type HasuraCondition = {
44
44
  } | {
45
45
  [field: string]: HasuraCondition | HasuraOperator | HasuraOperator[];
46
46
  };
47
- export declare function buildHasuraConditions(filterState: Map<string, FilterFormState>, filterGroups: FilterGroups): HasuraCondition;
47
+ export declare function buildHasuraConditions(filterState: FilterState, filterGroups: FilterGroups): HasuraCondition;
48
48
  export declare function hasuraOperatorsAreEqual(a: HasuraOperator, b: HasuraOperator): boolean;
49
49
  export declare function unorderedArrayEqual<T>(arrA: T[], arrB: T[], elemEqual: (x: T, y: T) => boolean): boolean;
50
50
  export declare function hasuraConditionsAreEqual(a: HasuraCondition, b: HasuraCondition): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hasura.d.ts","sourceRoot":"","sources":["../../../src/framework/hasura.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAc,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,eAAe,EAAgC,MAAM,qBAAqB,CAAC;AAGpF,MAAM,MAAM,cAAc,GACpB;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GACf;IAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GAChB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAG5B,MAAM,MAAM,eAAe,GACrB;IAAE,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,GAC3B;IAAE,GAAG,EAAE,eAAe,EAAE,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,EAAE,CAAA;CAAE,CAAC;AAG/E,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,YAAY,EAAE,YAAY,GAC3B,eAAe,CAyGjB;AAGD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAarF;AA4BD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAexG;AAGD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CA2CxF"}
1
+ {"version":3,"file":"hasura.d.ts","sourceRoot":"","sources":["../../../src/framework/hasura.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAc,MAAM,WAAW,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,MAAM,cAAc,GACpB;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GACb;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GACf;IAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,GAChB;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAG5B,MAAM,MAAM,eAAe,GACrB;IAAE,IAAI,EAAE,eAAe,EAAE,CAAA;CAAE,GAC3B;IAAE,GAAG,EAAE,eAAe,EAAE,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,EAAE,CAAA;CAAE,CAAC;AAG/E,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,GAC3B,eAAe,CAyGjB;AAGD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,GAAG,OAAO,CAarF;AA4BD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAexG;AAGD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,OAAO,CA2CxF"}