@pothos/plugin-drizzle 0.0.1

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 (179) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +6 -0
  3. package/README.md +437 -0
  4. package/TODO.md +21 -0
  5. package/drizzle/meta/_journal.json +1 -0
  6. package/drizzle.config.ts +10 -0
  7. package/dts/drizzle-field-builder.d.ts +124 -0
  8. package/dts/drizzle-field-builder.d.ts.map +1 -0
  9. package/dts/field-builder.d.ts +2 -0
  10. package/dts/field-builder.d.ts.map +1 -0
  11. package/dts/global-types.d.ts +92 -0
  12. package/dts/global-types.d.ts.map +1 -0
  13. package/dts/index.d.ts +13 -0
  14. package/dts/index.d.ts.map +1 -0
  15. package/dts/interface-ref.d.ts +9 -0
  16. package/dts/interface-ref.d.ts.map +1 -0
  17. package/dts/model-loader.d.ts +44 -0
  18. package/dts/model-loader.d.ts.map +1 -0
  19. package/dts/node-ref.d.ts +5 -0
  20. package/dts/node-ref.d.ts.map +1 -0
  21. package/dts/object-ref.d.ts +14 -0
  22. package/dts/object-ref.d.ts.map +1 -0
  23. package/dts/schema-builder.d.ts +2 -0
  24. package/dts/schema-builder.d.ts.map +1 -0
  25. package/dts/types.d.ts +147 -0
  26. package/dts/types.d.ts.map +1 -0
  27. package/dts/utils/config.d.ts +7 -0
  28. package/dts/utils/config.d.ts.map +1 -0
  29. package/dts/utils/cursors.d.ts +58 -0
  30. package/dts/utils/cursors.d.ts.map +1 -0
  31. package/dts/utils/deep-equal.d.ts +2 -0
  32. package/dts/utils/deep-equal.d.ts.map +1 -0
  33. package/dts/utils/drizzle-graphql.d.ts +18 -0
  34. package/dts/utils/drizzle-graphql.d.ts.map +1 -0
  35. package/dts/utils/loader-map.d.ts +11 -0
  36. package/dts/utils/loader-map.d.ts.map +1 -0
  37. package/dts/utils/map-query.d.ts +30 -0
  38. package/dts/utils/map-query.d.ts.map +1 -0
  39. package/dts/utils/refs.d.ts +5 -0
  40. package/dts/utils/refs.d.ts.map +1 -0
  41. package/dts/utils/selections.d.ts +22 -0
  42. package/dts/utils/selections.d.ts.map +1 -0
  43. package/dts/utils/usage.d.ts +5 -0
  44. package/dts/utils/usage.d.ts.map +1 -0
  45. package/esm/drizzle-field-builder.d.ts +216 -0
  46. package/esm/drizzle-field-builder.d.ts.map +1 -0
  47. package/esm/field-builder.d.ts +2 -0
  48. package/esm/field-builder.d.ts.map +1 -0
  49. package/esm/global-types.d.ts +124 -0
  50. package/esm/global-types.d.ts.map +1 -0
  51. package/esm/index.d.ts +13 -0
  52. package/esm/index.d.ts.map +1 -0
  53. package/esm/interface-ref.d.ts +9 -0
  54. package/esm/interface-ref.d.ts.map +1 -0
  55. package/esm/model-loader.d.ts +45 -0
  56. package/esm/model-loader.d.ts.map +1 -0
  57. package/esm/node-ref.d.ts +5 -0
  58. package/esm/node-ref.d.ts.map +1 -0
  59. package/esm/object-ref.d.ts +14 -0
  60. package/esm/object-ref.d.ts.map +1 -0
  61. package/esm/package.json +3 -0
  62. package/esm/schema-builder.d.ts +2 -0
  63. package/esm/schema-builder.d.ts.map +1 -0
  64. package/esm/src/drizzle-field-builder.js +215 -0
  65. package/esm/src/drizzle-field-builder.js.map +1 -0
  66. package/esm/src/field-builder.js +77 -0
  67. package/esm/src/field-builder.js.map +1 -0
  68. package/esm/src/global-types.js +2 -0
  69. package/esm/src/global-types.js.map +1 -0
  70. package/esm/src/index.js +107 -0
  71. package/esm/src/index.js.map +1 -0
  72. package/esm/src/interface-ref.js +26 -0
  73. package/esm/src/interface-ref.js.map +1 -0
  74. package/esm/src/model-loader.js +168 -0
  75. package/esm/src/model-loader.js.map +1 -0
  76. package/esm/src/node-ref.js +4 -0
  77. package/esm/src/node-ref.js.map +1 -0
  78. package/esm/src/object-ref.js +38 -0
  79. package/esm/src/object-ref.js.map +1 -0
  80. package/esm/src/schema-builder.js +190 -0
  81. package/esm/src/schema-builder.js.map +1 -0
  82. package/esm/src/types.js +2 -0
  83. package/esm/src/types.js.map +1 -0
  84. package/esm/src/utils/config.js +15 -0
  85. package/esm/src/utils/config.js.map +1 -0
  86. package/esm/src/utils/cursors.js +316 -0
  87. package/esm/src/utils/cursors.js.map +1 -0
  88. package/esm/src/utils/deep-equal.js +44 -0
  89. package/esm/src/utils/deep-equal.js.map +1 -0
  90. package/esm/src/utils/drizzle-graphql.js +176 -0
  91. package/esm/src/utils/drizzle-graphql.js.map +1 -0
  92. package/esm/src/utils/loader-map.js +35 -0
  93. package/esm/src/utils/loader-map.js.map +1 -0
  94. package/esm/src/utils/map-query.js +284 -0
  95. package/esm/src/utils/map-query.js.map +1 -0
  96. package/esm/src/utils/refs.js +14 -0
  97. package/esm/src/utils/refs.js.map +1 -0
  98. package/esm/src/utils/selections.js +136 -0
  99. package/esm/src/utils/selections.js.map +1 -0
  100. package/esm/src/utils/usage.js +59 -0
  101. package/esm/src/utils/usage.js.map +1 -0
  102. package/esm/types.d.ts +161 -0
  103. package/esm/types.d.ts.map +1 -0
  104. package/esm/utils/config.d.ts +7 -0
  105. package/esm/utils/config.d.ts.map +1 -0
  106. package/esm/utils/cursors.d.ts +58 -0
  107. package/esm/utils/cursors.d.ts.map +1 -0
  108. package/esm/utils/deep-equal.d.ts +2 -0
  109. package/esm/utils/deep-equal.d.ts.map +1 -0
  110. package/esm/utils/drizzle-graphql.d.ts +18 -0
  111. package/esm/utils/drizzle-graphql.d.ts.map +1 -0
  112. package/esm/utils/loader-map.d.ts +11 -0
  113. package/esm/utils/loader-map.d.ts.map +1 -0
  114. package/esm/utils/map-query.d.ts +30 -0
  115. package/esm/utils/map-query.d.ts.map +1 -0
  116. package/esm/utils/refs.d.ts +5 -0
  117. package/esm/utils/refs.d.ts.map +1 -0
  118. package/esm/utils/selections.d.ts +22 -0
  119. package/esm/utils/selections.d.ts.map +1 -0
  120. package/esm/utils/usage.d.ts +5 -0
  121. package/esm/utils/usage.d.ts.map +1 -0
  122. package/lib/src/drizzle-field-builder.js +225 -0
  123. package/lib/src/drizzle-field-builder.js.map +1 -0
  124. package/lib/src/field-builder.js +82 -0
  125. package/lib/src/field-builder.js.map +1 -0
  126. package/lib/src/global-types.js +6 -0
  127. package/lib/src/global-types.js.map +1 -0
  128. package/lib/src/index.js +180 -0
  129. package/lib/src/index.js.map +1 -0
  130. package/lib/src/interface-ref.js +36 -0
  131. package/lib/src/interface-ref.js.map +1 -0
  132. package/lib/src/model-loader.js +176 -0
  133. package/lib/src/model-loader.js.map +1 -0
  134. package/lib/src/node-ref.js +15 -0
  135. package/lib/src/node-ref.js.map +1 -0
  136. package/lib/src/object-ref.js +56 -0
  137. package/lib/src/object-ref.js.map +1 -0
  138. package/lib/src/schema-builder.js +236 -0
  139. package/lib/src/schema-builder.js.map +1 -0
  140. package/lib/src/types.js +13 -0
  141. package/lib/src/types.js.map +1 -0
  142. package/lib/src/utils/config.js +26 -0
  143. package/lib/src/utils/config.js.map +1 -0
  144. package/lib/src/utils/cursors.js +362 -0
  145. package/lib/src/utils/cursors.js.map +1 -0
  146. package/lib/src/utils/deep-equal.js +55 -0
  147. package/lib/src/utils/deep-equal.js.map +1 -0
  148. package/lib/src/utils/drizzle-graphql.js +192 -0
  149. package/lib/src/utils/drizzle-graphql.js.map +1 -0
  150. package/lib/src/utils/loader-map.js +57 -0
  151. package/lib/src/utils/loader-map.js.map +1 -0
  152. package/lib/src/utils/map-query.js +308 -0
  153. package/lib/src/utils/map-query.js.map +1 -0
  154. package/lib/src/utils/refs.js +33 -0
  155. package/lib/src/utils/refs.js.map +1 -0
  156. package/lib/src/utils/selections.js +163 -0
  157. package/lib/src/utils/selections.js.map +1 -0
  158. package/lib/src/utils/usage.js +84 -0
  159. package/lib/src/utils/usage.js.map +1 -0
  160. package/package.json +66 -0
  161. package/src/drizzle-field-builder.ts +500 -0
  162. package/src/field-builder.ts +168 -0
  163. package/src/global-types.ts +481 -0
  164. package/src/index.ts +175 -0
  165. package/src/interface-ref.ts +24 -0
  166. package/src/model-loader.ts +235 -0
  167. package/src/node-ref.ts +8 -0
  168. package/src/object-ref.ts +51 -0
  169. package/src/schema-builder.ts +299 -0
  170. package/src/types.ts +640 -0
  171. package/src/utils/config.ts +28 -0
  172. package/src/utils/cursors.ts +446 -0
  173. package/src/utils/deep-equal.ts +58 -0
  174. package/src/utils/drizzle-graphql.ts +235 -0
  175. package/src/utils/loader-map.ts +51 -0
  176. package/src/utils/map-query.ts +582 -0
  177. package/src/utils/refs.ts +25 -0
  178. package/src/utils/selections.ts +209 -0
  179. package/src/utils/usage.ts +64 -0
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "ModelLoader", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ModelLoader;
9
+ }
10
+ });
11
+ const _drizzleorm = require("drizzle-orm");
12
+ const _core = require("@pothos/core");
13
+ const _loadermap = require("./utils/loader-map");
14
+ const _mapquery = require("./utils/map-query");
15
+ const _selections = require("./utils/selections");
16
+ const _config = require("./utils/config");
17
+ function _define_property(obj, key, value) {
18
+ if (key in obj) {
19
+ Object.defineProperty(obj, key, {
20
+ value: value,
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true
24
+ });
25
+ } else {
26
+ obj[key] = value;
27
+ }
28
+ return obj;
29
+ }
30
+ class ModelLoader {
31
+ static forModel(modelName, builder, columns) {
32
+ return (0, _core.createContextCache)((model)=>new ModelLoader(model, builder, modelName, columns));
33
+ }
34
+ sqlForModel(model) {
35
+ const values = this.columns.map((key)=>{
36
+ const columnName = key.name;
37
+ if (columnName in model) {
38
+ return model[columnName];
39
+ }
40
+ throw new Error(`Primary key column ${columnName} not found on ${this.modelName}`);
41
+ });
42
+ return this.columns.length > 1 ? values : values[0];
43
+ }
44
+ getSelection(info) {
45
+ const key = (0, _loadermap.cacheKey)(info.parentType.name, info.path);
46
+ if (!this.queryCache.has(key)) {
47
+ const selection = (0, _mapquery.selectionStateFromInfo)(this.config, this.context, info);
48
+ this.queryCache.set(key, {
49
+ selection,
50
+ query: (0, _selections.selectionToQuery)(selection)
51
+ });
52
+ }
53
+ return this.queryCache.get(key);
54
+ }
55
+ getSelectionForField(info, typeName) {
56
+ const key = (0, _loadermap.cacheKey)(typeName, info.path);
57
+ if (!this.queryCache.has(key)) {
58
+ const selection = (0, _mapquery.stateFromInfo)({
59
+ config: this.config,
60
+ context: this.context,
61
+ info,
62
+ typeName
63
+ });
64
+ this.queryCache.set(key, {
65
+ selection,
66
+ query: (0, _selections.selectionToQuery)(selection)
67
+ });
68
+ }
69
+ return this.queryCache.get(key);
70
+ }
71
+ async loadSelection(info, model) {
72
+ const { selection, query } = this.getSelection(info);
73
+ const result = await this.stageQuery(selection, query, model);
74
+ if (result) {
75
+ const mappings = selection.mappings[info.path.key];
76
+ if (mappings) {
77
+ (0, _loadermap.setLoaderMappings)(this.context, info, mappings.mappings);
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ async loadSelectionForField(info, model, returnType) {
83
+ const { selection, query } = this.getSelectionForField(info, returnType);
84
+ const result = await this.stageQuery(selection, query, model);
85
+ if (result) {
86
+ (0, _loadermap.setLoaderMappings)(this.context, info, selection.mappings);
87
+ }
88
+ return result;
89
+ }
90
+ async stageQuery(selection, query, model) {
91
+ for (const entry of this.staged){
92
+ if ((0, _selections.selectionCompatible)(entry.state, query)) {
93
+ (0, _selections.mergeSelection)(this.config, entry.state, query);
94
+ if (!entry.models.has(model)) {
95
+ entry.models.set(model, createResolvablePromise());
96
+ }
97
+ return entry.models.get(model).promise;
98
+ }
99
+ }
100
+ return this.initLoad(selection, model);
101
+ }
102
+ initLoad(selection, model) {
103
+ const promise = createResolvablePromise();
104
+ const entry = {
105
+ state: selection,
106
+ models: new Map([
107
+ [
108
+ model,
109
+ promise
110
+ ]
111
+ ])
112
+ };
113
+ this.staged.add(entry);
114
+ const nextTick = createResolvablePromise();
115
+ nextTick.promise.then(()=>{
116
+ const api = this.builder.options.drizzle.client.query[this.modelName];
117
+ const query = api.findMany({
118
+ ...(0, _selections.selectionToQuery)(selection),
119
+ where: (0, _drizzleorm.inArray)(this.selectSQL, [
120
+ entry.models.keys()
121
+ ].map(([model])=>this.sqlForModel(model)))
122
+ });
123
+ query.then((results)=>{
124
+ for (const [model, promise] of entry.models.entries()){
125
+ const result = results.find((row)=>this.table.primaryKey.every((key)=>row[key.name] === model[key.name]));
126
+ if (result) {
127
+ promise.resolve(result !== null && result !== void 0 ? result : null);
128
+ } else promise.reject(new Error(`Model ${this.modelName}(${this.sqlForModel(model)}) not found`));
129
+ }
130
+ }, (err)=>{
131
+ for (const promise of entry.models.values()){
132
+ promise.reject(err);
133
+ }
134
+ });
135
+ }).catch((err)=>{
136
+ for (const promise of entry.models.values()){
137
+ promise.reject(err);
138
+ }
139
+ });
140
+ setTimeout(()=>void nextTick.resolve(), 0);
141
+ return promise.promise;
142
+ }
143
+ constructor(context, builder, modelName, columns){
144
+ _define_property(this, "context", void 0);
145
+ _define_property(this, "builder", void 0);
146
+ _define_property(this, "modelName", void 0);
147
+ _define_property(this, "queryCache", new Map());
148
+ _define_property(this, "staged", new Set());
149
+ _define_property(this, "config", void 0);
150
+ _define_property(this, "table", void 0);
151
+ _define_property(this, "columns", void 0);
152
+ _define_property(this, "selectSQL", void 0);
153
+ this.context = context;
154
+ this.builder = builder;
155
+ this.modelName = modelName;
156
+ this.config = (0, _config.getSchemaConfig)(builder);
157
+ this.table = this.config.schema[modelName];
158
+ this.columns = columns !== null && columns !== void 0 ? columns : this.table.primaryKey;
159
+ this.selectSQL = this.columns.length > 1 ? (0, _drizzleorm.sql)`(${_drizzleorm.sql.join(this.columns, (0, _drizzleorm.sql)`, `)})` : this.columns[0].getSQL();
160
+ }
161
+ }
162
+ function createResolvablePromise() {
163
+ let resolveFn;
164
+ let rejectFn;
165
+ const promise = new Promise((resolve, reject)=>{
166
+ resolveFn = resolve;
167
+ rejectFn = reject;
168
+ });
169
+ return {
170
+ promise,
171
+ resolve: resolveFn,
172
+ reject: rejectFn
173
+ };
174
+ }
175
+
176
+ //# sourceMappingURL=model-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/model-loader.ts"],"names":["ModelLoader","forModel","modelName","builder","columns","createContextCache","model","sqlForModel","values","map","key","columnName","name","Error","length","getSelection","info","cacheKey","parentType","path","queryCache","has","selection","selectionStateFromInfo","config","context","set","query","selectionToQuery","get","getSelectionForField","typeName","stateFromInfo","loadSelection","result","stageQuery","mappings","setLoaderMappings","loadSelectionForField","returnType","entry","staged","selectionCompatible","state","mergeSelection","models","createResolvablePromise","promise","initLoad","Map","add","nextTick","then","api","options","drizzle","client","findMany","where","inArray","selectSQL","keys","results","entries","find","row","table","primaryKey","every","resolve","reject","err","catch","setTimeout","constructor","Set","getSchemaConfig","schema","sql","join","getSQL","resolveFn","rejectFn","Promise"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "DrizzleNodeRef", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return DrizzleNodeRef;
9
+ }
10
+ });
11
+ const _objectref = require("./object-ref");
12
+ class DrizzleNodeRef extends _objectref.DrizzleObjectRef {
13
+ }
14
+
15
+ //# sourceMappingURL=node-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/node-ref.ts"],"names":["DrizzleNodeRef","DrizzleObjectRef"],"mappings":";;;;+BAGaA;;;eAAAA;;;2BAFoB;AAE1B,MAAMA,uBAIHC,2BAAgB;AAAmB"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ DrizzleObjectRef: function() {
13
+ return DrizzleObjectRef;
14
+ },
15
+ drizzleTableKey: function() {
16
+ return drizzleTableKey;
17
+ }
18
+ });
19
+ const _core = require("@pothos/core");
20
+ function _define_property(obj, key, value) {
21
+ if (key in obj) {
22
+ Object.defineProperty(obj, key, {
23
+ value: value,
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true
27
+ });
28
+ } else {
29
+ obj[key] = value;
30
+ }
31
+ return obj;
32
+ }
33
+ const drizzleTableKey = Symbol.for('Pothos.drizzleTableKey');
34
+ let _drizzleTableKey = drizzleTableKey, _abstractReturnShapeKey = _core.abstractReturnShapeKey;
35
+ class DrizzleObjectRef extends _core.ObjectRef {
36
+ addBrand(value) {
37
+ if (Array.isArray(value)) {
38
+ value.forEach((val)=>void (0, _core.brandWithType)(val, this.name));
39
+ return value;
40
+ }
41
+ (0, _core.brandWithType)(value, this.name);
42
+ return value;
43
+ }
44
+ hasBrand(value) {
45
+ return typeof value === 'object' && value !== null && _core.typeBrandKey in value && value[_core.typeBrandKey] === this.name;
46
+ }
47
+ constructor(name, tableName){
48
+ super(name);
49
+ _define_property(this, _drizzleTableKey, void 0);
50
+ _define_property(this, _abstractReturnShapeKey, void 0);
51
+ _define_property(this, "tableName", void 0);
52
+ this.tableName = tableName;
53
+ }
54
+ }
55
+
56
+ //# sourceMappingURL=object-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/object-ref.ts"],"names":["DrizzleObjectRef","drizzleTableKey","Symbol","for","abstractReturnShapeKey","ObjectRef","addBrand","value","Array","isArray","forEach","val","brandWithType","name","hasBrand","typeBrandKey","constructor","tableName"],"mappings":";;;;;;;;;;;IAWaA,gBAAgB;eAAhBA;;IAFAC,eAAe;eAAfA;;;sBAHN;;;;;;;;;;;;;;AAGA,MAAMA,kBAAkBC,OAAOC,GAAG,CAAC;IAOvCF,mBAAAA,iBAEAG,0BAAAA,4BAAsB;AAPlB,MAAMJ,yBAIHK,eAAS;IAajBC,SACEC,KAAQ,EAC4D;QACpE,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxBA,MAAMG,OAAO,CAAC,CAACC,MAAQ,KAAKC,IAAAA,mBAAa,EAACD,KAAK,IAAI,CAACE,IAAI;YAExD,OAAON;QACT;QAEAK,IAAAA,mBAAa,EAACL,OAAO,IAAI,CAACM,IAAI;QAE9B,OAAON;IACT;IAEAO,SAASP,KAAc,EAAE;QACvB,OACE,OAAOA,UAAU,YACjBA,UAAU,QACVQ,kBAAY,IAAIR,SAChB,AAACA,KAAsC,CAACQ,kBAAY,CAAC,KAAK,IAAI,CAACF,IAAI;IAEvE;IA3BAG,YAAYH,IAAY,EAAEI,SAAiB,CAAE;QAC3C,KAAK,CAACJ;QAPR,uBAACZ,kBAAD,KAAA;QAEA,uBAACG,yBAAD,KAAA;QAEAa,uBAAAA,aAAAA,KAAAA;QAKE,IAAI,CAACA,SAAS,GAAGA;IACnB;AAwBF"}
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ const _core = /*#__PURE__*/ _interop_require_wildcard(require("@pothos/core"));
6
+ const _drizzlefieldbuilder = require("./drizzle-field-builder");
7
+ const _refs = require("./utils/refs");
8
+ const _objectref = require("./object-ref");
9
+ const _cursors = require("./utils/cursors");
10
+ const _noderef = require("./node-ref");
11
+ const _modelloader = require("./model-loader");
12
+ const _interfaceref = require("./interface-ref");
13
+ function _getRequireWildcardCache(nodeInterop) {
14
+ if (typeof WeakMap !== "function") return null;
15
+ var cacheBabelInterop = new WeakMap();
16
+ var cacheNodeInterop = new WeakMap();
17
+ return (_getRequireWildcardCache = function(nodeInterop) {
18
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
19
+ })(nodeInterop);
20
+ }
21
+ function _interop_require_wildcard(obj, nodeInterop) {
22
+ if (!nodeInterop && obj && obj.__esModule) {
23
+ return obj;
24
+ }
25
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
26
+ return {
27
+ default: obj
28
+ };
29
+ }
30
+ var cache = _getRequireWildcardCache(nodeInterop);
31
+ if (cache && cache.has(obj)) {
32
+ return cache.get(obj);
33
+ }
34
+ var newObj = {
35
+ __proto__: null
36
+ };
37
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
38
+ for(var key in obj){
39
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
40
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
41
+ if (desc && (desc.get || desc.set)) {
42
+ Object.defineProperty(newObj, key, desc);
43
+ } else {
44
+ newObj[key] = obj[key];
45
+ }
46
+ }
47
+ }
48
+ newObj.default = obj;
49
+ if (cache) {
50
+ cache.set(obj, newObj);
51
+ }
52
+ return newObj;
53
+ }
54
+ const schemaBuilderProto = _core.default.prototype;
55
+ schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, fields, ...options }) {
56
+ var _this_options_drizzle_client___schema;
57
+ var _options_variant, _ref;
58
+ const name = (_ref = (_options_variant = options.variant) !== null && _options_variant !== void 0 ? _options_variant : options.name) !== null && _ref !== void 0 ? _ref : table;
59
+ const ref = options.variant ? new _objectref.DrizzleObjectRef(options.variant, name) : (0, _refs.getRefFromModel)(table, this, 'object');
60
+ ref.name = name !== null && name !== void 0 ? name : table;
61
+ this.objectType(ref, {
62
+ ...options,
63
+ extensions: {
64
+ ...options.extensions,
65
+ pothosDrizzleModel: table,
66
+ pothosDrizzleTable: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table],
67
+ pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
68
+ pothosDrizzleLoader: _modelloader.ModelLoader.forModel(table, this)
69
+ },
70
+ name,
71
+ fields: fields ? ()=>fields(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(ref.name, this, table)) : undefined
72
+ });
73
+ return ref;
74
+ };
75
+ schemaBuilderProto.drizzleInterface = function drizzleInterface(table, { select, fields, ...options }) {
76
+ var _this_options_drizzle_client___schema;
77
+ var _options_name;
78
+ const name = (_options_name = options.name) !== null && _options_name !== void 0 ? _options_name : table;
79
+ const ref = options.variant ? new _interfaceref.DrizzleInterfaceRef(options.variant, name) : (0, _refs.getRefFromModel)(table, this, 'interface');
80
+ ref.name = name !== null && name !== void 0 ? name : table;
81
+ this.interfaceType(ref, {
82
+ ...options,
83
+ extensions: {
84
+ ...options.extensions,
85
+ pothosDrizzleModel: table,
86
+ pothosDrizzleTable: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table],
87
+ pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
88
+ pothosDrizzleLoader: _modelloader.ModelLoader.forModel(table, this)
89
+ },
90
+ name,
91
+ fields: fields ? ()=>fields(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(ref.name, this, table, 'Interface')) : undefined
92
+ });
93
+ return ref;
94
+ };
95
+ schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...idOptions }, name, variant, ...options }) {
96
+ var _this_nodeInterfaceRef, _this;
97
+ const tableConfig = this.options.drizzle.client._.schema[table];
98
+ const idColumn = typeof column === 'function' ? column(tableConfig.columns) : column;
99
+ const idColumns = Array.isArray(idColumn) ? idColumn : [
100
+ idColumn
101
+ ];
102
+ const interfaceRef = (_this_nodeInterfaceRef = (_this = this).nodeInterfaceRef) === null || _this_nodeInterfaceRef === void 0 ? void 0 : _this_nodeInterfaceRef.call(_this);
103
+ const resolve = (0, _cursors.getColumnSerializer)(idColumns);
104
+ const idParser = (0, _cursors.getColumnParser)(idColumns);
105
+ var _ref;
106
+ const typeName = (_ref = variant !== null && variant !== void 0 ? variant : name) !== null && _ref !== void 0 ? _ref : table;
107
+ const nodeRef = new _noderef.DrizzleNodeRef(typeName, table);
108
+ const modelLoader = _modelloader.ModelLoader.forModel(table, this, idColumns);
109
+ if (!interfaceRef) {
110
+ throw new _core.PothosError('builder.drizzleNode requires @pothos/plugin-relay to be installed');
111
+ }
112
+ const extendedOptions = {
113
+ ...options,
114
+ name,
115
+ variant,
116
+ interfaces: [
117
+ interfaceRef
118
+ ],
119
+ loadWithoutCache: async (id, context, info)=>{
120
+ const record = await modelLoader(context).loadSelectionForField(info, idParser(id), typeName);
121
+ if (record) {
122
+ (0, _core.brandWithType)(record, typeName);
123
+ }
124
+ return record;
125
+ }
126
+ };
127
+ const ref = this.drizzleObject(table, extendedOptions);
128
+ if (options.interfaces) {
129
+ ref.addInterfaces(options.interfaces);
130
+ }
131
+ this.configStore.onTypeConfig(ref, (nodeConfig)=>{
132
+ var _this_options_relayOptions;
133
+ var _this_options_relayOptions_idFieldName;
134
+ this.objectField(ref, (_this_options_relayOptions_idFieldName = (_this_options_relayOptions = this.options.relayOptions) === null || _this_options_relayOptions === void 0 ? void 0 : _this_options_relayOptions.idFieldName) !== null && _this_options_relayOptions_idFieldName !== void 0 ? _this_options_relayOptions_idFieldName : 'id', (t)=>{
135
+ var _this_options_relayOptions;
136
+ return t.globalID({
137
+ ...(_this_options_relayOptions = this.options.relayOptions) === null || _this_options_relayOptions === void 0 ? void 0 : _this_options_relayOptions.idFieldOptions,
138
+ ...idOptions,
139
+ nullable: false,
140
+ args: {},
141
+ resolve: (parent, args, context, info)=>(0, _core.completeValue)(resolve(parent), (id)=>({
142
+ type: nodeConfig.name,
143
+ id
144
+ }))
145
+ });
146
+ });
147
+ });
148
+ this.configStore.associateParamWithRef(nodeRef, ref);
149
+ return nodeRef;
150
+ };
151
+ schemaBuilderProto.drizzleObjectField = function drizzleObjectField(type, fieldName, field) {
152
+ const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this) : type;
153
+ this.configStore.onTypeConfig(ref, ({ name })=>{
154
+ this.configStore.addFields(ref, ()=>({
155
+ [fieldName]: field(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(name, this, ref.tableName))
156
+ }));
157
+ });
158
+ };
159
+ schemaBuilderProto.drizzleInterfaceField = function drizzleInterfaceField(type, fieldName, field) {
160
+ const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this) : type;
161
+ this.configStore.onTypeConfig(ref, ({ name })=>{
162
+ this.configStore.addFields(ref, ()=>({
163
+ [fieldName]: field(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(name, this, ref.tableName, 'Interface'))
164
+ }));
165
+ });
166
+ };
167
+ schemaBuilderProto.drizzleObjectFields = function drizzleObjectFields(type, fields) {
168
+ const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this) : type;
169
+ this.configStore.onTypeConfig(ref, ({ name })=>{
170
+ this.configStore.addFields(ref, ()=>fields(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(name, this, ref.tableName)));
171
+ });
172
+ };
173
+ schemaBuilderProto.drizzleInterfaceFields = function drizzleInterfaceFields(type, fields) {
174
+ const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this) : type;
175
+ this.configStore.onTypeConfig(ref, ({ name })=>{
176
+ this.configStore.addFields(ref, ()=>fields(new _drizzlefieldbuilder.DrizzleObjectFieldBuilder(name, this, ref.tableName, 'Interface')));
177
+ });
178
+ };
179
+ schemaBuilderProto.drizzleGraphQLOrderBy = function drizzleGraphQLOrderBy(table, type, options) {
180
+ var _this_options_drizzle_client___schema;
181
+ return this.addGraphQLInput(type, {
182
+ ...options,
183
+ extensions: {
184
+ ...options === null || options === void 0 ? void 0 : options.extensions,
185
+ drizzleGraphQL: {
186
+ inputType: 'orderBy',
187
+ table,
188
+ tableConfig: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table]
189
+ }
190
+ }
191
+ });
192
+ };
193
+ schemaBuilderProto.drizzleGraphQLFilters = function drizzleGraphQLFilters(table, type, options) {
194
+ var _this_options_drizzle_client___schema;
195
+ return this.addGraphQLInput(type, {
196
+ ...options,
197
+ extensions: {
198
+ ...options === null || options === void 0 ? void 0 : options.extensions,
199
+ drizzleGraphQL: {
200
+ inputType: 'filters',
201
+ table,
202
+ tableConfig: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table]
203
+ }
204
+ }
205
+ });
206
+ };
207
+ schemaBuilderProto.drizzleGraphQLInsert = function drizzleGraphQLInsert(table, type, options) {
208
+ var _this_options_drizzle_client___schema;
209
+ return this.addGraphQLInput(type, {
210
+ ...options,
211
+ extensions: {
212
+ ...options === null || options === void 0 ? void 0 : options.extensions,
213
+ drizzleGraphQL: {
214
+ inputType: 'insert',
215
+ table,
216
+ tableConfig: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table]
217
+ }
218
+ }
219
+ });
220
+ };
221
+ schemaBuilderProto.drizzleGraphQLUpdate = function drizzleGraphQLUpdate(table, type, options) {
222
+ var _this_options_drizzle_client___schema;
223
+ return this.addGraphQLInput(type, {
224
+ ...options,
225
+ extensions: {
226
+ ...options === null || options === void 0 ? void 0 : options.extensions,
227
+ drizzleGraphQL: {
228
+ inputType: 'update',
229
+ table,
230
+ tableConfig: (_this_options_drizzle_client___schema = this.options.drizzle.client._.schema) === null || _this_options_drizzle_client___schema === void 0 ? void 0 : _this_options_drizzle_client___schema[table]
231
+ }
232
+ }
233
+ });
234
+ };
235
+
236
+ //# sourceMappingURL=schema-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schema-builder.ts"],"names":["schemaBuilderProto","SchemaBuilder","prototype","drizzleObject","table","select","fields","options","name","variant","ref","DrizzleObjectRef","getRefFromModel","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","drizzle","client","_","schema","pothosDrizzleSelect","pothosDrizzleLoader","ModelLoader","forModel","DrizzleObjectFieldBuilder","undefined","drizzleInterface","DrizzleInterfaceRef","interfaceType","drizzleNode","id","column","idOptions","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","getColumnSerializer","idParser","getColumnParser","typeName","nodeRef","DrizzleNodeRef","modelLoader","PothosError","extendedOptions","interfaces","loadWithoutCache","context","info","record","loadSelectionForField","brandWithType","addInterfaces","configStore","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","parent","completeValue","type","associateParamWithRef","drizzleObjectField","fieldName","field","addFields","tableName","drizzleInterfaceField","drizzleObjectFields","drizzleInterfaceFields","drizzleGraphQLOrderBy","addGraphQLInput","drizzleGraphQL","inputType","drizzleGraphQLFilters","drizzleGraphQLInsert","drizzleGraphQLUpdate"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "drizzleTableName", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return drizzleTableName;
9
+ }
10
+ });
11
+ const drizzleTableName = Symbol.for('Pothos.drizzleTableName');
12
+
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/types.ts"],"names":["drizzleTableName","Symbol","for"],"mappings":";;;;+BAkDaA;;;eAAAA;;;AAAN,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getSchemaConfig", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getSchemaConfig;
9
+ }
10
+ });
11
+ const _core = require("@pothos/core");
12
+ const cache = (0, _core.createContextCache)((config)=>{
13
+ const dbToSchema = Object.values(config.schema).reduce((acc, table)=>{
14
+ acc[table.dbName] = table;
15
+ return acc;
16
+ }, {});
17
+ return {
18
+ dbToSchema,
19
+ ...config
20
+ };
21
+ });
22
+ function getSchemaConfig(builder) {
23
+ return cache(builder.options.drizzle.client._);
24
+ }
25
+
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/config.ts"],"names":["getSchemaConfig","cache","createContextCache","config","dbToSchema","Object","values","schema","reduce","acc","table","dbName","builder","options","drizzle","client","_"],"mappings":";;;;+BAuBgBA;;;eAAAA;;;sBAvBgC;AAMhD,MAAMC,QAAQC,IAAAA,wBAAkB,EAC9B,CAACC;IACC,MAAMC,aAAaC,OAAOC,MAAM,CAACH,OAAOI,MAAM,EAAEC,MAAM,CACpD,CAACC,KAAKC;QACJD,GAAG,CAACC,MAAMC,MAAM,CAAC,GAAGD;QACpB,OAAOD;IACT,GACA,CAAC;IAGH,OAAO;QACLL;QACA,GAAGD,MAAM;IACX;AACF;AAGK,SAASH,gBACdY,OAA+C;IAE/C,OAAOX,MAAMW,QAAQC,OAAO,CAACC,OAAO,CAACC,MAAM,CAACC,CAAC;AAC/C"}