faire-auth 1.0.3 → 1.1.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 (228) hide show
  1. package/dist/{adapter-factory-lKIOf2OR.mjs → adapter-factory-qPVW8x9-.mjs} +34 -36
  2. package/dist/{adapter-factory-D1I7joki.cjs → adapter-factory-u8r3oTez.cjs} +66 -68
  3. package/dist/adapters/drizzle-adapter/index.cjs +34 -40
  4. package/dist/adapters/drizzle-adapter/index.d.cts +4 -9
  5. package/dist/adapters/drizzle-adapter/index.d.mts +4 -9
  6. package/dist/adapters/drizzle-adapter/index.mjs +20 -26
  7. package/dist/adapters/index.cjs +11 -16
  8. package/dist/adapters/index.d.cts +11 -37
  9. package/dist/adapters/index.d.mts +11 -37
  10. package/dist/adapters/index.mjs +4 -13
  11. package/dist/adapters/kysely-adapter/index.cjs +270 -11
  12. package/dist/adapters/kysely-adapter/index.d.cts +9 -19
  13. package/dist/adapters/kysely-adapter/index.d.mts +9 -19
  14. package/dist/adapters/kysely-adapter/index.mjs +267 -9
  15. package/dist/adapters/memory-adapter/index.cjs +146 -9
  16. package/dist/adapters/memory-adapter/index.d.cts +4 -10
  17. package/dist/adapters/memory-adapter/index.d.mts +4 -10
  18. package/dist/adapters/memory-adapter/index.mjs +145 -9
  19. package/dist/adapters/mongodb-adapter/index.cjs +13 -21
  20. package/dist/adapters/mongodb-adapter/index.d.cts +3 -8
  21. package/dist/adapters/mongodb-adapter/index.d.mts +4 -9
  22. package/dist/adapters/mongodb-adapter/index.mjs +12 -20
  23. package/dist/adapters/prisma-adapter/index.cjs +12 -20
  24. package/dist/adapters/prisma-adapter/index.d.cts +4 -8
  25. package/dist/adapters/prisma-adapter/index.d.mts +4 -8
  26. package/dist/adapters/prisma-adapter/index.mjs +5 -13
  27. package/dist/adapters/test.cjs +86 -69
  28. package/dist/adapters/test.d.cts +7 -11
  29. package/dist/adapters/test.d.mts +7 -11
  30. package/dist/adapters/test.mjs +83 -66
  31. package/dist/api/index.cjs +3 -20
  32. package/dist/api/index.d.cts +2 -3
  33. package/dist/api/index.d.mts +2 -3
  34. package/dist/api/index.mjs +1 -20
  35. package/dist/api/middleware/index.cjs +4 -11
  36. package/dist/api/middleware/index.d.cts +3 -9
  37. package/dist/api/middleware/index.d.mts +3 -9
  38. package/dist/api/middleware/index.mjs +3 -11
  39. package/dist/{api-B4RDwBty.mjs → api-0f-F-Fi2.mjs} +292 -189
  40. package/dist/{api-CaRC1Gio.cjs → api-LjfH6hQi.cjs} +557 -452
  41. package/dist/{test-utils/bun-sqlite-dialect-BZBvHchL.cjs → bun-sqlite-dialect-BHkarnxN.cjs} +5 -9
  42. package/dist/{test-utils/bun-sqlite-dialect-BSWhhKNs.mjs → bun-sqlite-dialect-BiZBuEF6.mjs} +6 -9
  43. package/dist/client/index.cjs +8 -15
  44. package/dist/client/index.d.cts +9 -14
  45. package/dist/client/index.d.mts +9 -14
  46. package/dist/client/index.mjs +7 -15
  47. package/dist/client/lynx/index.cjs +10 -18
  48. package/dist/client/lynx/index.d.cts +402 -71
  49. package/dist/client/lynx/index.d.mts +402 -71
  50. package/dist/client/lynx/index.mjs +5 -13
  51. package/dist/client/plugins/index.cjs +3 -5
  52. package/dist/client/plugins/index.d.cts +5 -10
  53. package/dist/client/plugins/index.d.mts +5 -10
  54. package/dist/client/plugins/index.mjs +2 -4
  55. package/dist/client/react/index.cjs +6 -14
  56. package/dist/client/react/index.d.cts +402 -71
  57. package/dist/client/react/index.d.mts +402 -71
  58. package/dist/client/react/index.mjs +5 -13
  59. package/dist/client/solid/index.cjs +6 -14
  60. package/dist/client/solid/index.d.cts +393 -57
  61. package/dist/client/solid/index.d.mts +393 -57
  62. package/dist/client/solid/index.mjs +5 -13
  63. package/dist/client/svelte/index.cjs +5 -10
  64. package/dist/client/svelte/index.d.cts +400 -67
  65. package/dist/client/svelte/index.d.mts +400 -67
  66. package/dist/client/svelte/index.mjs +4 -10
  67. package/dist/client/vue/index.cjs +6 -14
  68. package/dist/client/vue/index.d.cts +401 -68
  69. package/dist/client/vue/index.d.mts +401 -68
  70. package/dist/client/vue/index.mjs +5 -13
  71. package/dist/{cookies-BTs1o992.mjs → cookies-D9aY_gJh.mjs} +25 -21
  72. package/dist/{cookies-BTl72THv.cjs → cookies-DQ52rcOy.cjs} +119 -115
  73. package/dist/crypto/index.cjs +10 -8
  74. package/dist/crypto/index.d.cts +5 -13
  75. package/dist/crypto/index.d.mts +5 -13
  76. package/dist/crypto/index.mjs +2 -5
  77. package/dist/{crypto-DH2Aa7jN.mjs → crypto-BH-hD0lJ.mjs} +7 -10
  78. package/dist/{crypto-DpSCnrTp.cjs → crypto-BITfWVwD.cjs} +24 -27
  79. package/dist/db/index.cjs +1135 -29
  80. package/dist/db/index.d.cts +1 -2
  81. package/dist/db/index.d.mts +1 -2
  82. package/dist/db/index.mjs +1115 -16
  83. package/dist/defu-D2h4S3X-.mjs +87 -0
  84. package/dist/defu-DWS5RPWt.cjs +134 -0
  85. package/dist/{email-verification-DI_0H4JC.cjs → email-verification-DOPnSgbI.cjs} +65 -71
  86. package/dist/{email-verification-C_lBu_JY.mjs → email-verification-YSR5n5lb.mjs} +23 -29
  87. package/dist/{hono-CO-zsqI-.mjs → hono-BAV2wQkK.mjs} +16 -33
  88. package/dist/hono-SVQuc5Ru.mjs +4 -0
  89. package/dist/hono-pgK4H_U1.cjs +9 -0
  90. package/dist/{hono-DnW5crl1.cjs → hono-tyFFJFdS.cjs} +42 -60
  91. package/dist/index-B86Cy0dE.d.cts +2 -0
  92. package/dist/index-B86Cy0dE.d.mts +2 -0
  93. package/dist/index.cjs +115 -150
  94. package/dist/index.d.cts +4 -5
  95. package/dist/index.d.mts +4 -5
  96. package/dist/index.mjs +46 -81
  97. package/dist/integrations/next-js.cjs +5 -9
  98. package/dist/integrations/next-js.d.cts +6 -14
  99. package/dist/integrations/next-js.d.mts +6 -14
  100. package/dist/integrations/next-js.mjs +4 -9
  101. package/dist/integrations/node.cjs +16 -14
  102. package/dist/integrations/node.d.cts +6 -14
  103. package/dist/integrations/node.d.mts +6 -14
  104. package/dist/integrations/node.mjs +15 -13
  105. package/dist/integrations/react-start.cjs +7 -11
  106. package/dist/integrations/react-start.d.cts +5 -13
  107. package/dist/integrations/react-start.d.mts +5 -13
  108. package/dist/integrations/react-start.mjs +6 -11
  109. package/dist/integrations/solid-start.cjs +3 -5
  110. package/dist/integrations/solid-start.d.cts +2 -5
  111. package/dist/integrations/solid-start.d.mts +2 -5
  112. package/dist/integrations/solid-start.mjs +2 -4
  113. package/dist/integrations/svelte-kit.cjs +6 -10
  114. package/dist/integrations/svelte-kit.d.cts +11 -23
  115. package/dist/integrations/svelte-kit.d.mts +11 -23
  116. package/dist/integrations/svelte-kit.mjs +5 -10
  117. package/dist/{ip-BjNYspCH.mjs → ip-6Lv2o42m.mjs} +4 -9
  118. package/dist/{ip-C17Qdq-G.cjs → ip-DPydExzV.cjs} +21 -27
  119. package/dist/{json--tl7Grvs.cjs → json-D3aq-nH2.cjs} +9 -13
  120. package/dist/{json-B1v2qRTQ.mjs → json-DooGMtnJ.mjs} +2 -5
  121. package/dist/{logged-CyGfp8_H.mjs → logged-B83SzMnJ.mjs} +6 -10
  122. package/dist/{logged-Dv3st5qc.cjs → logged-BIpCpnVY.cjs} +13 -18
  123. package/dist/{middleware-CE6OhDkq.mjs → middleware-Cakg4e1D.mjs} +2 -4
  124. package/dist/{middleware-CWvRH4EW.cjs → middleware-Cd-VkNxB.cjs} +17 -20
  125. package/dist/{node-sqlite-dialect-w4DAg0PH.mjs → node-sqlite-dialect-BMVOjEMh.mjs} +6 -9
  126. package/dist/{test-utils/node-sqlite-dialect-BgJqjBOu.cjs → node-sqlite-dialect-D3QPFROH.cjs} +5 -9
  127. package/dist/oauth2/index.cjs +166 -22
  128. package/dist/oauth2/index.d.cts +5 -17
  129. package/dist/oauth2/index.d.mts +5 -17
  130. package/dist/oauth2/index.mjs +156 -16
  131. package/dist/{origin-check-DjLTuZQ8.cjs → origin-check-BflGhEEN.cjs} +34 -38
  132. package/dist/{origin-check-8Gajklvh.mjs → origin-check-CRgs1M7k.mjs} +13 -16
  133. package/dist/{parser-B25ylT5u.mjs → parser-CqwvpF6l.cjs} +12 -10
  134. package/dist/{parser-B_wxvaAr.cjs → parser-DcKDjjHO.mjs} +7 -22
  135. package/dist/plugins/access/index.cjs +38 -4
  136. package/dist/plugins/access/index.d.cts +36 -2
  137. package/dist/plugins/access/index.d.mts +36 -2
  138. package/dist/plugins/access/index.mjs +36 -3
  139. package/dist/plugins/bearer/index.cjs +52 -7
  140. package/dist/plugins/bearer/index.d.cts +27 -4
  141. package/dist/plugins/bearer/index.d.mts +27 -4
  142. package/dist/plugins/bearer/index.mjs +51 -7
  143. package/dist/plugins/index.cjs +1385 -842
  144. package/dist/plugins/index.d.cts +489 -7566
  145. package/dist/plugins/index.d.mts +489 -7566
  146. package/dist/plugins/index.mjs +1118 -576
  147. package/dist/plugins/passkey/index.cjs +551 -15
  148. package/dist/plugins/passkey/index.d.cts +123 -4
  149. package/dist/plugins/passkey/index.d.mts +123 -4
  150. package/dist/plugins/passkey/index.mjs +547 -15
  151. package/dist/{chunk-BFnQceUY.mjs → rolldown-runtime-BKpuH2hG.mjs} +6 -7
  152. package/dist/{chunk-fPmz2rbM.cjs → rolldown-runtime-C_Pgydhf.cjs} +22 -24
  153. package/dist/{schema-DTIwLLmf.mjs → schema-CFCpv0tK.mjs} +3 -6
  154. package/dist/{schema-CirKflVs.cjs → schema-b-lKhMkG.cjs} +51 -55
  155. package/dist/{session-CM3rmOYF.mjs → session-BGjJgihS.mjs} +51 -74
  156. package/dist/{session-Cwrj4GfV.cjs → session-CzZSMmQC.cjs} +197 -219
  157. package/dist/shared.d.cts +1581 -0
  158. package/dist/shared.d.mts +1581 -0
  159. package/dist/social-providers/index.cjs +9 -9
  160. package/dist/social-providers/index.d.cts +1 -1
  161. package/dist/social-providers/index.d.mts +1 -1
  162. package/dist/social-providers/index.mjs +3 -5
  163. package/dist/social-providers-CjPww-qf.mjs +6 -0
  164. package/dist/social-providers-D7w_7Ym8.cjs +10 -0
  165. package/dist/{state-CvSihlVT.cjs → state-2OrNjOO-.cjs} +24 -24
  166. package/dist/{state-CQghgH9I.mjs → state-Dooeisfq.mjs} +17 -17
  167. package/dist/{bun-sqlite-dialect-DPgTzc0w.cjs → test-utils/bun-sqlite-dialect-BHkarnxN.cjs} +5 -9
  168. package/dist/{bun-sqlite-dialect-6NqeV3px.mjs → test-utils/bun-sqlite-dialect-BiZBuEF6.mjs} +6 -9
  169. package/dist/test-utils/index.cjs +8831 -7941
  170. package/dist/test-utils/index.d.cts +310 -12440
  171. package/dist/test-utils/index.d.mts +313 -12440
  172. package/dist/test-utils/index.mjs +8591 -7701
  173. package/dist/test-utils/{node-sqlite-dialect-DAQXiobH.mjs → node-sqlite-dialect-BMVOjEMh.mjs} +6 -9
  174. package/dist/{node-sqlite-dialect-DP11CB0y.cjs → test-utils/node-sqlite-dialect-D3QPFROH.cjs} +5 -9
  175. package/dist/types/index.d.cts +2 -3
  176. package/dist/types/index.d.mts +2 -3
  177. package/dist/types/index.mjs +1 -1
  178. package/dist/{url-BoUuoIwZ.mjs → url-CJtdrrUu.mjs} +12 -13
  179. package/dist/{url-Ce7CVaQD.cjs → url-DjCmCUHS.cjs} +42 -44
  180. package/dist/utils/cookies.cjs +29 -30
  181. package/dist/utils/cookies.d.cts +21 -25
  182. package/dist/utils/cookies.d.mts +20 -24
  183. package/dist/utils/cookies.mjs +2 -7
  184. package/dist/utils-C7OHyfHa.mjs +4 -0
  185. package/dist/utils-iX0Vy_UL.cjs +3 -0
  186. package/package.json +40 -30
  187. package/dist/access-BZ7-AbTM.cjs +0 -51
  188. package/dist/access-D0DRqUKC.mjs +0 -39
  189. package/dist/bearer-DDzrp5M7.cjs +0 -60
  190. package/dist/bearer-WZcs7gxL.mjs +0 -54
  191. package/dist/db-4tUsQJXd.mjs +0 -1119
  192. package/dist/db-ChMbb_U-.cjs +0 -1180
  193. package/dist/defu-BmOYq4PU.cjs +0 -34
  194. package/dist/defu-D9ZTXqlo.mjs +0 -28
  195. package/dist/hono-C14rpOEa.cjs +0 -13
  196. package/dist/hono-CoKYWnXA.mjs +0 -7
  197. package/dist/hono-D0VqxVy1.d.mts +0 -18
  198. package/dist/hono-DOM31WQz.d.cts +0 -18
  199. package/dist/index-BCTFWP_o.d.mts +0 -992
  200. package/dist/index-BDhhaE6Y.d.cts +0 -3
  201. package/dist/index-BVRfQy6L.d.mts +0 -992
  202. package/dist/index-Baarsq5J.d.mts +0 -33
  203. package/dist/index-By364WbF.d.cts +0 -992
  204. package/dist/index-BzWwMgxr.d.cts +0 -992
  205. package/dist/index-CF9iq55a.d.mts +0 -3
  206. package/dist/index-CJD2yB-W.d.cts +0 -33
  207. package/dist/index-CRt_fppq.d.mts +0 -41
  208. package/dist/index-CdLyn7qP.d.cts +0 -41
  209. package/dist/index-CsWF3f7U.d.cts +0 -13350
  210. package/dist/index-CzidsAyA.d.mts +0 -13350
  211. package/dist/index-DvW-GCcI.d.cts +0 -33
  212. package/dist/index-f-5OJ9yV.d.cts +0 -13350
  213. package/dist/index-rFv8Hxld.d.mts +0 -13350
  214. package/dist/index-ztVZPQdV.d.mts +0 -33
  215. package/dist/kysely-adapter-CtIdoHa8.mjs +0 -270
  216. package/dist/kysely-adapter-QZTx077T.cjs +0 -288
  217. package/dist/memory-adapter-17RZd5df.cjs +0 -154
  218. package/dist/memory-adapter-Dp4XdCZK.mjs +0 -148
  219. package/dist/oauth2-5RL4cVNS.cjs +0 -177
  220. package/dist/oauth2-C56wz-n9.mjs +0 -159
  221. package/dist/passkey-BTT-v5c-.cjs +0 -512
  222. package/dist/passkey-CzY_W2us.mjs +0 -505
  223. package/dist/request-1NL_1lyJ.mjs +0 -58
  224. package/dist/request-CPNlp-DK.cjs +0 -100
  225. package/dist/social-providers-B8RK5yqI.mjs +0 -9
  226. package/dist/social-providers-BmFOIIPk.cjs +0 -13
  227. package/dist/utils-44aDDP8f.cjs +0 -2
  228. package/dist/utils-D4vZd1-9.mjs +0 -4
