wcz-test 6.28.0 → 7.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.
- package/dist/{FileHooks-DCznEPaA.js → FileHooks-CstZ4QII.js} +21 -20
- package/dist/{FileHooks-DCznEPaA.js.map → FileHooks-CstZ4QII.js.map} +1 -1
- package/dist/GraphQueries-BOAnio_H.js +28021 -0
- package/dist/GraphQueries-BOAnio_H.js.map +1 -0
- package/dist/auth.d.ts +14 -0
- package/dist/auth.js +38 -0
- package/dist/auth.js.map +1 -0
- package/dist/bun-sqlite-dialect-z0b9N0QU.js +143 -0
- package/dist/bun-sqlite-dialect-z0b9N0QU.js.map +1 -0
- package/dist/components.js +1 -1
- package/dist/hooks.js +1 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index-C8xwvJpf.js +159 -0
- package/dist/index-C8xwvJpf.js.map +1 -0
- package/dist/index-CbycwLQM.js +227 -0
- package/dist/index-CbycwLQM.js.map +1 -0
- package/dist/{utils-DV30kRxW.js → index-Y_pgyGkL.js} +365 -441
- package/dist/index-Y_pgyGkL.js.map +1 -0
- package/dist/index.js +567 -547
- package/dist/index.js.map +1 -1
- package/dist/node-sqlite-dialect-CfkKTzbw.js +143 -0
- package/dist/node-sqlite-dialect-CfkKTzbw.js.map +1 -0
- package/dist/queries.js +55 -54
- package/dist/queries.js.map +1 -1
- package/dist/utils-araYIHAE.js +81 -0
- package/dist/utils-araYIHAE.js.map +1 -0
- package/dist/utils.js +6 -5
- package/dist/utils.js.map +1 -1
- package/package.json +7 -3
- package/dist/utils-DV30kRxW.js.map +0 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { c as S, l as I } from "./GraphQueries-BOAnio_H.js";
|
|
2
|
+
const D = (f, R) => {
|
|
3
|
+
let w = null, j = S({
|
|
4
|
+
config: {
|
|
5
|
+
adapterId: "memory",
|
|
6
|
+
adapterName: "Memory Adapter",
|
|
7
|
+
usePlural: !1,
|
|
8
|
+
debugLogs: R?.debugLogs || !1,
|
|
9
|
+
customTransformInput(y) {
|
|
10
|
+
return (y.options.advanced?.database?.useNumberId || y.options.advanced?.database?.generateId === "serial") && y.field === "id" && y.action === "create" ? f[y.model].length + 1 : y.data;
|
|
11
|
+
},
|
|
12
|
+
transaction: async (y) => {
|
|
13
|
+
let M = structuredClone(f);
|
|
14
|
+
try {
|
|
15
|
+
return await y(j(w));
|
|
16
|
+
} catch (A) {
|
|
17
|
+
throw Object.keys(f).forEach((v) => {
|
|
18
|
+
f[v] = M[v];
|
|
19
|
+
}), A;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
adapter: ({ getFieldName: y, options: M, getModelName: A }) => {
|
|
24
|
+
const v = (e, n, c) => n ? e.sort((a, l) => {
|
|
25
|
+
const g = y({
|
|
26
|
+
model: c,
|
|
27
|
+
field: n.field
|
|
28
|
+
}), u = a[g], t = l[g];
|
|
29
|
+
let r = 0;
|
|
30
|
+
return u == null && t == null ? r = 0 : u == null ? r = -1 : t == null ? r = 1 : typeof u == "string" && typeof t == "string" ? r = u.localeCompare(t) : u instanceof Date && t instanceof Date ? r = u.getTime() - t.getTime() : typeof u == "number" && typeof t == "number" ? r = u - t : typeof u == "boolean" && typeof t == "boolean" ? r = u === t ? 0 : u ? 1 : -1 : r = String(u).localeCompare(String(t)), n.direction === "asc" ? r : -r;
|
|
31
|
+
}) : e;
|
|
32
|
+
function m(e, n, c) {
|
|
33
|
+
const a = (t, r) => {
|
|
34
|
+
const h = f[r];
|
|
35
|
+
if (!h)
|
|
36
|
+
throw I.error(`[MemoryAdapter] Model ${r} not found in the DB`, Object.keys(f)), new Error(`Model ${r} not found`);
|
|
37
|
+
const p = (o, d) => {
|
|
38
|
+
const { field: i, value: s, operator: b } = d;
|
|
39
|
+
switch (b) {
|
|
40
|
+
case "in":
|
|
41
|
+
if (!Array.isArray(s)) throw new Error("Value must be an array");
|
|
42
|
+
return s.includes(o[i]);
|
|
43
|
+
case "not_in":
|
|
44
|
+
if (!Array.isArray(s)) throw new Error("Value must be an array");
|
|
45
|
+
return !s.includes(o[i]);
|
|
46
|
+
case "contains":
|
|
47
|
+
return o[i].includes(s);
|
|
48
|
+
case "starts_with":
|
|
49
|
+
return o[i].startsWith(s);
|
|
50
|
+
case "ends_with":
|
|
51
|
+
return o[i].endsWith(s);
|
|
52
|
+
case "ne":
|
|
53
|
+
return o[i] !== s;
|
|
54
|
+
case "gt":
|
|
55
|
+
return s != null && o[i] > s;
|
|
56
|
+
case "gte":
|
|
57
|
+
return s != null && o[i] >= s;
|
|
58
|
+
case "lt":
|
|
59
|
+
return s != null && o[i] < s;
|
|
60
|
+
case "lte":
|
|
61
|
+
return s != null && o[i] <= s;
|
|
62
|
+
default:
|
|
63
|
+
return o[i] === s;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return h.filter((o) => {
|
|
67
|
+
if (!t.length || t.length === 0) return !0;
|
|
68
|
+
let d = p(o, t[0]);
|
|
69
|
+
for (const i of t) {
|
|
70
|
+
const s = p(o, i);
|
|
71
|
+
i.connector === "OR" ? d = d || s : d = d && s;
|
|
72
|
+
}
|
|
73
|
+
return d;
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
if (!c) return a(e, n);
|
|
77
|
+
const l = a(e, n), g = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map();
|
|
78
|
+
for (const t of l) {
|
|
79
|
+
const r = String(t.id);
|
|
80
|
+
if (!g.has(r)) {
|
|
81
|
+
const p = { ...t };
|
|
82
|
+
for (const [o, d] of Object.entries(c)) {
|
|
83
|
+
const i = A(o);
|
|
84
|
+
d.relation === "one-to-one" ? p[i] = null : (p[i] = [], u.set(`${r}-${o}`, /* @__PURE__ */ new Set()));
|
|
85
|
+
}
|
|
86
|
+
g.set(r, p);
|
|
87
|
+
}
|
|
88
|
+
const h = g.get(r);
|
|
89
|
+
for (const [p, o] of Object.entries(c)) {
|
|
90
|
+
const d = A(p), i = f[d];
|
|
91
|
+
if (!i)
|
|
92
|
+
throw I.error(`[MemoryAdapter] JoinOption model ${d} not found in the DB`, Object.keys(f)), new Error(`JoinOption model ${d} not found`);
|
|
93
|
+
const s = i.filter((b) => b[o.on.to] === t[o.on.from]);
|
|
94
|
+
if (o.relation === "one-to-one") h[d] = s[0] || null;
|
|
95
|
+
else {
|
|
96
|
+
const b = u.get(`${r}-${p}`), C = o.limit ?? 100;
|
|
97
|
+
let E = 0;
|
|
98
|
+
for (const O of s) {
|
|
99
|
+
if (E >= C) break;
|
|
100
|
+
b.has(O.id) || (h[d].push(O), b.add(O.id), E++);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return Array.from(g.values());
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
create: async ({ model: e, data: n }) => ((M.advanced?.database?.useNumberId || M.advanced?.database?.generateId === "serial") && (n.id = f[A(e)].length + 1), f[e] || (f[e] = []), f[e].push(n), n),
|
|
109
|
+
findOne: async ({ model: e, where: n, join: c }) => {
|
|
110
|
+
const a = m(n, e, c);
|
|
111
|
+
if (c) {
|
|
112
|
+
const l = a;
|
|
113
|
+
return l.length ? l[0] : null;
|
|
114
|
+
}
|
|
115
|
+
return a[0] || null;
|
|
116
|
+
},
|
|
117
|
+
findMany: async ({ model: e, where: n, sortBy: c, limit: a, offset: l, join: g }) => {
|
|
118
|
+
let u = m(n || [], e, g);
|
|
119
|
+
if (g) {
|
|
120
|
+
const r = u;
|
|
121
|
+
if (!r.length) return [];
|
|
122
|
+
v(r, c, e);
|
|
123
|
+
let h = r;
|
|
124
|
+
return l !== void 0 && (h = h.slice(l)), a !== void 0 && (h = h.slice(0, a)), h;
|
|
125
|
+
}
|
|
126
|
+
let t = v(u, c, e);
|
|
127
|
+
return l !== void 0 && (t = t.slice(l)), a !== void 0 && (t = t.slice(0, a)), t || [];
|
|
128
|
+
},
|
|
129
|
+
count: async ({ model: e, where: n }) => n ? m(n, e).length : f[e].length,
|
|
130
|
+
update: async ({ model: e, where: n, update: c }) => {
|
|
131
|
+
const a = m(n, e);
|
|
132
|
+
return a.forEach((l) => {
|
|
133
|
+
Object.assign(l, c);
|
|
134
|
+
}), a[0] || null;
|
|
135
|
+
},
|
|
136
|
+
delete: async ({ model: e, where: n }) => {
|
|
137
|
+
const c = f[e], a = m(n, e);
|
|
138
|
+
f[e] = c.filter((l) => !a.includes(l));
|
|
139
|
+
},
|
|
140
|
+
deleteMany: async ({ model: e, where: n }) => {
|
|
141
|
+
const c = f[e], a = m(n, e);
|
|
142
|
+
let l = 0;
|
|
143
|
+
return f[e] = c.filter((g) => a.includes(g) ? (l++, !1) : !a.includes(g)), l;
|
|
144
|
+
},
|
|
145
|
+
updateMany({ model: e, where: n, update: c }) {
|
|
146
|
+
const a = m(n, e);
|
|
147
|
+
return a.forEach((l) => {
|
|
148
|
+
Object.assign(l, c);
|
|
149
|
+
}), a[0] || null;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
return (y) => (w = y, j(y));
|
|
155
|
+
};
|
|
156
|
+
export {
|
|
157
|
+
D as memoryAdapter
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=index-C8xwvJpf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C8xwvJpf.js","sources":["../node_modules/better-auth/dist/adapters/memory-adapter/memory-adapter.mjs"],"sourcesContent":["import { logger } from \"@better-auth/core/env\";\nimport { createAdapterFactory } from \"@better-auth/core/db/adapter\";\n\n//#region src/adapters/memory-adapter/memory-adapter.ts\nconst memoryAdapter = (db, config) => {\n\tlet lazyOptions = null;\n\tlet adapterCreator = createAdapterFactory({\n\t\tconfig: {\n\t\t\tadapterId: \"memory\",\n\t\t\tadapterName: \"Memory Adapter\",\n\t\t\tusePlural: false,\n\t\t\tdebugLogs: config?.debugLogs || false,\n\t\t\tcustomTransformInput(props) {\n\t\t\t\tif ((props.options.advanced?.database?.useNumberId || props.options.advanced?.database?.generateId === \"serial\") && props.field === \"id\" && props.action === \"create\") return db[props.model].length + 1;\n\t\t\t\treturn props.data;\n\t\t\t},\n\t\t\ttransaction: async (cb) => {\n\t\t\t\tlet clone = structuredClone(db);\n\t\t\t\ttry {\n\t\t\t\t\treturn await cb(adapterCreator(lazyOptions));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tObject.keys(db).forEach((key) => {\n\t\t\t\t\t\tdb[key] = clone[key];\n\t\t\t\t\t});\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tadapter: ({ getFieldName, options, getModelName }) => {\n\t\t\tconst applySortToRecords = (records, sortBy, model) => {\n\t\t\t\tif (!sortBy) return records;\n\t\t\t\treturn records.sort((a, b) => {\n\t\t\t\t\tconst field = getFieldName({\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfield: sortBy.field\n\t\t\t\t\t});\n\t\t\t\t\tconst aValue = a[field];\n\t\t\t\t\tconst bValue = b[field];\n\t\t\t\t\tlet comparison = 0;\n\t\t\t\t\tif (aValue == null && bValue == null) comparison = 0;\n\t\t\t\t\telse if (aValue == null) comparison = -1;\n\t\t\t\t\telse if (bValue == null) comparison = 1;\n\t\t\t\t\telse if (typeof aValue === \"string\" && typeof bValue === \"string\") comparison = aValue.localeCompare(bValue);\n\t\t\t\t\telse if (aValue instanceof Date && bValue instanceof Date) comparison = aValue.getTime() - bValue.getTime();\n\t\t\t\t\telse if (typeof aValue === \"number\" && typeof bValue === \"number\") comparison = aValue - bValue;\n\t\t\t\t\telse if (typeof aValue === \"boolean\" && typeof bValue === \"boolean\") comparison = aValue === bValue ? 0 : aValue ? 1 : -1;\n\t\t\t\t\telse comparison = String(aValue).localeCompare(String(bValue));\n\t\t\t\t\treturn sortBy.direction === \"asc\" ? comparison : -comparison;\n\t\t\t\t});\n\t\t\t};\n\t\t\tfunction convertWhereClause(where, model, join) {\n\t\t\t\tconst execute = (where$1, model$1) => {\n\t\t\t\t\tconst table = db[model$1];\n\t\t\t\t\tif (!table) {\n\t\t\t\t\t\tlogger.error(`[MemoryAdapter] Model ${model$1} not found in the DB`, Object.keys(db));\n\t\t\t\t\t\tthrow new Error(`Model ${model$1} not found`);\n\t\t\t\t\t}\n\t\t\t\t\tconst evalClause = (record, clause) => {\n\t\t\t\t\t\tconst { field, value, operator } = clause;\n\t\t\t\t\t\tswitch (operator) {\n\t\t\t\t\t\t\tcase \"in\":\n\t\t\t\t\t\t\t\tif (!Array.isArray(value)) throw new Error(\"Value must be an array\");\n\t\t\t\t\t\t\t\treturn value.includes(record[field]);\n\t\t\t\t\t\t\tcase \"not_in\":\n\t\t\t\t\t\t\t\tif (!Array.isArray(value)) throw new Error(\"Value must be an array\");\n\t\t\t\t\t\t\t\treturn !value.includes(record[field]);\n\t\t\t\t\t\t\tcase \"contains\": return record[field].includes(value);\n\t\t\t\t\t\t\tcase \"starts_with\": return record[field].startsWith(value);\n\t\t\t\t\t\t\tcase \"ends_with\": return record[field].endsWith(value);\n\t\t\t\t\t\t\tcase \"ne\": return record[field] !== value;\n\t\t\t\t\t\t\tcase \"gt\": return value != null && Boolean(record[field] > value);\n\t\t\t\t\t\t\tcase \"gte\": return value != null && Boolean(record[field] >= value);\n\t\t\t\t\t\t\tcase \"lt\": return value != null && Boolean(record[field] < value);\n\t\t\t\t\t\t\tcase \"lte\": return value != null && Boolean(record[field] <= value);\n\t\t\t\t\t\t\tdefault: return record[field] === value;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\treturn table.filter((record) => {\n\t\t\t\t\t\tif (!where$1.length || where$1.length === 0) return true;\n\t\t\t\t\t\tlet result = evalClause(record, where$1[0]);\n\t\t\t\t\t\tfor (const clause of where$1) {\n\t\t\t\t\t\t\tconst clauseResult = evalClause(record, clause);\n\t\t\t\t\t\t\tif (clause.connector === \"OR\") result = result || clauseResult;\n\t\t\t\t\t\t\telse result = result && clauseResult;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tif (!join) return execute(where, model);\n\t\t\t\tconst baseRecords = execute(where, model);\n\t\t\t\tconst grouped = /* @__PURE__ */ new Map();\n\t\t\t\tconst seenIds = /* @__PURE__ */ new Map();\n\t\t\t\tfor (const baseRecord of baseRecords) {\n\t\t\t\t\tconst baseId = String(baseRecord.id);\n\t\t\t\t\tif (!grouped.has(baseId)) {\n\t\t\t\t\t\tconst nested = { ...baseRecord };\n\t\t\t\t\t\tfor (const [joinModel, joinAttr] of Object.entries(join)) {\n\t\t\t\t\t\t\tconst joinModelName = getModelName(joinModel);\n\t\t\t\t\t\t\tif (joinAttr.relation === \"one-to-one\") nested[joinModelName] = null;\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tnested[joinModelName] = [];\n\t\t\t\t\t\t\t\tseenIds.set(`${baseId}-${joinModel}`, /* @__PURE__ */ new Set());\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgrouped.set(baseId, nested);\n\t\t\t\t\t}\n\t\t\t\t\tconst nestedEntry = grouped.get(baseId);\n\t\t\t\t\tfor (const [joinModel, joinAttr] of Object.entries(join)) {\n\t\t\t\t\t\tconst joinModelName = getModelName(joinModel);\n\t\t\t\t\t\tconst joinTable = db[joinModelName];\n\t\t\t\t\t\tif (!joinTable) {\n\t\t\t\t\t\t\tlogger.error(`[MemoryAdapter] JoinOption model ${joinModelName} not found in the DB`, Object.keys(db));\n\t\t\t\t\t\t\tthrow new Error(`JoinOption model ${joinModelName} not found`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst matchingRecords = joinTable.filter((joinRecord) => joinRecord[joinAttr.on.to] === baseRecord[joinAttr.on.from]);\n\t\t\t\t\t\tif (joinAttr.relation === \"one-to-one\") nestedEntry[joinModelName] = matchingRecords[0] || null;\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconst seenSet = seenIds.get(`${baseId}-${joinModel}`);\n\t\t\t\t\t\t\tconst limit = joinAttr.limit ?? 100;\n\t\t\t\t\t\t\tlet count = 0;\n\t\t\t\t\t\t\tfor (const matchingRecord of matchingRecords) {\n\t\t\t\t\t\t\t\tif (count >= limit) break;\n\t\t\t\t\t\t\t\tif (!seenSet.has(matchingRecord.id)) {\n\t\t\t\t\t\t\t\t\tnestedEntry[joinModelName].push(matchingRecord);\n\t\t\t\t\t\t\t\t\tseenSet.add(matchingRecord.id);\n\t\t\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn Array.from(grouped.values());\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tcreate: async ({ model, data }) => {\n\t\t\t\t\tif (options.advanced?.database?.useNumberId || options.advanced?.database?.generateId === \"serial\") data.id = db[getModelName(model)].length + 1;\n\t\t\t\t\tif (!db[model]) db[model] = [];\n\t\t\t\t\tdb[model].push(data);\n\t\t\t\t\treturn data;\n\t\t\t\t},\n\t\t\t\tfindOne: async ({ model, where, join }) => {\n\t\t\t\t\tconst res = convertWhereClause(where, model, join);\n\t\t\t\t\tif (join) {\n\t\t\t\t\t\tconst resArray = res;\n\t\t\t\t\t\tif (!resArray.length) return null;\n\t\t\t\t\t\treturn resArray[0];\n\t\t\t\t\t}\n\t\t\t\t\treturn res[0] || null;\n\t\t\t\t},\n\t\t\t\tfindMany: async ({ model, where, sortBy, limit, offset, join }) => {\n\t\t\t\t\tlet res = convertWhereClause(where || [], model, join);\n\t\t\t\t\tif (join) {\n\t\t\t\t\t\tconst resArray = res;\n\t\t\t\t\t\tif (!resArray.length) return [];\n\t\t\t\t\t\tapplySortToRecords(resArray, sortBy, model);\n\t\t\t\t\t\tlet paginatedRecords = resArray;\n\t\t\t\t\t\tif (offset !== void 0) paginatedRecords = paginatedRecords.slice(offset);\n\t\t\t\t\t\tif (limit !== void 0) paginatedRecords = paginatedRecords.slice(0, limit);\n\t\t\t\t\t\treturn paginatedRecords;\n\t\t\t\t\t}\n\t\t\t\t\tlet table = applySortToRecords(res, sortBy, model);\n\t\t\t\t\tif (offset !== void 0) table = table.slice(offset);\n\t\t\t\t\tif (limit !== void 0) table = table.slice(0, limit);\n\t\t\t\t\treturn table || [];\n\t\t\t\t},\n\t\t\t\tcount: async ({ model, where }) => {\n\t\t\t\t\tif (where) return convertWhereClause(where, model).length;\n\t\t\t\t\treturn db[model].length;\n\t\t\t\t},\n\t\t\t\tupdate: async ({ model, where, update }) => {\n\t\t\t\t\tconst res = convertWhereClause(where, model);\n\t\t\t\t\tres.forEach((record) => {\n\t\t\t\t\t\tObject.assign(record, update);\n\t\t\t\t\t});\n\t\t\t\t\treturn res[0] || null;\n\t\t\t\t},\n\t\t\t\tdelete: async ({ model, where }) => {\n\t\t\t\t\tconst table = db[model];\n\t\t\t\t\tconst res = convertWhereClause(where, model);\n\t\t\t\t\tdb[model] = table.filter((record) => !res.includes(record));\n\t\t\t\t},\n\t\t\t\tdeleteMany: async ({ model, where }) => {\n\t\t\t\t\tconst table = db[model];\n\t\t\t\t\tconst res = convertWhereClause(where, model);\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\tdb[model] = table.filter((record) => {\n\t\t\t\t\t\tif (res.includes(record)) {\n\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn !res.includes(record);\n\t\t\t\t\t});\n\t\t\t\t\treturn count;\n\t\t\t\t},\n\t\t\t\tupdateMany({ model, where, update }) {\n\t\t\t\t\tconst res = convertWhereClause(where, model);\n\t\t\t\t\tres.forEach((record) => {\n\t\t\t\t\t\tObject.assign(record, update);\n\t\t\t\t\t});\n\t\t\t\t\treturn res[0] || null;\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t});\n\treturn (options) => {\n\t\tlazyOptions = options;\n\t\treturn adapterCreator(options);\n\t};\n};\n\n//#endregion\nexport { memoryAdapter };\n//# sourceMappingURL=memory-adapter.mjs.map"],"names":["memoryAdapter","db","config","lazyOptions","adapterCreator","createAdapterFactory","props","cb","clone","error","key","getFieldName","options","getModelName","applySortToRecords","records","sortBy","model","b","field","aValue","bValue","comparison","convertWhereClause","where","join","execute","where$1","model$1","table","logger","evalClause","record","clause","value","operator","result","clauseResult","baseRecords","grouped","seenIds","baseRecord","baseId","nested","joinModel","joinAttr","joinModelName","nestedEntry","joinTable","matchingRecords","joinRecord","seenSet","limit","count","matchingRecord","data","res","resArray","offset","paginatedRecords","update"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { c as N, s as S } from "./GraphQueries-BOAnio_H.js";
|
|
2
|
+
import { d as z, e as B } from "./GraphQueries-BOAnio_H.js";
|
|
3
|
+
const X = (F, m) => {
|
|
4
|
+
let O = null;
|
|
5
|
+
const k = (A) => ({ getFieldName: w, schema: I, getDefaultFieldName: G, getDefaultModelName: D, getFieldAttributes: L, getModelName: _ }) => {
|
|
6
|
+
const x = (o) => {
|
|
7
|
+
const u = [], i = [];
|
|
8
|
+
if (o) for (const [n, r] of Object.entries(o)) {
|
|
9
|
+
const t = I[D(n)]?.fields, [e, a] = n.includes(".") ? n.split(".") : [void 0, n];
|
|
10
|
+
if (t) {
|
|
11
|
+
t.id = { type: "string" };
|
|
12
|
+
for (const [s, d] of Object.entries(t))
|
|
13
|
+
u.push(S`${S.ref(`join_${a}`)}.${S.ref(d.fieldName || s)} as ${S.ref(`_joined_${a}_${d.fieldName || s}`)}`), i.push({
|
|
14
|
+
joinModel: n,
|
|
15
|
+
joinModelRef: a,
|
|
16
|
+
fieldName: d.fieldName || s
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
allSelectsStr: i,
|
|
22
|
+
allSelects: u
|
|
23
|
+
};
|
|
24
|
+
}, v = async (o, u, i, n) => {
|
|
25
|
+
let r;
|
|
26
|
+
if (m?.type === "mysql") {
|
|
27
|
+
await u.execute();
|
|
28
|
+
const t = o.id ? "id" : n.length > 0 && n[0]?.field ? n[0].field : "id";
|
|
29
|
+
if (!o.id && n.length === 0)
|
|
30
|
+
return r = await A.selectFrom(i).selectAll().orderBy(w({
|
|
31
|
+
model: i,
|
|
32
|
+
field: t
|
|
33
|
+
}), "desc").limit(1).executeTakeFirst(), r;
|
|
34
|
+
const e = o[t] || n[0]?.value;
|
|
35
|
+
return r = await A.selectFrom(i).selectAll().orderBy(w({
|
|
36
|
+
model: i,
|
|
37
|
+
field: t
|
|
38
|
+
}), "desc").where(w({
|
|
39
|
+
model: i,
|
|
40
|
+
field: t
|
|
41
|
+
}), "=", e).limit(1).executeTakeFirst(), r;
|
|
42
|
+
}
|
|
43
|
+
return m?.type === "mssql" ? (r = await u.outputAll("inserted").executeTakeFirst(), r) : (r = await u.returningAll().executeTakeFirst(), r);
|
|
44
|
+
};
|
|
45
|
+
function M(o, u) {
|
|
46
|
+
if (!u) return {
|
|
47
|
+
and: null,
|
|
48
|
+
or: null
|
|
49
|
+
};
|
|
50
|
+
const i = {
|
|
51
|
+
and: [],
|
|
52
|
+
or: []
|
|
53
|
+
};
|
|
54
|
+
return u.forEach((n) => {
|
|
55
|
+
let { field: r, value: t, operator: e = "=", connector: a = "AND" } = n, s = t, d = w({
|
|
56
|
+
model: o,
|
|
57
|
+
field: r
|
|
58
|
+
});
|
|
59
|
+
const y = (f) => {
|
|
60
|
+
const l = `${o}.${d}`;
|
|
61
|
+
return e.toLowerCase() === "in" ? f(l, "in", Array.isArray(s) ? s : [s]) : e.toLowerCase() === "not_in" ? f(l, "not in", Array.isArray(s) ? s : [s]) : e === "contains" ? f(l, "like", `%${s}%`) : e === "starts_with" ? f(l, "like", `${s}%`) : e === "ends_with" ? f(l, "like", `%${s}`) : e === "eq" ? f(l, "=", s) : e === "ne" ? f(l, "<>", s) : e === "gt" ? f(l, ">", s) : e === "gte" ? f(l, ">=", s) : e === "lt" ? f(l, "<", s) : e === "lte" ? f(l, "<=", s) : f(l, e, s);
|
|
62
|
+
};
|
|
63
|
+
a === "OR" ? i.or.push(y) : i.and.push(y);
|
|
64
|
+
}), {
|
|
65
|
+
and: i.and.length ? i.and : null,
|
|
66
|
+
or: i.or.length ? i.or : null
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function R(o, u, i) {
|
|
70
|
+
if (!u || !o.length) return o;
|
|
71
|
+
const n = /* @__PURE__ */ new Map();
|
|
72
|
+
for (const t of o) {
|
|
73
|
+
const e = {}, a = {};
|
|
74
|
+
for (const [y] of Object.entries(u)) a[_(y)] = {};
|
|
75
|
+
for (const [y, f] of Object.entries(t)) {
|
|
76
|
+
const l = String(y);
|
|
77
|
+
let c = !1;
|
|
78
|
+
for (const { joinModel: p, fieldName: h, joinModelRef: j } of i) if (l === `_joined_${j}_${h}`) {
|
|
79
|
+
a[_(p)][w({
|
|
80
|
+
model: p,
|
|
81
|
+
field: h
|
|
82
|
+
})] = f, c = !0;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
c || (e[y] = f);
|
|
86
|
+
}
|
|
87
|
+
const s = e.id;
|
|
88
|
+
if (!s) continue;
|
|
89
|
+
if (!n.has(s)) {
|
|
90
|
+
const y = { ...e };
|
|
91
|
+
for (const [f, l] of Object.entries(u)) y[_(f)] = l.relation === "one-to-one" ? null : [];
|
|
92
|
+
n.set(s, y);
|
|
93
|
+
}
|
|
94
|
+
const d = n.get(s);
|
|
95
|
+
for (const [y, f] of Object.entries(u)) {
|
|
96
|
+
const l = f.relation === "one-to-one", c = f.limit ?? 100, p = a[_(y)], h = p && Object.keys(p).length > 0 && Object.values(p).some((j) => j != null);
|
|
97
|
+
if (l) d[_(y)] = h ? p : null;
|
|
98
|
+
else {
|
|
99
|
+
const j = _(y);
|
|
100
|
+
if (Array.isArray(d[j]) && h) {
|
|
101
|
+
if (d[j].length >= c) continue;
|
|
102
|
+
const E = w({
|
|
103
|
+
model: y,
|
|
104
|
+
field: "id"
|
|
105
|
+
}), T = p[E];
|
|
106
|
+
T ? !d[j].some((J) => J[E] === T) && d[j].length < c && d[j].push(p) : d[j].length < c && d[j].push(p);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
let r = Array.from(n.values());
|
|
112
|
+
for (const t of r) for (const [e, a] of Object.entries(u)) if (a.relation !== "one-to-one") {
|
|
113
|
+
const s = _(e);
|
|
114
|
+
if (Array.isArray(t[s])) {
|
|
115
|
+
const d = a.limit ?? 100;
|
|
116
|
+
t[s].length > d && (t[s] = t[s].slice(0, d));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return r;
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
async create({ data: o, model: u }) {
|
|
123
|
+
return await v(o, A.insertInto(u).values(o), u, []);
|
|
124
|
+
},
|
|
125
|
+
async findOne({ model: o, where: u, select: i, join: n }) {
|
|
126
|
+
const { and: r, or: t } = M(o, u);
|
|
127
|
+
let e = A.selectFrom((f) => {
|
|
128
|
+
let l = f.selectFrom(o);
|
|
129
|
+
return r && (l = l.where((c) => c.and(r.map((p) => p(c))))), t && (l = l.where((c) => c.or(t.map((p) => p(c))))), l.selectAll().as("primary");
|
|
130
|
+
}).selectAll("primary");
|
|
131
|
+
if (n) for (const [f, l] of Object.entries(n)) {
|
|
132
|
+
const [c, p] = f.includes(".") ? f.split(".") : [void 0, f];
|
|
133
|
+
e = e.leftJoin(`${f} as join_${p}`, (h) => h.onRef(`join_${p}.${l.on.to}`, "=", `primary.${l.on.from}`));
|
|
134
|
+
}
|
|
135
|
+
const { allSelectsStr: a, allSelects: s } = x(n);
|
|
136
|
+
e = e.select(s);
|
|
137
|
+
const d = await e.execute();
|
|
138
|
+
if (!d || !Array.isArray(d) || d.length === 0) return null;
|
|
139
|
+
const y = d[0];
|
|
140
|
+
return n ? R(d, n, a)[0] : y;
|
|
141
|
+
},
|
|
142
|
+
async findMany({ model: o, where: u, limit: i, offset: n, sortBy: r, join: t }) {
|
|
143
|
+
const { and: e, or: a } = M(o, u);
|
|
144
|
+
let s = A.selectFrom((l) => {
|
|
145
|
+
let c = l.selectFrom(o);
|
|
146
|
+
return m?.type === "mssql" ? n !== void 0 ? (r || (c = c.orderBy(w({
|
|
147
|
+
model: o,
|
|
148
|
+
field: "id"
|
|
149
|
+
}))), c = c.offset(n).fetch(i || 100)) : i !== void 0 && (c = c.top(i)) : (i !== void 0 && (c = c.limit(i)), n !== void 0 && (c = c.offset(n))), r?.field && (c = c.orderBy(`${w({
|
|
150
|
+
model: o,
|
|
151
|
+
field: r.field
|
|
152
|
+
})}`, r.direction)), e && (c = c.where((p) => p.and(e.map((h) => h(p))))), a && (c = c.where((p) => p.or(a.map((h) => h(p))))), c.selectAll().as("primary");
|
|
153
|
+
}).selectAll("primary");
|
|
154
|
+
if (t) for (const [l, c] of Object.entries(t)) {
|
|
155
|
+
const [p, h] = l.includes(".") ? l.split(".") : [void 0, l];
|
|
156
|
+
s = s.leftJoin(`${l} as join_${h}`, (j) => j.onRef(`join_${h}.${c.on.to}`, "=", `primary.${c.on.from}`));
|
|
157
|
+
}
|
|
158
|
+
const { allSelectsStr: d, allSelects: y } = x(t);
|
|
159
|
+
s = s.select(y), r?.field && (s = s.orderBy(`${w({
|
|
160
|
+
model: o,
|
|
161
|
+
field: r.field
|
|
162
|
+
})}`, r.direction));
|
|
163
|
+
const f = await s.execute();
|
|
164
|
+
return f ? t ? R(f, t, d) : f : [];
|
|
165
|
+
},
|
|
166
|
+
async update({ model: o, where: u, update: i }) {
|
|
167
|
+
const { and: n, or: r } = M(o, u);
|
|
168
|
+
let t = A.updateTable(o).set(i);
|
|
169
|
+
return n && (t = t.where((e) => e.and(n.map((a) => a(e))))), r && (t = t.where((e) => e.or(r.map((a) => a(e))))), await v(i, t, o, u);
|
|
170
|
+
},
|
|
171
|
+
async updateMany({ model: o, where: u, update: i }) {
|
|
172
|
+
const { and: n, or: r } = M(o, u);
|
|
173
|
+
let t = A.updateTable(o).set(i);
|
|
174
|
+
n && (t = t.where((a) => a.and(n.map((s) => s(a))))), r && (t = t.where((a) => a.or(r.map((s) => s(a)))));
|
|
175
|
+
const e = (await t.executeTakeFirst()).numUpdatedRows;
|
|
176
|
+
return e > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : Number(e);
|
|
177
|
+
},
|
|
178
|
+
async count({ model: o, where: u }) {
|
|
179
|
+
const { and: i, or: n } = M(o, u);
|
|
180
|
+
let r = A.selectFrom(o).select(A.fn.count("id").as("count"));
|
|
181
|
+
i && (r = r.where((e) => e.and(i.map((a) => a(e))))), n && (r = r.where((e) => e.or(n.map((a) => a(e)))));
|
|
182
|
+
const t = await r.execute();
|
|
183
|
+
return typeof t[0].count == "number" ? t[0].count : typeof t[0].count == "bigint" ? Number(t[0].count) : parseInt(t[0].count);
|
|
184
|
+
},
|
|
185
|
+
async delete({ model: o, where: u }) {
|
|
186
|
+
const { and: i, or: n } = M(o, u);
|
|
187
|
+
let r = A.deleteFrom(o);
|
|
188
|
+
i && (r = r.where((t) => t.and(i.map((e) => e(t))))), n && (r = r.where((t) => t.or(n.map((e) => e(t))))), await r.execute();
|
|
189
|
+
},
|
|
190
|
+
async deleteMany({ model: o, where: u }) {
|
|
191
|
+
const { and: i, or: n } = M(o, u);
|
|
192
|
+
let r = A.deleteFrom(o);
|
|
193
|
+
i && (r = r.where((e) => e.and(i.map((a) => a(e))))), n && (r = r.where((e) => e.or(n.map((a) => a(e)))));
|
|
194
|
+
const t = (await r.executeTakeFirst()).numDeletedRows;
|
|
195
|
+
return t > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : Number(t);
|
|
196
|
+
},
|
|
197
|
+
options: m
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
let q = null;
|
|
201
|
+
q = {
|
|
202
|
+
config: {
|
|
203
|
+
adapterId: "kysely",
|
|
204
|
+
adapterName: "Kysely Adapter",
|
|
205
|
+
usePlural: m?.usePlural,
|
|
206
|
+
debugLogs: m?.debugLogs,
|
|
207
|
+
supportsBooleans: !(m?.type === "sqlite" || m?.type === "mssql" || m?.type === "mysql" || !m?.type),
|
|
208
|
+
supportsDates: !(m?.type === "sqlite" || m?.type === "mssql" || !m?.type),
|
|
209
|
+
supportsJSON: m?.type === "postgres",
|
|
210
|
+
supportsArrays: !1,
|
|
211
|
+
supportsUUIDs: m?.type === "postgres",
|
|
212
|
+
transaction: m?.transaction ? (A) => F.transaction().execute((w) => A(N({
|
|
213
|
+
config: q.config,
|
|
214
|
+
adapter: k(w)
|
|
215
|
+
})(O))) : !1
|
|
216
|
+
},
|
|
217
|
+
adapter: k(F)
|
|
218
|
+
};
|
|
219
|
+
const $ = N(q);
|
|
220
|
+
return (A) => (O = A, $(A));
|
|
221
|
+
};
|
|
222
|
+
export {
|
|
223
|
+
z as createKyselyAdapter,
|
|
224
|
+
B as getKyselyDatabaseType,
|
|
225
|
+
X as kyselyAdapter
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=index-CbycwLQM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CbycwLQM.js","sources":["../node_modules/better-auth/dist/adapters/kysely-adapter/kysely-adapter.mjs"],"sourcesContent":["import { sql } from \"kysely\";\nimport { createAdapterFactory } from \"@better-auth/core/db/adapter\";\n\n//#region src/adapters/kysely-adapter/kysely-adapter.ts\nconst kyselyAdapter = (db, config) => {\n\tlet lazyOptions = null;\n\tconst createCustomAdapter = (db$1) => {\n\t\treturn ({ getFieldName, schema, getDefaultFieldName, getDefaultModelName, getFieldAttributes, getModelName }) => {\n\t\t\tconst selectAllJoins = (join) => {\n\t\t\t\tconst allSelects = [];\n\t\t\t\tconst allSelectsStr = [];\n\t\t\t\tif (join) for (const [joinModel, _] of Object.entries(join)) {\n\t\t\t\t\tconst fields = schema[getDefaultModelName(joinModel)]?.fields;\n\t\t\t\t\tconst [_joinModelSchema, joinModelName] = joinModel.includes(\".\") ? joinModel.split(\".\") : [void 0, joinModel];\n\t\t\t\t\tif (!fields) continue;\n\t\t\t\t\tfields.id = { type: \"string\" };\n\t\t\t\t\tfor (const [field, fieldAttr] of Object.entries(fields)) {\n\t\t\t\t\t\tallSelects.push(sql`${sql.ref(`join_${joinModelName}`)}.${sql.ref(fieldAttr.fieldName || field)} as ${sql.ref(`_joined_${joinModelName}_${fieldAttr.fieldName || field}`)}`);\n\t\t\t\t\t\tallSelectsStr.push({\n\t\t\t\t\t\t\tjoinModel,\n\t\t\t\t\t\t\tjoinModelRef: joinModelName,\n\t\t\t\t\t\t\tfieldName: fieldAttr.fieldName || field\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tallSelectsStr,\n\t\t\t\t\tallSelects\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst withReturning = async (values, builder, model, where) => {\n\t\t\t\tlet res;\n\t\t\t\tif (config?.type === \"mysql\") {\n\t\t\t\t\tawait builder.execute();\n\t\t\t\t\tconst field = values.id ? \"id\" : where.length > 0 && where[0]?.field ? where[0].field : \"id\";\n\t\t\t\t\tif (!values.id && where.length === 0) {\n\t\t\t\t\t\tres = await db$1.selectFrom(model).selectAll().orderBy(getFieldName({\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\tfield\n\t\t\t\t\t\t}), \"desc\").limit(1).executeTakeFirst();\n\t\t\t\t\t\treturn res;\n\t\t\t\t\t}\n\t\t\t\t\tconst value = values[field] || where[0]?.value;\n\t\t\t\t\tres = await db$1.selectFrom(model).selectAll().orderBy(getFieldName({\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfield\n\t\t\t\t\t}), \"desc\").where(getFieldName({\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfield\n\t\t\t\t\t}), \"=\", value).limit(1).executeTakeFirst();\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t\tif (config?.type === \"mssql\") {\n\t\t\t\t\tres = await builder.outputAll(\"inserted\").executeTakeFirst();\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t\tres = await builder.returningAll().executeTakeFirst();\n\t\t\t\treturn res;\n\t\t\t};\n\t\t\tfunction convertWhereClause(model, w) {\n\t\t\t\tif (!w) return {\n\t\t\t\t\tand: null,\n\t\t\t\t\tor: null\n\t\t\t\t};\n\t\t\t\tconst conditions = {\n\t\t\t\t\tand: [],\n\t\t\t\t\tor: []\n\t\t\t\t};\n\t\t\t\tw.forEach((condition) => {\n\t\t\t\t\tlet { field: _field, value: _value, operator = \"=\", connector = \"AND\" } = condition;\n\t\t\t\t\tlet value = _value;\n\t\t\t\t\tlet field = getFieldName({\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfield: _field\n\t\t\t\t\t});\n\t\t\t\t\tconst expr = (eb) => {\n\t\t\t\t\t\tconst f = `${model}.${field}`;\n\t\t\t\t\t\tif (operator.toLowerCase() === \"in\") return eb(f, \"in\", Array.isArray(value) ? value : [value]);\n\t\t\t\t\t\tif (operator.toLowerCase() === \"not_in\") return eb(f, \"not in\", Array.isArray(value) ? value : [value]);\n\t\t\t\t\t\tif (operator === \"contains\") return eb(f, \"like\", `%${value}%`);\n\t\t\t\t\t\tif (operator === \"starts_with\") return eb(f, \"like\", `${value}%`);\n\t\t\t\t\t\tif (operator === \"ends_with\") return eb(f, \"like\", `%${value}`);\n\t\t\t\t\t\tif (operator === \"eq\") return eb(f, \"=\", value);\n\t\t\t\t\t\tif (operator === \"ne\") return eb(f, \"<>\", value);\n\t\t\t\t\t\tif (operator === \"gt\") return eb(f, \">\", value);\n\t\t\t\t\t\tif (operator === \"gte\") return eb(f, \">=\", value);\n\t\t\t\t\t\tif (operator === \"lt\") return eb(f, \"<\", value);\n\t\t\t\t\t\tif (operator === \"lte\") return eb(f, \"<=\", value);\n\t\t\t\t\t\treturn eb(f, operator, value);\n\t\t\t\t\t};\n\t\t\t\t\tif (connector === \"OR\") conditions.or.push(expr);\n\t\t\t\t\telse conditions.and.push(expr);\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tand: conditions.and.length ? conditions.and : null,\n\t\t\t\t\tor: conditions.or.length ? conditions.or : null\n\t\t\t\t};\n\t\t\t}\n\t\t\tfunction processJoinedResults(rows, joinConfig, allSelectsStr) {\n\t\t\t\tif (!joinConfig || !rows.length) return rows;\n\t\t\t\tconst groupedByMainId = /* @__PURE__ */ new Map();\n\t\t\t\tfor (const currentRow of rows) {\n\t\t\t\t\tconst mainModelFields = {};\n\t\t\t\t\tconst joinedModelFields = {};\n\t\t\t\t\tfor (const [joinModel] of Object.entries(joinConfig)) joinedModelFields[getModelName(joinModel)] = {};\n\t\t\t\t\tfor (const [key, value] of Object.entries(currentRow)) {\n\t\t\t\t\t\tconst keyStr = String(key);\n\t\t\t\t\t\tlet assigned = false;\n\t\t\t\t\t\tfor (const { joinModel, fieldName, joinModelRef } of allSelectsStr) if (keyStr === `_joined_${joinModelRef}_${fieldName}`) {\n\t\t\t\t\t\t\tjoinedModelFields[getModelName(joinModel)][getFieldName({\n\t\t\t\t\t\t\t\tmodel: joinModel,\n\t\t\t\t\t\t\t\tfield: fieldName\n\t\t\t\t\t\t\t})] = value;\n\t\t\t\t\t\t\tassigned = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!assigned) mainModelFields[key] = value;\n\t\t\t\t\t}\n\t\t\t\t\tconst mainId = mainModelFields.id;\n\t\t\t\t\tif (!mainId) continue;\n\t\t\t\t\tif (!groupedByMainId.has(mainId)) {\n\t\t\t\t\t\tconst entry$1 = { ...mainModelFields };\n\t\t\t\t\t\tfor (const [joinModel, joinAttr] of Object.entries(joinConfig)) entry$1[getModelName(joinModel)] = joinAttr.relation === \"one-to-one\" ? null : [];\n\t\t\t\t\t\tgroupedByMainId.set(mainId, entry$1);\n\t\t\t\t\t}\n\t\t\t\t\tconst entry = groupedByMainId.get(mainId);\n\t\t\t\t\tfor (const [joinModel, joinAttr] of Object.entries(joinConfig)) {\n\t\t\t\t\t\tconst isUnique = joinAttr.relation === \"one-to-one\";\n\t\t\t\t\t\tconst limit = joinAttr.limit ?? 100;\n\t\t\t\t\t\tconst joinedObj = joinedModelFields[getModelName(joinModel)];\n\t\t\t\t\t\tconst hasData = joinedObj && Object.keys(joinedObj).length > 0 && Object.values(joinedObj).some((value) => value !== null && value !== void 0);\n\t\t\t\t\t\tif (isUnique) entry[getModelName(joinModel)] = hasData ? joinedObj : null;\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconst joinModelName = getModelName(joinModel);\n\t\t\t\t\t\t\tif (Array.isArray(entry[joinModelName]) && hasData) {\n\t\t\t\t\t\t\t\tif (entry[joinModelName].length >= limit) continue;\n\t\t\t\t\t\t\t\tconst idFieldName = getFieldName({\n\t\t\t\t\t\t\t\t\tmodel: joinModel,\n\t\t\t\t\t\t\t\t\tfield: \"id\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst joinedId = joinedObj[idFieldName];\n\t\t\t\t\t\t\t\tif (joinedId) {\n\t\t\t\t\t\t\t\t\tif (!entry[joinModelName].some((item) => item[idFieldName] === joinedId) && entry[joinModelName].length < limit) entry[joinModelName].push(joinedObj);\n\t\t\t\t\t\t\t\t} else if (entry[joinModelName].length < limit) entry[joinModelName].push(joinedObj);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet result = Array.from(groupedByMainId.values());\n\t\t\t\tfor (const entry of result) for (const [joinModel, joinAttr] of Object.entries(joinConfig)) if (joinAttr.relation !== \"one-to-one\") {\n\t\t\t\t\tconst joinModelName = getModelName(joinModel);\n\t\t\t\t\tif (Array.isArray(entry[joinModelName])) {\n\t\t\t\t\t\tconst limit = joinAttr.limit ?? 100;\n\t\t\t\t\t\tif (entry[joinModelName].length > limit) entry[joinModelName] = entry[joinModelName].slice(0, limit);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tasync create({ data, model }) {\n\t\t\t\t\treturn await withReturning(data, db$1.insertInto(model).values(data), model, []);\n\t\t\t\t},\n\t\t\t\tasync findOne({ model, where, select, join }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.selectFrom((eb) => {\n\t\t\t\t\t\tlet b = eb.selectFrom(model);\n\t\t\t\t\t\tif (and) b = b.where((eb$1) => eb$1.and(and.map((expr) => expr(eb$1))));\n\t\t\t\t\t\tif (or) b = b.where((eb$1) => eb$1.or(or.map((expr) => expr(eb$1))));\n\t\t\t\t\t\treturn b.selectAll().as(\"primary\");\n\t\t\t\t\t}).selectAll(\"primary\");\n\t\t\t\t\tif (join) for (const [joinModel, joinAttr] of Object.entries(join)) {\n\t\t\t\t\t\tconst [_joinModelSchema, joinModelName] = joinModel.includes(\".\") ? joinModel.split(\".\") : [void 0, joinModel];\n\t\t\t\t\t\tquery = query.leftJoin(`${joinModel} as join_${joinModelName}`, (join$1) => join$1.onRef(`join_${joinModelName}.${joinAttr.on.to}`, \"=\", `primary.${joinAttr.on.from}`));\n\t\t\t\t\t}\n\t\t\t\t\tconst { allSelectsStr, allSelects } = selectAllJoins(join);\n\t\t\t\t\tquery = query.select(allSelects);\n\t\t\t\t\tconst res = await query.execute();\n\t\t\t\t\tif (!res || !Array.isArray(res) || res.length === 0) return null;\n\t\t\t\t\tconst row = res[0];\n\t\t\t\t\tif (join) return processJoinedResults(res, join, allSelectsStr)[0];\n\t\t\t\t\treturn row;\n\t\t\t\t},\n\t\t\t\tasync findMany({ model, where, limit, offset, sortBy, join }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.selectFrom((eb) => {\n\t\t\t\t\t\tlet b = eb.selectFrom(model);\n\t\t\t\t\t\tif (config?.type === \"mssql\") {\n\t\t\t\t\t\t\tif (offset !== void 0) {\n\t\t\t\t\t\t\t\tif (!sortBy) b = b.orderBy(getFieldName({\n\t\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t\tfield: \"id\"\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\tb = b.offset(offset).fetch(limit || 100);\n\t\t\t\t\t\t\t} else if (limit !== void 0) b = b.top(limit);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (limit !== void 0) b = b.limit(limit);\n\t\t\t\t\t\t\tif (offset !== void 0) b = b.offset(offset);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (sortBy?.field) b = b.orderBy(`${getFieldName({\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\tfield: sortBy.field\n\t\t\t\t\t\t})}`, sortBy.direction);\n\t\t\t\t\t\tif (and) b = b.where((eb$1) => eb$1.and(and.map((expr) => expr(eb$1))));\n\t\t\t\t\t\tif (or) b = b.where((eb$1) => eb$1.or(or.map((expr) => expr(eb$1))));\n\t\t\t\t\t\treturn b.selectAll().as(\"primary\");\n\t\t\t\t\t}).selectAll(\"primary\");\n\t\t\t\t\tif (join) for (const [joinModel, joinAttr] of Object.entries(join)) {\n\t\t\t\t\t\tconst [_joinModelSchema, joinModelName] = joinModel.includes(\".\") ? joinModel.split(\".\") : [void 0, joinModel];\n\t\t\t\t\t\tquery = query.leftJoin(`${joinModel} as join_${joinModelName}`, (join$1) => join$1.onRef(`join_${joinModelName}.${joinAttr.on.to}`, \"=\", `primary.${joinAttr.on.from}`));\n\t\t\t\t\t}\n\t\t\t\t\tconst { allSelectsStr, allSelects } = selectAllJoins(join);\n\t\t\t\t\tquery = query.select(allSelects);\n\t\t\t\t\tif (sortBy?.field) query = query.orderBy(`${getFieldName({\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfield: sortBy.field\n\t\t\t\t\t})}`, sortBy.direction);\n\t\t\t\t\tconst res = await query.execute();\n\t\t\t\t\tif (!res) return [];\n\t\t\t\t\tif (join) return processJoinedResults(res, join, allSelectsStr);\n\t\t\t\t\treturn res;\n\t\t\t\t},\n\t\t\t\tasync update({ model, where, update: values }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.updateTable(model).set(values);\n\t\t\t\t\tif (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));\n\t\t\t\t\tif (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));\n\t\t\t\t\treturn await withReturning(values, query, model, where);\n\t\t\t\t},\n\t\t\t\tasync updateMany({ model, where, update: values }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.updateTable(model).set(values);\n\t\t\t\t\tif (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));\n\t\t\t\t\tif (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));\n\t\t\t\t\tconst res = (await query.executeTakeFirst()).numUpdatedRows;\n\t\t\t\t\treturn res > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : Number(res);\n\t\t\t\t},\n\t\t\t\tasync count({ model, where }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.selectFrom(model).select(db$1.fn.count(\"id\").as(\"count\"));\n\t\t\t\t\tif (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));\n\t\t\t\t\tif (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));\n\t\t\t\t\tconst res = await query.execute();\n\t\t\t\t\tif (typeof res[0].count === \"number\") return res[0].count;\n\t\t\t\t\tif (typeof res[0].count === \"bigint\") return Number(res[0].count);\n\t\t\t\t\treturn parseInt(res[0].count);\n\t\t\t\t},\n\t\t\t\tasync delete({ model, where }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.deleteFrom(model);\n\t\t\t\t\tif (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));\n\t\t\t\t\tif (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));\n\t\t\t\t\tawait query.execute();\n\t\t\t\t},\n\t\t\t\tasync deleteMany({ model, where }) {\n\t\t\t\t\tconst { and, or } = convertWhereClause(model, where);\n\t\t\t\t\tlet query = db$1.deleteFrom(model);\n\t\t\t\t\tif (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));\n\t\t\t\t\tif (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));\n\t\t\t\t\tconst res = (await query.executeTakeFirst()).numDeletedRows;\n\t\t\t\t\treturn res > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : Number(res);\n\t\t\t\t},\n\t\t\t\toptions: config\n\t\t\t};\n\t\t};\n\t};\n\tlet adapterOptions = null;\n\tadapterOptions = {\n\t\tconfig: {\n\t\t\tadapterId: \"kysely\",\n\t\t\tadapterName: \"Kysely Adapter\",\n\t\t\tusePlural: config?.usePlural,\n\t\t\tdebugLogs: config?.debugLogs,\n\t\t\tsupportsBooleans: config?.type === \"sqlite\" || config?.type === \"mssql\" || config?.type === \"mysql\" || !config?.type ? false : true,\n\t\t\tsupportsDates: config?.type === \"sqlite\" || config?.type === \"mssql\" || !config?.type ? false : true,\n\t\t\tsupportsJSON: config?.type === \"postgres\" ? true : false,\n\t\t\tsupportsArrays: false,\n\t\t\tsupportsUUIDs: config?.type === \"postgres\" ? true : false,\n\t\t\ttransaction: config?.transaction ? (cb) => db.transaction().execute((trx) => {\n\t\t\t\treturn cb(createAdapterFactory({\n\t\t\t\t\tconfig: adapterOptions.config,\n\t\t\t\t\tadapter: createCustomAdapter(trx)\n\t\t\t\t})(lazyOptions));\n\t\t\t}) : false\n\t\t},\n\t\tadapter: createCustomAdapter(db)\n\t};\n\tconst adapter = createAdapterFactory(adapterOptions);\n\treturn (options) => {\n\t\tlazyOptions = options;\n\t\treturn adapter(options);\n\t};\n};\n\n//#endregion\nexport { kyselyAdapter };\n//# sourceMappingURL=kysely-adapter.mjs.map"],"names":["kyselyAdapter","db","config","lazyOptions","createCustomAdapter","db$1","getFieldName","schema","getDefaultFieldName","getDefaultModelName","getFieldAttributes","getModelName","selectAllJoins","join","allSelects","allSelectsStr","joinModel","_","fields","_joinModelSchema","joinModelName","field","fieldAttr","sql","withReturning","values","builder","model","where","res","value","convertWhereClause","w","conditions","condition","_field","_value","operator","connector","expr","eb","f","processJoinedResults","rows","joinConfig","groupedByMainId","currentRow","mainModelFields","joinedModelFields","key","keyStr","assigned","fieldName","joinModelRef","mainId","entry$1","joinAttr","entry","isUnique","limit","joinedObj","hasData","idFieldName","joinedId","item","result","data","select","and","or","query","b","eb$1","join$1","row","offset","sortBy","adapterOptions","cb","trx","createAdapterFactory","adapter","options"],"mappings":"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","x_google_ignoreList":[0]}
|