honertia 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/effect/action.d.ts +8 -1
- package/dist/effect/action.d.ts.map +1 -1
- package/dist/effect/binding.d.ts +21 -2
- package/dist/effect/binding.d.ts.map +1 -1
- package/dist/effect/bridge.d.ts.map +1 -1
- package/dist/effect/bridge.js +1 -1
- package/dist/effect/index.d.ts +2 -2
- package/dist/effect/index.d.ts.map +1 -1
- package/dist/effect/index.js +1 -1
- package/dist/effect/services.d.ts +36 -5
- package/dist/effect/services.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/effect/action.d.ts
CHANGED
|
@@ -100,9 +100,16 @@ type SafeDelete<Tx> = Tx extends {
|
|
|
100
100
|
delete: (...args: WrapSecondArg<A>) => WrapBuilder<I>;
|
|
101
101
|
} : Tx;
|
|
102
102
|
export type SafeTx<Tx> = WrapBuilder<SafeDelete<SafeUpdate<SafeInsert<Tx>>>>;
|
|
103
|
+
/**
|
|
104
|
+
* Error type shown when database doesn't support transactions.
|
|
105
|
+
*/
|
|
106
|
+
interface TransactionNotSupported {
|
|
107
|
+
readonly __error: 'Database client does not support transactions. Ensure your database exposes a transaction() method.';
|
|
108
|
+
readonly __hint: 'Expected signature: db.transaction((tx) => Promise<T>) => Promise<T>. See https://github.com/patrickogilvie/honertia#transactions';
|
|
109
|
+
}
|
|
103
110
|
type TransactionClient<DB> = DB extends {
|
|
104
111
|
transaction: (fn: (tx: infer Tx) => Promise<any>) => Promise<any>;
|
|
105
|
-
} ? Tx :
|
|
112
|
+
} ? Tx : TransactionNotSupported;
|
|
106
113
|
/**
|
|
107
114
|
* Run multiple database operations in a transaction.
|
|
108
115
|
* Automatically rolls back on any failure.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/effect/action.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/effect/action.ts"],"names":[],"mappings":"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"}
|
package/dist/effect/binding.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Context, Effect } from 'effect';
|
|
8
8
|
import type { Table } from 'drizzle-orm';
|
|
9
|
-
import type {
|
|
9
|
+
import type { SchemaType } from './services.js';
|
|
10
10
|
declare const BoundModelNotFound_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
11
11
|
readonly _tag: "BoundModelNotFound";
|
|
12
12
|
} & Readonly<A>;
|
|
@@ -51,6 +51,25 @@ declare const BoundModels_base: Context.TagClass<BoundModels, "honertia/BoundMod
|
|
|
51
51
|
*/
|
|
52
52
|
export declare class BoundModels extends BoundModels_base {
|
|
53
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Pluralize a key for schema lookup.
|
|
56
|
+
* Matches the runtime pluralize() function logic.
|
|
57
|
+
*/
|
|
58
|
+
type Pluralize<S extends string> = S extends `${infer _}${'a' | 'e' | 'i' | 'o' | 'u'}y` ? `${S}s` : S extends `${infer Base}y` ? `${Base}ies` : S extends `${infer _}${'s' | 'ss' | 'x' | 'z' | 'zz' | 'ch' | 'sh'}` ? `${S}es` : `${S}s`;
|
|
59
|
+
/**
|
|
60
|
+
* Error type shown when trying to use bound() without schema configured.
|
|
61
|
+
*/
|
|
62
|
+
interface BoundModelNotConfigured<K extends string> {
|
|
63
|
+
readonly __error: `Cannot infer type for bound('${K}'). Schema not configured for route model binding.`;
|
|
64
|
+
readonly __hint: 'Add module augmentation: declare module "honertia/effect" { interface HonertiaDatabaseType { schema: typeof schema } }';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Lookup a table type from schema, trying pluralized key first.
|
|
68
|
+
* Shows helpful error if schema is not configured.
|
|
69
|
+
*/
|
|
70
|
+
export type BoundModel<K extends string> = SchemaType extends {
|
|
71
|
+
__error: string;
|
|
72
|
+
} ? BoundModelNotConfigured<K> : Pluralize<K> extends keyof SchemaType ? SchemaType[Pluralize<K>] extends Table ? SchemaType[Pluralize<K>]['$inferSelect'] : unknown : K extends keyof SchemaType ? SchemaType[K] extends Table ? SchemaType[K]['$inferSelect'] : unknown : unknown;
|
|
54
73
|
/**
|
|
55
74
|
* Type-safe accessor for bound models.
|
|
56
75
|
*
|
|
@@ -60,7 +79,7 @@ export declare class BoundModels extends BoundModels_base {
|
|
|
60
79
|
* return inertia('Projects/Show', { project })
|
|
61
80
|
* })
|
|
62
81
|
*/
|
|
63
|
-
export declare const bound: <K extends string>(key: K) => Effect.Effect<K
|
|
82
|
+
export declare const bound: <K extends string>(key: K) => Effect.Effect<BoundModel<K>, BoundModelNotFound, BoundModels>;
|
|
64
83
|
/**
|
|
65
84
|
* Pluralize a singular word.
|
|
66
85
|
* Handles common English pluralization rules.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/effect/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../src/effect/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;;;;AAE/C;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAC;IACA,IAAI,OAAO,WAEV;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAa3D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,gBAG9B;CAAG;AAEN;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAC7B,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAC/D,CAAC,SAAS,GAAG,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,GACzC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,GAC/E,GAAG,CAAC,GAAG,CAAA;AAET;;GAEG;AACH,UAAU,uBAAuB,CAAC,CAAC,SAAS,MAAM;IAChD,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC,oDAAoD,CAAA;IACvG,QAAQ,CAAC,MAAM,EAAE,wHAAwH,CAAA;CAC1I;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAErC,UAAU,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC,uBAAuB,CAAC,CAAC,CAAC,GAC1B,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,UAAU,GACnC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GACpC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GACxC,OAAO,GACT,CAAC,SAAS,MAAM,UAAU,GACxB,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GACzB,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAC7B,OAAO,GACT,OAAO,CAAA;AAEjB;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,EACpC,KAAK,CAAC,KACL,MAAM,CAAC,MAAM,CACd,UAAU,CAAC,CAAC,CAAC,EACb,kBAAkB,EAClB,WAAW,CAST,CAAA;AAEJ;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAA;IAClB,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI,CA2CrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/effect/bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC1E,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/effect/bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC1E,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EAOvB,MAAM,eAAe,CAAA;AAEtB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,GAAG,KAAK;IACvE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,QAAA,MAAM,cAAc,eAA0B,CAAA;AAE9C;;GAEG;AACH,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,cAAc,CAC5C,eAAe,GACf,WAAW,GACX,eAAe,GACf,eAAe,GACf,cAAc,GACd,sBAAsB,EACxB,KAAK,CACN,CAAA;KACF;CACF;AAqDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,GAAG,KAAK,EACrE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,GAC7C,KAAK,CAAC,KAAK,CACV,cAAc,GACd,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,WAAW,GACX,eAAe,GACf,cAAc,EAChB,KAAK,EACL,KAAK,CACN,CA0CA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAC5C,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAChB,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,GAAG,KAAK,EAChE,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,cAAc,CAAC,GAC7C,iBAAiB,CAAC,CAAC,CAAC,CAetB"}
|
package/dist/effect/bridge.js
CHANGED
|
@@ -64,7 +64,7 @@ export function buildContextLayer(c, config) {
|
|
|
64
64
|
const requestLayer = Layer.succeed(RequestService, createRequestContext(c));
|
|
65
65
|
const responseLayer = Layer.succeed(ResponseFactoryService, createResponseFactory(c));
|
|
66
66
|
const honertiaLayer = Layer.succeed(HonertiaService, createHonertiaRenderer(c));
|
|
67
|
-
// Build optional layers
|
|
67
|
+
// Build optional layers (cast to satisfy type checker - actual type comes from augmentation)
|
|
68
68
|
const databaseLayer = config?.database
|
|
69
69
|
? Layer.succeed(DatabaseService, config.database(c))
|
|
70
70
|
: Layer.succeed(DatabaseService, c.var?.db);
|
package/dist/effect/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Re-exports all Effect-related functionality.
|
|
5
5
|
*/
|
|
6
|
-
export { DatabaseService, AuthService, AuthUserService, HonertiaService, RequestService, ResponseFactoryService, type AuthUser, type HonertiaRenderer, type RequestContext, type ResponseFactory, type HonertiaDatabaseType, type HonertiaAuthType, } from './services.js';
|
|
6
|
+
export { DatabaseService, AuthService, AuthUserService, HonertiaService, RequestService, ResponseFactoryService, type AuthUser, type HonertiaRenderer, type RequestContext, type ResponseFactory, type HonertiaDatabaseType, type HonertiaAuthType, type DatabaseType, type SchemaType, type AuthType, } from './services.js';
|
|
7
7
|
export { ValidationError, UnauthorizedError, NotFoundError, ForbiddenError, HttpError, Redirect, type AppError, } from './errors.js';
|
|
8
8
|
export * from './schema.js';
|
|
9
9
|
export { getValidationData, formatSchemaErrors, validate, validateRequest, asValidated, asTrusted, type Validated, type Trusted, } from './validation.js';
|
|
@@ -12,6 +12,6 @@ export { effectHandler, effect, handle, errorToResponse, } from './handler.js';
|
|
|
12
12
|
export { action, authorize, dbMutation, dbTransaction, type SafeTx, } from './action.js';
|
|
13
13
|
export { redirect, render, renderWithErrors, json, text, notFound, forbidden, httpError, prefersJson, jsonOrRender, share, } from './responses.js';
|
|
14
14
|
export { EffectRouteBuilder, effectRoutes, type EffectHandler, type BaseServices, type EffectRouteOptions, } from './routing.js';
|
|
15
|
-
export { BoundModels, BoundModelNotFound, bound, parseBindings, toHonoPath, type ParsedBinding, } from './binding.js';
|
|
15
|
+
export { BoundModels, BoundModelNotFound, bound, pluralize, parseBindings, toHonoPath, type ParsedBinding, type BoundModel, } from './binding.js';
|
|
16
16
|
export { RequireAuthLayer, RequireGuestLayer, isAuthenticated, currentUser, requireAuth, requireGuest, shareAuth, shareAuthMiddleware, effectAuthRoutes, betterAuthFormAction, betterAuthLogoutAction, loadUser, type AuthRoutesConfig, type BetterAuthFormActionConfig, type BetterAuthLogoutConfig, type BetterAuthActionResult, } from './auth.js';
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,SAAS,EACT,QAAQ,EACR,KAAK,QAAQ,GACd,MAAM,aAAa,CAAA;AAGpB,cAAc,aAAa,CAAA;AAG3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,WAAW,EACX,SAAS,EACT,KAAK,SAAS,EACd,KAAK,OAAO,GACb,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,aAAa,EACb,MAAM,EACN,MAAM,EACN,eAAe,GAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,KAAK,MAAM,GACZ,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,KAAK,GACN,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,WAAW,CAAA"}
|
package/dist/effect/index.js
CHANGED
|
@@ -22,6 +22,6 @@ export { redirect, render, renderWithErrors, json, text, notFound, forbidden, ht
|
|
|
22
22
|
// Routing
|
|
23
23
|
export { EffectRouteBuilder, effectRoutes, } from './routing.js';
|
|
24
24
|
// Route Model Binding
|
|
25
|
-
export { BoundModels, BoundModelNotFound, bound, parseBindings, toHonoPath, } from './binding.js';
|
|
25
|
+
export { BoundModels, BoundModelNotFound, bound, pluralize, parseBindings, toHonoPath, } from './binding.js';
|
|
26
26
|
// Auth
|
|
27
27
|
export { RequireAuthLayer, RequireGuestLayer, isAuthenticated, currentUser, requireAuth, requireGuest, shareAuth, shareAuthMiddleware, effectAuthRoutes, betterAuthFormAction, betterAuthLogoutAction, loadUser, } from './auth.js';
|
|
@@ -22,9 +22,30 @@ import { Context } from 'effect';
|
|
|
22
22
|
* Then use the `DatabaseService` tag to get your typed database.
|
|
23
23
|
*/
|
|
24
24
|
export interface HonertiaDatabaseType {
|
|
25
|
-
type: unknown;
|
|
26
|
-
schema: Record<string, unknown>;
|
|
27
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Error type shown when HonertiaDatabaseType.type is not configured.
|
|
28
|
+
* This provides a helpful error message in IDE tooltips.
|
|
29
|
+
*/
|
|
30
|
+
interface DatabaseNotConfigured {
|
|
31
|
+
readonly __error: 'DatabaseService type not configured. Add module augmentation: declare module "honertia/effect" { interface HonertiaDatabaseType { type: YourDbType } }';
|
|
32
|
+
readonly __hint: 'See https://github.com/patrickogilvie/honertia#typescript-setup';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Error type shown when HonertiaDatabaseType.schema is not configured.
|
|
36
|
+
*/
|
|
37
|
+
interface SchemaNotConfigured {
|
|
38
|
+
readonly __error: 'Schema not configured for route model binding. Add module augmentation: declare module "honertia/effect" { interface HonertiaDatabaseType { schema: typeof schema } }';
|
|
39
|
+
readonly __hint: 'This is optional - only needed if using bound() for route model binding';
|
|
40
|
+
}
|
|
41
|
+
/** Extract database type from augmented interface, shows error type if not configured */
|
|
42
|
+
export type DatabaseType = HonertiaDatabaseType extends {
|
|
43
|
+
type: infer T;
|
|
44
|
+
} ? T : DatabaseNotConfigured;
|
|
45
|
+
/** Extract schema type from augmented interface, shows error type if not configured */
|
|
46
|
+
export type SchemaType = HonertiaDatabaseType extends {
|
|
47
|
+
schema: infer T;
|
|
48
|
+
} ? T : SchemaNotConfigured;
|
|
28
49
|
/**
|
|
29
50
|
* Augmentable interface for auth type.
|
|
30
51
|
* Users can extend this via module augmentation:
|
|
@@ -39,18 +60,28 @@ export interface HonertiaDatabaseType {
|
|
|
39
60
|
* ```
|
|
40
61
|
*/
|
|
41
62
|
export interface HonertiaAuthType {
|
|
42
|
-
[key: string]: unknown;
|
|
43
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Error type shown when HonertiaAuthType.type is not configured.
|
|
66
|
+
*/
|
|
67
|
+
interface AuthNotConfigured {
|
|
68
|
+
readonly __error: 'AuthService type not configured. Add module augmentation: declare module "honertia/effect" { interface HonertiaAuthType { type: YourAuthType } }';
|
|
69
|
+
readonly __hint: 'This is optional - only needed if using AuthService';
|
|
70
|
+
}
|
|
71
|
+
/** Extract auth type from augmented interface, shows error type if not configured */
|
|
72
|
+
export type AuthType = HonertiaAuthType extends {
|
|
73
|
+
type: infer T;
|
|
74
|
+
} ? T : AuthNotConfigured;
|
|
44
75
|
/**
|
|
45
76
|
* Database Service - Generic database client
|
|
46
77
|
*/
|
|
47
|
-
declare const DatabaseService_base: Context.TagClass<DatabaseService, 'honertia/Database',
|
|
78
|
+
declare const DatabaseService_base: Context.TagClass<DatabaseService, 'honertia/Database', DatabaseType>;
|
|
48
79
|
export declare class DatabaseService extends DatabaseService_base {
|
|
49
80
|
}
|
|
50
81
|
/**
|
|
51
82
|
* Auth Service - Better-auth instance
|
|
52
83
|
*/
|
|
53
|
-
declare const AuthService_base: Context.TagClass<AuthService, 'honertia/Auth',
|
|
84
|
+
declare const AuthService_base: Context.TagClass<AuthService, 'honertia/Auth', AuthType>;
|
|
54
85
|
export declare class AuthService extends AuthService_base {
|
|
55
86
|
}
|
|
56
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/effect/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/effect/services.ts"],"names":[],"mappings":"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"}
|