@shivaedev/platform 0.4.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/dist/better-auth/adapter.d.ts +2 -3
- package/dist/better-auth/adapter.d.ts.map +1 -1
- package/dist/better-auth/adapter.js +2 -2
- package/dist/better-auth/adapter.js.map +1 -1
- package/dist/better-auth/relation.d.ts +15 -15
- package/dist/better-auth/relation.d.ts.map +1 -1
- package/dist/better-auth/relation.js +4 -2
- package/dist/better-auth/relation.js.map +1 -1
- package/dist/better-auth/row-adapter.d.ts.map +1 -1
- package/dist/better-auth/row-adapter.js +16 -15
- package/dist/better-auth/row-adapter.js.map +1 -1
- package/dist/better-auth/where.d.ts +16 -16
- package/dist/better-auth/where.d.ts.map +1 -1
- package/dist/better-auth/where.js +16 -8
- package/dist/better-auth/where.js.map +1 -1
- package/dist/better-auth.d.ts +1 -1
- package/dist/better-auth.d.ts.map +1 -1
- package/dist/better-auth.js +1 -1
- package/dist/better-auth.js.map +1 -1
- package/dist/errors/taxonomy.d.ts +2 -2
- package/dist/errors/taxonomy.js +1 -1
- package/dist/errors/taxonomy.js.map +1 -1
- package/dist/errors.d.ts +2 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/node-http/subscription-signal.d.ts +1 -11
- package/dist/node-http/subscription-signal.d.ts.map +1 -1
- package/dist/node-http/subscription-signal.js +11 -10
- package/dist/node-http/subscription-signal.js.map +1 -1
- package/dist/node-http.d.ts +1 -1
- package/dist/node-http.d.ts.map +1 -1
- package/dist/node-http.js +1 -1
- package/dist/node-http.js.map +1 -1
- package/dist/rpc/middleware.d.ts +1 -1
- package/dist/rpc/middleware.d.ts.map +1 -1
- package/dist/rpc/middleware.js +1 -1
- package/dist/rpc/middleware.js.map +1 -1
- package/dist/rpc-server/adapters/better-auth-sessions.d.ts +1 -1
- package/dist/rpc-server/adapters/better-auth-sessions.d.ts.map +1 -1
- package/dist/rpc-server/adapters/better-auth-sessions.js +2 -2
- package/dist/rpc-server/adapters/better-auth-sessions.js.map +1 -1
- package/dist/rpc-server/origin.d.ts +2 -2
- package/dist/rpc-server/origin.d.ts.map +1 -1
- package/dist/rpc-server/origin.js +1 -1
- package/dist/rpc-server/origin.js.map +1 -1
- package/dist/rpc-server/redact-cause.js +2 -2
- package/dist/rpc-server/redact-cause.js.map +1 -1
- package/dist/rpc-server/redact.d.ts.map +1 -1
- package/dist/rpc-server/redact.js +16 -8
- package/dist/rpc-server/redact.js.map +1 -1
- package/dist/rpc-server/sensitive.js +11 -11
- package/dist/rpc-server/sensitive.js.map +1 -1
- package/dist/rpc-server/session.d.ts +3 -3
- package/dist/rpc-server/session.d.ts.map +1 -1
- package/dist/rpc-server/session.js +9 -6
- package/dist/rpc-server/session.js.map +1 -1
- package/dist/rpc-server/tracing.d.ts +1 -1
- package/dist/rpc-server/tracing.d.ts.map +1 -1
- package/dist/rpc-server/tracing.js +7 -5
- package/dist/rpc-server/tracing.js.map +1 -1
- package/dist/rpc-server.d.ts +8 -8
- package/dist/rpc-server.d.ts.map +1 -1
- package/dist/rpc-server.js +8 -8
- package/dist/rpc-server.js.map +1 -1
- package/dist/rpc.d.ts +2 -2
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/rpc.js.map +1 -1
- package/dist/runtime/make.d.ts.map +1 -1
- package/dist/runtime/make.js +6 -3
- package/dist/runtime/make.js.map +1 -1
- package/dist/runtime/types.d.ts +0 -1
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime.d.ts +2 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/testing/types.d.ts +1 -1
- package/dist/testing/types.d.ts.map +1 -1
- package/dist/testing/vitest.d.ts +1 -1
- package/dist/testing/vitest.d.ts.map +1 -1
- package/dist/testing/vitest.js +2 -2
- package/dist/testing/vitest.js.map +1 -1
- package/dist/testing.d.ts +2 -2
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/package.json +52 -45
- package/src/better-auth/adapter.ts +4 -5
- package/src/better-auth/relation.ts +22 -18
- package/src/better-auth/row-adapter.ts +18 -16
- package/src/better-auth/where.ts +41 -26
- package/src/better-auth.ts +1 -1
- package/src/errors/taxonomy.ts +1 -1
- package/src/errors.ts +2 -2
- package/src/node-http/subscription-signal.ts +17 -16
- package/src/node-http.ts +1 -1
- package/src/rpc/middleware.ts +1 -1
- package/src/rpc-server/adapters/better-auth-sessions.ts +3 -3
- package/src/rpc-server/origin.ts +3 -3
- package/src/rpc-server/redact-cause.ts +2 -2
- package/src/rpc-server/redact.ts +26 -10
- package/src/rpc-server/sensitive.ts +12 -12
- package/src/rpc-server/session.ts +13 -7
- package/src/rpc-server/tracing.ts +9 -5
- package/src/rpc-server.ts +8 -8
- package/src/rpc.ts +2 -2
- package/src/runtime/make.ts +9 -3
- package/src/runtime/types.ts +0 -1
- package/src/runtime.ts +2 -2
- package/src/testing/types.ts +1 -1
- package/src/testing/vitest.ts +9 -6
- package/src/testing.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.1 - 2026-10-04
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Imports that leave their folder go through `#` aliases declared in the `imports` field of `package.json`: `#*.ts` resolves to `src` under the `source` condition and to `dist` otherwise, and `#test/*` names a test file. The published modules and declarations name the package's own files through these aliases.
|
|
8
|
+
|
|
9
|
+
## 0.5.0 - 2026-10-04
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Consolidate duplicate test cases around observable package behavior.
|
|
14
|
+
- The function members of the Better Auth relation and field types are declared as properties, so TypeScript checks their parameters strictly.
|
|
15
|
+
|
|
16
|
+
- Validate packed consumers and executable bins through the shared workspace gate.
|
|
17
|
+
|
|
18
|
+
- Replace JSDoc blocks with a short reason comment, so the package passes the comment rules of `@shivaedev/quality`.
|
|
19
|
+
|
|
20
|
+
- Build with the `@shivaedev/quality` tsconfig presets, which target ESNext and allow only erasable TypeScript syntax.
|
|
21
|
+
|
|
22
|
+
- Type-check with TypeScript 7 only. TypeScript 6 still builds the package.
|
|
23
|
+
|
|
24
|
+
- Lint and format with the `@shivaedev/quality` Biome preset through `quality lint` at the repository root, which replaces the package's `check` script.
|
|
25
|
+
|
|
26
|
+
- Run tests through the `@shivaedev/quality` Vitest projects, which take a test's environment from its file name. Type tests are named `*.typecheck.test.ts`.
|
|
27
|
+
|
|
28
|
+
- Keep `package.json` in sort-package-json key order, checked by `quality lint`.
|
|
29
|
+
|
|
3
30
|
## 0.4.3 - 2026-09-26
|
|
4
31
|
|
|
5
32
|
### Changed
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { AnyDatabase } from "@shivaedev/effect-prisma";
|
|
2
1
|
import type { DBAdapterInstance } from "better-auth";
|
|
3
|
-
import type {
|
|
2
|
+
import type { AnyDatabase } from "@shivaedev/effect-prisma";
|
|
3
|
+
import type { PlatformRuntime } from "#runtime/types.ts";
|
|
4
4
|
export interface EffectPrismaAdapterOptions {
|
|
5
5
|
readonly debugLogs?: boolean;
|
|
6
|
-
/** Map Better Auth model names to Prisma contract model names. */
|
|
7
6
|
readonly modelName?: (model: string) => string;
|
|
8
7
|
readonly usePlural?: boolean;
|
|
9
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/better-auth/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/better-auth/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuBD,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,WAAW,EAAE,QAAQ,EAAE,UAAU,EACrF,WAAW,EAAE,QAAQ,EACrB,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC9C,cAAc,CAAC,EAAE,0BAA0B,GACzC,iBAAiB,CAAC"}
|
|
@@ -20,11 +20,12 @@ export function effectPrismaAdapter(databaseTag, runtime, adapterOptions = {}) {
|
|
|
20
20
|
const run = (operation) => runtime.runPromise(Effect.flatMap(databaseEffect, operation));
|
|
21
21
|
const query = (model, refinement, use) => run((database) => use(refineRelation(modelRelation(database, mapModelName(model)), refinement)));
|
|
22
22
|
const inTransaction = (callback) => Effect.flatMap(Effect.context(), (services) => Effect.tryPromise({
|
|
23
|
-
try: () => runtime.runWithServices(services, callback),
|
|
24
23
|
catch: (error) => error,
|
|
24
|
+
try: () => runtime.runWithServices(services, callback),
|
|
25
25
|
}));
|
|
26
26
|
let factory;
|
|
27
27
|
factory = createAdapterFactory({
|
|
28
|
+
adapter: makeRowAdapter(query, adapterOptions.usePlural ?? false),
|
|
28
29
|
config: {
|
|
29
30
|
adapterId: "effect-prisma",
|
|
30
31
|
adapterName: "Effect Prisma",
|
|
@@ -37,7 +38,6 @@ export function effectPrismaAdapter(databaseTag, runtime, adapterOptions = {}) {
|
|
|
37
38
|
supportsUUIDs: true,
|
|
38
39
|
transaction: (callback) => run((database) => database.transaction(inTransaction(() => callback(factory(authOptions))))),
|
|
39
40
|
},
|
|
40
|
-
adapter: makeRowAdapter(query, adapterOptions.usePlural ?? false),
|
|
41
41
|
});
|
|
42
42
|
return factory(authOptions);
|
|
43
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/better-auth/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/better-auth/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import type { Effect, Option } from "effect";
|
|
2
2
|
import { type CleanedWhere, type DynamicField, type Expression } from "./where.ts";
|
|
3
|
-
export interface DynamicRelation<Requirements> extends Effect.Effect<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
export interface DynamicRelation<Requirements> extends Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements> {
|
|
4
|
+
count: () => Effect.Effect<number, unknown, Requirements>;
|
|
5
|
+
create: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown>, unknown, Requirements>;
|
|
6
|
+
delete: () => Effect.Effect<Record<string, unknown> | null, unknown, Requirements>;
|
|
7
|
+
deleteAll: () => Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements>;
|
|
8
|
+
first: () => Effect.Effect<Option.Option<Record<string, unknown>>, unknown, Requirements>;
|
|
9
|
+
orderBy: (ordering: (fields: Record<string, DynamicField>) => unknown) => DynamicRelation<Requirements>;
|
|
10
|
+
select: (...fields: readonly string[]) => DynamicRelation<Requirements>;
|
|
11
|
+
skip: (count: number) => DynamicRelation<Requirements>;
|
|
12
|
+
take: (count: number) => DynamicRelation<Requirements>;
|
|
13
|
+
update: (data: Record<string, unknown>) => Effect.Effect<Record<string, unknown> | null, unknown, Requirements>;
|
|
14
|
+
updateAll: (data: Record<string, unknown>) => Effect.Effect<readonly Record<string, unknown>[], unknown, Requirements>;
|
|
15
|
+
where: (predicate: (fields: Record<string, DynamicField>) => Expression) => DynamicRelation<Requirements>;
|
|
16
16
|
}
|
|
17
17
|
export declare const refineRelation: <Requirements>(relation: DynamicRelation<Requirements>, options: {
|
|
18
|
-
readonly where?:
|
|
19
|
-
readonly select?:
|
|
18
|
+
readonly where?: readonly CleanedWhere[] | undefined;
|
|
19
|
+
readonly select?: readonly string[] | undefined;
|
|
20
20
|
readonly limit?: number | undefined;
|
|
21
21
|
readonly offset?: number | undefined;
|
|
22
22
|
readonly sortBy?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/better-auth/relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/better-auth/relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,12 @@ export const refineRelation = (relation, options) => {
|
|
|
17
17
|
return options.sortBy?.direction === "desc" ? field.desc() : field.asc();
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
if (options.offset !== undefined)
|
|
20
|
+
if (options.offset !== undefined) {
|
|
21
21
|
refined = refined.skip(options.offset);
|
|
22
|
-
|
|
22
|
+
}
|
|
23
|
+
if (options.limit !== undefined) {
|
|
23
24
|
refined = refined.take(options.limit);
|
|
25
|
+
}
|
|
24
26
|
if (options.select !== undefined && options.select.length > 0) {
|
|
25
27
|
refined = refined.select(...options.select);
|
|
26
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/better-auth/relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/better-auth/relation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAyD,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBpG,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,QAAuC,EACvC,OAWC,EAC+B,EAAE;IAClC,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,UAAU,IAAI,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,SAAS,CAAC,2BAA2B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC1E,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-adapter.d.ts","sourceRoot":"","sources":["../../src/better-auth/row-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qCAAqC,EAAiB,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOrE,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AASvD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAC/E,OAAO,CAAC,KAAK,CAAC,CAAC;AAgBpB,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,EAAE,WAAW,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"row-adapter.d.ts","sourceRoot":"","sources":["../../src/better-auth/row-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qCAAqC,EAAiB,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAOrE,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AASvD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,KAC/E,OAAO,CAAC,KAAK,CAAC,CAAC;AAgBpB,eAAO,MAAM,cAAc,GACzB,OAAO,aAAa,EAAE,WAAW,OAAO,KAAG,qCAuC3C,CAAC"}
|
|
@@ -9,37 +9,38 @@ const rejectJoin = (join) => {
|
|
|
9
9
|
};
|
|
10
10
|
const namesId = (condition) => condition.connector !== "OR" && condition.field === "id" && condition.operator === "eq";
|
|
11
11
|
export const makeRowAdapter = (query, usePlural) => ({ debugLog, getFieldAttributes }) => {
|
|
12
|
-
const isUnique = (model, condition) => condition.connector !== "OR"
|
|
13
|
-
condition.operator === "eq"
|
|
14
|
-
condition.mode !== "insensitive"
|
|
15
|
-
(condition.field === "id" || getFieldAttributes({ field: condition.field, model }).unique === true);
|
|
12
|
+
const isUnique = (model, condition) => condition.connector !== "OR"
|
|
13
|
+
&& condition.operator === "eq"
|
|
14
|
+
&& condition.mode !== "insensitive"
|
|
15
|
+
&& (condition.field === "id" || getFieldAttributes({ field: condition.field, model }).unique === true);
|
|
16
16
|
return rowTyped({
|
|
17
|
+
count: ({ model, where }) => query(model, { where }, (relation) => relation.count()),
|
|
17
18
|
create: ({ data, model, select }) => {
|
|
18
19
|
debugLog("create", { model });
|
|
19
20
|
return query(model, { select }, (relation) => relation.create(data));
|
|
20
21
|
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return query(model, {
|
|
22
|
+
delete: ({ model, where }) => {
|
|
23
|
+
const byId = where.some(namesId);
|
|
24
|
+
return query(model, { where }, (relation) => (byId ? Effect.asVoid(relation.delete()) : Effect.asVoid(relation.deleteAll())));
|
|
24
25
|
},
|
|
26
|
+
deleteMany: ({ model, where }) => query(model, { where }, (relation) => Effect.map(relation.deleteAll(), (rows) => rows.length)),
|
|
25
27
|
findMany: ({ join, limit, model, offset, select, sortBy, where }) => {
|
|
26
28
|
rejectJoin(join);
|
|
27
29
|
return query(model, { limit, offset, select, sortBy, where }, (relation) => relation);
|
|
28
30
|
},
|
|
31
|
+
findOne: ({ join, model, select, where }) => {
|
|
32
|
+
rejectJoin(join);
|
|
33
|
+
return query(model, { select, where }, (relation) => Effect.map(relation.first(), Option.getOrNull));
|
|
34
|
+
},
|
|
35
|
+
options: { usePlural },
|
|
29
36
|
update: ({ model, update, where }) => {
|
|
30
|
-
if (where.length === 0)
|
|
37
|
+
if (where.length === 0) {
|
|
31
38
|
return Promise.resolve(null);
|
|
39
|
+
}
|
|
32
40
|
const unique = where.some((condition) => isUnique(model, condition));
|
|
33
41
|
return query(model, { where }, (relation) => unique ? relation.update(update) : Effect.map(relation.updateAll(update), (rows) => rows[0] ?? null));
|
|
34
42
|
},
|
|
35
43
|
updateMany: ({ model, update, where }) => query(model, { where }, (relation) => Effect.map(relation.updateAll(update), (rows) => rows.length)),
|
|
36
|
-
delete: ({ model, where }) => {
|
|
37
|
-
const byId = where.some(namesId);
|
|
38
|
-
return query(model, { where }, (relation) => (byId ? Effect.asVoid(relation.delete()) : Effect.asVoid(relation.deleteAll())));
|
|
39
|
-
},
|
|
40
|
-
deleteMany: ({ model, where }) => query(model, { where }, (relation) => Effect.map(relation.deleteAll(), (rows) => rows.length)),
|
|
41
|
-
count: ({ model, where }) => query(model, { where }, (relation) => relation.count()),
|
|
42
|
-
options: { usePlural },
|
|
43
44
|
});
|
|
44
45
|
};
|
|
45
46
|
//# sourceMappingURL=row-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-adapter.js","sourceRoot":"","sources":["../../src/better-auth/row-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAyBxC,SAAS,QAAQ,CAAC,OAAgB;IACjC,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAa,EAAQ,EAAE;IAC1C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC,kFAAkF,CAAC,CAAC;IACzG,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,SAAuB,EAAW,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;AAE9I,MAAM,CAAC,MAAM,cAAc,GAC1B,CAAC,KAAoB,EAAE,SAAkB,EAAyC,EAAE,CACpF,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,EAAE;IACpC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,SAAuB,EAAW,EAAE,CACpE,SAAS,CAAC,SAAS,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"row-adapter.js","sourceRoot":"","sources":["../../src/better-auth/row-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { and } from "@shivaedev/effect-prisma";
|
|
2
1
|
import type { Where } from "better-auth";
|
|
2
|
+
import { and } from "@shivaedev/effect-prisma";
|
|
3
3
|
export type CleanedWhere = Required<Where>;
|
|
4
4
|
export type Expression = Parameters<typeof and>[number];
|
|
5
5
|
export interface DynamicField {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
in(value:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
asc: () => unknown;
|
|
7
|
+
desc: () => unknown;
|
|
8
|
+
eq: (value: unknown) => Expression;
|
|
9
|
+
gt: (value: unknown) => Expression;
|
|
10
|
+
gte: (value: unknown) => Expression;
|
|
11
|
+
ilike?: (value: string) => Expression;
|
|
12
|
+
in: (value: readonly unknown[]) => Expression;
|
|
13
|
+
isNotNull: () => Expression;
|
|
14
|
+
isNull: () => Expression;
|
|
15
|
+
like: (value: string) => Expression;
|
|
16
|
+
lt: (value: unknown) => Expression;
|
|
17
|
+
lte: (value: unknown) => Expression;
|
|
18
|
+
neq: (value: unknown) => Expression;
|
|
19
|
+
notIn: (value: readonly unknown[]) => Expression;
|
|
20
20
|
}
|
|
21
|
-
export declare const whereExpression: (fields: Record<string, DynamicField>, where:
|
|
21
|
+
export declare const whereExpression: (fields: Record<string, DynamicField>, where: readonly CleanedWhere[]) => Expression | undefined;
|
|
22
22
|
//# sourceMappingURL=where.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../src/better-auth/where.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../src/better-auth/where.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAO,GAAG,EAAW,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACtC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,UAAU,CAAC;IAC9C,SAAS,EAAE,MAAM,UAAU,CAAC;IAC5B,MAAM,EAAE,MAAM,UAAU,CAAC;IACzB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;IACpC,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACnC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;IACpC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,UAAU,CAAC;CACjD;AAwFD,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,SAAS,YAAY,EAAE,KAAG,UAAU,GAAG,SAuBnH,CAAC"}
|
|
@@ -25,8 +25,9 @@ const exclusion = (field, where) => {
|
|
|
25
25
|
return matches === undefined ? field.notIn(values) : and(...matches.map((match) => not(match)));
|
|
26
26
|
};
|
|
27
27
|
const likePattern = (operator, escaped) => {
|
|
28
|
-
if (operator === "contains")
|
|
28
|
+
if (operator === "contains") {
|
|
29
29
|
return `%${escaped}%`;
|
|
30
|
+
}
|
|
30
31
|
return operator === "starts_with" ? `${escaped}%` : `%${escaped}`;
|
|
31
32
|
};
|
|
32
33
|
const pattern = (field, where) => {
|
|
@@ -38,17 +39,21 @@ const pattern = (field, where) => {
|
|
|
38
39
|
};
|
|
39
40
|
const insensitiveEquality = (field, where) => {
|
|
40
41
|
const value = where.value;
|
|
41
|
-
|
|
42
|
+
const operator = where.operator ?? "eq";
|
|
43
|
+
if (where.mode !== "insensitive" || typeof value !== "string" || field.ilike === undefined) {
|
|
42
44
|
return undefined;
|
|
43
|
-
|
|
45
|
+
}
|
|
46
|
+
if (operator === "eq") {
|
|
44
47
|
return field.ilike(escapeLike(value));
|
|
45
|
-
|
|
48
|
+
}
|
|
49
|
+
if (operator === "ne") {
|
|
46
50
|
return not(field.ilike(escapeLike(value)));
|
|
51
|
+
}
|
|
47
52
|
return undefined;
|
|
48
53
|
};
|
|
49
54
|
const comparison = (field, where) => {
|
|
50
55
|
const value = where.value;
|
|
51
|
-
switch (where.operator) {
|
|
56
|
+
switch (where.operator ?? "eq") {
|
|
52
57
|
case "eq":
|
|
53
58
|
return value === null ? field.isNull() : field.eq(value);
|
|
54
59
|
case "ne":
|
|
@@ -80,14 +85,17 @@ export const whereExpression = (fields, where) => {
|
|
|
80
85
|
throw new TypeError(`Unknown database field: ${condition.field}`);
|
|
81
86
|
}
|
|
82
87
|
const expression = insensitiveEquality(field, condition) ?? comparison(field, condition);
|
|
83
|
-
if (expression === undefined)
|
|
88
|
+
if (expression === undefined) {
|
|
84
89
|
continue;
|
|
90
|
+
}
|
|
85
91
|
(condition.connector === "OR" ? disjunctions : conjunctions).push(expression);
|
|
86
92
|
}
|
|
87
|
-
if (disjunctions.length > 0)
|
|
93
|
+
if (disjunctions.length > 0) {
|
|
88
94
|
conjunctions.push(or(...disjunctions));
|
|
89
|
-
|
|
95
|
+
}
|
|
96
|
+
if (conjunctions.length === 0) {
|
|
90
97
|
return all();
|
|
98
|
+
}
|
|
91
99
|
return conjunctions.length === 1 ? conjunctions[0] : and(...conjunctions);
|
|
92
100
|
};
|
|
93
101
|
//# sourceMappingURL=where.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.js","sourceRoot":"","sources":["../../src/better-auth/where.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"where.js","sourceRoot":"","sources":["../../src/better-auth/where.ts"],"names":[],"mappings":"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"}
|
package/dist/better-auth.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { type EffectPrismaAdapterOptions, effectPrismaAdapter, } from "
|
|
1
|
+
export { type EffectPrismaAdapterOptions, effectPrismaAdapter, } from "#better-auth/adapter.ts";
|
|
2
2
|
//# sourceMappingURL=better-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../src/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,GACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"better-auth.d.ts","sourceRoot":"","sources":["../src/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,GACnB,MAAM,yBAAyB,CAAC"}
|
package/dist/better-auth.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { effectPrismaAdapter, } from "
|
|
1
|
+
export { effectPrismaAdapter, } from "#better-auth/adapter.ts";
|
|
2
2
|
//# sourceMappingURL=better-auth.js.map
|
package/dist/better-auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.js","sourceRoot":"","sources":["../src/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,GACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"better-auth.js","sourceRoot":"","sources":["../src/better-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,GACnB,MAAM,yBAAyB,CAAC"}
|
|
@@ -15,14 +15,14 @@ declare const Forbidden_base: Schema.Class<Forbidden, Schema.TaggedStruct<"Forbi
|
|
|
15
15
|
export declare class Forbidden extends Forbidden_base {
|
|
16
16
|
}
|
|
17
17
|
declare const BadRequest_base: Schema.Class<BadRequest, Schema.TaggedStruct<"BadRequest", {
|
|
18
|
-
message: Schema.String;
|
|
19
18
|
field: Schema.optionalKey<Schema.String>;
|
|
19
|
+
message: Schema.String;
|
|
20
20
|
}>, import("effect/Cause").YieldableError>;
|
|
21
21
|
export declare class BadRequest extends BadRequest_base {
|
|
22
22
|
}
|
|
23
23
|
declare const Conflict_base: Schema.Class<Conflict, Schema.TaggedStruct<"Conflict", {
|
|
24
|
-
message: Schema.String;
|
|
25
24
|
field: Schema.optionalKey<Schema.String>;
|
|
25
|
+
message: Schema.String;
|
|
26
26
|
}>, import("effect/Cause").YieldableError>;
|
|
27
27
|
export declare class Conflict extends Conflict_base {
|
|
28
28
|
}
|
package/dist/errors/taxonomy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from "effect";
|
|
2
2
|
const described = { message: Schema.String };
|
|
3
|
-
const perField = {
|
|
3
|
+
const perField = { field: Schema.optionalKey(Schema.String), message: Schema.String };
|
|
4
4
|
export class NotFound extends Schema.TaggedError()("NotFound", described) {
|
|
5
5
|
}
|
|
6
6
|
export class Unauthorized extends Schema.TaggedError()("Unauthorized", described) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,QAAQ,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/errors/taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC7C,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAEtF,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAEtF,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE,SAAS,CAAC;CAAG;AAElG,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,WAAW,EAAa,CAAC,WAAW,EAAE,SAAS,CAAC;CAAG;AAEzF,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,YAAY,EAAE,QAAQ,CAAC;CAAG;AAE3F,MAAM,OAAO,QAAS,SAAQ,MAAM,CAAC,WAAW,EAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;CAAG;AAErF,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC;CAAG;AAEpH,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG;AAE3G,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAmB,CAAC,iBAAiB,EAAE,SAAS,CAAC;CAAG"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { type RejectedField, rejectedField } from "
|
|
2
|
-
export { AuthUnavailable, BadRequest, Conflict, Forbidden, NotFound, PreconditionFailed, TooManyRequests, Unauthorized } from "
|
|
1
|
+
export { type RejectedField, rejectedField } from "#errors/rejected-field.ts";
|
|
2
|
+
export { AuthUnavailable, BadRequest, Conflict, Forbidden, NotFound, PreconditionFailed, TooManyRequests, Unauthorized } from "#errors/taxonomy.ts";
|
|
3
3
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/errors.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { rejectedField } from "
|
|
2
|
-
export { AuthUnavailable, BadRequest, Conflict, Forbidden, NotFound, PreconditionFailed, TooManyRequests, Unauthorized } from "
|
|
1
|
+
export { rejectedField } from "#errors/rejected-field.ts";
|
|
2
|
+
export { AuthUnavailable, BadRequest, Conflict, Forbidden, NotFound, PreconditionFailed, TooManyRequests, Unauthorized } from "#errors/taxonomy.ts";
|
|
3
3
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import type { IncomingMessage } from "node:http";
|
|
2
2
|
export interface NodeSubscriptionSignalOptions {
|
|
3
|
-
/** A Web request, including its signal and an optional srvx node runtime. */
|
|
4
|
-
readonly request?: Request | undefined;
|
|
5
|
-
/** The node request when the transport exposes it directly. */
|
|
6
3
|
readonly nodeRequest?: IncomingMessage | undefined;
|
|
7
|
-
|
|
4
|
+
readonly request?: Request | undefined;
|
|
8
5
|
readonly signals?: Iterable<AbortSignal | undefined>;
|
|
9
6
|
}
|
|
10
7
|
export interface NodeSubscriptionSignal {
|
|
11
|
-
/** Detach node listeners when the subscription ends. */
|
|
12
8
|
readonly dispose: () => void;
|
|
13
|
-
/** Aborts when any supplied signal or the underlying connection closes. */
|
|
14
9
|
readonly signal: AbortSignal;
|
|
15
10
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Combine Web/procedure abort signals with node request and socket close events.
|
|
18
|
-
* The node events cover long-lived responses under Bun's node:http compatibility
|
|
19
|
-
* layer, where a Web request signal alone may not report an abandoned socket.
|
|
20
|
-
*/
|
|
21
11
|
export declare const nodeSubscriptionSignal: (options: NodeSubscriptionSignalOptions) => NodeSubscriptionSignal;
|
|
22
12
|
//# sourceMappingURL=subscription-signal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-signal.d.ts","sourceRoot":"","sources":["../../src/node-http/subscription-signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,6BAA6B;IAC7C,
|
|
1
|
+
{"version":3,"file":"subscription-signal.d.ts","sourceRoot":"","sources":["../../src/node-http/subscription-signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC7B;AAaD,eAAO,MAAM,sBAAsB,GAAI,SAAS,6BAA6B,KAAG,sBA0C/E,CAAC"}
|
|
@@ -4,19 +4,17 @@ const nodeRequestFrom = (request) => {
|
|
|
4
4
|
const req = property(property(property(request, "runtime"), "node"), "req");
|
|
5
5
|
return isIncomingMessage(req) ? req : undefined;
|
|
6
6
|
};
|
|
7
|
-
|
|
8
|
-
* Combine Web/procedure abort signals with node request and socket close events.
|
|
9
|
-
* The node events cover long-lived responses under Bun's node:http compatibility
|
|
10
|
-
* layer, where a Web request signal alone may not report an abandoned socket.
|
|
11
|
-
*/
|
|
7
|
+
// Under Bun's node:http compatibility layer a Web request signal may miss an abandoned socket, so node close events cover long-lived responses.
|
|
12
8
|
export const nodeSubscriptionSignal = (options) => {
|
|
13
9
|
const controller = new AbortController();
|
|
14
10
|
const signals = [controller.signal];
|
|
15
|
-
if (options.request !== undefined)
|
|
11
|
+
if (options.request !== undefined) {
|
|
16
12
|
signals.push(options.request.signal);
|
|
13
|
+
}
|
|
17
14
|
for (const signal of options.signals ?? []) {
|
|
18
|
-
if (signal !== undefined)
|
|
15
|
+
if (signal !== undefined) {
|
|
19
16
|
signals.push(signal);
|
|
17
|
+
}
|
|
20
18
|
}
|
|
21
19
|
const nodeRequest = options.nodeRequest ?? nodeRequestFrom(options.request);
|
|
22
20
|
if (nodeRequest === undefined) {
|
|
@@ -24,19 +22,22 @@ export const nodeSubscriptionSignal = (options) => {
|
|
|
24
22
|
}
|
|
25
23
|
const socket = nodeRequest.socket;
|
|
26
24
|
const onRequestClose = () => {
|
|
27
|
-
if (!nodeRequest.complete)
|
|
25
|
+
if (!nodeRequest.complete) {
|
|
28
26
|
controller.abort();
|
|
27
|
+
}
|
|
29
28
|
};
|
|
30
29
|
const onSocketClose = () => controller.abort();
|
|
31
30
|
nodeRequest.once("close", onRequestClose);
|
|
32
31
|
socket.once("close", onSocketClose);
|
|
33
|
-
if (nodeRequest.destroyed || socket.destroyed)
|
|
32
|
+
if (nodeRequest.destroyed || socket.destroyed) {
|
|
34
33
|
controller.abort();
|
|
34
|
+
}
|
|
35
35
|
let disposed = false;
|
|
36
36
|
return {
|
|
37
37
|
dispose: () => {
|
|
38
|
-
if (disposed)
|
|
38
|
+
if (disposed) {
|
|
39
39
|
return;
|
|
40
|
+
}
|
|
40
41
|
disposed = true;
|
|
41
42
|
nodeRequest.removeListener("close", onRequestClose);
|
|
42
43
|
socket.removeListener("close", onSocketClose);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-signal.js","sourceRoot":"","sources":["../../src/node-http/subscription-signal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscription-signal.js","sourceRoot":"","sources":["../../src/node-http/subscription-signal.ts"],"names":[],"mappings":"AAaA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,GAAW,EAAW,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE/I,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA4B,EAAE,CACtE,OAAO,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,UAAU,CAAC;AAEhG,MAAM,eAAe,GAAG,CAAC,OAA4B,EAA+B,EAAE;IACrF,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5E,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC,CAAC;AAEF,gJAAgJ;AAChJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAsC,EAA0B,EAAE;IACxG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAClC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3B,UAAU,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACF,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC/C,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACpC,IAAI,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/C,UAAU,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACN,OAAO,EAAE,GAAG,EAAE;YACb,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO;YACR,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACpD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;KAChC,CAAC;AACH,CAAC,CAAC"}
|
package/dist/node-http.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { type NodeSubscriptionSignal, type NodeSubscriptionSignalOptions, nodeSubscriptionSignal, } from "
|
|
1
|
+
export { type NodeSubscriptionSignal, type NodeSubscriptionSignalOptions, nodeSubscriptionSignal, } from "#node-http/subscription-signal.ts";
|
|
2
2
|
//# sourceMappingURL=node-http.d.ts.map
|
package/dist/node-http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-http.d.ts","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,sBAAsB,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"node-http.d.ts","sourceRoot":"","sources":["../src/node-http.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,sBAAsB,GACtB,MAAM,mCAAmC,CAAC"}
|
package/dist/node-http.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { nodeSubscriptionSignal, } from "
|
|
1
|
+
export { nodeSubscriptionSignal, } from "#node-http/subscription-signal.ts";
|
|
2
2
|
//# sourceMappingURL=node-http.js.map
|