t3-code-android-nightly/.repos/effect-smol/packages/effect/test/schema/SchemaCompilerStartup.test.ts
Julius Marminge 6f9cea00ae
chore(refs): sync Effect and Alchemy references to 4.0.1 and beta.80 (#16170)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 13:22:30 -07:00

19 lines
995 B
TypeScript

import { assert, describe, it } from "@effect/vitest"
import { Schema, SchemaParser } from "effect"
import * as Registry from "effect/internal/schema/compilerRegistry"
describe("Schema compiler startup", () => {
it("allows late global activation without replacing a maker's interpreted entry", async () => {
const schema = Schema.Struct({ a: Schema.String })
assert.deepStrictEqual(SchemaParser.make(schema)({ a: "a" }), { a: "a" })
const before = Registry.resolve(schema.ast)
assert.strictEqual(before.compiled, undefined)
const unused = Schema.Struct({ a: Schema.Number })
const make = SchemaParser.make(unused)
await import("effect/schema/SchemaJITCompiler/enable")
assert.strictEqual(Registry.resolve(schema.ast), before)
assert.deepStrictEqual(SchemaParser.decodeUnknownSync(schema)({ a: "a" }), { a: "a" })
assert.deepStrictEqual(make({ a: 1 }), { a: 1 })
assert.strictEqual(Registry.resolve(unused.ast).compiled !== undefined, true)
})
})