@pothos/plugin-drizzle 0.8.1 → 0.10.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 (122) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/TODO.md +25 -4
  3. package/dts/connection-helpers.d.ts +34 -0
  4. package/dts/connection-helpers.d.ts.map +1 -0
  5. package/dts/drizzle-field-builder.d.ts +18 -53
  6. package/dts/drizzle-field-builder.d.ts.map +1 -1
  7. package/dts/global-types.d.ts +22 -41
  8. package/dts/global-types.d.ts.map +1 -1
  9. package/dts/index.d.ts +5 -2
  10. package/dts/index.d.ts.map +1 -1
  11. package/dts/interface-ref.d.ts +3 -2
  12. package/dts/interface-ref.d.ts.map +1 -1
  13. package/dts/model-loader.d.ts +3 -2
  14. package/dts/model-loader.d.ts.map +1 -1
  15. package/dts/node-ref.d.ts +1 -1
  16. package/dts/node-ref.d.ts.map +1 -1
  17. package/dts/object-ref.d.ts +2 -2
  18. package/dts/object-ref.d.ts.map +1 -1
  19. package/dts/types.d.ts +61 -41
  20. package/dts/types.d.ts.map +1 -1
  21. package/dts/utils/config.d.ts +4 -3
  22. package/dts/utils/config.d.ts.map +1 -1
  23. package/dts/utils/cursors.d.ts +13 -7
  24. package/dts/utils/cursors.d.ts.map +1 -1
  25. package/dts/utils/drizzle-graphql.d.ts +0 -17
  26. package/dts/utils/drizzle-graphql.d.ts.map +1 -1
  27. package/dts/utils/map-query.d.ts.map +1 -1
  28. package/dts/utils/selections.d.ts +5 -5
  29. package/dts/utils/selections.d.ts.map +1 -1
  30. package/esm/connection-helpers.d.ts +36 -0
  31. package/esm/connection-helpers.d.ts.map +1 -0
  32. package/esm/connection-helpers.js +82 -0
  33. package/esm/connection-helpers.js.map +1 -0
  34. package/esm/drizzle-field-builder.d.ts +18 -73
  35. package/esm/drizzle-field-builder.d.ts.map +1 -1
  36. package/esm/drizzle-field-builder.js +25 -14
  37. package/esm/drizzle-field-builder.js.map +1 -1
  38. package/esm/field-builder.js +2 -3
  39. package/esm/field-builder.js.map +1 -1
  40. package/esm/global-types.d.ts +35 -60
  41. package/esm/global-types.d.ts.map +1 -1
  42. package/esm/global-types.js.map +1 -1
  43. package/esm/index.d.ts +5 -2
  44. package/esm/index.d.ts.map +1 -1
  45. package/esm/index.js +71 -61
  46. package/esm/index.js.map +1 -1
  47. package/esm/interface-ref.d.ts +3 -2
  48. package/esm/interface-ref.d.ts.map +1 -1
  49. package/esm/interface-ref.js.map +1 -1
  50. package/esm/model-loader.d.ts +3 -2
  51. package/esm/model-loader.d.ts.map +1 -1
  52. package/esm/model-loader.js +17 -10
  53. package/esm/model-loader.js.map +1 -1
  54. package/esm/node-ref.d.ts +1 -1
  55. package/esm/node-ref.d.ts.map +1 -1
  56. package/esm/object-ref.d.ts +2 -2
  57. package/esm/object-ref.d.ts.map +1 -1
  58. package/esm/schema-builder.js +113 -67
  59. package/esm/schema-builder.js.map +1 -1
  60. package/esm/types.d.ts +61 -41
  61. package/esm/types.d.ts.map +1 -1
  62. package/esm/types.js.map +1 -1
  63. package/esm/utils/config.d.ts +4 -3
  64. package/esm/utils/config.d.ts.map +1 -1
  65. package/esm/utils/config.js +32 -15
  66. package/esm/utils/config.js.map +1 -1
  67. package/esm/utils/cursors.d.ts +13 -7
  68. package/esm/utils/cursors.d.ts.map +1 -1
  69. package/esm/utils/cursors.js +137 -63
  70. package/esm/utils/cursors.js.map +1 -1
  71. package/esm/utils/drizzle-graphql.d.ts +0 -17
  72. package/esm/utils/drizzle-graphql.d.ts.map +1 -1
  73. package/esm/utils/drizzle-graphql.js +230 -198
  74. package/esm/utils/drizzle-graphql.js.map +1 -1
  75. package/esm/utils/map-query.d.ts.map +1 -1
  76. package/esm/utils/map-query.js +10 -6
  77. package/esm/utils/map-query.js.map +1 -1
  78. package/esm/utils/selections.d.ts +5 -5
  79. package/esm/utils/selections.d.ts.map +1 -1
  80. package/esm/utils/selections.js +19 -18
  81. package/esm/utils/selections.js.map +1 -1
  82. package/lib/connection-helpers.js +93 -0
  83. package/lib/connection-helpers.js.map +1 -0
  84. package/lib/drizzle-field-builder.js +24 -13
  85. package/lib/drizzle-field-builder.js.map +1 -1
  86. package/lib/field-builder.js +2 -3
  87. package/lib/field-builder.js.map +1 -1
  88. package/lib/index.js +79 -60
  89. package/lib/index.js.map +1 -1
  90. package/lib/interface-ref.js.map +1 -1
  91. package/lib/model-loader.js +17 -10
  92. package/lib/model-loader.js.map +1 -1
  93. package/lib/schema-builder.js +113 -67
  94. package/lib/schema-builder.js.map +1 -1
  95. package/lib/types.js.map +1 -1
  96. package/lib/utils/config.js +31 -14
  97. package/lib/utils/config.js.map +1 -1
  98. package/lib/utils/cursors.js +135 -63
  99. package/lib/utils/cursors.js.map +1 -1
  100. package/lib/utils/drizzle-graphql.js +230 -221
  101. package/lib/utils/drizzle-graphql.js.map +1 -1
  102. package/lib/utils/map-query.js +10 -6
  103. package/lib/utils/map-query.js.map +1 -1
  104. package/lib/utils/selections.js +18 -17
  105. package/lib/utils/selections.js.map +1 -1
  106. package/package.json +14 -14
  107. package/src/connection-helpers.ts +206 -0
  108. package/src/drizzle-field-builder.ts +30 -26
  109. package/src/field-builder.ts +4 -7
  110. package/src/global-types.ts +112 -119
  111. package/src/index.ts +91 -70
  112. package/src/interface-ref.ts +7 -3
  113. package/src/model-loader.ts +32 -17
  114. package/src/node-ref.ts +1 -1
  115. package/src/object-ref.ts +2 -2
  116. package/src/schema-builder.ts +116 -113
  117. package/src/types.ts +95 -62
  118. package/src/utils/config.ts +39 -30
  119. package/src/utils/cursors.ts +134 -101
  120. package/src/utils/drizzle-graphql.ts +273 -274
  121. package/src/utils/map-query.ts +20 -8
  122. package/src/utils/selections.ts +34 -28
