52 lines
1.6 KiB
JavaScript
Executable File
52 lines
1.6 KiB
JavaScript
Executable File
"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
|