@knymbus/firestoredb 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/FirestoreQuery.d.ts +4 -12
- package/dist/cjs/FirestoreQuery.d.ts.map +1 -1
- package/dist/cjs/FirestoreQuery.js +22 -7
- package/dist/cjs/types.d.ts +9 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/FirestoreQuery.d.ts +4 -12
- package/dist/esm/FirestoreQuery.d.ts.map +1 -1
- package/dist/esm/FirestoreQuery.js +22 -7
- package/dist/esm/types.d.ts +9 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import type { QueryConstraint } from "firebase/firestore";
|
|
2
|
-
import { FirestoreSDK, WithSystemFields } from "./types";
|
|
2
|
+
import { FirestoreSDK, PaginationMetadata, SortDescriptor, WithSystemFields } from "./types";
|
|
3
3
|
import { LRUCache } from './utils';
|
|
4
4
|
import { FirestoreCursor } from "./utils/FirestoreCursor";
|
|
5
|
-
export type SortDescriptor = "asc" | "desc";
|
|
6
|
-
export interface PaginationMetadata {
|
|
7
|
-
totalRecords: number;
|
|
8
|
-
totalPages: number;
|
|
9
|
-
currentPage: number;
|
|
10
|
-
hasNext: boolean;
|
|
11
|
-
hasPrevious: boolean;
|
|
12
|
-
}
|
|
13
5
|
export declare class FirestoreQuery<T> {
|
|
14
6
|
private db;
|
|
15
7
|
private collectionName;
|
|
@@ -38,9 +30,9 @@ export declare class FirestoreQuery<T> {
|
|
|
38
30
|
sort(sortObj: Record<keyof T, SortDescriptor>): this;
|
|
39
31
|
limit(n: number): this;
|
|
40
32
|
/** Move to the next page */
|
|
41
|
-
after(id: string): this;
|
|
33
|
+
after(id: string | null | undefined): this;
|
|
42
34
|
/** Move to the previous page */
|
|
43
|
-
before(id: string): this;
|
|
35
|
+
before(id: string | null | undefined): this;
|
|
44
36
|
/**
|
|
45
37
|
* FirestoreDB: db.collection.find({}).withDeleted().execute()
|
|
46
38
|
* Allows viewing soft-deleted documents for this specific query.
|
|
@@ -67,7 +59,7 @@ export declare class FirestoreQuery<T> {
|
|
|
67
59
|
|
|
68
60
|
console.log(`Viewing page ${metadata.currentPage} of ${metadata.totalPages}`);
|
|
69
61
|
*/
|
|
70
|
-
paginate(): Promise<{
|
|
62
|
+
paginate(alreadyLoadedCount?: number): Promise<{
|
|
71
63
|
data: WithSystemFields<T>[];
|
|
72
64
|
metadata: PaginationMetadata;
|
|
73
65
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreQuery.d.ts","sourceRoot":"","sources":["../../src/FirestoreQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FirestoreQuery.d.ts","sourceRoot":"","sources":["../../src/FirestoreQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG7F,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,qBAAa,cAAc,CAAC,CAAC;IAgBrB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IAEjB,OAAO,CAAC,gBAAgB;IArB5B,OAAc,YAAY,WAAkB;IAC5C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAmC;gBAG1C,EAAE,EAAE,GAAG,EACP,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,IAAI,EAAE,YAAY,EAClB,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,eAAe,EAAE,EAC/C,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,EAC9C,mBAAmB,EAAE,OAAO,EACpB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO;IAKpH,4CAA4C;IAC5C,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM;IAMpB;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM;IAKP,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAK7C,KAAK,CAAC,CAAC,EAAE,MAAM;IAKtB,4BAA4B;IACrB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAW1C,gCAAgC;IACzB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAW3C;;;OAGG;IACH,WAAW;IAKX,WAAW;IAEX,uCAAuC;IAC1B,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IActD;;;;;;;;;;;;;;;;;OAiBG;IACU,QAAQ,CAAC,kBAAkB,GAAE,MAAU,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IA0CtH,MAAM,IAAI,cAAc,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBpD;;;;;;;;;;OAUG;IACU,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAapC,mBAAmB;IAsCjC,OAAO,CAAC,iBAAiB;IAezB;;GAED;IACC,OAAO,CAAC,eAAe;CAQ1B"}
|
|
@@ -57,14 +57,26 @@ class FirestoreQuery {
|
|
|
57
57
|
}
|
|
58
58
|
/** Move to the next page */
|
|
59
59
|
after(id) {
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
if (!id) {
|
|
61
|
+
this._cursorId = undefined;
|
|
62
|
+
this._cursorType = null;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this._cursorId = id;
|
|
66
|
+
this._cursorType = 'after';
|
|
67
|
+
}
|
|
62
68
|
return this;
|
|
63
69
|
}
|
|
64
70
|
/** Move to the previous page */
|
|
65
71
|
before(id) {
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
if (!id) {
|
|
73
|
+
this._cursorId = undefined;
|
|
74
|
+
this._cursorType = null;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this._cursorId = id;
|
|
78
|
+
this._cursorType = 'before';
|
|
79
|
+
}
|
|
68
80
|
return this;
|
|
69
81
|
}
|
|
70
82
|
/**
|
|
@@ -110,7 +122,7 @@ class FirestoreQuery {
|
|
|
110
122
|
console.log(`Viewing page ${metadata.currentPage} of ${metadata.totalPages}`);
|
|
111
123
|
*/
|
|
112
124
|
paginate() {
|
|
113
|
-
return __awaiter(this,
|
|
125
|
+
return __awaiter(this, arguments, void 0, function* (alreadyLoadedCount = 0) {
|
|
114
126
|
// set the global key for this query
|
|
115
127
|
const key = this._generateCacheKey();
|
|
116
128
|
// 1. Check Cache
|
|
@@ -123,13 +135,16 @@ class FirestoreQuery {
|
|
|
123
135
|
const data = yield this.execute();
|
|
124
136
|
const totalRecords = yield this.countDocs(this.filter);
|
|
125
137
|
const totalPages = this._limit > 0 ? Math.ceil(totalRecords / this._limit) : 1;
|
|
138
|
+
const currentTotalFetched = alreadyLoadedCount + data.length;
|
|
139
|
+
const totalRemaining = Math.max(0, totalRecords - currentTotalFetched);
|
|
126
140
|
const result = {
|
|
127
141
|
data,
|
|
128
142
|
metadata: {
|
|
129
143
|
totalRecords,
|
|
130
144
|
totalPages,
|
|
145
|
+
totalRemaining,
|
|
131
146
|
currentPage: this._pageNumber,
|
|
132
|
-
hasNext: data.length === this._limit,
|
|
147
|
+
hasNext: data.length === this._limit && totalRemaining > 0,
|
|
133
148
|
hasPrevious: this._pageNumber > 1 || !!this._cursorId
|
|
134
149
|
}
|
|
135
150
|
};
|
|
@@ -196,7 +211,7 @@ class FirestoreQuery {
|
|
|
196
211
|
constraints.push(this._sdk.orderBy(field, dir));
|
|
197
212
|
});
|
|
198
213
|
// 2. Handle Cursors (Validation + Logic)
|
|
199
|
-
if (this._cursorId) {
|
|
214
|
+
if (this._cursorId && typeof this._cursorId === 'string') {
|
|
200
215
|
const docRef = this._sdk.doc(this.db, this.collectionName, this._cursorId);
|
|
201
216
|
const snap = yield this._sdk.getDoc(docRef);
|
|
202
217
|
if (snap.exists()) {
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { Firestore, CollectionReference, DocumentReference, QueryConstraint, WriteBatch, Query, DocumentSnapshot, DocumentData, FirestoreError, Unsubscribe, FieldPath, AggregateField, AggregateSpec, AggregateQuerySnapshot, SnapshotListenOptions, QuerySnapshot, Transaction, TransactionOptions } from "firebase/firestore";
|
|
2
|
+
export type SortDescriptor = "asc" | "desc";
|
|
3
|
+
export interface PaginationMetadata {
|
|
4
|
+
totalRecords: number;
|
|
5
|
+
totalPages: number;
|
|
6
|
+
currentPage: number;
|
|
7
|
+
totalRemaining: number;
|
|
8
|
+
hasNext: boolean;
|
|
9
|
+
hasPrevious: boolean;
|
|
10
|
+
}
|
|
2
11
|
export type DocumentInput<T> = Partial<T> & {
|
|
3
12
|
_id?: string;
|
|
4
13
|
};
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EACjD,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EACpD,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,kBAAkB,EACrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import type { QueryConstraint } from "firebase/firestore";
|
|
2
|
-
import { FirestoreSDK, WithSystemFields } from "./types";
|
|
2
|
+
import { FirestoreSDK, PaginationMetadata, SortDescriptor, WithSystemFields } from "./types";
|
|
3
3
|
import { LRUCache } from './utils';
|
|
4
4
|
import { FirestoreCursor } from "./utils/FirestoreCursor";
|
|
5
|
-
export type SortDescriptor = "asc" | "desc";
|
|
6
|
-
export interface PaginationMetadata {
|
|
7
|
-
totalRecords: number;
|
|
8
|
-
totalPages: number;
|
|
9
|
-
currentPage: number;
|
|
10
|
-
hasNext: boolean;
|
|
11
|
-
hasPrevious: boolean;
|
|
12
|
-
}
|
|
13
5
|
export declare class FirestoreQuery<T> {
|
|
14
6
|
private db;
|
|
15
7
|
private collectionName;
|
|
@@ -38,9 +30,9 @@ export declare class FirestoreQuery<T> {
|
|
|
38
30
|
sort(sortObj: Record<keyof T, SortDescriptor>): this;
|
|
39
31
|
limit(n: number): this;
|
|
40
32
|
/** Move to the next page */
|
|
41
|
-
after(id: string): this;
|
|
33
|
+
after(id: string | null | undefined): this;
|
|
42
34
|
/** Move to the previous page */
|
|
43
|
-
before(id: string): this;
|
|
35
|
+
before(id: string | null | undefined): this;
|
|
44
36
|
/**
|
|
45
37
|
* FirestoreDB: db.collection.find({}).withDeleted().execute()
|
|
46
38
|
* Allows viewing soft-deleted documents for this specific query.
|
|
@@ -67,7 +59,7 @@ export declare class FirestoreQuery<T> {
|
|
|
67
59
|
|
|
68
60
|
console.log(`Viewing page ${metadata.currentPage} of ${metadata.totalPages}`);
|
|
69
61
|
*/
|
|
70
|
-
paginate(): Promise<{
|
|
62
|
+
paginate(alreadyLoadedCount?: number): Promise<{
|
|
71
63
|
data: WithSystemFields<T>[];
|
|
72
64
|
metadata: PaginationMetadata;
|
|
73
65
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreQuery.d.ts","sourceRoot":"","sources":["../../src/FirestoreQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FirestoreQuery.d.ts","sourceRoot":"","sources":["../../src/FirestoreQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG7F,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,qBAAa,cAAc,CAAC,CAAC;IAgBrB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IAEjB,OAAO,CAAC,gBAAgB;IArB5B,OAAc,YAAY,WAAkB;IAC5C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,WAAW,CAAa;IAGhC,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAmC;gBAG1C,EAAE,EAAE,GAAG,EACP,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,IAAI,EAAE,YAAY,EAClB,gBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,eAAe,EAAE,EAC/C,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,EAC9C,mBAAmB,EAAE,OAAO,EACpB,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO;IAKpH,4CAA4C;IAC5C,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM;IAMpB;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM;IAKP,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAK7C,KAAK,CAAC,CAAC,EAAE,MAAM;IAKtB,4BAA4B;IACrB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAW1C,gCAAgC;IACzB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAW3C;;;OAGG;IACH,WAAW;IAKX,WAAW;IAEX,uCAAuC;IAC1B,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IActD;;;;;;;;;;;;;;;;;OAiBG;IACU,QAAQ,CAAC,kBAAkB,GAAE,MAAU,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,QAAQ,EAAE,kBAAkB,CAAA;KAAE,CAAC;IA0CtH,MAAM,IAAI,cAAc,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBpD;;;;;;;;;;OAUG;IACU,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAapC,mBAAmB;IAsCjC,OAAO,CAAC,iBAAiB;IAezB;;GAED;IACC,OAAO,CAAC,eAAe;CAQ1B"}
|
|
@@ -57,14 +57,26 @@ class FirestoreQuery {
|
|
|
57
57
|
}
|
|
58
58
|
/** Move to the next page */
|
|
59
59
|
after(id) {
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
if (!id) {
|
|
61
|
+
this._cursorId = undefined;
|
|
62
|
+
this._cursorType = null;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this._cursorId = id;
|
|
66
|
+
this._cursorType = 'after';
|
|
67
|
+
}
|
|
62
68
|
return this;
|
|
63
69
|
}
|
|
64
70
|
/** Move to the previous page */
|
|
65
71
|
before(id) {
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
if (!id) {
|
|
73
|
+
this._cursorId = undefined;
|
|
74
|
+
this._cursorType = null;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
this._cursorId = id;
|
|
78
|
+
this._cursorType = 'before';
|
|
79
|
+
}
|
|
68
80
|
return this;
|
|
69
81
|
}
|
|
70
82
|
/**
|
|
@@ -110,7 +122,7 @@ class FirestoreQuery {
|
|
|
110
122
|
console.log(`Viewing page ${metadata.currentPage} of ${metadata.totalPages}`);
|
|
111
123
|
*/
|
|
112
124
|
paginate() {
|
|
113
|
-
return __awaiter(this,
|
|
125
|
+
return __awaiter(this, arguments, void 0, function* (alreadyLoadedCount = 0) {
|
|
114
126
|
// set the global key for this query
|
|
115
127
|
const key = this._generateCacheKey();
|
|
116
128
|
// 1. Check Cache
|
|
@@ -123,13 +135,16 @@ class FirestoreQuery {
|
|
|
123
135
|
const data = yield this.execute();
|
|
124
136
|
const totalRecords = yield this.countDocs(this.filter);
|
|
125
137
|
const totalPages = this._limit > 0 ? Math.ceil(totalRecords / this._limit) : 1;
|
|
138
|
+
const currentTotalFetched = alreadyLoadedCount + data.length;
|
|
139
|
+
const totalRemaining = Math.max(0, totalRecords - currentTotalFetched);
|
|
126
140
|
const result = {
|
|
127
141
|
data,
|
|
128
142
|
metadata: {
|
|
129
143
|
totalRecords,
|
|
130
144
|
totalPages,
|
|
145
|
+
totalRemaining,
|
|
131
146
|
currentPage: this._pageNumber,
|
|
132
|
-
hasNext: data.length === this._limit,
|
|
147
|
+
hasNext: data.length === this._limit && totalRemaining > 0,
|
|
133
148
|
hasPrevious: this._pageNumber > 1 || !!this._cursorId
|
|
134
149
|
}
|
|
135
150
|
};
|
|
@@ -196,7 +211,7 @@ class FirestoreQuery {
|
|
|
196
211
|
constraints.push(this._sdk.orderBy(field, dir));
|
|
197
212
|
});
|
|
198
213
|
// 2. Handle Cursors (Validation + Logic)
|
|
199
|
-
if (this._cursorId) {
|
|
214
|
+
if (this._cursorId && typeof this._cursorId === 'string') {
|
|
200
215
|
const docRef = this._sdk.doc(this.db, this.collectionName, this._cursorId);
|
|
201
216
|
const snap = yield this._sdk.getDoc(docRef);
|
|
202
217
|
if (snap.exists()) {
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type { Firestore, CollectionReference, DocumentReference, QueryConstraint, WriteBatch, Query, DocumentSnapshot, DocumentData, FirestoreError, Unsubscribe, FieldPath, AggregateField, AggregateSpec, AggregateQuerySnapshot, SnapshotListenOptions, QuerySnapshot, Transaction, TransactionOptions } from "firebase/firestore";
|
|
2
|
+
export type SortDescriptor = "asc" | "desc";
|
|
3
|
+
export interface PaginationMetadata {
|
|
4
|
+
totalRecords: number;
|
|
5
|
+
totalPages: number;
|
|
6
|
+
currentPage: number;
|
|
7
|
+
totalRemaining: number;
|
|
8
|
+
hasNext: boolean;
|
|
9
|
+
hasPrevious: boolean;
|
|
10
|
+
}
|
|
2
11
|
export type DocumentInput<T> = Partial<T> & {
|
|
3
12
|
_id?: string;
|
|
4
13
|
};
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EACjD,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EACpD,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,kBAAkB,EACrB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED