MCPcopy Create free account
hub / github.com/effect-app/libs / deepToRaw

Function deepToRaw

packages/vue/src/lib.ts:76–115  ·  view source on GitHub ↗
(sourceObj: T)

Source from the content-addressed store, hash-verified

74})
75
76export function deepToRaw<T>(sourceObj: T): T {
77 const objectIterator = (input: any): any => {
78 if (isRef(input)) {
79 return objectIterator(input.value)
80 }
81
82 const rawInput = isReactive(input) || isProxy(input)
83 ? toRaw(input)
84 : input
85
86 if (Array.isArray(rawInput)) {
87 return rawInput.map((item) => objectIterator(item))
88 }
89
90 if (rawInput instanceof Map) {
91 return new Map(
92 Array.from(rawInput.entries(), ([key, value]) => [objectIterator(key), objectIterator(value)])
93 )
94 }
95
96 if (rawInput instanceof Set) {
97 return new Set(Array.from(rawInput.values(), (value) => objectIterator(value)))
98 }
99
100 if (rawInput instanceof Date) {
101 return new Date(rawInput)
102 }
103
104 if (rawInput && typeof rawInput === "object") {
105 return Object.keys(rawInput).reduce((acc, key) => {
106 acc[key] = objectIterator(rawInput[key])
107 return acc
108 }, {} as Record<string, unknown>)
109 }
110
111 return rawInput
112 }
113
114 return objectIterator(sourceObj)
115}

Callers 2

CommanderImplClass · 0.90
lib.test.tsFile · 0.85

Calls 1

objectIteratorFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…