private static bool GroupTogether(byte[] key1, byte[] key2, int groupLevel) { if (key1 == null || key2 == null) { return(false); } if (groupLevel == 0) { groupLevel = Int32.MaxValue; } return(JsonCollator.Compare(JsonCollationMode.Unicode, Encoding.UTF8.GetString(key1), Encoding.UTF8.GetString(key2), groupLevel) == 0); }
/// <Docs>Implements the custom collection for JSON strings.</Docs> /// <summary> /// Couchbase custom JSON collation algorithm. /// </summary> /// <remarks> /// This is woefully incomplete. /// For full details, see https://github.com/couchbase/couchbase-lite-ios/blob/580c5f65ebda159ce5d0ce1f75adc16955a2a6ff/Source/CBLCollateJSON.m. /// </remarks> /// <param name="param1">Param1.</param> /// <param name="param2">Param2.</param> public override Int32 Compare(String param1, String param2) { return(JsonCollator.Compare(JsonCollationMode.Ascii, param1, param2, Int32.MaxValue)); }
/// <Docs>Implements the custom collection for JSON strings.</Docs> /// <summary> /// Couchbase custom JSON collation algorithm. /// </summary> /// <remarks> /// This is woefully incomplete. /// For full details, see https://github.com/couchbase/couchbase-lite-ios/blob/580c5f65ebda159ce5d0ce1f75adc16955a2a6ff/Source/CBLCollateJSON.m. /// </remarks> /// <param name = "args"></param> public static Int32 Compare(object userData, String param1, String param2) { return(JsonCollator.Compare(JsonCollationMode.Raw, param1, param2, Int32.MaxValue)); }