faster object type lookup during deserialization
This commit is contained in:
parent
f6f5364ad1
commit
b086bfbcc6
|
@ -397,7 +397,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|||
currentPos++;
|
||||
};
|
||||
let currentPosTypeLookup = 0;
|
||||
const objectTypeLookup = new Map();
|
||||
const objectTypeLookup = [];
|
||||
const result = [];
|
||||
const ctx = {
|
||||
read() {
|
||||
|
@ -427,7 +427,7 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|||
let serializer;
|
||||
|
||||
if (typeof request === "number") {
|
||||
serializer = objectTypeLookup.get(currentPosTypeLookup - request);
|
||||
serializer = objectTypeLookup[currentPosTypeLookup - request];
|
||||
} else {
|
||||
if (typeof request !== "string") {
|
||||
throw new Error(
|
||||
|
@ -456,7 +456,8 @@ class ObjectMiddleware extends SerializerMiddleware {
|
|||
|
||||
serializer = ObjectMiddleware.getDeserializerFor(request, name);
|
||||
|
||||
objectTypeLookup.set(currentPosTypeLookup++, serializer);
|
||||
objectTypeLookup.push(serializer);
|
||||
currentPosTypeLookup++;
|
||||
}
|
||||
try {
|
||||
const item = serializer.deserialize(ctx);
|
||||
|
|
Loading…
Reference in New Issue