hylekit 1.0.3 → 1.0.5
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/README.md +126 -59
- package/dist/bff/index.cjs +5 -139
- package/dist/bff/index.cjs.map +1 -1
- package/dist/bff/index.d.cts +2 -1
- package/dist/bff/index.d.ts +2 -1
- package/dist/bff/index.js +5 -145
- package/dist/bff/index.js.map +1 -1
- package/dist/client/index.cjs +48 -0
- package/dist/client/index.cjs.map +1 -0
- package/dist/client/index.d.cts +1588 -0
- package/dist/client/index.d.ts +1588 -0
- package/dist/client/index.js +21 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/nextjs.cjs +4 -220
- package/dist/client/nextjs.cjs.map +1 -1
- package/dist/client/nextjs.d.cts +89 -243
- package/dist/client/nextjs.d.ts +89 -243
- package/dist/client/nextjs.js +3 -224
- package/dist/client/nextjs.js.map +1 -1
- package/dist/client/sveltekit.cjs +4 -207
- package/dist/client/sveltekit.cjs.map +1 -1
- package/dist/client/sveltekit.d.cts +89 -219
- package/dist/client/sveltekit.d.ts +89 -219
- package/dist/client/sveltekit.js +3 -211
- package/dist/client/sveltekit.js.map +1 -1
- package/dist/{index-DYW73KK3.d.cts → index-B-5TEr94.d.cts} +28 -2
- package/dist/{index-DYW73KK3.d.ts → index-B-5TEr94.d.ts} +28 -2
- package/dist/index.cjs +276 -262
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +110 -3272
- package/dist/index.d.ts +110 -3272
- package/dist/index.js +270 -258
- package/dist/index.js.map +1 -1
- package/dist/server/express.cjs +71 -80
- package/dist/server/express.cjs.map +1 -1
- package/dist/server/express.d.cts +18 -6
- package/dist/server/express.d.ts +18 -6
- package/dist/server/express.js +70 -86
- package/dist/server/express.js.map +1 -1
- package/dist/server/nextjs.cjs +107 -0
- package/dist/server/nextjs.cjs.map +1 -0
- package/dist/server/nextjs.d.cts +90 -0
- package/dist/server/nextjs.d.ts +90 -0
- package/dist/server/nextjs.js +82 -0
- package/dist/server/nextjs.js.map +1 -0
- package/dist/server/sveltekit.cjs +94 -0
- package/dist/server/sveltekit.cjs.map +1 -0
- package/dist/server/sveltekit.d.cts +68 -0
- package/dist/server/sveltekit.d.ts +68 -0
- package/dist/server/sveltekit.js +69 -0
- package/dist/server/sveltekit.js.map +1 -0
- package/dist/{types-GOn9sn7-.d.ts → types-Wucl0qmN.d.cts} +1 -8
- package/dist/{types-BHiK1JUX.d.cts → types-Wucl0qmN.d.ts} +1 -8
- package/package.json +22 -6
package/dist/client/sveltekit.js
CHANGED
|
@@ -1,217 +1,9 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __export = (target, all) => {
|
|
3
|
-
for (var name in all)
|
|
4
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
-
};
|
|
6
|
-
|
|
7
1
|
// src/client/sveltekit.ts
|
|
8
|
-
import { toSvelteKitHandler } from "better-auth/svelte-kit";
|
|
9
2
|
import { createAuthClient } from "better-auth/svelte";
|
|
10
|
-
|
|
11
|
-
// src/lib/auth.ts
|
|
12
|
-
import { betterAuth } from "better-auth";
|
|
13
|
-
import { drizzleAdapter } from "better-auth/adapters/drizzle";
|
|
14
|
-
|
|
15
|
-
// src/lib/db.ts
|
|
16
|
-
import { drizzle } from "drizzle-orm/libsql";
|
|
17
|
-
import { createClient } from "@libsql/client";
|
|
18
|
-
|
|
19
|
-
// src/lib/schema.ts
|
|
20
|
-
var schema_exports = {};
|
|
21
|
-
__export(schema_exports, {
|
|
22
|
-
account: () => account,
|
|
23
|
-
accountRelations: () => accountRelations,
|
|
24
|
-
session: () => session,
|
|
25
|
-
sessionRelations: () => sessionRelations,
|
|
26
|
-
user: () => user,
|
|
27
|
-
userRelations: () => userRelations,
|
|
28
|
-
verification: () => verification
|
|
29
|
-
});
|
|
30
|
-
import { relations, sql } from "drizzle-orm";
|
|
31
|
-
import { sqliteTable, text, integer, index } from "drizzle-orm/sqlite-core";
|
|
32
|
-
var user = sqliteTable("user", {
|
|
33
|
-
id: text("id").primaryKey(),
|
|
34
|
-
name: text("name").notNull(),
|
|
35
|
-
email: text("email").notNull().unique(),
|
|
36
|
-
emailVerified: integer("email_verified", { mode: "boolean" }).default(false).notNull(),
|
|
37
|
-
image: text("image"),
|
|
38
|
-
createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
|
|
39
|
-
updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
40
|
-
});
|
|
41
|
-
var session = sqliteTable(
|
|
42
|
-
"session",
|
|
43
|
-
{
|
|
44
|
-
id: text("id").primaryKey(),
|
|
45
|
-
expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(),
|
|
46
|
-
token: text("token").notNull().unique(),
|
|
47
|
-
createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
|
|
48
|
-
updatedAt: integer("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
|
|
49
|
-
ipAddress: text("ip_address"),
|
|
50
|
-
userAgent: text("user_agent"),
|
|
51
|
-
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" })
|
|
52
|
-
},
|
|
53
|
-
(table) => [index("session_userId_idx").on(table.userId)]
|
|
54
|
-
);
|
|
55
|
-
var account = sqliteTable(
|
|
56
|
-
"account",
|
|
57
|
-
{
|
|
58
|
-
id: text("id").primaryKey(),
|
|
59
|
-
accountId: text("account_id").notNull(),
|
|
60
|
-
providerId: text("provider_id").notNull(),
|
|
61
|
-
userId: text("user_id").notNull().references(() => user.id, { onDelete: "cascade" }),
|
|
62
|
-
accessToken: text("access_token"),
|
|
63
|
-
refreshToken: text("refresh_token"),
|
|
64
|
-
idToken: text("id_token"),
|
|
65
|
-
accessTokenExpiresAt: integer("access_token_expires_at", {
|
|
66
|
-
mode: "timestamp_ms"
|
|
67
|
-
}),
|
|
68
|
-
refreshTokenExpiresAt: integer("refresh_token_expires_at", {
|
|
69
|
-
mode: "timestamp_ms"
|
|
70
|
-
}),
|
|
71
|
-
scope: text("scope"),
|
|
72
|
-
password: text("password"),
|
|
73
|
-
createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
|
|
74
|
-
updatedAt: integer("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
75
|
-
},
|
|
76
|
-
(table) => [index("account_userId_idx").on(table.userId)]
|
|
77
|
-
);
|
|
78
|
-
var verification = sqliteTable(
|
|
79
|
-
"verification",
|
|
80
|
-
{
|
|
81
|
-
id: text("id").primaryKey(),
|
|
82
|
-
identifier: text("identifier").notNull(),
|
|
83
|
-
value: text("value").notNull(),
|
|
84
|
-
expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(),
|
|
85
|
-
createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
|
|
86
|
-
updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
|
|
87
|
-
},
|
|
88
|
-
(table) => [index("verification_identifier_idx").on(table.identifier)]
|
|
89
|
-
);
|
|
90
|
-
var userRelations = relations(user, ({ many }) => ({
|
|
91
|
-
sessions: many(session),
|
|
92
|
-
accounts: many(account)
|
|
93
|
-
}));
|
|
94
|
-
var sessionRelations = relations(session, ({ one }) => ({
|
|
95
|
-
user: one(user, {
|
|
96
|
-
fields: [session.userId],
|
|
97
|
-
references: [user.id]
|
|
98
|
-
})
|
|
99
|
-
}));
|
|
100
|
-
var accountRelations = relations(account, ({ one }) => ({
|
|
101
|
-
user: one(user, {
|
|
102
|
-
fields: [account.userId],
|
|
103
|
-
references: [user.id]
|
|
104
|
-
})
|
|
105
|
-
}));
|
|
106
|
-
|
|
107
|
-
// src/lib/db.ts
|
|
108
|
-
var client = createClient({
|
|
109
|
-
url: process.env.HYLE_DATABASE_URL,
|
|
110
|
-
authToken: process.env.HYLE_DATABASE_AUTH_TOKEN
|
|
111
|
-
});
|
|
112
|
-
var db = drizzle(client, { schema: schema_exports });
|
|
113
|
-
|
|
114
|
-
// src/lib/auth.ts
|
|
115
|
-
var auth = betterAuth({
|
|
116
|
-
database: drizzleAdapter(db, {
|
|
117
|
-
provider: "sqlite",
|
|
118
|
-
schema: {
|
|
119
|
-
...schema_exports
|
|
120
|
-
}
|
|
121
|
-
}),
|
|
122
|
-
baseURL: process.env.BETTER_AUTH_URL || process.env.PUBLIC_APP_URL || process.env.NEXT_PUBLIC_APP_URL,
|
|
123
|
-
secret: process.env.BETTER_AUTH_SECRET,
|
|
124
|
-
trustedOrigins: process.env.TRUSTED_ORIGINS ? process.env.TRUSTED_ORIGINS.split(",") : void 0,
|
|
125
|
-
socialProviders: {
|
|
126
|
-
google: {
|
|
127
|
-
clientId: process.env.GOOGLE_CLIENT_ID || "",
|
|
128
|
-
clientSecret: process.env.GOOGLE_CLIENT_SECRET || ""
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
session: {
|
|
132
|
-
expiresIn: 60 * 60 * 24 * 7,
|
|
133
|
-
// 7 days
|
|
134
|
-
updateAge: 60 * 60 * 24,
|
|
135
|
-
// Update session every 24 hours
|
|
136
|
-
cookieCache: {
|
|
137
|
-
enabled: true,
|
|
138
|
-
maxAge: 60 * 5
|
|
139
|
-
// 5 minutes
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
// src/client/sveltekit.ts
|
|
145
|
-
var handler = toSvelteKitHandler(auth);
|
|
146
3
|
var authClient = createAuthClient();
|
|
147
|
-
var
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Alias for signIn.
|
|
151
|
-
*/
|
|
152
|
-
login: authClient.signIn
|
|
153
|
-
};
|
|
154
|
-
var server = {
|
|
155
|
-
/**
|
|
156
|
-
* The underlying BetterAuth instance.
|
|
157
|
-
*/
|
|
158
|
-
auth,
|
|
159
|
-
/**
|
|
160
|
-
* SvelteKit request handler for auth routes.
|
|
161
|
-
* Place this in `src/routes/api/auth/[...auth]/+server.ts`
|
|
162
|
-
*/
|
|
163
|
-
handler: {
|
|
164
|
-
GET: handler,
|
|
165
|
-
POST: handler
|
|
166
|
-
},
|
|
167
|
-
/**
|
|
168
|
-
* Creates a SvelteKit handle hook for session management.
|
|
169
|
-
*/
|
|
170
|
-
createHandle: () => {
|
|
171
|
-
return async ({ event, resolve }) => {
|
|
172
|
-
const session2 = await auth.api.getSession({
|
|
173
|
-
headers: event.request.headers
|
|
174
|
-
});
|
|
175
|
-
event.locals.session = session2;
|
|
176
|
-
event.locals.user = session2?.user ?? null;
|
|
177
|
-
return resolve(event);
|
|
178
|
-
};
|
|
179
|
-
},
|
|
180
|
-
/**
|
|
181
|
-
* Get session from request event.
|
|
182
|
-
*/
|
|
183
|
-
getSession: async (event) => {
|
|
184
|
-
return auth.api.getSession({
|
|
185
|
-
headers: event.request.headers
|
|
186
|
-
});
|
|
187
|
-
},
|
|
188
|
-
/**
|
|
189
|
-
* Check if user is authenticated.
|
|
190
|
-
*/
|
|
191
|
-
isAuthenticated: async (event) => {
|
|
192
|
-
const session2 = await auth.api.getSession({
|
|
193
|
-
headers: event.request.headers
|
|
194
|
-
});
|
|
195
|
-
return session2 !== null;
|
|
196
|
-
},
|
|
197
|
-
/**
|
|
198
|
-
* Wraps a function to ensure the user is authenticated before execution.
|
|
199
|
-
* Injects the user, session, and db into the first argument.
|
|
200
|
-
*/
|
|
201
|
-
makeAuthenticatedCall: (fn) => {
|
|
202
|
-
return async (event, ...args) => {
|
|
203
|
-
const session2 = await auth.api.getSession({
|
|
204
|
-
headers: event.request.headers
|
|
205
|
-
});
|
|
206
|
-
if (!session2) {
|
|
207
|
-
throw new Error("Unauthorized");
|
|
208
|
-
}
|
|
209
|
-
return fn({ user: session2.user, session: session2.session, db, event }, ...args);
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
};
|
|
4
|
+
var client = authClient;
|
|
5
|
+
client.login = authClient.signIn;
|
|
213
6
|
export {
|
|
214
|
-
|
|
215
|
-
server
|
|
7
|
+
client
|
|
216
8
|
};
|
|
217
9
|
//# sourceMappingURL=sveltekit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/client/sveltekit.ts","../../src/lib/auth.ts","../../src/lib/db.ts","../../src/lib/schema.ts"],"sourcesContent":["import { toSvelteKitHandler } from \"better-auth/svelte-kit\";\nimport { createAuthClient } from \"better-auth/svelte\";\nimport type { Handle, RequestEvent } from \"@sveltejs/kit\";\nimport { auth as betterAuthInstance } from \"../lib/auth\";\nimport { db } from \"../lib/db\";\nimport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\nconst handler = toSvelteKitHandler(betterAuthInstance);\n\n// Initialize the Better Auth Client (for browser/client-side use)\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * Use this in your Svelte components and client-side logic.\n */\nexport const client = {\n ...authClient,\n /**\n * Alias for signIn.\n */\n login: authClient.signIn\n};\n\n/**\n * Server-side Auth instance.\n * Use this in your +page.server.ts, hooks.server.ts, and API routes.\n */\nexport const server = {\n /**\n * The underlying BetterAuth instance.\n */\n auth: betterAuthInstance,\n\n /**\n * SvelteKit request handler for auth routes.\n * Place this in `src/routes/api/auth/[...auth]/+server.ts`\n */\n handler: {\n GET: handler,\n POST: handler,\n },\n\n /**\n * Creates a SvelteKit handle hook for session management.\n */\n createHandle: (): Handle => {\n return async ({ event, resolve }) => {\n const session = await betterAuthInstance.api.getSession({\n headers: event.request.headers,\n });\n\n // Set on locals - consumer must extend App.Locals type\n (event.locals as Record<string, unknown>).session = session;\n (event.locals as Record<string, unknown>).user = session?.user ?? null;\n\n return resolve(event);\n };\n },\n\n /**\n * Get session from request event.\n */\n getSession: async (event: RequestEvent): Promise<SessionResult> => {\n return betterAuthInstance.api.getSession({\n headers: event.request.headers,\n });\n },\n\n /**\n * Check if user is authenticated.\n */\n isAuthenticated: async (event: RequestEvent): Promise<boolean> => {\n const session = await betterAuthInstance.api.getSession({\n headers: event.request.headers,\n });\n return session !== null;\n },\n\n /**\n * Wraps a function to ensure the user is authenticated before execution.\n * Injects the user, session, and db into the first argument.\n */\n makeAuthenticatedCall: <TArgs extends any[], TReturn>(\n fn: (ctx: { user: SessionData['user']; session: SessionData['session']; db: typeof db; event: RequestEvent }, ...args: TArgs) => Promise<TReturn>\n ) => {\n return async (event: RequestEvent, ...args: TArgs): Promise<TReturn> => {\n const session = await betterAuthInstance.api.getSession({\n headers: event.request.headers,\n });\n if (!session) {\n throw new Error(\"Unauthorized\");\n }\n return fn({ user: session.user, session: session.session, db, event }, ...args);\n }\n }\n};\n\n","import { betterAuth } from \"better-auth\";\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\nimport { db } from \"./db\";\nimport * as schema from \"./schema\";\n\nexport const auth = betterAuth({\n database: drizzleAdapter(db, {\n provider: \"sqlite\",\n schema: {\n ...schema\n }\n }),\n baseURL: process.env.BETTER_AUTH_URL || process.env.PUBLIC_APP_URL || process.env.NEXT_PUBLIC_APP_URL,\n secret: process.env.BETTER_AUTH_SECRET,\n trustedOrigins: process.env.TRUSTED_ORIGINS ? process.env.TRUSTED_ORIGINS.split(\",\") : undefined,\n socialProviders: {\n google: {\n clientId: process.env.GOOGLE_CLIENT_ID || \"\",\n clientSecret: process.env.GOOGLE_CLIENT_SECRET || \"\",\n },\n },\n session: {\n expiresIn: 60 * 60 * 24 * 7, // 7 days\n updateAge: 60 * 60 * 24, // Update session every 24 hours\n cookieCache: {\n enabled: true,\n maxAge: 60 * 5, // 5 minutes\n },\n },\n});\n","import { drizzle } from \"drizzle-orm/libsql\";\nimport { createClient } from \"@libsql/client\";\nimport * as schema from \"./schema\";\n\nconst client = createClient({\n url: process.env.HYLE_DATABASE_URL!,\n authToken: process.env.HYLE_DATABASE_AUTH_TOKEN!,\n});\n\nexport const db = drizzle(client, { schema });\n","import { relations, sql } from \"drizzle-orm\";\nimport { sqliteTable, text, integer, index } from \"drizzle-orm/sqlite-core\";\n\nexport const user = sqliteTable(\"user\", {\n id: text(\"id\").primaryKey(),\n name: text(\"name\").notNull(),\n email: text(\"email\").notNull().unique(),\n emailVerified: integer(\"email_verified\", { mode: \"boolean\" })\n .default(false)\n .notNull(),\n image: text(\"image\"),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n});\n\nexport const session = sqliteTable(\n \"session\",\n {\n id: text(\"id\").primaryKey(),\n expiresAt: integer(\"expires_at\", { mode: \"timestamp_ms\" }).notNull(),\n token: text(\"token\").notNull().unique(),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n ipAddress: text(\"ip_address\"),\n userAgent: text(\"user_agent\"),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n },\n (table) => [index(\"session_userId_idx\").on(table.userId)],\n);\n\nexport const account = sqliteTable(\n \"account\",\n {\n id: text(\"id\").primaryKey(),\n accountId: text(\"account_id\").notNull(),\n providerId: text(\"provider_id\").notNull(),\n userId: text(\"user_id\")\n .notNull()\n .references(() => user.id, { onDelete: \"cascade\" }),\n accessToken: text(\"access_token\"),\n refreshToken: text(\"refresh_token\"),\n idToken: text(\"id_token\"),\n accessTokenExpiresAt: integer(\"access_token_expires_at\", {\n mode: \"timestamp_ms\",\n }),\n refreshTokenExpiresAt: integer(\"refresh_token_expires_at\", {\n mode: \"timestamp_ms\",\n }),\n scope: text(\"scope\"),\n password: text(\"password\"),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n },\n (table) => [index(\"account_userId_idx\").on(table.userId)],\n);\n\nexport const verification = sqliteTable(\n \"verification\",\n {\n id: text(\"id\").primaryKey(),\n identifier: text(\"identifier\").notNull(),\n value: text(\"value\").notNull(),\n expiresAt: integer(\"expires_at\", { mode: \"timestamp_ms\" }).notNull(),\n createdAt: integer(\"created_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .notNull(),\n updatedAt: integer(\"updated_at\", { mode: \"timestamp_ms\" })\n .default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)\n .$onUpdate(() => /* @__PURE__ */ new Date())\n .notNull(),\n },\n (table) => [index(\"verification_identifier_idx\").on(table.identifier)],\n);\n\nexport const userRelations = relations(user, ({ many }) => ({\n sessions: many(session),\n accounts: many(account),\n}));\n\nexport const sessionRelations = relations(session, ({ one }) => ({\n user: one(user, {\n fields: [session.userId],\n references: [user.id],\n }),\n}));\n\nexport const accountRelations = relations(account, ({ one }) => ({\n user: one(user, {\n fields: [account.userId],\n references: [user.id],\n }),\n}));\n"],"mappings":"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","names":["client","session"]}
|
|
1
|
+
{"version":3,"sources":["../../src/client/sveltekit.ts"],"sourcesContent":["import { createAuthClient } from \"better-auth/svelte\";\nexport type { SessionResult, UserInfo, SessionData } from \"./types\";\n\n// Initialize the Better Auth Client (for browser/client-side use)\nconst authClient = createAuthClient();\n\n/**\n * Client-side Auth instance.\n * Use this in your Svelte components and client-side logic.\n */\nexport const client = authClient as typeof authClient & { login: typeof authClient.signIn };\nclient.login = authClient.signIn;\n"],"mappings":";AAAA,SAAS,wBAAwB;AAIjC,IAAM,aAAa,iBAAiB;AAM7B,IAAM,SAAS;AACtB,OAAO,QAAQ,WAAW;","names":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as better_auth from 'better-auth';
|
|
1
2
|
import { RequestEvent } from '@sveltejs/kit';
|
|
2
3
|
|
|
3
4
|
interface BffClientConfig {
|
|
@@ -44,8 +45,13 @@ declare class SvelteKitBffClient extends BffClientBase {
|
|
|
44
45
|
}
|
|
45
46
|
declare const createSvelteKitBff: (baseUrlOrConfig: string | BffClientConfig) => SvelteKitBffClient;
|
|
46
47
|
|
|
48
|
+
type HyleAuth = ReturnType<typeof better_auth.betterAuth>;
|
|
49
|
+
/**
|
|
50
|
+
* Next.js BFF Client that requires an auth instance.
|
|
51
|
+
*/
|
|
47
52
|
declare class NextJsBffClient extends BffClientBase {
|
|
48
|
-
|
|
53
|
+
private auth;
|
|
54
|
+
constructor(auth: HyleAuth, config: BffClientConfig);
|
|
49
55
|
private getAuthHeaders;
|
|
50
56
|
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
51
57
|
post<T>(path: string, body?: any, options?: RequestOptions): Promise<T>;
|
|
@@ -53,6 +59,26 @@ declare class NextJsBffClient extends BffClientBase {
|
|
|
53
59
|
patch<T>(path: string, body?: any, options?: RequestOptions): Promise<T>;
|
|
54
60
|
delete<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
55
61
|
}
|
|
56
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Creates a Next.js BFF client for making authenticated requests to your Express API.
|
|
64
|
+
*
|
|
65
|
+
* @param auth - Auth instance created by createAuth()
|
|
66
|
+
* @param baseUrlOrConfig - Base URL string or full config object
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // In lib/bff.ts
|
|
71
|
+
* import { createDb, createAuth, createNextJsBff } from "hylekit";
|
|
72
|
+
*
|
|
73
|
+
* const db = createDb({ url: process.env.HYLE_DATABASE_URL!, authToken: process.env.HYLE_DATABASE_AUTH_TOKEN });
|
|
74
|
+
* const auth = createAuth(db, { ... });
|
|
75
|
+
*
|
|
76
|
+
* export const bff = createNextJsBff(auth, process.env.EXPRESS_API_URL!);
|
|
77
|
+
*
|
|
78
|
+
* // Usage in server components
|
|
79
|
+
* const data = await bff.get("/api/data");
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
declare const createNextJsBff: (auth: HyleAuth, baseUrlOrConfig: string | BffClientConfig) => NextJsBffClient;
|
|
57
83
|
|
|
58
84
|
export { type BffClientConfig as B, NextJsBffClient as N, type RequestOptions as R, SvelteKitBffClient as S, createSvelteKitBff as a, createNextJsBff as c };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as better_auth from 'better-auth';
|
|
1
2
|
import { RequestEvent } from '@sveltejs/kit';
|
|
2
3
|
|
|
3
4
|
interface BffClientConfig {
|
|
@@ -44,8 +45,13 @@ declare class SvelteKitBffClient extends BffClientBase {
|
|
|
44
45
|
}
|
|
45
46
|
declare const createSvelteKitBff: (baseUrlOrConfig: string | BffClientConfig) => SvelteKitBffClient;
|
|
46
47
|
|
|
48
|
+
type HyleAuth = ReturnType<typeof better_auth.betterAuth>;
|
|
49
|
+
/**
|
|
50
|
+
* Next.js BFF Client that requires an auth instance.
|
|
51
|
+
*/
|
|
47
52
|
declare class NextJsBffClient extends BffClientBase {
|
|
48
|
-
|
|
53
|
+
private auth;
|
|
54
|
+
constructor(auth: HyleAuth, config: BffClientConfig);
|
|
49
55
|
private getAuthHeaders;
|
|
50
56
|
get<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
51
57
|
post<T>(path: string, body?: any, options?: RequestOptions): Promise<T>;
|
|
@@ -53,6 +59,26 @@ declare class NextJsBffClient extends BffClientBase {
|
|
|
53
59
|
patch<T>(path: string, body?: any, options?: RequestOptions): Promise<T>;
|
|
54
60
|
delete<T>(path: string, options?: RequestOptions): Promise<T>;
|
|
55
61
|
}
|
|
56
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Creates a Next.js BFF client for making authenticated requests to your Express API.
|
|
64
|
+
*
|
|
65
|
+
* @param auth - Auth instance created by createAuth()
|
|
66
|
+
* @param baseUrlOrConfig - Base URL string or full config object
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // In lib/bff.ts
|
|
71
|
+
* import { createDb, createAuth, createNextJsBff } from "hylekit";
|
|
72
|
+
*
|
|
73
|
+
* const db = createDb({ url: process.env.HYLE_DATABASE_URL!, authToken: process.env.HYLE_DATABASE_AUTH_TOKEN });
|
|
74
|
+
* const auth = createAuth(db, { ... });
|
|
75
|
+
*
|
|
76
|
+
* export const bff = createNextJsBff(auth, process.env.EXPRESS_API_URL!);
|
|
77
|
+
*
|
|
78
|
+
* // Usage in server components
|
|
79
|
+
* const data = await bff.get("/api/data");
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
declare const createNextJsBff: (auth: HyleAuth, baseUrlOrConfig: string | BffClientConfig) => NextJsBffClient;
|
|
57
83
|
|
|
58
84
|
export { type BffClientConfig as B, NextJsBffClient as N, type RequestOptions as R, SvelteKitBffClient as S, createSvelteKitBff as a, createNextJsBff as c };
|