]> git.proxmox.com Git - flutter/pve_flutter_frontend.git/commitdiff
add custom serzializer for bool
authorTim Marx <t.marx@proxmox.com>
Fri, 6 Dec 2019 16:48:56 +0000 (17:48 +0100)
committerTim Marx <t.marx@proxmox.com>
Fri, 6 Dec 2019 16:48:56 +0000 (17:48 +0100)
Signed-off-by: Tim Marx <t.marx@proxmox.com>
lib/models/pve_bool_serializer.dart [new file with mode: 0644]

diff --git a/lib/models/pve_bool_serializer.dart b/lib/models/pve_bool_serializer.dart
new file mode 100644 (file)
index 0000000..518f921
--- /dev/null
@@ -0,0 +1,22 @@
+import 'package:built_collection/built_collection.dart';
+import 'package:built_value/serializer.dart';
+
+class PveBoolSerializer implements PrimitiveSerializer<bool> {
+  final bool structured = false;
+  @override
+  final Iterable<Type> types = BuiltList<Type>([bool]);
+  @override
+  final String wireName = 'bool';
+
+  @override
+  Object serialize(Serializers serializers, bool boolean,
+      {FullType specifiedType = FullType.unspecified}) {
+    return boolean ? 1 : 0;
+  }
+
+  @override
+  bool deserialize(Serializers serializers, Object serialized,
+      {FullType specifiedType = FullType.unspecified}) {
+    return serialized == 0 ? false : true;
+  }
+}
\ No newline at end of file