@hyper-fetch/firebase-admin 7.5.2 → 8.0.0
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/.eslintrc.cjs +12 -0
- package/__tests__/features/firestore/admin/constraints.admin.spec.ts +23 -0
- package/__tests__/features/firestore/admin/methods.admin.spec.ts +20 -0
- package/__tests__/features/firestore/admin/sockets.base.spec.ts +17 -0
- package/__tests__/features/firestore/shared/constraints.shared.tests.ts +72 -0
- package/__tests__/features/firestore/shared/methods/add-doc.test.suite.ts +29 -0
- package/__tests__/features/firestore/shared/methods/delete-doc.test.suite.ts +52 -0
- package/__tests__/features/firestore/shared/methods/get-doc.test.suite.ts +60 -0
- package/__tests__/features/firestore/shared/methods/get-docs.test.suite.ts +45 -0
- package/__tests__/features/firestore/shared/methods/on-snapshot.test.suite.ts +290 -0
- package/__tests__/features/firestore/shared/methods/set-doc.test.suite.ts +70 -0
- package/__tests__/features/firestore/shared/methods/update-doc.test.suite.ts +40 -0
- package/__tests__/features/firestore/shared/methods.shared.tests.ts +24 -0
- package/__tests__/features/realtime/admin/constraints.admin.spec.ts +15 -0
- package/__tests__/features/realtime/admin/methods.admin.spec.ts +24 -0
- package/__tests__/features/realtime/admin/sockets.base.spec.ts +15 -0
- package/__tests__/features/realtime/shared/constraints.shared.tests.ts +57 -0
- package/__tests__/features/realtime/shared/methods/get.test.suite.ts +64 -0
- package/__tests__/features/realtime/shared/methods/on-value.test.suite.ts +190 -0
- package/__tests__/features/realtime/shared/methods/push.test.suite.ts +48 -0
- package/__tests__/features/realtime/shared/methods/remove.test.suite.ts +46 -0
- package/__tests__/features/realtime/shared/methods/set.test.suite.ts +70 -0
- package/__tests__/features/realtime/shared/methods/update.test.suite.ts +42 -0
- package/__tests__/features/realtime/shared/methods.shared.tests.ts +25 -0
- package/__tests__/shared/request-events.shared.ts +32 -0
- package/__tests__/tsconfig.json +21 -0
- package/__tests__/utils/database.rules.json +11 -0
- package/__tests__/utils/index.ts +3 -0
- package/__tests__/utils/initialize.firestore.admin.ts +16 -0
- package/__tests__/utils/initialize.realtime.admin.ts +19 -0
- package/__tests__/utils/seed/seed.data.ts +21 -0
- package/__tests__/utils/seed.admin.ts +23 -0
- package/__tests__/vitest.setup.ts +9 -0
- package/dist/adapter/adapter.d.ts +3 -0
- package/dist/adapter/adapter.d.ts.map +1 -0
- package/dist/adapter/adapter.sockets.d.ts +3 -0
- package/dist/adapter/adapter.sockets.d.ts.map +1 -0
- package/dist/adapter/index.d.ts +4 -0
- package/dist/adapter/index.d.ts.map +1 -0
- package/dist/adapter/types/adapter.base.types.d.ts +11 -0
- package/dist/adapter/types/adapter.base.types.d.ts.map +1 -0
- package/dist/adapter/types/adapter.firestore.types.d.ts +45 -0
- package/dist/adapter/types/adapter.firestore.types.d.ts.map +1 -0
- package/dist/adapter/types/adapter.realtime.types.d.ts +39 -0
- package/dist/adapter/types/adapter.realtime.types.d.ts.map +1 -0
- package/dist/adapter/types/firestore.socket.types.d.ts +17 -0
- package/dist/adapter/types/firestore.socket.types.d.ts.map +1 -0
- package/dist/adapter/types/index.d.ts +6 -0
- package/dist/adapter/types/index.d.ts.map +1 -0
- package/dist/adapter/types/realtime.socket.types.d.ts +12 -0
- package/dist/adapter/types/realtime.socket.types.d.ts.map +1 -0
- package/dist/constraints/constraints.types.d.ts +13 -0
- package/dist/constraints/constraints.types.d.ts.map +1 -0
- package/dist/constraints/firebase.constraints.d.ts +86 -0
- package/dist/constraints/firebase.constraints.d.ts.map +1 -0
- package/dist/constraints/index.d.ts +3 -0
- package/dist/constraints/index.d.ts.map +1 -0
- package/dist/firestore/firestore.methods.d.ts +21 -0
- package/dist/firestore/firestore.methods.d.ts.map +1 -0
- package/dist/firestore/firestore.sockets.d.ts +4 -0
- package/dist/firestore/firestore.sockets.d.ts.map +1 -0
- package/dist/firestore/index.d.ts +4 -0
- package/dist/firestore/index.d.ts.map +1 -0
- package/dist/firestore/utils/constraints.utils.d.ts +5 -0
- package/dist/firestore/utils/constraints.utils.d.ts.map +1 -0
- package/dist/firestore/utils/index.d.ts +4 -0
- package/dist/firestore/utils/index.d.ts.map +1 -0
- package/dist/firestore/utils/ref.utils.d.ts +3 -0
- package/dist/firestore/utils/ref.utils.d.ts.map +1 -0
- package/dist/firestore/utils/result.utils.d.ts +10 -0
- package/dist/firestore/utils/result.utils.d.ts.map +1 -0
- package/dist/index.d.ts +5 -271
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +670 -0
- package/dist/index.mjs.map +1 -0
- package/dist/realtime/index.d.ts +4 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/realtime.methods.d.ts +19 -0
- package/dist/realtime/realtime.methods.d.ts.map +1 -0
- package/dist/realtime/realtime.sockets.d.ts +4 -0
- package/dist/realtime/realtime.sockets.d.ts.map +1 -0
- package/dist/realtime/utils/constraints.utils.d.ts +5 -0
- package/dist/realtime/utils/constraints.utils.d.ts.map +1 -0
- package/dist/realtime/utils/index.d.ts +3 -0
- package/dist/realtime/utils/index.d.ts.map +1 -0
- package/dist/realtime/utils/result.utils.d.ts +3 -0
- package/dist/realtime/utils/result.utils.d.ts.map +1 -0
- package/dist/utils/cache.utils.d.ts +11 -0
- package/dist/utils/cache.utils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/misc.d.ts +3 -0
- package/dist/utils/misc.d.ts.map +1 -0
- package/package.json +8 -11
- package/project.json +4 -0
- package/src/adapter/adapter.sockets.ts +1 -1
- package/src/adapter/adapter.ts +13 -14
- package/src/adapter/types/adapter.base.types.ts +4 -4
- package/src/adapter/types/adapter.firestore.types.ts +4 -4
- package/src/adapter/types/adapter.realtime.types.ts +4 -4
- package/src/adapter/types/firestore.socket.types.ts +3 -3
- package/src/adapter/types/realtime.socket.types.ts +3 -3
- package/src/constraints/constraints.types.ts +1 -1
- package/src/constraints/firebase.constraints.ts +1 -1
- package/src/firestore/firestore.methods.ts +4 -4
- package/src/firestore/firestore.sockets.ts +3 -9
- package/src/firestore/utils/constraints.utils.ts +4 -3
- package/src/firestore/utils/ref.utils.ts +1 -1
- package/src/firestore/utils/result.utils.ts +1 -1
- package/src/realtime/realtime.methods.ts +4 -4
- package/src/realtime/realtime.sockets.ts +2 -2
- package/src/realtime/utils/constraints.utils.ts +3 -2
- package/src/realtime/utils/result.utils.ts +1 -1
- package/src/utils/cache.utils.ts +4 -2
- package/tsconfig.json +1 -1
- package/vite.config.ts +45 -0
- package/.eslintrc.json +0 -11
- package/dist/index.js +0 -686
- package/dist/index.js.map +0 -7
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Client } from "@hyper-fetch/core";
|
|
2
|
+
|
|
3
|
+
import type { FirebaseAdminAdapter } from "adapter";
|
|
4
|
+
import { testLifecycleEvents } from "../../../../shared/request-events.shared";
|
|
5
|
+
import type { Tea } from "../../../../utils/seed/seed.data";
|
|
6
|
+
|
|
7
|
+
export const updateTestSuite = (adapterFunction: () => ReturnType<typeof FirebaseAdminAdapter>) => {
|
|
8
|
+
describe("update", () => {
|
|
9
|
+
let client = new Client({ url: "teas/" }).setAdapter(adapterFunction());
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
client = new Client({ url: "teas/" }).setAdapter(adapterFunction());
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("should allow for updating data", async () => {
|
|
15
|
+
const newData = { name: "Pou Ran Do Cha", amount: 100, year: 966 } as Tea;
|
|
16
|
+
const updateReq = client
|
|
17
|
+
.createRequest<{ response: Tea; payload: Tea }>()({
|
|
18
|
+
endpoint: ":teaId",
|
|
19
|
+
method: "updateDoc",
|
|
20
|
+
})
|
|
21
|
+
.setPayload(newData);
|
|
22
|
+
const getReq = client.createRequest<{ response: Tea }>()({
|
|
23
|
+
endpoint: ":teaId",
|
|
24
|
+
method: "getDoc",
|
|
25
|
+
});
|
|
26
|
+
await updateReq.send({ params: { teaId: 1 } });
|
|
27
|
+
const { data } = await getReq.send({ params: { teaId: 1 } });
|
|
28
|
+
expect(data).toStrictEqual({ ...newData, origin: "China", type: "Green" });
|
|
29
|
+
});
|
|
30
|
+
it("should emit lifecycle events", async () => {
|
|
31
|
+
const newData = { name: "Pou Ran Do Cha", amount: 100, year: 966 } as Tea;
|
|
32
|
+
|
|
33
|
+
const updateReq = client
|
|
34
|
+
.createRequest<{ response: Tea; payload: Tea }>()({
|
|
35
|
+
endpoint: ":teaId",
|
|
36
|
+
method: "updateDoc",
|
|
37
|
+
})
|
|
38
|
+
.setPayload(newData);
|
|
39
|
+
await testLifecycleEvents(updateReq);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* eslint-disable max-params */
|
|
2
|
+
import type { FirebaseAdminAdapter, FirebaseAdminAdapterTypes, FirebaseAdminSocketAdapterTypes } from "adapter";
|
|
3
|
+
import { getTestSuite } from "./methods/get.test.suite";
|
|
4
|
+
import { setTestSuite } from "./methods/set.test.suite";
|
|
5
|
+
import { pushTestSuite } from "./methods/push.test.suite";
|
|
6
|
+
import { updateTestSuite } from "./methods/update.test.suite";
|
|
7
|
+
import { removeTestSuite } from "./methods/remove.test.suite";
|
|
8
|
+
import { onValueTestSuite } from "./methods/on-value.test.suite";
|
|
9
|
+
|
|
10
|
+
export const methodsSharedTestCases = (adapterFunction: () => ReturnType<typeof FirebaseAdminAdapter>) => {
|
|
11
|
+
getTestSuite(adapterFunction);
|
|
12
|
+
setTestSuite(adapterFunction);
|
|
13
|
+
pushTestSuite(adapterFunction);
|
|
14
|
+
updateTestSuite(adapterFunction);
|
|
15
|
+
removeTestSuite(adapterFunction);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const socketsMethodsSharedTestCases = (
|
|
19
|
+
db: any,
|
|
20
|
+
seedDbMethod: (db: any) => Promise<void>,
|
|
21
|
+
socketsAdapter: (database: any) => FirebaseAdminSocketAdapterTypes<any>,
|
|
22
|
+
coreAdapter: (database: any) => FirebaseAdminAdapterTypes<any>,
|
|
23
|
+
) => {
|
|
24
|
+
onValueTestSuite(db, seedDbMethod, socketsAdapter, coreAdapter);
|
|
25
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { RequestInstance } from "@hyper-fetch/core";
|
|
2
|
+
|
|
3
|
+
export const testLifecycleEvents = async <R extends RequestInstance>(request: R) => {
|
|
4
|
+
const spy1 = vi.fn();
|
|
5
|
+
const spy2 = vi.fn();
|
|
6
|
+
// const spy3 = vi.fn();
|
|
7
|
+
// const spy4 = vi.fn();
|
|
8
|
+
const spy5 = vi.fn();
|
|
9
|
+
const spy6 = vi.fn();
|
|
10
|
+
|
|
11
|
+
request.client.requestManager.events.onRequestStartByQueue(request.queryKey, spy1);
|
|
12
|
+
request.client.requestManager.events.onResponseStartByQueue(request.queryKey, spy2);
|
|
13
|
+
// request.client.requestManager.events.onUploadProgressByQueue(request.queryKey, spy3);
|
|
14
|
+
// request.client.requestManager.events.onDownloadProgressByQueue(request.queryKey, spy4);
|
|
15
|
+
request.client.requestManager.events.onResponseByCache(request.cacheKey, spy5);
|
|
16
|
+
|
|
17
|
+
const response = (request as unknown as RequestInstance).send({
|
|
18
|
+
onBeforeSent: ({ requestId }) => {
|
|
19
|
+
request.client.requestManager.events.onResponseById(requestId, spy6);
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// eslint-disable-next-line no-promise-executor-return
|
|
24
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
25
|
+
|
|
26
|
+
expect(spy1).toHaveBeenCalledTimes(1);
|
|
27
|
+
expect(spy2).toHaveBeenCalledTimes(1);
|
|
28
|
+
expect(spy5).toHaveBeenCalledTimes(1);
|
|
29
|
+
expect(spy6).toHaveBeenCalledTimes(1);
|
|
30
|
+
|
|
31
|
+
return response;
|
|
32
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "esnext",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "bundler",
|
|
6
|
+
"lib": ["dom", "dom.iterable", "ESNext"],
|
|
7
|
+
"strict": true,
|
|
8
|
+
"noEmit": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"allowSyntheticDefaultImports": true,
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"isolatedModules": true,
|
|
14
|
+
"noUnusedLocals": false,
|
|
15
|
+
"noUnusedParameters": false,
|
|
16
|
+
"types": ["vitest/globals", "@types/node"],
|
|
17
|
+
"baseUrl": "../src",
|
|
18
|
+
"paths": {}
|
|
19
|
+
},
|
|
20
|
+
"include": ["**/*.ts", "**/*.tsx", "../../../global.d.ts", "../../../vitest.d.ts"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { initializeApp } from "firebase-admin/app";
|
|
2
|
+
import { getFirestore } from "firebase-admin/firestore";
|
|
3
|
+
|
|
4
|
+
const initializeFirestore = () => {
|
|
5
|
+
process.env.FIRESTORE_EMULATOR_HOST = "localhost:8080";
|
|
6
|
+
const app = initializeApp(
|
|
7
|
+
{
|
|
8
|
+
projectId: "demo-test-firestore",
|
|
9
|
+
},
|
|
10
|
+
Date.now().toString(),
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
return getFirestore(app);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const firestoreDbAdmin = initializeFirestore();
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
|
|
3
|
+
const initializeRealtimeDB = async () => {
|
|
4
|
+
process.env.FIREBASE_DATABASE_EMULATOR_HOST = "localhost:9000";
|
|
5
|
+
process.env.FIREBASE_DATABASE_AUTH_EMULATOR_HOST = "localhost:9000";
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires,global-require
|
|
7
|
+
const admin = require("@firebase/rules-unit-testing");
|
|
8
|
+
const testEnv = await admin.initializeTestEnvironment({
|
|
9
|
+
projectId: "demo-test",
|
|
10
|
+
database: {
|
|
11
|
+
rules: fs.readFileSync("database.rules.json", "utf-8"),
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
const db = testEnv.authenticatedContext("db").database();
|
|
15
|
+
|
|
16
|
+
return db;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const realtimeDbAdmin = initializeRealtimeDB();
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type Tea = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: "Green" | "Hong" | "White" | "Puerh" | "Oolong";
|
|
4
|
+
origin: string;
|
|
5
|
+
amount: number;
|
|
6
|
+
year: number;
|
|
7
|
+
__key: number | string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const teas = [
|
|
11
|
+
{ id: 0, name: "Bi Luo Chun", type: "Green", origin: "China", amount: 50, year: 2022 },
|
|
12
|
+
{ id: 1, name: "Taiping Hou Kui", type: "Green", origin: "China", amount: 150, year: 2023 },
|
|
13
|
+
{ id: 2, name: "Hon.yama Sencha", type: "Green", origin: "Japan", amount: 25, year: 2021 },
|
|
14
|
+
{ id: 3, name: "Yunnan Golden Silk", type: "Hong", origin: "China", year: 2022 },
|
|
15
|
+
{ id: 4, name: "Hong Yu", type: "Hong", origin: "Taiwan", year: 2023 },
|
|
16
|
+
{ id: 5, name: "Ming Jian GABA Oolong", type: "Oolong", origin: "Taiwan", year: 2021 },
|
|
17
|
+
{ id: 6, name: "Da hong pao", type: "Oolong", origin: "China", year: 2021 },
|
|
18
|
+
{ id: 7, name: "Shou Mei", type: "White", origin: "China", year: 2011 },
|
|
19
|
+
{ id: 8, name: "Wild White Tea", type: "White", origin: "China", year: 2017 },
|
|
20
|
+
{ id: 9, name: "Sheng HK Red Wild", type: "Puerh", origin: "China", year: 1980 },
|
|
21
|
+
];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Firestore } from "firebase-admin/firestore";
|
|
2
|
+
import type { Database } from "firebase-admin/database";
|
|
3
|
+
|
|
4
|
+
import { teas } from "./seed/seed.data";
|
|
5
|
+
|
|
6
|
+
export const seedFirestoreDatabaseAdmin = async (db: Firestore) => {
|
|
7
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
8
|
+
for (const tea of teas) {
|
|
9
|
+
const { id, ...data } = tea;
|
|
10
|
+
// eslint-disable-next-line no-await-in-loop
|
|
11
|
+
await db.collection("teas").doc(`${id}`).set(data);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const seedRealtimeDatabaseAdmin = async (db: Database) => {
|
|
16
|
+
await db.ref("teas").set(null);
|
|
17
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
18
|
+
for (const tea of teas) {
|
|
19
|
+
const { id, ...data } = tea;
|
|
20
|
+
// eslint-disable-next-line no-await-in-loop
|
|
21
|
+
await db.ref(`teas/${id}`).set(data);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="vitest/globals" />
|
|
2
|
+
import { setImmediate } from "timers";
|
|
3
|
+
import { AbortController } from "abortcontroller-polyfill/dist/cjs-ponyfill";
|
|
4
|
+
|
|
5
|
+
globalThis.setImmediate = setImmediate;
|
|
6
|
+
|
|
7
|
+
if (!globalThis.AbortController) {
|
|
8
|
+
globalThis.AbortController = AbortController as any;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAG1B,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,oBAAoB,EAAE,UAAU,CAAC,KAAG,yBAAyB,CAAC,CAAC,CAuD7G,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.sockets.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.sockets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAIrF,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,oBAAoB,EACxE,UAAU,CAAC,KACV,+BAA+B,CAAC,CAAC,CAKnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Database } from 'firebase-admin/database';
|
|
2
|
+
import { Firestore } from 'firebase-admin/firestore';
|
|
3
|
+
import { Adapter, Request, Client } from '@hyper-fetch/core';
|
|
4
|
+
import { RealtimeDbAdapterType, FirestoreAdapterType, FirestoreAdminSocketAdapterType, RealtimeAdminSocketAdapterType, FirestoreQueryParams, FirestoreMethodsUnion, RealtimeDBMethodsUnion, RealtimeDBQueryParams } from './index';
|
|
5
|
+
export type FirebaseAdminDBTypes = Database | Firestore;
|
|
6
|
+
export type FirebaseAdminAdapterTypes<T> = T extends Database ? RealtimeDbAdapterType : FirestoreAdapterType;
|
|
7
|
+
export type FirebaseAdminSocketAdapterTypes<T> = T extends Firestore ? FirestoreAdminSocketAdapterType : RealtimeAdminSocketAdapterType;
|
|
8
|
+
export type RealtimeDBRequestType = Request<any, any, RealtimeDBQueryParams, any, any, Client<any, Adapter<any, RealtimeDBMethodsUnion, any, any, any, any>>, any, any, any>;
|
|
9
|
+
export type FirestoreRequestType = Request<any, any, FirestoreQueryParams, any, any, Client<any, Adapter<any, FirestoreMethodsUnion, any, any, any, any>>, any, any, any>;
|
|
10
|
+
export type RequestType<T> = T extends Firestore ? FirestoreRequestType : RealtimeDBRequestType;
|
|
11
|
+
//# sourceMappingURL=adapter.base.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.base.types.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/adapter.base.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAC7G,MAAM,MAAM,+BAA+B,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAChE,+BAA+B,GAC/B,8BAA8B,CAAC;AAEnC,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,GAAG,EACH,GAAG,EACH,qBAAqB,EACrB,GAAG,EACH,GAAG,EACH,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EACrE,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,GAAG,EACH,GAAG,EACH,oBAAoB,EACpB,GAAG,EACH,GAAG,EACH,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EACpE,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,oBAAoB,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Adapter } from '@hyper-fetch/core';
|
|
2
|
+
import { Unsubscribe as FirestoreUnsubscribe, CollectionReference, DocumentReference, DocumentSnapshot, QuerySnapshot } from 'firebase/firestore';
|
|
3
|
+
import { SocketAdapter } from '@hyper-fetch/sockets';
|
|
4
|
+
import { FirestoreConstraintsUnion, FirestorePermittedMethods, PermittedConstraints, SharedQueryConstraints } from '../../constraints';
|
|
5
|
+
export type FirestoreSocketAdapterType = SocketAdapter<never, FirestoreOnSnapshotExtra, {
|
|
6
|
+
groupByChangeType?: boolean;
|
|
7
|
+
} & FirestoreQueryParams>;
|
|
8
|
+
export type FirestoreAdapterType = Adapter<Record<string, never>, "getDoc", FirestoreStatuses, FirestoreExtra, FirestoreQueryParams, FirestoreQueryParams> | Adapter<Record<string, never>, "getDocs", FirestoreStatuses, FirestoreGetDocsExtra, FirestoreQueryParams, FirestoreQueryParams> | Adapter<{
|
|
9
|
+
merge: boolean;
|
|
10
|
+
}, "setDoc", FirestoreStatuses, FirestoreRefOnlyExtra, Record<string, never>, undefined> | Adapter<Record<string, never>, "updateDoc" | "addDoc" | "deleteDoc" | "setDoc", FirestoreStatuses, FirestoreRefOnlyExtra, Record<string, never>, undefined>;
|
|
11
|
+
export type FirestoreQueryParams = {
|
|
12
|
+
constraints?: PermittedConstraints<FirestorePermittedMethods, FirestoreConstraintsUnion | SharedQueryConstraints>[];
|
|
13
|
+
};
|
|
14
|
+
export declare enum FirestoreMethods {
|
|
15
|
+
addDoc = "addDoc",
|
|
16
|
+
getDoc = "getDoc",
|
|
17
|
+
getDocs = "getDocs",
|
|
18
|
+
setDoc = "setDoc",
|
|
19
|
+
updateDoc = "updateDoc",
|
|
20
|
+
deleteDoc = "deleteDoc"
|
|
21
|
+
}
|
|
22
|
+
export type FirestoreMethodsUnion = FirestoreMethods.addDoc | FirestoreMethods.getDoc | FirestoreMethods.getDocs | FirestoreMethods.setDoc | FirestoreMethods.updateDoc | FirestoreMethods.deleteDoc;
|
|
23
|
+
export type FirestoreExtra = {
|
|
24
|
+
ref?: DocumentReference;
|
|
25
|
+
snapshot?: DocumentSnapshot;
|
|
26
|
+
};
|
|
27
|
+
export type FirestoreOnSnapshotExtra = {
|
|
28
|
+
ref?: DocumentReference | CollectionReference;
|
|
29
|
+
snapshot?: DocumentSnapshot;
|
|
30
|
+
unsubscribe?: FirestoreUnsubscribe;
|
|
31
|
+
groupedResult?: {
|
|
32
|
+
added: DocumentSnapshot[];
|
|
33
|
+
modified: DocumentSnapshot[];
|
|
34
|
+
removed: DocumentSnapshot[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type FirestoreGetDocsExtra = {
|
|
38
|
+
ref?: CollectionReference;
|
|
39
|
+
snapshot?: QuerySnapshot;
|
|
40
|
+
};
|
|
41
|
+
export type FirestoreRefOnlyExtra = {
|
|
42
|
+
ref?: DocumentReference;
|
|
43
|
+
};
|
|
44
|
+
export type FirestoreStatuses = "success" | "error" | "emptyResource";
|
|
45
|
+
//# sourceMappingURL=adapter.firestore.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.firestore.types.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/adapter.firestore.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,IAAI,oBAAoB,EACnC,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,0BAA0B,GAAG,aAAa,CACpD,KAAK,EACL,wBAAwB,EACxB;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,CACvD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,OAAO,CACL,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,CACrB,GACD,OAAO,CACL,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,CACrB,GACD,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GACjH,OAAO,CACL,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,EAC/C,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,SAAS,CACV,CAAC;AAEN,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,sBAAsB,CAAC,EAAE,CAAC;CACrH,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,OAAO,GACxB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,SAAS,GAC1B,gBAAgB,CAAC,SAAS,CAAC;AAE/B,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QAAC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;CAC1G,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Adapter } from '@hyper-fetch/core';
|
|
2
|
+
import { DatabaseReference, DataSnapshot } from 'firebase/database';
|
|
3
|
+
import { SocketAdapter } from '@hyper-fetch/sockets';
|
|
4
|
+
import { PermittedConstraints, RealtimeConstraintsUnion, RealtimePermittedMethods, SharedQueryConstraints } from '../../constraints';
|
|
5
|
+
export type RealtimeSocketAdapterType = SocketAdapter<never, RealtimeDbOnValueMethodExtra, {
|
|
6
|
+
onlyOnce?: boolean;
|
|
7
|
+
} & RealtimeDBQueryParams>;
|
|
8
|
+
export type RealtimeDbAdapterType = Adapter<DefaultRealtimeDBAdapterOptions, "get", RealtimeDBStatuses, RealtimeDbGetMethodExtra, RealtimeDBQueryParams, RealtimeDBQueryParams> | Adapter<DefaultRealtimeDBAdapterOptions, "push", RealtimeDBStatuses, RealtimeDbPushMethodExtra, Record<string, never>, undefined> | Adapter<DefaultRealtimeDBAdapterOptions, "set" | "update" | "remove", RealtimeDBStatuses, RealtimeDbDefaultExtra, Record<string, never>, undefined>;
|
|
9
|
+
export type DefaultRealtimeDBAdapterOptions = {
|
|
10
|
+
priority?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare enum RealtimeDBMethods {
|
|
13
|
+
set = "set",
|
|
14
|
+
push = "push",
|
|
15
|
+
update = "update",
|
|
16
|
+
get = "get",
|
|
17
|
+
remove = "remove"
|
|
18
|
+
}
|
|
19
|
+
export type RealtimeDBMethodsUnion = RealtimeDBMethods.set | RealtimeDBMethods.push | RealtimeDBMethods.update | RealtimeDBMethods.get | RealtimeDBMethods.remove;
|
|
20
|
+
export type RealtimeDBStatuses = "success" | "error" | "emptyResource";
|
|
21
|
+
export type RealtimeDbOnValueMethodExtra = {
|
|
22
|
+
ref: DatabaseReference;
|
|
23
|
+
snapshot: DataSnapshot;
|
|
24
|
+
};
|
|
25
|
+
export type RealtimeDbGetMethodExtra = {
|
|
26
|
+
ref: DatabaseReference;
|
|
27
|
+
snapshot: DataSnapshot;
|
|
28
|
+
};
|
|
29
|
+
export type RealtimeDbDefaultExtra = {
|
|
30
|
+
ref: DatabaseReference;
|
|
31
|
+
};
|
|
32
|
+
export type RealtimeDbPushMethodExtra = {
|
|
33
|
+
ref: DatabaseReference;
|
|
34
|
+
key: string;
|
|
35
|
+
};
|
|
36
|
+
export type RealtimeDBQueryParams = {
|
|
37
|
+
constraints?: PermittedConstraints<RealtimePermittedMethods, RealtimeConstraintsUnion | SharedQueryConstraints>[];
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=adapter.realtime.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.realtime.types.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/adapter.realtime.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,yBAAyB,GAAG,aAAa,CACnD,KAAK,EACL,4BAA4B,EAC5B;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,qBAAqB,CAC/C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,OAAO,CACL,+BAA+B,EAC/B,KAAK,EACL,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,CACtB,GACD,OAAO,CACL,+BAA+B,EAC/B,MAAM,EACN,kBAAkB,EAClB,yBAAyB,EACzB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,SAAS,CACV,GACD,OAAO,CACL,+BAA+B,EAC/B,KAAK,GAAG,QAAQ,GAAG,QAAQ,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACrB,SAAS,CACV,CAAC;AAEN,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,sBAAsB,GAC9B,iBAAiB,CAAC,GAAG,GACrB,iBAAiB,CAAC,IAAI,GACtB,iBAAiB,CAAC,MAAM,GACxB,iBAAiB,CAAC,GAAG,GACrB,iBAAiB,CAAC,MAAM,CAAC;AAE7B,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,eAAe,CAAC;AACvE,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,GAAG,EAAE,iBAAiB,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,iBAAiB,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,oBAAoB,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,sBAAsB,CAAC,EAAE,CAAC;CACnH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DocumentReference, DocumentSnapshot, DocumentData, Query, QuerySnapshot } from 'firebase-admin/firestore';
|
|
2
|
+
import { SocketAdapter } from '@hyper-fetch/sockets';
|
|
3
|
+
import { FirestoreQueryParams } from '..';
|
|
4
|
+
export type FirestoreAdminSocketAdapterType = SocketAdapter<FirestoreAdminOnSnapshotExtra, undefined, {
|
|
5
|
+
groupByChangeType?: boolean;
|
|
6
|
+
} & FirestoreQueryParams>;
|
|
7
|
+
export type FirestoreAdminOnSnapshotExtra = {
|
|
8
|
+
ref?: DocumentReference | Query;
|
|
9
|
+
snapshot?: DocumentSnapshot | QuerySnapshot;
|
|
10
|
+
unsubscribe?: () => void;
|
|
11
|
+
groupedResult: {
|
|
12
|
+
added: DocumentData[];
|
|
13
|
+
modified: DocumentData[];
|
|
14
|
+
removed: DocumentData[];
|
|
15
|
+
} | null;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=firestore.socket.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore.socket.types.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/firestore.socket.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,6BAA6B,EAC7B,SAAS,EACT;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,oBAAoB,CACvD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC;IAChC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,YAAY,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACpG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SocketAdapter } from '@hyper-fetch/sockets';
|
|
2
|
+
import { Reference, DataSnapshot } from 'firebase-admin/database';
|
|
3
|
+
import { RealtimeDBQueryParams, RealtimeDBStatuses } from '../index';
|
|
4
|
+
export type RealtimeAdminSocketAdapterType = SocketAdapter<any, RealtimeAdminOnValueMethodExtra, {
|
|
5
|
+
onlyOnce?: boolean;
|
|
6
|
+
} & RealtimeDBQueryParams, any>;
|
|
7
|
+
export type RealtimeAdminOnValueMethodExtra = {
|
|
8
|
+
ref: Reference;
|
|
9
|
+
snapshot: DataSnapshot;
|
|
10
|
+
status: RealtimeDBStatuses;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=realtime.socket.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime.socket.types.d.ts","sourceRoot":"","sources":["../../../src/adapter/types/realtime.socket.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE/E,MAAM,MAAM,8BAA8B,GAAG,aAAa,CACxD,GAAG,EACH,+BAA+B,EAC/B;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,qBAAqB,EAC9C,GAAG,CACJ,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { $endAt, $endBefore, $equalTo, $limit, $limitToFirst, $limitToLast, $orderBy, $orderByChild, $orderByKey, $orderByValue, $startAfter, $startAt, $where, FirestoreQueryConstraints, RealtimeQueryConstraints } from './firebase.constraints';
|
|
2
|
+
export type RealtimeConstraintsUnion = `${RealtimeQueryConstraints}`;
|
|
3
|
+
export type FirestoreConstraintsUnion = `${FirestoreQueryConstraints}`;
|
|
4
|
+
export type RealtimePermittedMethods = ReturnType<typeof $startAt> | ReturnType<typeof $startAfter> | ReturnType<typeof $endAt> | ReturnType<typeof $endBefore> | ReturnType<typeof $orderByChild> | ReturnType<typeof $orderByValue> | ReturnType<typeof $orderByKey> | ReturnType<typeof $limitToFirst> | ReturnType<typeof $limitToLast> | ReturnType<typeof $equalTo>;
|
|
5
|
+
export type FirestorePermittedMethods = ReturnType<typeof $where> | ReturnType<typeof $orderBy> | ReturnType<typeof $limit> | ReturnType<typeof $startAt> | ReturnType<typeof $startAfter> | ReturnType<typeof $endAt> | ReturnType<typeof $endBefore>;
|
|
6
|
+
type ExtractConstraintType<T> = T extends {
|
|
7
|
+
toString: () => string;
|
|
8
|
+
type: infer ThisType;
|
|
9
|
+
values: any;
|
|
10
|
+
} ? ThisType : never;
|
|
11
|
+
export type PermittedConstraints<T, U> = ExtractConstraintType<T> extends U ? T : never;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=constraints.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.types.d.ts","sourceRoot":"","sources":["../../src/constraints/constraints.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,QAAQ,EACR,MAAM,EACN,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,wBAAwB,GAAG,GAAG,wBAAwB,EAAE,CAAC;AACrE,MAAM,MAAM,yBAAyB,GAAG,GAAG,yBAAyB,EAAE,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAChC,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,UAAU,CAAC,GAC7B,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,aAAa,CAAC,GAChC,UAAU,CAAC,OAAO,YAAY,CAAC,GAC/B,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhC,MAAM,MAAM,yBAAyB,GACjC,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,QAAQ,CAAC,GAC3B,UAAU,CAAC,OAAO,WAAW,CAAC,GAC9B,UAAU,CAAC,OAAO,MAAM,CAAC,GACzB,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAElC,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,QAAQ,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,GACnG,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { OrderByDirection, WhereFilterOp } from 'firebase-admin/firestore';
|
|
2
|
+
export declare enum SharedQueryConstraints {
|
|
3
|
+
START_AT = "startAt",
|
|
4
|
+
START_AFTER = "startAfter",
|
|
5
|
+
END_AT = "endAt",
|
|
6
|
+
END_BEFORE = "endBefore"
|
|
7
|
+
}
|
|
8
|
+
export declare enum RealtimeQueryConstraints {
|
|
9
|
+
ORDER_BY_CHILD = "orderByChild",
|
|
10
|
+
ORDER_BY_KEY = "orderByKey",
|
|
11
|
+
ORDER_BY_VALUE = "orderByValue",
|
|
12
|
+
LIMIT_TO_FIRST = "limitToFirst",
|
|
13
|
+
LIMIT_TO_LAST = "limitToLast",
|
|
14
|
+
EQUAL_TO = "equalTo"
|
|
15
|
+
}
|
|
16
|
+
export declare enum FirestoreQueryConstraints {
|
|
17
|
+
WHERE = "where",
|
|
18
|
+
ORDER_BY = "orderBy",
|
|
19
|
+
LIMIT = "limit"
|
|
20
|
+
}
|
|
21
|
+
export declare const $where: (fieldPath: string, opStr: WhereFilterOp, value: any) => {
|
|
22
|
+
toString: () => string;
|
|
23
|
+
type: FirestoreQueryConstraints.WHERE;
|
|
24
|
+
values: any[];
|
|
25
|
+
};
|
|
26
|
+
export declare const $orderBy: (fieldPath: string, directionStr?: OrderByDirection) => {
|
|
27
|
+
toString: () => string;
|
|
28
|
+
type: FirestoreQueryConstraints.ORDER_BY;
|
|
29
|
+
values: (string | undefined)[];
|
|
30
|
+
};
|
|
31
|
+
export declare const $limit: (num: number) => {
|
|
32
|
+
toString: () => string;
|
|
33
|
+
type: FirestoreQueryConstraints.LIMIT;
|
|
34
|
+
values: number[];
|
|
35
|
+
};
|
|
36
|
+
export declare const $startAt: (...docOrFields: any[]) => {
|
|
37
|
+
toString: () => string;
|
|
38
|
+
type: SharedQueryConstraints;
|
|
39
|
+
values: any[][];
|
|
40
|
+
};
|
|
41
|
+
export declare const $startAfter: (...docOrFields: any[]) => {
|
|
42
|
+
toString: () => string;
|
|
43
|
+
type: SharedQueryConstraints;
|
|
44
|
+
values: any[][];
|
|
45
|
+
};
|
|
46
|
+
export declare const $endAt: (...docOrFields: any[]) => {
|
|
47
|
+
toString: () => string;
|
|
48
|
+
type: SharedQueryConstraints;
|
|
49
|
+
values: any[][];
|
|
50
|
+
};
|
|
51
|
+
export declare const $endBefore: (...docOrFields: any[]) => {
|
|
52
|
+
toString: () => string;
|
|
53
|
+
type: SharedQueryConstraints;
|
|
54
|
+
values: any[][];
|
|
55
|
+
};
|
|
56
|
+
export declare const $orderByChild: (path: string) => {
|
|
57
|
+
toString: () => string;
|
|
58
|
+
type: RealtimeQueryConstraints.ORDER_BY_CHILD;
|
|
59
|
+
values: string[];
|
|
60
|
+
};
|
|
61
|
+
export declare const $orderByKey: () => {
|
|
62
|
+
toString: () => string;
|
|
63
|
+
type: RealtimeQueryConstraints.ORDER_BY_KEY;
|
|
64
|
+
values: never[];
|
|
65
|
+
};
|
|
66
|
+
export declare const $orderByValue: () => {
|
|
67
|
+
toString: () => string;
|
|
68
|
+
type: RealtimeQueryConstraints.ORDER_BY_VALUE;
|
|
69
|
+
values: never[];
|
|
70
|
+
};
|
|
71
|
+
export declare const $limitToFirst: (num: number) => {
|
|
72
|
+
toString: () => string;
|
|
73
|
+
type: RealtimeQueryConstraints.LIMIT_TO_FIRST;
|
|
74
|
+
values: number[];
|
|
75
|
+
};
|
|
76
|
+
export declare const $limitToLast: (num: number) => {
|
|
77
|
+
toString: () => string;
|
|
78
|
+
type: RealtimeQueryConstraints.LIMIT_TO_LAST;
|
|
79
|
+
values: number[];
|
|
80
|
+
};
|
|
81
|
+
export declare const $equalTo: (value: any) => {
|
|
82
|
+
toString: () => string;
|
|
83
|
+
type: RealtimeQueryConstraints.EQUAL_TO;
|
|
84
|
+
values: any[];
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=firebase.constraints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase.constraints.d.ts","sourceRoot":"","sources":["../../src/constraints/firebase.constraints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,oBAAY,sBAAsB;IAChC,QAAQ,YAAY;IACpB,WAAW,eAAe;IAC1B,MAAM,UAAU;IAChB,UAAU,cAAc;CACzB;AACD,oBAAY,wBAAwB;IAClC,cAAc,iBAAiB;IAC/B,YAAY,eAAe;IAC3B,cAAc,iBAAiB;IAC/B,cAAc,iBAAiB;IAC/B,aAAa,gBAAgB;IAC7B,QAAQ,YAAY;CACrB;AAED,oBAAY,yBAAyB;IACnC,KAAK,UAAU;IACf,QAAQ,YAAY;IACpB,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,MAAM,GAAI,WAAW,MAAM,EAAE,OAAO,aAAa,EAAE,OAAO,GAAG;;;;CAMzE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,WAAW,MAAM,EAAE,eAAe,gBAAgB;;;;CAM1E,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM;;;;CAMjC,CAAC;AAmBF,eAAO,MAAM,QAAQ,mBAhBK,GAAG,EAAE;;;;CAgB0D,CAAC;AAC1F,eAAO,MAAM,WAAW,mBAjBE,GAAG,EAAE;;;;CAiBgE,CAAC;AAEhG,eAAO,MAAM,MAAM,mBAnBO,GAAG,EAAE;;;;CAmBsD,CAAC;AACtF,eAAO,MAAM,UAAU,mBApBG,GAAG,EAAE;;;;CAoB8D,CAAC;AAE9F,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM;;;;CAMzC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;CAMvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAMzB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM;;;;CAMxC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM;;;;CAMvC,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,GAAG;;;;CAMlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constraints/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Firestore } from 'firebase-admin/firestore';
|
|
2
|
+
import { getAdapterBindings } from '@hyper-fetch/core';
|
|
3
|
+
import { FirestoreMethodsUnion } from '../adapter';
|
|
4
|
+
import { FirestoreConstraintsUnion, FirestorePermittedMethods, PermittedConstraints, SharedQueryConstraints } from '../constraints';
|
|
5
|
+
type DataType = {
|
|
6
|
+
constraints?: PermittedConstraints<FirestorePermittedMethods, FirestoreConstraintsUnion | SharedQueryConstraints>[];
|
|
7
|
+
payload?: any;
|
|
8
|
+
options?: Record<string, any>;
|
|
9
|
+
};
|
|
10
|
+
export declare const getFirestoreAdminMethods: ({ database, url, onSuccess, onError, onResponseStart, onRequestStart, onRequestEnd, onResponseEnd, }: {
|
|
11
|
+
database: Firestore;
|
|
12
|
+
url: string;
|
|
13
|
+
onSuccess: Awaited<ReturnType<typeof getAdapterBindings>>["onSuccess"];
|
|
14
|
+
onError: Awaited<ReturnType<typeof getAdapterBindings>>["onError"];
|
|
15
|
+
onResponseStart: Awaited<ReturnType<typeof getAdapterBindings>>["onResponseStart"];
|
|
16
|
+
onRequestStart: Awaited<ReturnType<typeof getAdapterBindings>>["onRequestStart"];
|
|
17
|
+
onRequestEnd: Awaited<ReturnType<typeof getAdapterBindings>>["onRequestEnd"];
|
|
18
|
+
onResponseEnd: Awaited<ReturnType<typeof getAdapterBindings>>["onResponseEnd"];
|
|
19
|
+
}) => ((methodName: FirestoreMethodsUnion, data: DataType) => Promise<void>);
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=firestore.methods.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore.methods.d.ts","sourceRoot":"","sources":["../../src/firestore/firestore.methods.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4D,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,KAAK,QAAQ,GAAG;IACd,WAAW,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,sBAAsB,CAAC,EAAE,CAAC;IACpH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,sGAStC;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACvE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACnF,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACjF,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7E,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;CAChF,KAAG,CAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAgExE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firestore.sockets.d.ts","sourceRoot":"","sources":["../../src/firestore/firestore.sockets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,SAAS,EAAwB,MAAM,0BAA0B,CAAC;AAKnG,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAG/D,eAAO,MAAM,qBAAqB,GAAI,UAAU,SAAS,oCAqExD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/firestore/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Query } from 'firebase-admin/firestore';
|
|
2
|
+
import { FirestorePermittedMethods } from '../../constraints';
|
|
3
|
+
export declare const applyFireStoreAdminConstraint: (collectionRef: Query, { type, values }: FirestorePermittedMethods) => Query<FirebaseFirestore.DocumentData>;
|
|
4
|
+
export declare const applyFireStoreAdminConstraints: (collectionRef: Query, constraints: FirestorePermittedMethods[]) => Query<FirebaseFirestore.DocumentData>;
|
|
5
|
+
//# sourceMappingURL=constraints.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraints.utils.d.ts","sourceRoot":"","sources":["../../../src/firestore/utils/constraints.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,eAAO,MAAM,6BAA6B,GAAI,eAAe,KAAK,EAAE,kBAAkB,yBAAyB,0CAiC9G,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,eAAe,KAAK,EAAE,aAAa,yBAAyB,EAAE,0CAI5G,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/firestore/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|