@@ -1,4 +1,4 @@
1
- import { type DBQueryConfig, type SQL, type TableRelationalConfig } from 'drizzle-orm';
1
+ import { type DBQueryConfig, type TableRelationalConfig } from 'drizzle-orm';
2
2
  import type { PothosDrizzleSchemaConfig } from './config.js';
3
3
  import type { LoaderMappings } from './loader-map.js';
4
4
  export interface SelectionState {
@@ -7,17 +7,17 @@ export interface SelectionState {
7
7
  allColumns: boolean;
8
8
  columns: Set<string>;
9
9
  with: Map<string, SelectionState>;
10
- extras: Map<string, SQL.Aliased>;
10
+ extras: Map<string, NonNullable<SelectionMap["extras"]>[string]>;
11
11
  mappings: LoaderMappings;
12
12
  parent?: SelectionState;
13
13
  depth: number;
14
14
  skipDeferredFragments: boolean;
15
15
  }
16
- export type SelectionMap = DBQueryConfig<"one", false>;
16
+ export type SelectionMap = DBQueryConfig<"one">;
17
17
  export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean;
18
18
  export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean;
19
19
  export declare function mergeState(state: SelectionState, newState: SelectionState): void;
20
20
  export declare function createState(table: TableRelationalConfig, skipDeferredFragments: boolean, parent?: SelectionState): SelectionState;
21
- export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, { with: withSelection, extras, columns, ...query }: SelectionMap): void;
22
- export declare function selectionToQuery(state: SelectionState): SelectionMap;
21
+ export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, selection: SelectionMap | boolean): void;
22
+ export declare function selectionToQuery(config: PothosDrizzleSchemaConfig, state: SelectionState): SelectionMap;
23
23
  //# sourceMappingURL=selections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,GAAG,EACR,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEvD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CAmCT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,WAAW,UAAQ,GAClB,OAAO,CAQT;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,QAoBzE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,qBAAqB,EAC5B,qBAAqB,EAAE,OAAO,EAC9B,MAAM,CAAC,EAAE,cAAc,GACtB,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,QAsDjE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA8BpE"}
1
+ {"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEhD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CA+BT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,WAAW,UAAQ,GAClB,OAAO,CAQT;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,QAoBzE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,qBAAqB,EAC5B,qBAAqB,EAAE,OAAO,EAC9B,MAAM,CAAC,EAAE,cAAc,GACtB,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,YAAY,GAAG,OAAO,QAyDlC;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,GACpB,YAAY,CAgCd"}
@@ -1,5 +1,5 @@
1
1
  import { PothosValidationError } from '@pothos/core';
2
- import { getOperators } from 'drizzle-orm';
2
+ import { getTableUniqueName } from 'drizzle-orm';
3
3
  import { deepEqual } from './deep-equal.js';
