faire-auth 1.0.4 → 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 +45 -80
  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--DLiUhEn.d.mts +0 -33
  200. package/dist/index-B4bqEDYG.d.mts +0 -992
  201. package/dist/index-BDhhaE6Y.d.cts +0 -3
  202. package/dist/index-Boa0SV4h.d.cts +0 -13350
  203. package/dist/index-Bykgiq3o.d.cts +0 -13350
  204. package/dist/index-CF9iq55a.d.mts +0 -3
  205. package/dist/index-CRt_fppq.d.mts +0 -41
  206. package/dist/index-CdLyn7qP.d.cts +0 -41
  207. package/dist/index-ClFGA8tb.d.mts +0 -33
  208. package/dist/index-ClOM0wFf.d.cts +0 -992
  209. package/dist/index-CsxNfGAV.d.mts +0 -13350
  210. package/dist/index-DKnO_Zfm.d.cts +0 -992
  211. package/dist/index-DRYO4mGd.d.cts +0 -33
  212. package/dist/index-Dsua4U8w.d.cts +0 -33
  213. package/dist/index-DxXFCG2_.d.mts +0 -13350
  214. package/dist/index-gtCVvDvC.d.mts +0 -992
  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,26 +1,17 @@
1
- import { I as FaireAuthOptions, Wt as KyselyDatabaseType } from "../../index-Boa0SV4h.cjs";
2
- import "../../hono-DOM31WQz.cjs";
1
+ import { ht as FaireAuthOptions, qt as KyselyDatabaseType } from "../../shared.cjs";
3
2
  import { DBAdapter, DBAdapterDebugLogOption } from "@faire-auth/core/db/adapter";
4
3
  import { Kysely } from "kysely";
