mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-06-13 01:18:59 +08:00
[firestore][js] arrayUnion & arrayRemove updated to accept any types including References & Objects
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
* FieldValue representation wrapper
|
||||
*/
|
||||
import AnyJs from './utils/any';
|
||||
import { buildNativeArray } from './utils/serialize';
|
||||
|
||||
// TODO: Salakar: Refactor in v6
|
||||
export default class FieldValue {
|
||||
@@ -32,11 +33,17 @@ export default class FieldValue {
|
||||
}
|
||||
|
||||
static arrayUnion(...elements: AnyJs[]) {
|
||||
return new FieldValue(TypeFieldValueUnion, elements);
|
||||
// TODO Salakar: v6: validate elements, any primitive or FirestoreReference allowed
|
||||
// TODO Salakar: v6: explicitly deny use of serverTimestamp - only allowed on set/update
|
||||
// TODO Salakar: v6: explicitly deny use of nested arrays - not supported on sdk
|
||||
return new FieldValue(TypeFieldValueUnion, buildNativeArray(elements));
|
||||
}
|
||||
|
||||
static arrayRemove(...elements: AnyJs[]) {
|
||||
return new FieldValue(TypeFieldValueRemove, elements);
|
||||
// TODO Salakar: v6: validate elements, any primitive or FirestoreReference allowed
|
||||
// TODO Salakar: v6: explicitly deny use of serverTimestamp - only allowed on set/update
|
||||
// TODO Salakar: v6: explicitly deny use of nested arrays - not supported on sdk
|
||||
return new FieldValue(TypeFieldValueRemove, buildNativeArray(elements));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user