-
Notifications
You must be signed in to change notification settings - Fork 0
/
ModelES6.js
47 lines (46 loc) · 1.33 KB
/
ModelES6.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import Realm from './Realm';
export default class RealmModel {
static all(ModelName) {
return Realm.Instance.objects(ModelName);
}
static find(ModelName,query){
return Realm.Instance.objects(ModelName).filter((ob)=>{
let isMatch = true;
if(query.constructor == Object){
for(let q in query){
if(ob[q] != query[q]){
isMatch = false;
break;
}
}
}else{
isMatch = false;
}
return isMatch;
});
}
static findOne(ModelName,query){
return Realm.Instance.objects(ModelName).find((ob)=>{
let isMatch = true;
if(query.constructor == Object){
for(let q in query){
if(ob[q] != query[q]){
isMatch = false;
break;
}
}
}else{
isMatch = false;
}
return isMatch;
});
}
static findByObjectId(ModelName,objectId){
return Realm.Instance.objectForPrimaryKey(ModelName,objectId);
}
save(ModelName){
Realm.Instance.write(()=>{
Realm.Instance.create(ModelName,this,true);
})
}
}