MCPcopy Create free account
hub / github.com/json5/json5 / internalize

Function internalize

lib/parse.js:42–78  ·  view source on GitHub ↗
(holder, name, reviver)

Source from the content-addressed store, hash-verified

40}
41
42function internalize (holder, name, reviver) {
43 const value = holder[name]
44 if (value != null && typeof value === 'object') {
45 if (Array.isArray(value)) {
46 for (let i = 0; i < value.length; i++) {
47 const key = String(i)
48 const replacement = internalize(value, key, reviver)
49 if (replacement === undefined) {
50 delete value[key]
51 } else {
52 Object.defineProperty(value, key, {
53 value: replacement,
54 writable: true,
55 enumerable: true,
56 configurable: true,
57 })
58 }
59 }
60 } else {
61 for (const key in value) {
62 const replacement = internalize(value, key, reviver)
63 if (replacement === undefined) {
64 delete value[key]
65 } else {
66 Object.defineProperty(value, key, {
67 value: replacement,
68 writable: true,
69 enumerable: true,
70 configurable: true,
71 })
72 }
73 }
74 }
75 }
76
77 return reviver.call(holder, name, value)
78}
79
80let lexState
81let buffer

Callers 1

parse.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…