/** * Harness template for the `cachedProjection` assembly arm. * * Disposition is resolved at COMPILE TIME by `scripts/capsule-compile.ts` (the * same probe pattern `pureTransform` and `stateMachine` use), so the generated * file is ALWAYS one clean, real test with no defensive runtime `throw`-if-missing * branches: * * - **real-only fixture form** ({@link HarnessContext.cachedProjectionRealOnly} * + a {@link HarnessContext.fixturePath}) — the source schema is a * Declaration-tagged `instanceOf(ArrayBuffer)` that is deliberately not * arbitrary-derivable, so the canonical fixture bytes are the source of * truth. Emits fixture-driven `cache-hit` / invalidation / determinism / * invariant probes over the REAL `derive`, plus a REAL decode-throughput bench. * - **real property form** ({@link HarnessContext.arbitraryDerivable}) — the * source schema IS arbitrary-derivable, so the harness samples it via the * canonical `schemaToArbitrary` walker and drives `derive` over random * sources for the determinism + invariant properties. * - **FAIL the compile loud** — any lesser disposition (no binding, no * derive/fixture, a non-derivable source with no fixture) THROWS a tagged * `UnsupportedError` so `capsule:compile` fails loud (wire-or-fail). The * generated file is never an `it.skip`, never a `() => true` placeholder, and * never carries a runtime `try/catch schemaToArbitrary ... else throw` branch * that decides derivability at test time. * * @module */ import type { CapsuleDef } from '../assembly.js'; import type { HarnessContext, HarnessOutput } from './pure-transform.js'; /** * Generate the test + bench file contents for a `cachedProjection` capsule. * * Disposition is resolved at COMPILE TIME (see the module docstring). This * generator never decides derivability at test time and never emits a defensive * runtime `throw`-if-missing branch: it emits ONE clean real test, or THROWS a * tagged `UnsupportedError` so `capsule:compile` fails loud (wire-or-fail). */ export declare function generateCachedProjection(cap: CapsuleDef<'cachedProjection', unknown, unknown, unknown>, ctx?: HarnessContext): HarnessOutput; //# sourceMappingURL=cached-projection.d.ts.map