UNPKG

next

Version:

The React Framework

52 lines (51 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { extractInfoFromServerReferenceId: null, omitUnusedArgs: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { extractInfoFromServerReferenceId: function() { return extractInfoFromServerReferenceId; }, omitUnusedArgs: function() { return omitUnusedArgs; } }); function extractInfoFromServerReferenceId(id) { const infoByte = parseInt(id.slice(0, 2), 16); const typeBit = infoByte >> 7 & 0x1; const argMask = infoByte >> 1 & 0x3f; const restArgs = infoByte & 0x1; const usedArgs = Array(6); for(let index = 0; index < 6; index++){ const bitPosition = 5 - index; const bit = argMask >> bitPosition & 0x1; usedArgs[index] = bit === 1; } return { type: typeBit === 1 ? 'use-cache' : 'server-action', usedArgs: usedArgs, hasRestArgs: restArgs === 1 }; } function omitUnusedArgs(args, info) { const filteredArgs = new Array(args.length); for(let index = 0; index < args.length; index++){ if (index < 6 && info.usedArgs[index] || // This assumes that the server reference info byte has the restArgs bit // set to 1 if there are more than 6 args. index >= 6 && info.hasRestArgs) { filteredArgs[index] = args[index]; } } return filteredArgs; } //# sourceMappingURL=server-reference-info.js.map