mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-21 05:50:55 +08:00
* Expand static compilation for common Effect 4 patterns * Run every Effect 4 fixture slice in CI * Preserve existing corpus behavior across Effect 4 lowering * Preserve Effect platform callbacks and native stream state * Record new corpus baselines and retain child stdin refusals * Retire the obsolete stateful regex diagnostic * Preserve promise reference count layout for cycle collection
2 lines
989 B
TypeScript
2 lines
989 B
TypeScript
import * as Effect from "effect/Effect";import * as Schema from "effect/Schema";import * as Layer from "effect/Layer";import * as HttpApi from "effect/http-api/HttpApi";import * as HttpApiGroup from "effect/http-api/HttpApiGroup";import * as HttpApiEndpoint from "effect/http-api/HttpApiEndpoint";import * as HttpApiBuilder from "effect/http-api/HttpApiBuilder";import * as HttpApiTest from "effect/http-api/HttpApiTest";import * as HttpServer from "effect/http/HttpServer";const Api=HttpApi.make("Api").add(HttpApiGroup.make("hello").add(HttpApiEndpoint.get("greet","/hello",{success:Schema.String})));const handlers=HttpApiBuilder.group(Api,"hello",h=>h.handle("greet",()=>Effect.succeed("world")));Effect.runPromise((Effect.gen(function*(){const c=yield* HttpApiTest.groups(Api,["hello"]);return yield* c.hello.greet()}).pipe(Effect.scoped,Effect.provide(Layer.mergeAll(handlers,HttpServer.layerServices)))).pipe(Effect.tap(value=>Effect.sync(()=>console.log(JSON.stringify(value))))))
|