MCPcopy
hub / github.com/facebook/react / serializeDebugSet

Function serializeDebugSet

packages/react-server/src/ReactFlightServer.js:3026–3045  ·  view source on GitHub ↗
(
  request: Request,
  counter: {objectLimit: number},
  set: Set<ReactClientValue>,
)

Source from the content-addressed store, hash-verified

3024}
3025
3026function serializeDebugSet(
3027 request: Request,
3028 counter: {objectLimit: number},
3029 set: Set<ReactClientValue>,
3030): string {
3031 // Like serializeMap but for renderDebugModel.
3032 const entries = Array.from(set);
3033 // The Set itself doesn't take up any space but the outlined object does.
3034 counter.objectLimit++;
3035 for (let i = 0; i < entries.length; i++) {
3036 // Outline every object entry in case we run out of space to serialize them.
3037 // Because we can't mark these values as limited.
3038 const entry = entries[i];
3039 if (typeof entry === 'object' && entry !== null) {
3040 doNotLimit.add(entry);
3041 }
3042 }
3043 const id = outlineDebugModel(request, counter, entries);
3044 return '$W' + id.toString(16);
3045}
3046
3047function serializeIterator(
3048 request: Request,

Callers 1

renderDebugModelFunction · 0.85

Calls 3

outlineDebugModelFunction · 0.85
addMethod · 0.80
toStringMethod · 0.65

Tested by

no test coverage detected