5
-
6
- //#region src/adapters/kysely-adapter/dialect.d.ts
7
- declare function getKyselyDatabaseType(db: FaireAuthOptions["database"]): KyselyDatabaseType | null;
8
- declare const createKyselyAdapter: (config: FaireAuthOptions) => {
4
+ export declare function getKyselyDatabaseType(db: FaireAuthOptions["database"]): KyselyDatabaseType | null;
5
+ export declare const createKyselyAdapter: (config: FaireAuthOptions) => {
6
+ kysely: any;
7
+ databaseType: any;
8
+ transaction: any;
9
+ } | {
9
10
  kysely: Kysely<any> | null;
10
11
  databaseType: KyselyDatabaseType | null;
11
12
  transaction: undefined;
12
13
  initialize(): Promise<void>;
13
- } | {
14
- kysely: null;
15
- databaseType: null;
16
- transaction: undefined;
17
- } | {
18
- kysely: Kysely<any>;
19
- databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
20
- transaction: boolean | undefined;
21
14
  };
22
- //#endregion
23
- //#region src/adapters/kysely-adapter/kysely-adapter.d.ts
24
15
  interface KyselyAdapterConfig {
25
16
  /**
26
17
  * Database type.
@@ -47,6 +38,5 @@ interface KyselyAdapterConfig {
47
38
  */
48
39
  transaction?: boolean | undefined;
49
40
  }
50
- declare const kyselyAdapter: (db: Kysely<any> | Promise<Kysely<any>>, config?: KyselyAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
51
- //#endregion
52
- export { KyselyDatabaseType, createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
41
+ export declare const kyselyAdapter: (db: Kysely<any> | Promise<Kysely<any>>, config?: KyselyAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
42
+ export { KyselyDatabaseType };
@@ -1,26 +1,17 @@
1
- import { I as FaireAuthOptions, Wt as KyselyDatabaseType } from "../../index-DxXFCG2_.mjs";
2
- import "../../hono-D0VqxVy1.mjs";
1
+ import { Jt as KyselyDatabaseType, gt as FaireAuthOptions } from "../../shared.mjs";
3
2
  import { Kysely } from "kysely";
4
3
  import { DBAdapter, DBAdapterDebugLogOption } from "@faire-auth/core/db/adapter";
5
-
6
- //#region src/adapters/kysely-adapter/dialect.d.ts
7
- declare function getKyselyDatabaseType(db: FaireAuthOptions["database"]): KyselyDatabaseType | null;
8
- declare const createKyselyAdapter: (config: FaireAuthOptions) => {
4
+ export declare function getKyselyDatabaseType(db: FaireAuthOptions["database"]): KyselyDatabaseType | null;
5
+ export declare const createKyselyAdapter: (config: FaireAuthOptions) => {
6
+ kysely: any;
7
+ databaseType: any;
8
+ transaction: any;
9
+ } | {
9
10
  kysely: Kysely<any> | null;
10
11
  databaseType: KyselyDatabaseType | null;
11
12
  transaction: undefined;
12
13
  initialize(): Promise<void>;
13
- } | {
14
- kysely: null;
15
- databaseType: null;
16
- transaction: undefined;
17
- } | {
18
- kysely: Kysely<any>;
19
- databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
20
- transaction: boolean | undefined;
21
14
  };
22
- //#endregion
23
- //#region src/adapters/kysely-adapter/kysely-adapter.d.ts
24
15
  interface KyselyAdapterConfig {
25
16
  /**
26
17
  * Database type.
@@ -47,6 +38,5 @@ interface KyselyAdapterConfig {
47
38
  */
48
39
  transaction?: boolean | undefined;
49
40
  }
50
- declare const kyselyAdapter: (db: Kysely<any> | Promise<Kysely<any>>, config?: KyselyAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
51
- //#endregion
52
- export { KyselyDatabaseType, createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
41
+ export declare const kyselyAdapter: (db: Kysely<any> | Promise<Kysely<any>>, config?: KyselyAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<FaireAuthOptions>;
42
+ export { KyselyDatabaseType };
@@ -1,9 +1,267 @@
1
- import "../../crypto-DH2Aa7jN.mjs";
2
- import "../../json-B1v2qRTQ.mjs";
3
- import "../../state-CQghgH9I.mjs";
4
- import "../../request-1NL_1lyJ.mjs";
5
- import "../../utils-D4vZd1-9.mjs";
6
- import { n as createKyselyAdapter, r as getKyselyDatabaseType, t as kyselyAdapter } from "../../kysely-adapter-CtIdoHa8.mjs";
7
- import "../../adapter-factory-lKIOf2OR.mjs";
8
-
9
- export { createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
1
+ import { t as createAdapterFactory } from "../../adapter-factory-qPVW8x9-.mjs";
2
+ import { isPromise } from "@faire-auth/core/static";
3
+ import { Kysely, MssqlDialect, MysqlDialect, PostgresDialect, SqliteDialect } from "kysely";
4
+ // src/adapters/kysely-adapter/dialect.ts
5
+ function getKyselyDatabaseType(db) {
6
+ if (!db) return null;
7
+ if ("dialect" in db) return getKyselyDatabaseType(db.dialect);
8
+ if ("createDriver" in db) {
9
+ if (db instanceof SqliteDialect) return "sqlite";
10
+ if (db instanceof MysqlDialect) return "mysql";
11
+ if (db instanceof PostgresDialect) return "postgres";
12
+ if (db instanceof MssqlDialect) return "mssql";
13
+ }
14
+ if ("aggregate" in db) return "sqlite";
15
+ if ("getConnection" in db) return "mysql";
16
+ if ("connect" in db) return "postgres";
17
+ if ("fileControl" in db) return "sqlite";
18
+ if ("open" in db && "close" in db && "prepare" in db) return "sqlite";
19
+ return null;
20
+ }
21
+ const createKyselyAdapter = (config) => {
22
+ const db = config.database;
23
+ if (!db) return {
24
+ kysely: null,
25
+ databaseType: null,
26
+ transaction: void 0
27
+ };
28
+ if ("db" in db) return {
29
+ kysely: db.db,
30
+ databaseType: db.type,
31
+ transaction: db.transaction
32
+ };
33
+ if ("dialect" in db) return {
34
+ kysely: new Kysely({ dialect: db.dialect }),
35
+ databaseType: db.type,
36
+ transaction: db.transaction
37
+ };
38
+ let dialect = void 0;
39
+ const databaseType = getKyselyDatabaseType(db);
40
+ if ("createDriver" in db) dialect = db;
41
+ if ("aggregate" in db && !("createSession" in db)) dialect = new SqliteDialect({ database: db });
42
+ if ("getConnection" in db) dialect = new MysqlDialect(db);
43
+ if ("connect" in db) dialect = new PostgresDialect({ pool: db });
44
+ const toReturn = {
45
+ kysely: dialect ? new Kysely({ dialect }) : null,
46
+ databaseType,
47
+ transaction: void 0,
48
+ async initialize() {
49
+ if (toReturn.kysely == null) {
50
+ if ("fileControl" in db) {
51
+ console.log("found file control");
52
+ const { BunSqliteDialect } = await import("../../bun-sqlite-dialect-BiZBuEF6.mjs");
53
+ dialect = new BunSqliteDialect({ database: db });
54
+ }
55
+ if ("createSession" in db && typeof window === "undefined") {
56
+ console.log("found create session");
57
+ let DatabaseSync = void 0;
58
+ try {
59
+ let nodeSqlite = "node:sqlite";
60
+ ({DatabaseSync} = await import(
61
+ /* @vite-ignore */
62
+ /* webpackIgnore: true */
63
+ nodeSqlite
64
+ ));
65
+ } catch (error) {
66
+ console.log("caught");
67
+ if (error !== null && typeof error === "object" && "code" in error && error.code !== "ERR_UNKNOWN_BUILTIN_MODULE") throw error;
68
+ }
69
+ console.log("import dialect");
70
+ if (DatabaseSync && db instanceof DatabaseSync) {
71
+ const { NodeSqliteDialect } = await import("../../node-sqlite-dialect-BMVOjEMh.mjs");
72
+ dialect = new NodeSqliteDialect({ database: db });
73
+ }
74
+ }
75
+ if (dialect) toReturn.kysely = new Kysely({ dialect });
76
+ }
77
+ }
78
+ };
79
+ return toReturn;
80
+ };
81
+ // src/adapters/kysely-adapter/kysely-adapter.ts
82
+ const withDbInit = (db, work) => async (fn) => {
83
+ const rdb = isPromise(db) ? await db : db;
84
+ if (work) work(rdb);
85
+ return fn(rdb);
86
+ };
87
+ const kyselyAdapter = (db, config) => {
88
+ let lazyOptions = null;
89
+ const withDb = withDbInit(db);
90
+ const createCustomAdapter = (db) => {
91
+ return ({ getFieldName }) => {
92
+ const withReturningInit = (db) => async (values, builder, model, where) => {
93
+ let res;
94
+ if (config?.type === "mysql") {
95
+ await builder.execute();
96
+ const field = values.id ? "id" : where.length > 0 && where[0]?.field ? where[0].field : "id";
97
+ if (!values.id && where.length === 0) {
98
+ res = await db.selectFrom(model).selectAll().orderBy(getFieldName({
99
+ model,
100
+ field
101
+ }), "desc").limit(1).executeTakeFirst();
102
+ return res;
103
+ }
104
+ const value = values[field] || where[0]?.value;
105
+ res = await db.selectFrom(model).selectAll().orderBy(getFieldName({
106
+ model,
107
+ field
108
+ }), "desc").where(getFieldName({
109
+ model,
110
+ field
111
+ }), "=", value).limit(1).executeTakeFirst();
112
+ return res;
113
+ }
114
+ if (config?.type === "mssql") {
115
+ res = await builder.outputAll("inserted").executeTakeFirst();
116
+ return res;
117
+ }
118
+ res = await builder.returningAll().executeTakeFirst();
119
+ return res;
120
+ };
121
+ let withReturning;
122
+ const withDb = withDbInit(db, (db) => withReturning ??= withReturningInit(db));
123
+ function convertWhereClause(model, w) {
124
+ if (!w) return {
125
+ and: null,
126
+ or: null
127
+ };
128
+ const conditions = {
129
+ and: [],
130
+ or: []
131
+ };
132
+ w.forEach((condition) => {
133
+ let { field: _field, value: _value, operator = "=", connector = "AND" } = condition;
134
+ let value = _value;
135
+ let field = getFieldName({
136
+ model,
137
+ field: _field
138
+ });
139
+ const expr = (eb) => {
140
+ if (operator.toLowerCase() === "in") return eb(field, "in", Array.isArray(value) ? value : [value]);
141
+ if (operator.toLowerCase() === "not_in") return eb(field, "not in", Array.isArray(value) ? value : [value]);
142
+ if (operator === "contains") return eb(field, "like", `%${value}%`);
143
+ if (operator === "starts_with") return eb(field, "like", `${value}%`);
144
+ if (operator === "ends_with") return eb(field, "like", `%${value}`);
145
+ if (operator === "eq") return eb(field, "=", value);
146
+ if (operator === "ne") return eb(field, "<>", value);
147
+ if (operator === "gt") return eb(field, ">", value);
148
+ if (operator === "gte") return eb(field, ">=", value);
149
+ if (operator === "lt") return eb(field, "<", value);
150
+ if (operator === "lte") return eb(field, "<=", value);
151
+ return eb(field, operator, value);
152
+ };
153
+ if (connector === "OR") conditions.or.push(expr);
154
+ else conditions.and.push(expr);
155
+ });
156
+ return {
157
+ and: conditions.and.length ? conditions.and : null,
158
+ or: conditions.or.length ? conditions.or : null
159
+ };
160
+ }
161
+ return {
162
+ create: ({ data, model }) => withDb(async (db) => {
163
+ const builder = db.insertInto(model).values(data);
164
+ return await withReturning(data, builder, model, []);
165
+ }),
166
+ findOne: ({ model, where, select }) => withDb(async (db) => {
167
+ const { and, or } = convertWhereClause(model, where);
168
+ let query = db.selectFrom(model).selectAll();
169
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
170
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
171
+ const res = await query.executeTakeFirst();
172
+ if (!res) return null;
173
+ return res;
174
+ }),
175
+ findMany: ({ model, where, limit, offset, sortBy }) => withDb(async (db) => {
176
+ const { and, or } = convertWhereClause(model, where);
177
+ let query = db.selectFrom(model);
178
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
179
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
180
+ if (config?.type === "mssql") {
181
+ if (!offset) query = query.top(limit || 100);
182
+ } else query = query.limit(limit || 100);
183
+ if (sortBy) query = query.orderBy(getFieldName({
184
+ model,
185
+ field: sortBy.field
186
+ }), sortBy.direction);
187
+ if (offset) {
188
+ if (config?.type === "mssql") {
189
+ if (!sortBy) query = query.orderBy(getFieldName({
190
+ model,
191
+ field: "id"
192
+ }));
193
+ query = query.offset(offset).fetch(limit || 100);
194
+ } else query = query.offset(offset);
195
+ }
196
+ const res = await query.selectAll().execute();
197
+ if (!res) return [];
198
+ return res;
199
+ }),
200
+ update: ({ model, where, update: values }) => withDb(async (db) => {
201
+ const { and, or } = convertWhereClause(model, where);
202
+ let query = db.updateTable(model).set(values);
203
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
204
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
205
+ return await withReturning(values, query, model, where);
206
+ }),
207
+ updateMany: ({ model, where, update: values }) => withDb(async (db) => {
208
+ const { and, or } = convertWhereClause(model, where);
209
+ let query = db.updateTable(model).set(values);
210
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
211
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
212
+ return (await query.execute()).length;
213
+ }),
214
+ count: ({ model, where }) => withDb(async (db) => {
215
+ const { and, or } = convertWhereClause(model, where);
216
+ let query = db.selectFrom(model).select(db.fn.count("id").as("count"));
217
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
218
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
219
+ const res = await query.execute();
220
+ if (typeof res[0].count === "number") return res[0].count;
221
+ if (typeof res[0].count === "bigint") return Number(res[0].count);
222
+ return parseInt(res[0].count);
223
+ }),
224
+ delete: ({ model, where }) => withDb(async (db) => {
225
+ const { and, or } = convertWhereClause(model, where);
226
+ let query = db.deleteFrom(model);
227
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
228
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
229
+ await query.execute();
230
+ }),
231
+ deleteMany: ({ model, where }) => withDb(async (db) => {
232
+ const { and, or } = convertWhereClause(model, where);
233
+ let query = db.deleteFrom(model);
234
+ if (and) query = query.where((eb) => eb.and(and.map((expr) => expr(eb))));
235
+ if (or) query = query.where((eb) => eb.or(or.map((expr) => expr(eb))));
236
+ return (await query.execute()).length;
237
+ }),
238
+ options: config
239
+ };
240
+ };
241
+ };
242
+ let adapterOptions = null;
243
+ adapterOptions = {
244
+ config: {
245
+ adapterId: "kysely",
246
+ adapterName: "Kysely Adapter",
247
+ usePlural: config?.usePlural,
248
+ debugLogs: config?.debugLogs,
249
+ supportsBooleans: config?.type === "sqlite" || config?.type === "mssql" || config?.type === "mysql" || !config?.type ? false : true,
250
+ supportsDates: config?.type === "sqlite" || config?.type === "mssql" || !config?.type ? false : true,
251
+ supportsJSON: false,
252
+ transaction: config?.transaction ?? false ? (cb) => withDb((db) => db.transaction().execute(((trx) => {
253
+ return cb(createAdapterFactory({
254
+ config: adapterOptions.config,
255
+ adapter: createCustomAdapter(trx)
256
+ })(lazyOptions));
257
+ }))) : false
258
+ },
259
+ adapter: createCustomAdapter(db)
260
+ };
261
+ const adapter = createAdapterFactory(adapterOptions);
262
+ return (options) => {
263
+ lazyOptions = options;
264
+ return adapter(options);
265
+ };
266
+ };
267
+ export { createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
@@ -1,9 +1,146 @@
1
- require('../../crypto-DpSCnrTp.cjs');
2
- require('../../json--tl7Grvs.cjs');
3
- require('../../state-CvSihlVT.cjs');
4
- require('../../request-CPNlp-DK.cjs');
5
- require('../../utils-44aDDP8f.cjs');
6
- require('../../adapter-factory-D1I7joki.cjs');
7
- const require_memory_adapter = require('../../memory-adapter-17RZd5df.cjs');
8
-
9
- exports.memoryAdapter = require_memory_adapter.memoryAdapter;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_adapter_factory = require("../../adapter-factory-u8r3oTez.cjs");
3
+ let _faire_auth_core_env = require("@faire-auth/core/env");
4
+ // src/adapters/memory-adapter/memory-adapter.ts
5
+ const memoryAdapter = (db, config) => {
6
+ let lazyOptions = null;
7
+ let adapterCreator = require_adapter_factory.createAdapterFactory({
8
+ config: {
9
+ adapterId: "memory",
10
+ adapterName: "Memory Adapter",
11
+ usePlural: false,
12
+ debugLogs: config?.debugLogs || false,
13
+ customTransformInput(props) {
14
+ if (props.options.advanced?.database?.useNumberId && props.field === "id" && props.action === "create") return db[props.model].length + 1;
15
+ return props.data;
16
+ },
17
+ transaction: async (cb) => {
18
+ let clone = structuredClone(db);
19
+ try {
20
+ return await cb(adapterCreator(lazyOptions));
21
+ } catch (error) {
22
+ Object.keys(db).forEach((key) => {
23
+ db[key] = clone[key];
24
+ });
25
+ throw error;
26
+ }
27
+ }
28
+ },
29
+ adapter: ({ getFieldName, options, debugLog }) => {
30
+ function convertWhereClause(where, model) {
31
+ const table = db[model];
32
+ if (!table) {
33
+ _faire_auth_core_env.logger.error(`[MemoryAdapter] Model ${model} not found in the DB`, Object.keys(db));
34
+ throw new Error(`Model ${model} not found`);
35
+ }
36
+ const evalClause = (record, clause) => {
37
+ const { field, value, operator } = clause;
38
+ switch (operator) {
39
+ case "in":
40
+ if (!Array.isArray(value)) throw new Error("Value must be an array");
41
+ return value.includes(record[field]);
42
+ case "not_in":
43
+ if (!Array.isArray(value)) throw new Error("Value must be an array");
44
+ return !value.includes(record[field]);
45
+ case "contains": return record[field].includes(value);
46
+ case "starts_with": return record[field].startsWith(value);
47
+ case "ends_with": return record[field].endsWith(value);
48
+ case "ne": return record[field] !== value;
49
+ case "gt": return value != null && Boolean(record[field] > value);
50
+ case "gte": return value != null && Boolean(record[field] >= value);
51
+ case "lt": return value != null && Boolean(record[field] < value);
52
+ case "lte": return value != null && Boolean(record[field] <= value);
53
+ default: return record[field] === value;
54
+ }
55
+ };
56
+ return table.filter((record) => {
57
+ if (!where.length || where.length === 0) return true;
58
+ let result = evalClause(record, where[0]);
59
+ for (const clause of where) {
60
+ const clauseResult = evalClause(record, clause);
61
+ if (clause.connector === "OR") result = result || clauseResult;
62
+ else result = result && clauseResult;
63
+ }
64
+ return result;
65
+ });
66
+ }
67
+ return {
68
+ create: async ({ model, data }) => {
69
+ if (options.advanced?.database?.useNumberId) data.id = db[model].length + 1;
70
+ if (!db[model]) db[model] = [];
71
+ db[model].push(data);
72
+ return data;
73
+ },
74
+ findOne: async ({ model, where }) => {
75
+ return convertWhereClause(where, model)[0] || null;
76
+ },
77
+ findMany: async ({ model, where, sortBy, limit, offset }) => {
78
+ let table = db[model];
79
+ if (where) table = convertWhereClause(where, model);
80
+ if (sortBy) table = table.sort((a, b) => {
81
+ const field = getFieldName({
82
+ model,
83
+ field: sortBy.field
84
+ });
85
+ const aValue = a[field];
86
+ const bValue = b[field];
87
+ let comparison = 0;
88
+ if (aValue == null && bValue == null) comparison = 0;
89
+ else if (aValue == null) comparison = -1;
90
+ else if (bValue == null) comparison = 1;
91
+ else if (typeof aValue === "string" && typeof bValue === "string") comparison = aValue.localeCompare(bValue);
92
+ else if (aValue instanceof Date && bValue instanceof Date) comparison = aValue.getTime() - bValue.getTime();
93
+ else if (typeof aValue === "number" && typeof bValue === "number") comparison = aValue - bValue;
94
+ else if (typeof aValue === "boolean" && typeof bValue === "boolean") comparison = aValue === bValue ? 0 : aValue ? 1 : -1;
95
+ else comparison = String(aValue).localeCompare(String(bValue));
96
+ return sortBy.direction === "asc" ? comparison : -comparison;
97
+ });
98
+ if (offset !== void 0) table = table.slice(offset);
99
+ if (limit !== void 0) table = table.slice(0, limit);
100
+ return table || [];
101
+ },
102
+ count: async ({ model, where }) => {
103
+ if (where) return convertWhereClause(where, model).length;
104
+ return db[model].length;
105
+ },
106
+ update: async ({ model, where, update }) => {
107
+ const res = convertWhereClause(where, model);
108
+ res.forEach((record) => {
109
+ Object.assign(record, update);
110
+ });
111
+ return res[0] || null;
112
+ },
113
+ delete: async ({ model, where }) => {
114
+ const table = db[model];
115
+ const res = convertWhereClause(where, model);
116
+ db[model] = table.filter((record) => !res.includes(record));
117
+ },
118
+ deleteMany: async ({ model, where }) => {
119
+ const table = db[model];
120
+ const res = convertWhereClause(where, model);
121
+ let count = 0;
122
+ db[model] = table.filter((record) => {
123
+ if (res.includes(record)) {
124
+ count++;
125
+ return false;
126
+ }
127
+ return !res.includes(record);
128
+ });
129
+ return count;
130
+ },
131
+ updateMany({ model, where, update }) {
132
+ const res = convertWhereClause(where, model);
133
+ res.forEach((record) => {
134
+ Object.assign(record, update);
135
+ });
136
+ return res[0] || null;
137
+ }
138
+ };
139
+ }
140
+ });
141
+ return (options) => {
142
+ lazyOptions = options;
143
+ return adapterCreator(options);
144
+ };
145
+ };
146
+ exports.memoryAdapter = memoryAdapter;
@@ -1,15 +1,9 @@
1
- import { I as FaireAuthOptions } from "../../index-Boa0SV4h.cjs";
2
- import "../../hono-DOM31WQz.cjs";
1
+ import { ht as FaireAuthOptions } from "../../shared.cjs";
3
2
  import { DBAdapterDebugLogOption } from "@faire-auth/core/db/adapter";
4
- import * as _faire_auth_core_db13 from "@faire-auth/core/db";
5
-
6
- //#region src/adapters/memory-adapter/memory-adapter.d.ts
7
- interface MemoryDB {
3
+ export interface MemoryDB {
8
4
  [key: string]: any[];
9
5
  }
10
- interface MemoryAdapterConfig {
6
+ export interface MemoryAdapterConfig {
11
7
  debugLogs?: DBAdapterDebugLogOption;
12
8
  }
13
- declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig) => (options: FaireAuthOptions) => _faire_auth_core_db13.DBAdapter<FaireAuthOptions>;
14
- //#endregion
15
- export { MemoryAdapterConfig, MemoryDB, memoryAdapter };
9
+ export declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<O>;
@@ -1,15 +1,9 @@
1
- import { I as FaireAuthOptions } from "../../index-DxXFCG2_.mjs";
2
- import "../../hono-D0VqxVy1.mjs";
3
- import * as _faire_auth_core_db20 from "@faire-auth/core/db";
1
+ import { gt as FaireAuthOptions } from "../../shared.mjs";
4
2
  import { DBAdapterDebugLogOption } from "@faire-auth/core/db/adapter";
5
-
6
- //#region src/adapters/memory-adapter/memory-adapter.d.ts
7
- interface MemoryDB {
3
+ export interface MemoryDB {
8
4
  [key: string]: any[];
9
5
  }
10
- interface MemoryAdapterConfig {
6
+ export interface MemoryAdapterConfig {
11
7
  debugLogs?: DBAdapterDebugLogOption;
12
8
  }
13
- declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig) => (options: FaireAuthOptions) => _faire_auth_core_db20.DBAdapter<FaireAuthOptions>;
14
- //#endregion
15
- export { MemoryAdapterConfig, MemoryDB, memoryAdapter };
9
+ export declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig) => (options: FaireAuthOptions) => DBAdapter<O>;