源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)

This commit is contained in:
agent-radar
2026-09-02 01:05:41 +08:00
commit 04bac1f6e2
2200 changed files with 489415 additions and 0 deletions
@@ -0,0 +1,23 @@
export type DeepReadonly<Value> =
Value extends (...arguments_: never[]) => unknown
? Value
: Value extends readonly (infer Item)[]
? readonly DeepReadonly<Item>[]
: Value extends object
? { readonly [Key in keyof Value]: DeepReadonly<Value[Key]> }
: Value
/**
* Recursively freezes the plain data contracts exposed by this package.
*
* The mock server deliberately publishes immutable scenario, profile, fault,
* snapshot, and trace values. TypeScript's `readonly` is compile-time only;
* freezing the runtime value prevents a JavaScript consumer from silently
* changing active server state or shared catalog fixtures.
*/
export function deepFreeze<Value>(value: Value): Value {
if (value === null || typeof value !== "object" || Object.isFrozen(value)) return value
for (const nested of Object.values(value)) deepFreeze(nested)
return Object.freeze(value)
}