feat: 기능 추가 과정중
This commit is contained in:
@@ -1,7 +1,18 @@
|
||||
import type { SessionState } from "../auth-session-port.js";
|
||||
import type { StoragePort } from "../storage-port.js";
|
||||
import type { SessionState } from "../auth-session-port.ts";
|
||||
import type { StoragePort } from "../storage-port.ts";
|
||||
|
||||
export type { SessionState } from "../auth-session-port.js";
|
||||
export type { SessionState } from "../auth-session-port.ts";
|
||||
|
||||
/**
|
||||
* Features add their driving API through module augmentation. The application
|
||||
* owns the registry contract without importing any concrete feature.
|
||||
*/
|
||||
export interface ApplicationFeatureInputs {}
|
||||
|
||||
export type ApplicationFeatureId = Extract<
|
||||
keyof ApplicationFeatureInputs,
|
||||
string
|
||||
>;
|
||||
|
||||
export type ColorSchemePreference = "system" | "light" | "dark";
|
||||
|
||||
@@ -54,7 +65,9 @@ export type ApplicationApi = Readonly<{
|
||||
>;
|
||||
}>;
|
||||
features: Readonly<{
|
||||
has(featureId: string): boolean;
|
||||
get(featureId: string): unknown;
|
||||
has(featureId: string): featureId is ApplicationFeatureId;
|
||||
get<FeatureId extends ApplicationFeatureId>(
|
||||
featureId: FeatureId,
|
||||
): ApplicationFeatureInputs[FeatureId];
|
||||
}>;
|
||||
}>;
|
||||
|
||||
Reference in New Issue
Block a user