feat: connect application input and output boundaries

This commit is contained in:
donghyeon-ka
2026-07-26 13:52:35 +09:00
parent 38ad69236b
commit 2dda17cf19
43 changed files with 697 additions and 215 deletions
@@ -0,0 +1,3 @@
import { createRuntimeAdapters } from "../../../../src/bootstrap/runtime-adapters.js";
export const bootstrapFactory = createRuntimeAdapters;
@@ -0,0 +1,3 @@
import { createHttpClient } from "../../../../src/adapters/http/client.js";
export const leakedHttpFactory = createHttpClient;
@@ -0,0 +1,4 @@
export function DirectFetchPage() {
void fetch("/api/forbidden");
return <p>forbidden</p>;
}
@@ -0,0 +1,5 @@
import type { ApplicationOutputPorts } from "../../../../src/application/ports/out/application-output-ports.js";
export function OutputPortLeak(_props: ApplicationOutputPorts) {
return <p>forbidden</p>;
}
+5
View File
@@ -0,0 +1,5 @@
import type { ApplicationApi } from "../../../src/application/create-application.js";
export const incompleteApplication: ApplicationApi = {
session: {} as ApplicationApi["session"],
};
@@ -0,0 +1,7 @@
import type { ApplicationOutputPorts } from "../../../src/application/create-application.js";
export const invalidOutputPorts: ApplicationOutputPorts = {
session: {
getState: () => "signed-in",
},
};