feat(conformance): implement ReadOnly brand and reader generator

- Add ReadOnly<F> phantom brand to core-shared/conformance (compile-time
  enforcement that readers only wrap non-mutating use cases)
- Add isReadOnly runtime predicate for boot-time assertReaderPurity
- Scaffold pnpm turbo gen reader: creates integrations/readers/ with
  interface, implementation, test, barrel, and adds ./reader export
  subpath to package.json
This commit is contained in:
danijel-lf
2026-05-28 22:01:51 +02:00
parent b97e6105d3
commit 5b74939a51
8 changed files with 187 additions and 2 deletions

View File

@@ -0,0 +1,10 @@
// packages/{{kebabCase feature}}/src/integrations/readers/{{kebabCase feature}}.reader.test.ts
import { describe, it, expect } from "vitest";
import { {{pascalCase feature}}Reader } from "@/integrations/readers/{{kebabCase feature}}.reader";
describe("{{pascalCase feature}}Reader", () => {
it("can be constructed", () => {
const reader = new {{pascalCase feature}}Reader();
expect(reader).toBeDefined();
});
});