Fix to preserve types using structuredClone (#3113)

This commit is contained in:
Jonathan Tran
2024-07-25 20:11:46 -04:00
committed by GitHub
parent 0e5d88df0b
commit e3b8807d6f
17 changed files with 76 additions and 87 deletions

View File

@ -197,7 +197,7 @@ export class ProgramMemory {
* Returns a deep copy.
*/
clone(): ProgramMemory {
return ProgramMemory.fromRaw(JSON.parse(JSON.stringify(this.toRaw())))
return ProgramMemory.fromRaw(structuredClone(this.toRaw()))
}
has(name: string): boolean {
@ -268,7 +268,7 @@ export class ProgramMemory {
continue
}
// Deep copy.
bindings[name] = JSON.parse(JSON.stringify(value))
bindings[name] = structuredClone(value)
}
environments.push({ bindings, parent: env.parent })
}