createWithJson<T extends RLMObject> method

Future<T> createWithJson<T extends RLMObject>(
  1. ItemCreator _creator,
  2. Map value, {
  3. UpdatePolicy policy = UpdatePolicy.error,
})

Create object by given policy.

param _creator required for make object for given generic type

Implementation

Future<T> createWithJson<T extends RLMObject>(ItemCreator _creator, Map value,
    {UpdatePolicy policy = UpdatePolicy.error}) async {
  assert(_partition.length != 0);

  Map<String, dynamic> values = {
    'value': value,
    'policy': policy.value,
    'identity': _syncUser.identity,
    'appId': _appId,
    'partition': _partition,
    "type": T.toString()
  };
  LinkedHashMap<dynamic, dynamic> map =
      await _channel.invokeMethod(Action.create.name, values);

  if (map["error"] != null) {
    throw Exception("create object finished with exception ${map["error"]}");
  }

  return _creator().fromJson(map);
}