MCPcopy Create free account
hub / github.com/apache/fory / readRef

Function readRef

javascript/packages/core/lib/gen/serializer.ts:242–259  ·  view source on GitHub ↗
(assignStmt: (v: string) => string)

Source from the content-addressed store, hash-verified

240 }
241
242 readRef(assignStmt: (v: string) => string): string {
243 const refFlag = this.scope.uniqueName("refFlag");
244 return `
245 const ${refFlag} = ${this.builder.reader.readInt8()};
246 switch (${refFlag}) {
247 case ${RefFlags.NotNullValueFlag}:
248 case ${RefFlags.RefValueFlag}:
249 ${this.readNoRef(assignStmt, `${refFlag} === ${RefFlags.RefValueFlag}`)}
250 break;
251 case ${RefFlags.RefFlag}:
252 ${assignStmt(this.builder.referenceResolver.getReadRef(this.builder.reader.readVarUInt32()))}
253 break;
254 case ${RefFlags.NullFlag}:
255 ${assignStmt("null")}
256 break;
257 }
258 `;
259 }
260
261 protected maybeReference(accessor: string, refState: string) {
262 if (refState === "false") {

Callers

nothing calls this directly

Calls 5

uniqueNameMethod · 0.80
readNoRefMethod · 0.65
getReadRefMethod · 0.65
readInt8Method · 0.45
readVarUInt32Method · 0.45

Tested by

no test coverage detected