4
4
  export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
5
5
  if (typeof selectionMap === "boolean") {
@@ -10,10 +10,9 @@ export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
10
10
  !selectionCompatible(state.with.get(key), value))) {
11
11
  return false;
12
12
  }
13
- const resolvedExtras = typeof extras === "function" ? extras(state.table.columns, getOperators()) : extras;
14
- if (resolvedExtras && Object.entries(resolvedExtras).some(([key, value]) => {
15
- const sql = state.extras.get(key);
16
- return sql && (sql.sql !== value.sql || sql.fieldAlias !== value.fieldAlias);
13
+ if (extras && Object.entries(extras).some(([key, value]) => {
14
+ const existing = state.extras.get(key);
15
+ return existing && existing !== value;
17
16
  })) {
18
17
  return false;
19
18
  }
@@ -61,22 +60,24 @@ export function createState(table, skipDeferredFragments, parent) {
61
60
  depth: parent ? parent.depth + 1 : 0
62
61
  };
63
62
  }
64
- export function mergeSelection(config, state, { with: withSelection, extras, columns, ...query }) {
63
+ export function mergeSelection(config, state, selection) {
64
+ const { with: withSelection, extras, columns, ...query } = typeof selection === "boolean" ? {} : selection;
65
65
  if (withSelection) {
66
66
  for (const [key, value] of Object.entries(withSelection)) {
67
67
  const relation = state.table.relations[key];
68
68
  if (!relation) {
69
69
  throw new PothosValidationError(`Relation ${key} does not exist on ${state.table.dbName}`);
70
70
  }
71
- merge(config.dbToSchema[relation.referencedTableName], key, value);
71
+ const tableUniqueName = getTableUniqueName(relation.targetTable);
72
+ const tableName = config.relations.tableNamesMap[tableUniqueName];
73
+ merge(config.relations.tablesConfig[tableName], key, value);
72
74
  }
73
75
  }
74
76
  if (Object.keys(query).length > 0) {
75
77
  state.query = query;
76
78
  }
77
- const resolvedExtras = typeof extras === "function" ? extras(state.table.columns, getOperators()) : extras;
78
- if (resolvedExtras) {
79
- for (const [key, value] of Object.entries(resolvedExtras)) {
79
+ if (extras) {
80
+ for (const [key, value] of Object.entries(extras)) {
80
81
  state.extras.set(key, value);
81
82
  }
82
83
  }
@@ -88,25 +89,24 @@ export function mergeSelection(config, state, { with: withSelection, extras, col
88
89
  state.columns.add(key);
89
90
  }
90
91
  }
91
- else {
92
+ else if (selection === true) {
92
93
  state.allColumns = true;
93
94
  }
94
95
  function merge(table, key, value) {
95
96
  if (!value) {
96
97
  return;
97
98
  }
98
- const selection = value === true ? {} : value;
99
99
  if (state.with.has(key)) {
100
- mergeSelection(config, state.with.get(key), selection);
100
+ mergeSelection(config, state.with.get(key), value);
101
101
  }
102
102
  else {
103
103
  const relatedState = createState(table, state.skipDeferredFragments, state);
104
- mergeSelection(config, relatedState, selection);
104
+ mergeSelection(config, relatedState, value);
105
105
  state.with.set(key, relatedState);
106
106
  }
107
107
  }
108
108
  }
109
- export function selectionToQuery(state) {
109
+ export function selectionToQuery(config, state) {
110
110
  const query = {
111
111
  ...state.query,
112
112
  with: {},
@@ -122,15 +122,16 @@ export function selectionToQuery(state) {
122
122
  for (const key of state.columns) {
123
123
  query.columns[key] = true;
124
124
  }
125
- for (const { name } of state.table.primaryKey) {
126
- query.columns[name] = true;
125
+ for (const column of config.getPrimaryKey(state.table.tsName)) {
126
+ const tsName = config.columnToTsName(column);
127
+ query.columns[tsName] = true;
127
128
  }
128
129
  }
129
130
  for (const [key, value] of state.extras) {
130
131
  query.extras[key] = value;
131
132
  }
132
133
  state.with.forEach((sel, relation) => {
133
- query.with[relation] = selectionToQuery(sel);
134
+ query.with[relation] = selectionToQuery(config, sel);
134
135
  });
135
136
  return query;
136
137
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","getOperators","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","entries","some","key","value","has","get","resolvedExtras","table","sql","fieldAlias","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","skipDeferredFragments","parent","Set","Map","mappings","depth","mergeSelection","config","relation","relations","dbName","merge","dbToSchema","referencedTableName","selection","relatedState","selectionToQuery","primaryKey","forEach","sel"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,eAAe;AACrD,SAIEC,YAAY,QACP,cAAc;AAErB,SAASC,SAAS,QAAQ,eAAe;AAkBzC,OAAO,SAASC,oBACdC,KAAqB,EACrBC,YAAoC,EACpCC,cAAc,KAAK;IAEnB,IAAI,OAAOD,iBAAiB,WAAW;QACrC,OAAOC,eAAe,CAACD,gBAAgBE,OAAOC,IAAI,CAACJ,MAAMK,KAAK,EAAEC,MAAM,KAAK;IAC7E;IAEA,MAAM,EAAEC,MAAMC,aAAa,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGL,OAAO,GAAGJ;IAE3D,IACEO,iBACAL,OAAOQ,OAAO,CAACH,eAAeI,IAAI,CAChC,CAAC,CAACC,KAAKC,MAAM,GACXA,SACAd,MAAMO,IAAI,CAACQ,GAAG,CAACF,QACf,+CAA+C;QAC/C,CAACd,oBAAoBC,MAAMO,IAAI,CAACS,GAAG,CAACH,MAAOC,SAE/C;QACA,OAAO;IACT;IAEA,MAAMG,iBACJ,OAAOR,WAAW,aAAaA,OAAOT,MAAMkB,KAAK,CAACR,OAAO,EAAEb,kBAAkBY;IAE/E,IACEQ,kBACAd,OAAOQ,OAAO,CAACM,gBAAgBL,IAAI,CAAC,CAAC,CAACC,KAAKC,MAAM;QAC/C,MAAMK,MAAMnB,MAAMS,MAAM,CAACO,GAAG,CAACH;QAE7B,OAAOM,OAAQA,CAAAA,IAAIA,GAAG,KAAKL,MAAMK,GAAG,IAAIA,IAAIC,UAAU,KAAKN,MAAMM,UAAU,AAAD;IAC5E,IACA;QACA,OAAO;IACT;IAEA,OAAOlB,eAAeJ,UAAUE,MAAMK,KAAK,EAAEA;AAC/C;AAEA,OAAO,SAASgB,gBACdrB,KAAqB,EACrBsB,QAAwB,EACxBpB,cAAc,KAAK;IAEnB,KAAK,MAAM,CAACqB,MAAMC,cAAc,IAAIF,SAASf,IAAI,CAAE;QACjD,IAAIP,MAAMO,IAAI,CAACQ,GAAG,CAACQ,SAAS,CAACF,gBAAgBrB,MAAMO,IAAI,CAACS,GAAG,CAACO,OAAQC,gBAAgB;YAClF,OAAO;QACT;IACF;IAEA,OAAOtB,eAAeJ,UAAUE,MAAMK,KAAK,EAAEiB,SAASjB,KAAK;AAC7D;AAEA,OAAO,SAASoB,WAAWzB,KAAqB,EAAEsB,QAAwB;IACxE,KAAK,MAAM,CAACC,MAAMC,cAAc,IAAIF,SAASf,IAAI,CAAE;QACjD,IAAIP,MAAMO,IAAI,CAACQ,GAAG,CAACQ,OAAO;YACxBE,WAAWzB,MAAMO,IAAI,CAACS,GAAG,CAACO,OAAQC;QACpC;IACF;IAEA,IAAI,CAACxB,MAAM0B,UAAU,EAAE;QACrB,IAAIJ,SAASI,UAAU,EAAE;YACvB1B,MAAM0B,UAAU,GAAG;QACrB,OAAO;YACL,KAAK,MAAMH,QAAQD,SAASZ,OAAO,CAAE;gBACnCV,MAAMU,OAAO,CAACiB,GAAG,CAACJ;YACpB;QACF;IACF;IAEA,KAAK,MAAM,CAACA,MAAMT,MAAM,IAAIQ,SAASb,MAAM,CAAE;QAC3CT,MAAMS,MAAM,CAACmB,GAAG,CAACL,MAAMT;IACzB;AACF;AAEA,OAAO,SAASe,YACdX,KAA4B,EAC5BY,qBAA8B,EAC9BC,MAAuB;IAEvB,OAAO;QACLb;QACAY;QACAC;QACA1B,OAAO,CAAC;QACRK,SAAS,IAAIsB;QACbzB,MAAM,IAAI0B;QACVxB,QAAQ,IAAIwB;QACZC,UAAU,CAAC;QACXR,YAAY;QACZS,OAAOJ,SAASA,OAAOI,KAAK,GAAG,IAAI;IACrC;AACF;AAEA,OAAO,SAASC,eACdC,MAAiC,EACjCrC,KAAqB,EACrB,EAAEO,MAAMC,aAAa,EAAEC,MAAM,EAAEC,OAAO,EAAE,GAAGL,OAAqB;IAEhE,IAAIG,eAAe;QACjB,KAAK,MAAM,CAACK,KAAKC,MAAM,IAAIX,OAAOQ,OAAO,CAACH,eAAgB;YACxD,MAAM8B,WAAWtC,MAAMkB,KAAK,CAACqB,SAAS,CAAC1B,IAAI;YAE3C,IAAI,CAACyB,UAAU;gBACb,MAAM,IAAI1C,sBAAsB,CAAC,SAAS,EAAEiB,IAAI,mBAAmB,EAAEb,MAAMkB,KAAK,CAACsB,MAAM,EAAE;YAC3F;YAEAC,MAAMJ,OAAOK,UAAU,CAACJ,SAASK,mBAAmB,CAAC,EAAE9B,KAAKC;QAC9D;IACF;IAEA,IAAIX,OAAOC,IAAI,CAACC,OAAOC,MAAM,GAAG,GAAG;QACjCN,MAAMK,KAAK,GAAGA;IAChB;IAEA,MAAMY,iBACJ,OAAOR,WAAW,aAAaA,OAAOT,MAAMkB,KAAK,CAACR,OAAO,EAAEb,kBAAkBY;IAE/E,IAAIQ,gBAAgB;QAClB,KAAK,MAAM,CAACJ,KAAKC,MAAM,IAAIX,OAAOQ,OAAO,CAACM,gBAAiB;YACzDjB,MAAMS,MAAM,CAACmB,GAAG,CAACf,KAAKC;QACxB;IACF;IAEA,IAAId,MAAM0B,UAAU,EAAE;QACpB;IACF;IAEA,IAAIhB,SAAS;QACX,KAAK,MAAMG,OAAOV,OAAOC,IAAI,CAACM,SAAU;YACtCV,MAAMU,OAAO,CAACiB,GAAG,CAACd;QACpB;IACF,OAAO;QACLb,MAAM0B,UAAU,GAAG;IACrB;IAEA,SAASe,MAAMvB,KAA4B,EAAEL,GAAW,EAAEC,KAA8B;QACtF,IAAI,CAACA,OAAO;YACV;QACF;QAEA,MAAM8B,YAAY9B,UAAU,OAAO,CAAC,IAAIA;QAExC,IAAId,MAAMO,IAAI,CAACQ,GAAG,CAACF,MAAM;YACvBuB,eAAeC,QAAQrC,MAAMO,IAAI,CAACS,GAAG,CAACH,MAAO+B;QAC/C,OAAO;YACL,MAAMC,eAAehB,YAAYX,OAAOlB,MAAM8B,qBAAqB,EAAE9B;YACrEoC,eAAeC,QAAQQ,cAAcD;YACrC5C,MAAMO,IAAI,CAACqB,GAAG,CAACf,KAAKgC;QACtB;IACF;AACF;AAEA,OAAO,SAASC,iBAAiB9C,KAAqB;IACpD,MAAMK,QAA4D;QAChE,GAAGL,MAAMK,KAAK;QACdE,MAAM,CAAC;QACPG,SAAS,CAAC;QACVD,QAAQ,CAAC;IACX;IAEA,IAAIT,MAAM0B,UAAU,EAAE;QACpB,KAAK,MAAMb,OAAOV,OAAOC,IAAI,CAACJ,MAAMkB,KAAK,CAACR,OAAO,EAAG;YAClDL,MAAMK,OAAO,AAAC,CAACG,IAAI,GAAG;QACxB;IACF,OAAO;QACL,KAAK,MAAMA,OAAOb,MAAMU,OAAO,CAAE;YAC/BL,MAAMK,OAAO,AAAC,CAACG,IAAI,GAAG;QACxB;QACA,KAAK,MAAM,EAAEU,IAAI,EAAE,IAAIvB,MAAMkB,KAAK,CAAC6B,UAAU,CAAE;YAC7C1C,MAAMK,OAAO,AAAC,CAACa,KAAK,GAAG;QACzB;IACF;IAEA,KAAK,MAAM,CAACV,KAAKC,MAAM,IAAId,MAAMS,MAAM,CAAE;QACvCJ,MAAMI,MAAM,AAAC,CAACI,IAAI,GAAGC;IACvB;IAEAd,MAAMO,IAAI,CAACyC,OAAO,CAAC,CAACC,KAAKX;QACvBjC,MAAME,IAAI,AAAC,CAAC+B,SAAS,GAAGQ,iBAAiBG;IAC3C;IAEA,OAAO5C;AACT"}
1
+ {"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","getTableUniqueName","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","entries","some","key","value","has","get","existing","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","table","skipDeferredFragments","parent","Set","Map","mappings","depth","mergeSelection","config","selection","relation","relations","dbName","tableUniqueName","targetTable","tableName","tableNamesMap","merge","tablesConfig","relatedState","selectionToQuery","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "drizzleConnectionHelpers", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return drizzleConnectionHelpers;
9
+ }
10
+ });
11
+ const _config = require("./utils/config");
12
+ const _cursors = require("./utils/cursors");
13
+ const _mapquery = require("./utils/map-query");
14
+ const _refs = require("./utils/refs");
15
+ const _selections = require("./utils/selections");
16
+ var _builder_options_drizzle, _builder_options_drizzle1;
17
+ function drizzleConnectionHelpers(builder, refOrType, { select, resolveNode, query, args: createArgs, maxSize = (_builder_options_drizzle = builder.options.drizzle) === null || _builder_options_drizzle === void 0 ? void 0 : _builder_options_drizzle.maxConnectionSize, defaultSize = (_builder_options_drizzle1 = builder.options.drizzle) === null || _builder_options_drizzle1 === void 0 ? void 0 : _builder_options_drizzle1.defaultConnectionSize }) {
18
+ const config = (0, _config.getSchemaConfig)(builder);
19
+ const tableName = typeof refOrType === 'string' ? refOrType : refOrType.tableName;
20
+ function resolve(list, args, ctx, parent) {
21
+ const { select, cursorColumns } = getQueryArgs(args, ctx);
22
+ const formatCursor = (0, _cursors.getCursorFormatter)(cursorColumns, config);
23
+ return (0, _cursors.wrapConnectionResult)(list, args, select.limit, formatCursor, resolveNode !== null && resolveNode !== void 0 ? resolveNode : (edge)=>edge, parent);
24
+ }
25
+ const getQueryArgs = (args, ctx)=>{
26
+ var _ref;
27
+ const { limit, orderBy, where, ...fieldQuery } = (_ref = typeof query === 'function' ? query(args, ctx) : query) !== null && _ref !== void 0 ? _ref : {};
28
+ const table = config.relations.tablesConfig[tableName];
29
+ var _ref1;
30
+ const { cursorColumns, columns, ...connectionQuery } = (0, _cursors.drizzleCursorConnectionQuery)({
31
+ ctx,
32
+ maxSize,
33
+ defaultSize: typeof defaultSize === 'function' ? defaultSize(args, ctx) : defaultSize,
34
+ args,
35
+ orderBy: (_ref1 = typeof orderBy === 'function' ? orderBy(table) : orderBy) !== null && _ref1 !== void 0 ? _ref1 : (0, _config.getSchemaConfig)(builder).getPrimaryKey(tableName),
36
+ where,
37
+ config,
38
+ table
39
+ });
40
+ return {
41
+ select: {
42
+ ...fieldQuery,
43
+ ...connectionQuery,
44
+ columns: {
45
+ ...fieldQuery.columns,
46
+ ...columns
47
+ },
48
+ limit: Math.abs(limit !== null && limit !== void 0 ? limit : connectionQuery.limit)
49
+ },
50
+ cursorColumns
51
+ };
52
+ };
53
+ function getQuery(args, ctx, nestedSelectionOrInfo) {
54
+ var _builder_options_drizzle;
55
+ const nestedSelection = typeof nestedSelectionOrInfo === 'function' ? nestedSelectionOrInfo : (select, path)=>(0, _mapquery.queryFromInfo)({
56
+ info: nestedSelectionOrInfo,
57
+ context: ctx,
58
+ config,
59
+ select,
60
+ path
61
+ });
62
+ const nestedSelect = select ? select((sel)=>nestedSelection(sel, [
63
+ 'edges',
64
+ 'node'
65
+ ]), args, ctx) : nestedSelection(true, [
66
+ 'edges',
67
+ 'node'
68
+ ]);
69
+ const queryArgs = getQueryArgs(args, ctx);
70
+ var _builder_options_drizzle_skipDeferredFragments;
71
+ const selectState = (0, _selections.createState)(config.relations.tablesConfig[tableName], (_builder_options_drizzle_skipDeferredFragments = (_builder_options_drizzle = builder.options.drizzle) === null || _builder_options_drizzle === void 0 ? void 0 : _builder_options_drizzle.skipDeferredFragments) !== null && _builder_options_drizzle_skipDeferredFragments !== void 0 ? _builder_options_drizzle_skipDeferredFragments : true);
72
+ (0, _selections.mergeSelection)(config, selectState, queryArgs.select);
73
+ if (typeof nestedSelect === 'object' && nestedSelect) {
74
+ (0, _selections.mergeSelection)(config, selectState, nestedSelect);
75
+ }
76
+ const baseQuery = typeof query === 'function' ? query(args, ctx) : query !== null && query !== void 0 ? query : {};
77
+ const queryResult = (0, _selections.selectionToQuery)(config, selectState);
78
+ return {
79
+ ...baseQuery,
80
+ ...queryResult
81
+ };
82
+ }
83
+ const getArgs = ()=>createArgs ? builder.args(createArgs) : {};
84
+ return {
85
+ ref: typeof refOrType === 'string' ? (0, _refs.getRefFromModel)(refOrType, builder) : refOrType,
86
+ resolve,
87
+ select: select !== null && select !== void 0 ? select : {},
88
+ getQuery,
89
+ getArgs
90
+ };
91
+ }
92
+
93
+ //# sourceMappingURL=connection-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/connection-helpers.ts"],"names":["drizzleConnectionHelpers","builder","refOrType","select","resolveNode","query","args","createArgs","maxSize","options","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","config","getSchemaConfig","tableName","resolve","list","ctx","parent","cursorColumns","getQueryArgs","formatCursor","getCursorFormatter","wrapConnectionResult","limit","edge","orderBy","where","fieldQuery","table","relations","tablesConfig","columns","connectionQuery","drizzleCursorConnectionQuery","getPrimaryKey","Math","abs","getQuery","nestedSelectionOrInfo","nestedSelection","path","queryFromInfo","info","context","nestedSelect","sel","queryArgs","selectState","createState","skipDeferredFragments","mergeSelection","baseQuery","queryResult","selectionToQuery","getArgs","ref","getRefFromModel"],"mappings":"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"}
@@ -28,12 +28,14 @@ function _define_property(obj, key, value) {
28
28
  }
29
29
  // Workaround for FieldKind not being extended on Builder classes
30
30
  const RootBuilder = _core.RootFieldBuilder;
31
- const ops = (0, _drizzleorm.getOperators)();
32
31
  class DrizzleObjectFieldBuilder extends RootBuilder {
33
32
  variant(variant, ...allArgs) {
34
33
  const [{ isNull, nullable, ...options } = {}] = allArgs;
35
34
  const ref = typeof variant === 'string' ? (0, _refs.getRefFromModel)(variant, this.builder) : variant;
36
- const selfSelect = (_args, _context, nestedQuery)=>nestedQuery({});
35
+ const selfSelect = (_args, _context, nestedQuery)=>{
36
+ var _options_select;
37
+ return nestedQuery((_options_select = options.select) !== null && _options_select !== void 0 ? _options_select : {});
38
+ };
37
39
  return this.field({
38
40
  ...options,
39
41
  type: ref,
@@ -55,16 +57,18 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
55
57
  });
56
58
  }
57
59
  relation(name, ...allArgs) {
58
- var _schemaConfig_schema;
60
+ var _schemaConfig_relations_tablesConfig;
59
61
  const [options = {}] = allArgs;
60
62
  const schemaConfig = (0, _config.getSchemaConfig)(this.builder);
61
- const relationField = (_schemaConfig_schema = schemaConfig.schema) === null || _schemaConfig_schema === void 0 ? void 0 : _schemaConfig_schema[this.table].relations[name];
62
- const relatedModel = schemaConfig.dbToSchema[relationField === null || relationField === void 0 ? void 0 : relationField.referencedTableName];
63
+ const relationField = (_schemaConfig_relations_tablesConfig = schemaConfig.relations.tablesConfig) === null || _schemaConfig_relations_tablesConfig === void 0 ? void 0 : _schemaConfig_relations_tablesConfig[this.table].relations[name];
64
+ const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relationField.targetTable);
65
+ const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
66
+ const relatedModel = schemaConfig.relations.tables[tableName];
63
67
  if (!relatedModel) {
64
68
  throw new _core.PothosSchemaError(`Could not find relation ${name} on table ${this.table}`);
65
69
  }
66
70
  var _options_type;
67
- const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(relatedModel.tsName, this.builder);
71
+ const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(tableName, this.builder);
68
72
  const { query = {}, extensions, ...rest } = options;
69
73
  const relationSelect = (args, context, nestedQuery)=>{
70
74
  const relQuery = {
@@ -93,7 +97,7 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
93
97
  expose(...args) {
94
98
  var _typeConfig_extensions;
95
99
  const [name, options = {}] = args;
96
- const typeConfig = this.builder.configStore.getTypeConfig(this.typename, 'Object');
100
+ const typeConfig = this.builder.configStore.getTypeConfig(this.typename, this.graphqlKind);
97
101
  const usingSelect = !!((_typeConfig_extensions = typeConfig.extensions) === null || _typeConfig_extensions === void 0 ? void 0 : _typeConfig_extensions.pothosDrizzleSelect);
98
102
  return this.exposeField(name, {
99
103
  ...options,
@@ -130,26 +134,33 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
130
134
  ])), _define_property(this, "exposeStringList", this.createExpose([
131
135
  'String'
132
136
  ])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, query, resolve, extensions, description, ...options } = {}, connectionOptions = {}, edgeOptions = {}) {
133
- var _schemaConfig_schema;
137
+ var _schemaConfig_relations_tablesConfig;
134
138
  const schemaConfig = (0, _config.getSchemaConfig)(this.builder);
135
- const relationField = (_schemaConfig_schema = schemaConfig.schema) === null || _schemaConfig_schema === void 0 ? void 0 : _schemaConfig_schema[this.table].relations[name];
136
- const relatedModel = schemaConfig.dbToSchema[relationField === null || relationField === void 0 ? void 0 : relationField.referencedTableName];
139
+ const relationField = (_schemaConfig_relations_tablesConfig = schemaConfig.relations.tablesConfig) === null || _schemaConfig_relations_tablesConfig === void 0 ? void 0 : _schemaConfig_relations_tablesConfig[this.table].relations[name];
140
+ const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relationField.targetTable);
141
+ const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
142
+ const relatedModel = schemaConfig.relations.tables[tableName];
137
143
  if (!relatedModel) {
138
144
  throw new _core.PothosSchemaError(`Could not find relation ${name} on table ${this.table}`);
139
145
  }
140
146
  var _options_type;
141
- const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(relatedModel.tsName, this.builder);
147
+ const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(tableName, this.builder);
142
148
  let typeName;
143
149
  const getQuery = (args, ctx)=>{
144
150
  var _ref;
145
151
  const { limit, orderBy, where, ...fieldQuery } = (_ref = typeof query === 'function' ? query(args, ctx) : query) !== null && _ref !== void 0 ? _ref : {};
152
+ const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relatedModel);
153
+ const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
154
+ var _ref1;
146
155
  const { cursorColumns, columns, ...connectionQuery } = (0, _cursors.drizzleCursorConnectionQuery)({
147
156
  ctx,
148
157
  maxSize,
149
158
  defaultSize,
150
159
  args,
151
- orderBy: orderBy ? typeof orderBy === 'function' ? orderBy(relatedModel.columns) : orderBy : relatedModel.primaryKey,
152
- where: where ? typeof where === 'function' ? where(relatedModel.columns, ops) : where : undefined
160
+ orderBy: (_ref1 = typeof orderBy === 'function' ? orderBy(relatedModel) : orderBy) !== null && _ref1 !== void 0 ? _ref1 : (0, _config.getSchemaConfig)(this.builder).getPrimaryKey(tableName),
161
+ where,
162
+ config: schemaConfig,
163
+ table: schemaConfig.relations.tablesConfig[tableName]
153
164
  });
154
165
  return {
155
166
  select: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["DrizzleObjectFieldBuilder","RootBuilder","RootFieldBuilder","ops","getOperators","variant","allArgs","isNull","nullable","options","ref","getRefFromModel","builder","selfSelect","_args","_context","nestedQuery","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","isThenable","then","resolved","relation","name","schemaConfig","getSchemaConfig","relationField","schema","table","relations","relatedModel","dbToSchema","referencedTableName","PothosSchemaError","tsName","query","rest","relationSelect","relQuery","columns","with","Many","expose","typeConfig","configStore","getTypeConfig","typename","usingSelect","exposeField","pothosDrizzleVariant","createExpose","description","constructor","graphqlKind","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","typeName","getQuery","ctx","limit","orderBy","where","fieldQuery","cursorColumns","connectionQuery","drizzleCursorConnectionQuery","primaryKey","undefined","select","Math","abs","nested","getType","paths","fieldRef","connection","wrapConnectionResult","getCursorFormatter","ObjectRef"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["DrizzleObjectFieldBuilder","RootBuilder","RootFieldBuilder","variant","allArgs","isNull","nullable","options","ref","getRefFromModel","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","isThenable","then","resolved","relation","name","schemaConfig","getSchemaConfig","relationField","relations","tablesConfig","table","tableUniqueName","getTableUniqueName","targetTable","tableName","tableNamesMap","relatedModel","tables","PothosSchemaError","query","rest","relationSelect","relQuery","columns","with","Many","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","description","constructor","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","typeName","getQuery","ctx","limit","orderBy","where","fieldQuery","cursorColumns","connectionQuery","drizzleCursorConnectionQuery","getPrimaryKey","config","Math","abs","nested","getType","paths","fieldRef","connection","wrapConnectionResult","getCursorFormatter","ObjectRef"],"mappings":"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"}
@@ -50,13 +50,12 @@ fieldBuilderProto.drizzleFieldWithInput = function drizzleFieldWithInput({ type,
50
50
  fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, resolve, ...options }, connectionOptions = {}, edgeOptions = {}) {
51
51
  const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this.builder) : type;
52
52
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
53
+ const tableName = typeof type === 'string' ? type : ref.tableName;
53
54
  const fieldRef = this.connection({
54
55
  ...options,
55
56
  type: ref,
56
57
  resolve: (parent, args, context, info)=>{
57
- var _getSchemaConfig_schema;
58
- const drizzleModel = (_getSchemaConfig_schema = (0, _config.getSchemaConfig)(this.builder).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[typeof type === 'string' ? type : ref.tableName];
59
- return (0, _cursors.resolveDrizzleCursorConnection)(drizzleModel, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
58
+ return (0, _cursors.resolveDrizzleCursorConnection)(tableName, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
60
59
  ctx: context,
61
60
  maxSize,
62
61
  defaultSize,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","fieldRef","connection","drizzleModel","schema","tableName","resolveDrizzleCursorConnection","ctx","q","ObjectRef","extensions"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","tableName","fieldRef","connection","resolveDrizzleCursorConnection","ctx","q","ObjectRef","extensions"],"mappings":"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"}