Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit 6d81955

Browse files
Delete individual field feature #975
1 parent 09cc7e1 commit 6d81955

File tree

5 files changed

+7
-0
lines changed

5 files changed

+7
-0
lines changed

src/app/firestore/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export namespace firestore {
1616
type: undefined,
1717
value: undefined,
1818
serverTimestamp: () => "SERVER_TIMESTAMP",
19+
delete: () => "DELETE",
1920
arrayUnion: (fields: Array<any>) => new firebase.firestore.FieldValue("ARRAY_UNION", fields),
2021
arrayRemove: (fields: Array<any>) => new firebase.firestore.FieldValue("ARRAY_REMOVE", fields)
2122
};

src/firebase-common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export class FieldValue {
1414
}
1515

1616
static serverTimestamp = () => "SERVER_TIMESTAMP";
17+
static delete = () => "DELETE";
1718
static arrayUnion = (fields: Array<any>) => new FieldValue("ARRAY_UNION", fields);
1819
static arrayRemove = (fields: Array<any>) => new FieldValue("ARRAY_REMOVE", fields);
1920
}

src/firebase.android.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ firebase.toHashMap = obj => {
114114
// note that the Android Firestore SDK only supports this for 'update' (not for 'set')
115115
if (obj[property] === "SERVER_TIMESTAMP") {
116116
node.put(property, com.google.firebase.firestore.FieldValue.serverTimestamp());
117+
} else if (obj[property] === "DELETE") {
118+
node.put(property, com.google.firebase.firestore.FieldValue.delete());
117119
} else if (obj[property] instanceof FieldValue) {
118120
const fieldValue: FieldValue = obj[property];
119121
if (fieldValue.type === "ARRAY_UNION") {

src/firebase.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,7 @@ export namespace firestore {
725725
constructor(type: FieldValueType, value: any);
726726

727727
static serverTimestamp: () => "SERVER_TIMESTAMP";
728+
static delete: () => "DELETE";
728729
static arrayUnion: (fields: Array<any>) => FieldValue;
729730
static arrayRemove: (fields: Array<any>) => FieldValue;
730731
}

src/firebase.ios.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,6 +1820,8 @@ function fixSpecialField(item): any {
18201820
return null;
18211821
} else if (item === "SERVER_TIMESTAMP") {
18221822
return FIRFieldValue.fieldValueForServerTimestamp();
1823+
} else if (item === "DELETE") {
1824+
return FIRFieldValue.fieldValueForDelete();
18231825
} else if (item instanceof FieldValue) {
18241826
const fieldValue: FieldValue = item;
18251827
if (fieldValue.type === "ARRAY_UNION") {

0 commit comments

Comments
 (0)