in src/internal/BinaryCommunicator.ts [167:226]
async _readTypedObject(buffer, objectTypeCode, expectedType = null) {
switch (objectTypeCode) {
case BinaryUtils.TYPE_CODE.BYTE:
case BinaryUtils.TYPE_CODE.SHORT:
case BinaryUtils.TYPE_CODE.INTEGER:
case BinaryUtils.TYPE_CODE.FLOAT:
case BinaryUtils.TYPE_CODE.DOUBLE:
return buffer.readNumber(objectTypeCode);
case BinaryUtils.TYPE_CODE.LONG:
return buffer.readLong().toNumber();
case BinaryUtils.TYPE_CODE.CHAR:
return buffer.readChar();
case BinaryUtils.TYPE_CODE.BOOLEAN:
return buffer.readBoolean();
case BinaryUtils.TYPE_CODE.STRING:
return buffer.readString();
case BinaryUtils.TYPE_CODE.UUID:
return this._readUUID(buffer);
case BinaryUtils.TYPE_CODE.DATE:
return buffer.readDate();
case BinaryUtils.TYPE_CODE.ENUM:
case BinaryUtils.TYPE_CODE.BINARY_ENUM:
return await this._readEnum(buffer);
case BinaryUtils.TYPE_CODE.DECIMAL:
return this._readDecimal(buffer);
case BinaryUtils.TYPE_CODE.TIMESTAMP:
return this._readTimestamp(buffer);
case BinaryUtils.TYPE_CODE.TIME:
return buffer.readDate();
case BinaryUtils.TYPE_CODE.BYTE_ARRAY:
case BinaryUtils.TYPE_CODE.SHORT_ARRAY:
case BinaryUtils.TYPE_CODE.INTEGER_ARRAY:
case BinaryUtils.TYPE_CODE.LONG_ARRAY:
case BinaryUtils.TYPE_CODE.FLOAT_ARRAY:
case BinaryUtils.TYPE_CODE.DOUBLE_ARRAY:
case BinaryUtils.TYPE_CODE.CHAR_ARRAY:
case BinaryUtils.TYPE_CODE.BOOLEAN_ARRAY:
case BinaryUtils.TYPE_CODE.STRING_ARRAY:
case BinaryUtils.TYPE_CODE.UUID_ARRAY:
case BinaryUtils.TYPE_CODE.DATE_ARRAY:
case BinaryUtils.TYPE_CODE.OBJECT_ARRAY:
case BinaryUtils.TYPE_CODE.ENUM_ARRAY:
case BinaryUtils.TYPE_CODE.DECIMAL_ARRAY:
case BinaryUtils.TYPE_CODE.TIMESTAMP_ARRAY:
case BinaryUtils.TYPE_CODE.TIME_ARRAY:
return await this._readArray(buffer, objectTypeCode, expectedType);
case BinaryUtils.TYPE_CODE.COLLECTION:
return await this._readCollection(buffer, expectedType);
case BinaryUtils.TYPE_CODE.MAP:
return await this._readMap(buffer, expectedType);
case BinaryUtils.TYPE_CODE.BINARY_OBJECT:
return await this._readBinaryObject(buffer, expectedType);
case BinaryUtils.TYPE_CODE.NULL:
return null;
case BinaryUtils.TYPE_CODE.COMPLEX_OBJECT:
return await this._readComplexObject(buffer, expectedType);
default:
throw IgniteClientError.unsupportedTypeError(objectTypeCode);
}
}