MCPcopy Index your code
hub / github.com/simstudioai/sim / substituteRefs

Function substituteRefs

apps/sim/lib/logs/execution/pii-large-values.ts:110–123  ·  view source on GitHub ↗

Sync rebuild of `value` with each collected ref swapped for its replacement (by identity).

(value: unknown, replacements: Map<object, unknown>)

Source from the content-addressed store, hash-verified

108
109/** Sync rebuild of `value` with each collected ref swapped for its replacement (by identity). */
110function substituteRefs(value: unknown, replacements: Map<object, unknown>): unknown {
111 if (isLargeValueRef(value) || isLargeArrayManifest(value)) {
112 return replacements.has(value as object) ? replacements.get(value as object) : value
113 }
114 if (value === null || typeof value !== 'object') return value
115 if (Array.isArray(value)) {
116 return value.map((item) => substituteRefs(item, replacements))
117 }
118 const out: Record<string, unknown> = {}
119 for (const [key, v] of Object.entries(value)) {
120 out[key] = substituteRefs(v, replacements)
121 }
122 return out
123}
124
125async function replaceRef(ref: object, options: RedactLargeValueRefsOptions): Promise<unknown> {
126 return isLargeValueRef(ref)

Callers 1

redactValueRefsFunction · 0.85

Calls 3

isLargeValueRefFunction · 0.90
isLargeArrayManifestFunction · 0.90
getMethod · 0.65

Tested by

no test coverage detected