DeepReadonly ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.tsbyservices/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.
Type · import type { DeepReadonly } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 1. Basics
A value you may read and must not change: every property and array is readonly, at every depth.
Inputs that take a DeepReadonly<T> accept a plain T as well.
export type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends object ? {
readonly [K in keyof T]: DeepReadonly<T[K]>;
} : T;
| Rule | Result |
|---|---|
| 1. Neutral name | pass: DeepReadonly names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | pass: 20 apps (fleet cross-check: app-04c2774145, app-0c773a4ee3, app-37356bf09f, app-4762caacdc, app-4fd23bc869, app-822bb9d6aa, app-8675b3225c, app-b362a81c85 and 12 more) |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |