ConnectToken.fromReader constructor

ConnectToken.fromReader(
  1. TeleportObjectReader reader
)

Implementation

factory ConnectToken.fromReader(TeleportObjectReader reader) {
    final instance = ConnectToken();
    TeleportField? field;
    while ((field = reader.next()) != null) {
        if (field!.isNull) continue;
        switch (field.fieldId) {
            case fieldIdServerSessionId: {
                instance.serverSessionId = field.asString();
                break;
            }
            case fieldIdContextType: {
                instance.contextType = ContextType.fromValue(field.asInt32());
                break;
            }
            case fieldIdUserType: {
                instance.userType = UserType.fromValue(field.asInt32());
                break;
            }
            case fieldIdPayloadType: {
                instance.payloadType = PayloadType.fromValue(field.asInt32());
                break;
            }
            case fieldIdIsInternal: {
                instance.isInternal = field.asBool();
                break;
            }
            case fieldIdIsSnapshot: {
                instance.isSnapshot = field.asBool();
                break;
            }
            case fieldIdDescription: {
                instance.description = field.asString();
                break;
            }
            case fieldIdUserId: {
                instance.userId = field.asString();
                break;
            }
            case fieldIdDeviceId: {
                instance.deviceId = field.asString();
                break;
            }
            case fieldIdProductId: {
                instance.productId = field.asString();
                break;
            }
            case fieldIdVersionId: {
                instance.versionId = field.asString();
                break;
            }
            case fieldIdInstallId: {
                instance.installId = field.asString();
                break;
            }
            case fieldIdLocale: {
                instance.locale = field.asString();
                break;
            }
            case fieldIdOpcodeGroupsFromServer: {
                instance.opcodeGroupsFromServer = Opcode.fromValue(field.asInt32());
                break;
            }
            case fieldIdOpcodeGroupsToServer: {
                instance.opcodeGroupsToServer = Opcode.fromValue(field.asInt32());
                break;
            }
            case fieldIdProtocolVersion: {
                instance.protocolVersion = field.asInt32();
                break;
            }
            case fieldIdHasInput: {
                instance.hasInput = field.asBool();
                break;
            }
            case fieldIdChannelLocale: {
                instance.channelLocale = field.asString();
                break;
            }
            case fieldIdEmbeddedSpaceId: {
                instance.embeddedSpaceId = field.asString();
                break;
            }
            case fieldIdAuthSessionId: {
                instance.authSessionId = field.asString();
                break;
            }
            case fieldIdReceiveAllMessages: {
                instance.receiveAllMessages = field.asBool();
                break;
            }
            case fieldIdUserAgent: {
                instance.userAgent = field.asString();
                break;
            }
            case fieldIdClientType: {
                instance.clientType = ClientType.fromValue(field.asInt32());
                break;
            }
            case fieldIdParameters: {
                final dr = field.asDictionary();
                final map = <String, String>{};
                TeleportDictEntry? en;
                while ((en = dr.next()) != null) {
                    final entry = en!;
                    map[entry.keyAsString()] = entry.valueAsField().asString();
                }
                instance.parameters = map;
                break;
            }
            case fieldIdSdkType: {
                instance.sdkType = SdkType.fromValue(field.asInt32());
                break;
            }
            case fieldIdSdkCapability: {
                instance.sdkCapability = field.asInt32();
                break;
            }
            case fieldIdViewportWidth: {
                instance.viewportWidth = field.asInt32();
                break;
            }
            case fieldIdViewportHeight: {
                instance.viewportHeight = field.asInt32();
                break;
            }
            case fieldIdTheme: {
                instance.theme = field.asString();
                break;
            }
            case fieldIdTimezone: {
                instance.timezone = field.asString();
                break;
            }
            case fieldIdIsTouchDevice: {
                instance.isTouchDevice = field.asBool();
                break;
            }
            case fieldIdInitialPath: {
                instance.initialPath = field.asString();
                break;
            }
            case fieldIdStyleFormat: {
                instance.styleFormat = StyleFormat.fromValue(field.asInt32());
                break;
            }
            case fieldIdSupportsCompression: {
                instance.supportsCompression = field.asBool();
                break;
            }
        }
    }
    return instance;
}