@@ -1,33 +0,0 @@
1
- import { t as ContextVars } from "./hono-D0VqxVy1.mjs";
2
- import * as hono48 from "hono";
3
- import * as _faire_auth_core_types39 from "@faire-auth/core/types";
4
-
5
- //#region src/plugins/bearer/index.d.ts
6
- interface BearerOptions {
7
- /**
8
- * If true, only signed tokens
9
- * will be converted to session
10
- * cookies
11
- *
12
- * @default false
13
- */
14
- requireSignature?: boolean;
15
- }
16
- /**
17
- * Converts bearer token to session cookie
18
- */
19
- declare const bearer: (options?: BearerOptions) => {
20
- id: "bearer";
21
- hooks: {
22
- before: {
23
- matcher: (ctx: hono48.Context<ContextVars<any>, any, {}>) => boolean;
24
- handler: (_opts: _faire_auth_core_types39.FaireAuthOptions<any>) => (ctx: hono48.Context<ContextVars<object>, string, {}>) => Promise<void>;
25
- }[];
26
- after: {
27
- matcher: (_ctx: hono48.Context<ContextVars<any>, any, {}>) => true;
28
- handler: (_opts: _faire_auth_core_types39.FaireAuthOptions<any>) => (ctx: hono48.Context<ContextVars<object>, string, {}>) => Promise<void>;
29
- }[];
30
- };
31
- };
32
- //#endregion
33
- export { bearer as t };
@@ -1,270 +0,0 @@
1
- import { t as createAdapterFactory } from "./adapter-factory-lKIOf2OR.mjs";
2
- import { isPromise } from "@faire-auth/core/static";
3
- import { Kysely, MssqlDialect, MysqlDialect, PostgresDialect, SqliteDialect } from "kysely";
4
-
5
- //#region src/adapters/kysely-adapter/dialect.ts
6
- function getKyselyDatabaseType(db) {
7
- if (!db) return null;
8
- if ("dialect" in db) return getKyselyDatabaseType(db.dialect);
9
- if ("createDriver" in db) {
10
- if (db instanceof SqliteDialect) return "sqlite";
11
- if (db instanceof MysqlDialect) return "mysql";
12
- if (db instanceof PostgresDialect) return "postgres";
13
- if (db instanceof MssqlDialect) return "mssql";
14
- }
15
- if ("aggregate" in db) return "sqlite";
16
- if ("getConnection" in db) return "mysql";
17
- if ("connect" in db) return "postgres";
18
- if ("fileControl" in db) return "sqlite";
19
- if ("open" in db && "close" in db && "prepare" in db) return "sqlite";
20
- return null;
21
- }
22
- const createKyselyAdapter = (config) => {
23
- const db = config.database;
24
- if (!db) return {
25
- kysely: null,
26
- databaseType: null,
27
- transaction: void 0
28
- };
29
- if ("db" in db) return {
30
- kysely: db.db,
31
- databaseType: db.type,
32
- transaction: db.transaction
33
- };
34
- if ("dialect" in db) return {
35
- kysely: new Kysely({ dialect: db.dialect }),
36
- databaseType: db.type,
37
- transaction: db.transaction
38
- };
39
- let dialect = void 0;
40
- const databaseType = getKyselyDatabaseType(db);
41
- if ("createDriver" in db) dialect = db;
42
- if ("aggregate" in db && !("createSession" in db)) dialect = new SqliteDialect({ database: db });
43
- if ("getConnection" in db) dialect = new MysqlDialect(db);
44
- if ("connect" in db) dialect = new PostgresDialect({ pool: db });
45
- const toReturn = {
46
- kysely: dialect ? new Kysely({ dialect }) : null,
47
- databaseType,
48
- transaction: void 0,
49
- async initialize() {
50
- if (toReturn.kysely == null) {
51
- if ("fileControl" in db) {
52
- console.log("found file control");
53
- const { BunSqliteDialect } = await import("./bun-sqlite-dialect-6NqeV3px.mjs");
54
- dialect = new BunSqliteDialect({ database: db });
55
- }
56
- if ("createSession" in db && typeof window === "undefined") {
57
- console.log("found create session");
58
- let DatabaseSync = void 0;
59
- try {
60
- let nodeSqlite = "node:sqlite";
61
- ({DatabaseSync} = await import(
62
- /* @vite-ignore */
63
- /* webpackIgnore: true */
64
- nodeSqlite
65
- ));
66
- } catch (error) {
67
- console.log("caught");
68
- if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
69
- }
70
- console.log("import dialect");
71
- if (DatabaseSync && db instanceof DatabaseSync) {
72
- const { NodeSqliteDialect } = await import("./node-sqlite-dialect-w4DAg0PH.mjs");
73
- dialect = new NodeSqliteDialect({ database: db });
74
- }
75
- }
76
- if (dialect) toReturn.kysely = new Kysely({ dialect });
77
- }
78
- }
79
- };
80
- return toReturn;
81
- };
82
-
83
- //#endregion
84
- //#region src/adapters/kysely-adapter/kysely-adapter.ts
85
- const withDbInit = (db, work) => async (fn) => {
86
- const rdb = isPromise(db) ? await db : db;
87
- if (work) work(rdb);
88
- return fn(rdb);
89
- };
90
- const kyselyAdapter = (db, config) => {
91
- let lazyOptions = null;
92
- const withDb = withDbInit(db);
93
- const createCustomAdapter = (db$1) => {
94
- return ({ getFieldName }) => {
95
- const withReturningInit = (db$2) => async (values, builder, model, where) => {
96
- let res;
97
- if (config?.type === "mysql") {
98
- await builder.execute();
99
- const field = values.id ? "id" : where.length > 0 && where[0]?.field ? where[0].field : "id";
100
- if (!values.id && where.length === 0) {
101
- res = await db$2.selectFrom(model).selectAll().orderBy(getFieldName({
102
- model,
103
- field
104
- }), "desc").limit(1).executeTakeFirst();
105
- return res;
106
- }
107
- const value = values[field] || where[0]?.value;
108
- res = await db$2.selectFrom(model).selectAll().orderBy(getFieldName({
109
- model,
110
- field
111
- }), "desc").where(getFieldName({
112
- model,
113
- field
114
- }), "=", value).limit(1).executeTakeFirst();
115
- return res;
116
- }
117
- if (config?.type === "mssql") {
118
- res = await builder.outputAll("inserted").executeTakeFirst();
119
- return res;
120
- }
121
- res = await builder.returningAll().executeTakeFirst();
122
- return res;
123
- };
124
- let withReturning;
125
- const withDb$1 = withDbInit(db$1, (db$2) => withReturning ??= withReturningInit(db$2));
126
- function convertWhereClause(model, w) {
127
- if (!w) return {
128
- and: null,
129
- or: null
130
- };
131
- const conditions = {
132
- and: [],
133
- or: []
134
- };
135
- w.forEach((condition) => {
136
- let { field: _field, value: _value, operator = "=", connector = "AND" } = condition;
137
- let value = _value;
138
- let field = getFieldName({
139
- model,
140
- field: _field
141
- });
142
- const expr = (eb) => {
143
- if (operator.toLowerCase() === "in") return eb(field, "in", Array.isArray(value) ? value : [value]);
144
- if (operator.toLowerCase() === "not_in") return eb(field, "not in", Array.isArray(value) ? value : [value]);
145
- if (operator === "contains") return eb(field, "like", `%${value}%`);
146
- if (operator === "starts_with") return eb(field, "like", `${value}%`);
147
- if (operator === "ends_with") return eb(field, "like", `%${value}`);
148
- if (operator === "eq") return eb(field, "=", value);
149
- if (operator === "ne") return eb(field, "<>", value);
150
- if (operator === "gt") return eb(field, ">", value);
151
- if (operator === "gte") return eb(field, ">=", value);
152
- if (operator === "lt") return eb(field, "<", value);
153
- if (operator === "lte") return eb(field, "<=", value);
154
- return eb(field, operator, value);
155
- };
156
- if (connector === "OR") conditions.or.push(expr);
157
- else conditions.and.push(expr);
158
- });
159
- return {
160
- and: conditions.and.length ? conditions.and : null,
161
- or: conditions.or.length ? conditions.or : null
162
- };
163
- }
164
- return {
165
- create: ({ data, model }) => withDb$1(async (db$2) => {
166
- const builder = db$2.insertInto(model).values(data);
167
- return await withReturning(data, builder, model, []);
168
- }),
169
- findOne: ({ model, where, select }) => withDb$1(async (db$2) => {
170
- const { and, or } = convertWhereClause(model, where);
171
- let query = db$2.selectFrom(model).selectAll();
172
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
173
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
174
- const res = await query.executeTakeFirst();
175
- if (!res) return null;
176
- return res;
177
- }),
178
- findMany: ({ model, where, limit, offset, sortBy }) => withDb$1(async (db$2) => {
179
- const { and, or } = convertWhereClause(model, where);
180
- let query = db$2.selectFrom(model);
181
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
182
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
183
- if (config?.type === "mssql") {
184
- if (!offset) query = query.top(limit || 100);
185
- } else query = query.limit(limit || 100);
186
- if (sortBy) query = query.orderBy(getFieldName({
187
- model,
188
- field: sortBy.field
189
- }), sortBy.direction);
190
- if (offset) if (config?.type === "mssql") {
191
- if (!sortBy) query = query.orderBy(getFieldName({
192
- model,
193
- field: "id"
194
- }));
195
- query = query.offset(offset).fetch(limit || 100);
196
- } else query = query.offset(offset);
197
- const res = await query.selectAll().execute();
198
- if (!res) return [];
199
- return res;
200
- }),
201
- update: ({ model, where, update: values }) => withDb$1(async (db$2) => {
202
- const { and, or } = convertWhereClause(model, where);
203
- let query = db$2.updateTable(model).set(values);
204
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
205
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
206
- return await withReturning(values, query, model, where);
207
- }),
208
- updateMany: ({ model, where, update: values }) => withDb$1(async (db$2) => {
209
- const { and, or } = convertWhereClause(model, where);
210
- let query = db$2.updateTable(model).set(values);
211
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
212
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
213
- return (await query.execute()).length;
214
- }),
215
- count: ({ model, where }) => withDb$1(async (db$2) => {
216
- const { and, or } = convertWhereClause(model, where);
217
- let query = db$2.selectFrom(model).select(db$2.fn.count("id").as("count"));
218
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
219
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
220
- const res = await query.execute();
221
- if (typeof res[0].count === "number") return res[0].count;
222
- if (typeof res[0].count === "bigint") return Number(res[0].count);
223
- return parseInt(res[0].count);
224
- }),
225
- delete: ({ model, where }) => withDb$1(async (db$2) => {
226
- const { and, or } = convertWhereClause(model, where);
227
- let query = db$2.deleteFrom(model);
228
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
229
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
230
- await query.execute();
231
- }),
232
- deleteMany: ({ model, where }) => withDb$1(async (db$2) => {
233
- const { and, or } = convertWhereClause(model, where);
234
- let query = db$2.deleteFrom(model);
235
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
236
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
237
- return (await query.execute()).length;
238
- }),
239
- options: config
240
- };
241
- };
242
- };
243
- let adapterOptions = null;
244
- adapterOptions = {
245
- config: {
246
- adapterId: "kysely",
247
- adapterName: "Kysely Adapter",
248
- usePlural: config?.usePlural,
249
- debugLogs: config?.debugLogs,
250
- supportsBooleans: config?.type === "sqlite" || config?.type === "mssql" || config?.type === "mysql" || !config?.type ? false : true,
251
- supportsDates: config?.type === "sqlite" || config?.type === "mssql" || !config?.type ? false : true,
252
- supportsJSON: false,
253
- transaction: config?.transaction ?? false ? (cb) => withDb((db$1) => db$1.transaction().execute(((trx) => {
254
- return cb(createAdapterFactory({
255
- config: adapterOptions.config,
256
- adapter: createCustomAdapter(trx)
257
- })(lazyOptions));
258
- }))) : false
259
- },
260
- adapter: createCustomAdapter(db)
261
- };
262
- const adapter = createAdapterFactory(adapterOptions);
263
- return (options) => {
264
- lazyOptions = options;
265
- return adapter(options);
266
- };
267
- };
268
-
269
- //#endregion
270
- export { createKyselyAdapter as n, getKyselyDatabaseType as r, kyselyAdapter as t };
@@ -1,288 +0,0 @@
1
- const require_chunk = require('./chunk-fPmz2rbM.cjs');
2
- const require_adapter_factory = require('./adapter-factory-D1I7joki.cjs');
3
- let __faire_auth_core_static = require("@faire-auth/core/static");
4
- let kysely = require("kysely");
5
-
6
- //#region src/adapters/kysely-adapter/dialect.ts
7
- function getKyselyDatabaseType(db) {
8
- if (!db) return null;
9
- if ("dialect" in db) return getKyselyDatabaseType(db.dialect);
10
- if ("createDriver" in db) {
11
- if (db instanceof kysely.SqliteDialect) return "sqlite";
12
- if (db instanceof kysely.MysqlDialect) return "mysql";
13
- if (db instanceof kysely.PostgresDialect) return "postgres";
14
- if (db instanceof kysely.MssqlDialect) return "mssql";
15
- }
16
- if ("aggregate" in db) return "sqlite";
17
- if ("getConnection" in db) return "mysql";
18
- if ("connect" in db) return "postgres";
19
- if ("fileControl" in db) return "sqlite";
20
- if ("open" in db && "close" in db && "prepare" in db) return "sqlite";
21
- return null;
22
- }
23
- const createKyselyAdapter = (config) => {
24
- const db = config.database;
25
- if (!db) return {
26
- kysely: null,
27
- databaseType: null,
28
- transaction: void 0
29
- };
30
- if ("db" in db) return {
31
- kysely: db.db,
32
- databaseType: db.type,
33
- transaction: db.transaction
34
- };
35
- if ("dialect" in db) return {
36
- kysely: new kysely.Kysely({ dialect: db.dialect }),
37
- databaseType: db.type,
38
- transaction: db.transaction
39
- };
40
- let dialect = void 0;
41
- const databaseType = getKyselyDatabaseType(db);
42
- if ("createDriver" in db) dialect = db;
43
- if ("aggregate" in db && !("createSession" in db)) dialect = new kysely.SqliteDialect({ database: db });
44
- if ("getConnection" in db) dialect = new kysely.MysqlDialect(db);
45
- if ("connect" in db) dialect = new kysely.PostgresDialect({ pool: db });
46
- const toReturn = {
47
- kysely: dialect ? new kysely.Kysely({ dialect }) : null,
48
- databaseType,
49
- transaction: void 0,
50
- async initialize() {
51
- if (toReturn.kysely == null) {
52
- if ("fileControl" in db) {
53
- console.log("found file control");
54
- const { BunSqliteDialect } = await Promise.resolve().then(() => require("./bun-sqlite-dialect-DPgTzc0w.cjs"));
55
- dialect = new BunSqliteDialect({ database: db });
56
- }
57
- if ("createSession" in db && typeof window === "undefined") {
58
- console.log("found create session");
59
- let DatabaseSync = void 0;
60
- try {
61
- let nodeSqlite = "node:sqlite";
62
- ({DatabaseSync} = await import(
63
- /* @vite-ignore */
64
- /* webpackIgnore: true */
65
- nodeSqlite
66
- ));
67
- } catch (error) {
68
- console.log("caught");
69
- if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
70
- }
71
- console.log("import dialect");
72
- if (DatabaseSync && db instanceof DatabaseSync) {
73
- const { NodeSqliteDialect } = await Promise.resolve().then(() => require("./node-sqlite-dialect-DP11CB0y.cjs"));
74
- dialect = new NodeSqliteDialect({ database: db });
75
- }
76
- }
77
- if (dialect) toReturn.kysely = new kysely.Kysely({ dialect });
78
- }
79
- }
80
- };
81
- return toReturn;
82
- };
83
-
84
- //#endregion
85
- //#region src/adapters/kysely-adapter/kysely-adapter.ts
86
- const withDbInit = (db, work) => async (fn) => {
87
- const rdb = (0, __faire_auth_core_static.isPromise)(db) ? await db : db;
88
- if (work) work(rdb);
89
- return fn(rdb);
90
- };
91
- const kyselyAdapter = (db, config) => {
92
- let lazyOptions = null;
93
- const withDb = withDbInit(db);
94
- const createCustomAdapter = (db$1) => {
95
- return ({ getFieldName }) => {
96
- const withReturningInit = (db$2) => async (values, builder, model, where) => {
97
- let res;
98
- if (config?.type === "mysql") {
99
- await builder.execute();
100
- const field = values.id ? "id" : where.length > 0 && where[0]?.field ? where[0].field : "id";
101
- if (!values.id && where.length === 0) {
102
- res = await db$2.selectFrom(model).selectAll().orderBy(getFieldName({
103
- model,
104
- field
105
- }), "desc").limit(1).executeTakeFirst();
106
- return res;
107
- }
108
- const value = values[field] || where[0]?.value;
109
- res = await db$2.selectFrom(model).selectAll().orderBy(getFieldName({
110
- model,
111
- field
112
- }), "desc").where(getFieldName({
113
- model,
114
- field
115
- }), "=", value).limit(1).executeTakeFirst();
116
- return res;
117
- }
118
- if (config?.type === "mssql") {
119
- res = await builder.outputAll("inserted").executeTakeFirst();
120
- return res;
121
- }
122
- res = await builder.returningAll().executeTakeFirst();
123
- return res;
124
- };
125
- let withReturning;
126
- const withDb$1 = withDbInit(db$1, (db$2) => withReturning ??= withReturningInit(db$2));
127
- function convertWhereClause(model, w) {
128
- if (!w) return {
129
- and: null,
130
- or: null
131
- };
132
- const conditions = {
133
- and: [],
134
- or: []
135
- };
136
- w.forEach((condition) => {
137
- let { field: _field, value: _value, operator = "=", connector = "AND" } = condition;
138
- let value = _value;
139
- let field = getFieldName({
140
- model,
141
- field: _field
142
- });
143
- const expr = (eb) => {
144
- if (operator.toLowerCase() === "in") return eb(field, "in", Array.isArray(value) ? value : [value]);
145
- if (operator.toLowerCase() === "not_in") return eb(field, "not in", Array.isArray(value) ? value : [value]);
146
- if (operator === "contains") return eb(field, "like", `%${value}%`);
147
- if (operator === "starts_with") return eb(field, "like", `${value}%`);
148
- if (operator === "ends_with") return eb(field, "like", `%${value}`);
149
- if (operator === "eq") return eb(field, "=", value);
150
- if (operator === "ne") return eb(field, "<>", value);
151
- if (operator === "gt") return eb(field, ">", value);
152
- if (operator === "gte") return eb(field, ">=", value);
153
- if (operator === "lt") return eb(field, "<", value);
154
- if (operator === "lte") return eb(field, "<=", value);
155
- return eb(field, operator, value);
156
- };
157
- if (connector === "OR") conditions.or.push(expr);
158
- else conditions.and.push(expr);
159
- });
160
- return {
161
- and: conditions.and.length ? conditions.and : null,
162
- or: conditions.or.length ? conditions.or : null
163
- };
164
- }
165
- return {
166
- create: ({ data, model }) => withDb$1(async (db$2) => {
167
- const builder = db$2.insertInto(model).values(data);
168
- return await withReturning(data, builder, model, []);
169
- }),
170
- findOne: ({ model, where, select }) => withDb$1(async (db$2) => {
171
- const { and, or } = convertWhereClause(model, where);
172
- let query = db$2.selectFrom(model).selectAll();
173
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
174
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
175
- const res = await query.executeTakeFirst();
176
- if (!res) return null;
177
- return res;
178
- }),
179
- findMany: ({ model, where, limit, offset, sortBy }) => withDb$1(async (db$2) => {
180
- const { and, or } = convertWhereClause(model, where);
181
- let query = db$2.selectFrom(model);
182
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
183
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
184
- if (config?.type === "mssql") {
185
- if (!offset) query = query.top(limit || 100);
186
- } else query = query.limit(limit || 100);
187
- if (sortBy) query = query.orderBy(getFieldName({
188
- model,
189
- field: sortBy.field
190
- }), sortBy.direction);
191
- if (offset) if (config?.type === "mssql") {
192
- if (!sortBy) query = query.orderBy(getFieldName({
193
- model,
194
- field: "id"
195
- }));
196
- query = query.offset(offset).fetch(limit || 100);
197
- } else query = query.offset(offset);
198
- const res = await query.selectAll().execute();
199
- if (!res) return [];
200
- return res;
201
- }),
202
- update: ({ model, where, update: values }) => withDb$1(async (db$2) => {
203
- const { and, or } = convertWhereClause(model, where);
204
- let query = db$2.updateTable(model).set(values);
205
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
206
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
207
- return await withReturning(values, query, model, where);
208
- }),
209
- updateMany: ({ model, where, update: values }) => withDb$1(async (db$2) => {
210
- const { and, or } = convertWhereClause(model, where);
211
- let query = db$2.updateTable(model).set(values);
212
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
213
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
214
- return (await query.execute()).length;
215
- }),
216
- count: ({ model, where }) => withDb$1(async (db$2) => {
217
- const { and, or } = convertWhereClause(model, where);
218
- let query = db$2.selectFrom(model).select(db$2.fn.count("id").as("count"));
219
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
220
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
221
- const res = await query.execute();
222
- if (typeof res[0].count === "number") return res[0].count;
223
- if (typeof res[0].count === "bigint") return Number(res[0].count);
224
- return parseInt(res[0].count);
225
- }),
226
- delete: ({ model, where }) => withDb$1(async (db$2) => {
227
- const { and, or } = convertWhereClause(model, where);
228
- let query = db$2.deleteFrom(model);
229
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
230
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
231
- await query.execute();
232
- }),
233
- deleteMany: ({ model, where }) => withDb$1(async (db$2) => {
234
- const { and, or } = convertWhereClause(model, where);
235
- let query = db$2.deleteFrom(model);
236
- if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
237
- if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
238
- return (await query.execute()).length;
239
- }),
240
- options: config
241
- };
242
- };
243
- };
244
- let adapterOptions = null;
245
- adapterOptions = {
246
- config: {
247
- adapterId: "kysely",
248
- adapterName: "Kysely Adapter",
249
- usePlural: config?.usePlural,
250
- debugLogs: config?.debugLogs,
251
- supportsBooleans: config?.type === "sqlite" || config?.type === "mssql" || config?.type === "mysql" || !config?.type ? false : true,
252
- supportsDates: config?.type === "sqlite" || config?.type === "mssql" || !config?.type ? false : true,
253
- supportsJSON: false,
254
- transaction: config?.transaction ?? false ? (cb) => withDb((db$1) => db$1.transaction().execute(((trx) => {
255
- return cb(require_adapter_factory.createAdapterFactory({
256
- config: adapterOptions.config,
257
- adapter: createCustomAdapter(trx)
258
- })(lazyOptions));
259
- }))) : false
260
- },
261
- adapter: createCustomAdapter(db)
262
- };
263
- const adapter = require_adapter_factory.createAdapterFactory(adapterOptions);
264
- return (options) => {
265
- lazyOptions = options;
266
- return adapter(options);
267
- };
268
- };
269
-
270
- //#endregion
271
- Object.defineProperty(exports, 'createKyselyAdapter', {
272
- enumerable: true,
273
- get: function () {
274
- return createKyselyAdapter;
275
- }
276
- });
277
- Object.defineProperty(exports, 'getKyselyDatabaseType', {
278
- enumerable: true,
279
- get: function () {
280
- return getKyselyDatabaseType;
281
- }
282
- });
283
- Object.defineProperty(exports, 'kyselyAdapter', {
284
- enumerable: true,
285
- get: function () {
286
- return kyselyAdapter;
287
- }
288
- });