@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.
Files changed (119) hide show
  1. package/.eslintrc.cjs +12 -0
  2. package/__tests__/features/firestore/admin/constraints.admin.spec.ts +23 -0
  3. package/__tests__/features/firestore/admin/methods.admin.spec.ts +20 -0
  4. package/__tests__/features/firestore/admin/sockets.base.spec.ts +17 -0
  5. package/__tests__/features/firestore/shared/constraints.shared.tests.ts +72 -0
  6. package/__tests__/features/firestore/shared/methods/add-doc.test.suite.ts +29 -0
  7. package/__tests__/features/firestore/shared/methods/delete-doc.test.suite.ts +52 -0
  8. package/__tests__/features/firestore/shared/methods/get-doc.test.suite.ts +60 -0
  9. package/__tests__/features/firestore/shared/methods/get-docs.test.suite.ts +45 -0
  10. package/__tests__/features/firestore/shared/methods/on-snapshot.test.suite.ts +290 -0
  11. package/__tests__/features/firestore/shared/methods/set-doc.test.suite.ts +70 -0
  12. package/__tests__/features/firestore/shared/methods/update-doc.test.suite.ts +40 -0
  13. package/__tests__/features/firestore/shared/methods.shared.tests.ts +24 -0
  14. package/__tests__/features/realtime/admin/constraints.admin.spec.ts +15 -0
  15. package/__tests__/features/realtime/admin/methods.admin.spec.ts +24 -0
  16. package/__tests__/features/realtime/admin/sockets.base.spec.ts +15 -0
  17. package/__tests__/features/realtime/shared/constraints.shared.tests.ts +57 -0
  18. package/__tests__/features/realtime/shared/methods/get.test.suite.ts +64 -0
  19. package/__tests__/features/realtime/shared/methods/on-value.test.suite.ts +190 -0
  20. package/__tests__/features/realtime/shared/methods/push.test.suite.ts +48 -0
  21. package/__tests__/features/realtime/shared/methods/remove.test.suite.ts +46 -0
  22. package/__tests__/features/realtime/shared/methods/set.test.suite.ts +70 -0
  23. package/__tests__/features/realtime/shared/methods/update.test.suite.ts +42 -0
  24. package/__tests__/features/realtime/shared/methods.shared.tests.ts +25 -0
  25. package/__tests__/shared/request-events.shared.ts +32 -0
  26. package/__tests__/tsconfig.json +21 -0
  27. package/__tests__/utils/database.rules.json +11 -0
  28. package/__tests__/utils/index.ts +3 -0
  29. package/__tests__/utils/initialize.firestore.admin.ts +16 -0
  30. package/__tests__/utils/initialize.realtime.admin.ts +19 -0
  31. package/__tests__/utils/seed/seed.data.ts +21 -0
  32. package/__tests__/utils/seed.admin.ts +23 -0
  33. package/__tests__/vitest.setup.ts +9 -0
  34. package/dist/adapter/adapter.d.ts +3 -0
  35. package/dist/adapter/adapter.d.ts.map +1 -0
  36. package/dist/adapter/adapter.sockets.d.ts +3 -0
  37. package/dist/adapter/adapter.sockets.d.ts.map +1 -0
  38. package/dist/adapter/index.d.ts +4 -0
  39. package/dist/adapter/index.d.ts.map +1 -0
  40. package/dist/adapter/types/adapter.base.types.d.ts +11 -0
  41. package/dist/adapter/types/adapter.base.types.d.ts.map +1 -0
  42. package/dist/adapter/types/adapter.firestore.types.d.ts +45 -0
  43. package/dist/adapter/types/adapter.firestore.types.d.ts.map +1 -0
  44. package/dist/adapter/types/adapter.realtime.types.d.ts +39 -0
  45. package/dist/adapter/types/adapter.realtime.types.d.ts.map +1 -0
  46. package/dist/adapter/types/firestore.socket.types.d.ts +17 -0
  47. package/dist/adapter/types/firestore.socket.types.d.ts.map +1 -0
  48. package/dist/adapter/types/index.d.ts +6 -0
  49. package/dist/adapter/types/index.d.ts.map +1 -0
  50. package/dist/adapter/types/realtime.socket.types.d.ts +12 -0
  51. package/dist/adapter/types/realtime.socket.types.d.ts.map +1 -0
  52. package/dist/constraints/constraints.types.d.ts +13 -0
  53. package/dist/constraints/constraints.types.d.ts.map +1 -0
  54. package/dist/constraints/firebase.constraints.d.ts +86 -0
  55. package/dist/constraints/firebase.constraints.d.ts.map +1 -0
  56. package/dist/constraints/index.d.ts +3 -0
  57. package/dist/constraints/index.d.ts.map +1 -0
  58. package/dist/firestore/firestore.methods.d.ts +21 -0
  59. package/dist/firestore/firestore.methods.d.ts.map +1 -0
  60. package/dist/firestore/firestore.sockets.d.ts +4 -0
  61. package/dist/firestore/firestore.sockets.d.ts.map +1 -0
  62. package/dist/firestore/index.d.ts +4 -0
  63. package/dist/firestore/index.d.ts.map +1 -0
  64. package/dist/firestore/utils/constraints.utils.d.ts +5 -0
  65. package/dist/firestore/utils/constraints.utils.d.ts.map +1 -0
  66. package/dist/firestore/utils/index.d.ts +4 -0
  67. package/dist/firestore/utils/index.d.ts.map +1 -0
  68. package/dist/firestore/utils/ref.utils.d.ts +3 -0
  69. package/dist/firestore/utils/ref.utils.d.ts.map +1 -0
  70. package/dist/firestore/utils/result.utils.d.ts +10 -0
  71. package/dist/firestore/utils/result.utils.d.ts.map +1 -0
  72. package/dist/index.d.ts +5 -271
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.mjs +670 -0
  75. package/dist/index.mjs.map +1 -0
  76. package/dist/realtime/index.d.ts +4 -0
  77. package/dist/realtime/index.d.ts.map +1 -0
  78. package/dist/realtime/realtime.methods.d.ts +19 -0
  79. package/dist/realtime/realtime.methods.d.ts.map +1 -0
  80. package/dist/realtime/realtime.sockets.d.ts +4 -0
  81. package/dist/realtime/realtime.sockets.d.ts.map +1 -0
  82. package/dist/realtime/utils/constraints.utils.d.ts +5 -0
  83. package/dist/realtime/utils/constraints.utils.d.ts.map +1 -0
  84. package/dist/realtime/utils/index.d.ts +3 -0
  85. package/dist/realtime/utils/index.d.ts.map +1 -0
  86. package/dist/realtime/utils/result.utils.d.ts +3 -0
  87. package/dist/realtime/utils/result.utils.d.ts.map +1 -0
  88. package/dist/utils/cache.utils.d.ts +11 -0
  89. package/dist/utils/cache.utils.d.ts.map +1 -0
  90. package/dist/utils/index.d.ts +3 -0
  91. package/dist/utils/index.d.ts.map +1 -0
  92. package/dist/utils/misc.d.ts +3 -0
  93. package/dist/utils/misc.d.ts.map +1 -0
  94. package/package.json +8 -11
  95. package/project.json +4 -0
  96. package/src/adapter/adapter.sockets.ts +1 -1
  97. package/src/adapter/adapter.ts +13 -14
  98. package/src/adapter/types/adapter.base.types.ts +4 -4
  99. package/src/adapter/types/adapter.firestore.types.ts +4 -4
  100. package/src/adapter/types/adapter.realtime.types.ts +4 -4
  101. package/src/adapter/types/firestore.socket.types.ts +3 -3
  102. package/src/adapter/types/realtime.socket.types.ts +3 -3
  103. package/src/constraints/constraints.types.ts +1 -1
  104. package/src/constraints/firebase.constraints.ts +1 -1
  105. package/src/firestore/firestore.methods.ts +4 -4
  106. package/src/firestore/firestore.sockets.ts +3 -9
  107. package/src/firestore/utils/constraints.utils.ts +4 -3
  108. package/src/firestore/utils/ref.utils.ts +1 -1
  109. package/src/firestore/utils/result.utils.ts +1 -1
  110. package/src/realtime/realtime.methods.ts +4 -4
  111. package/src/realtime/realtime.sockets.ts +2 -2
  112. package/src/realtime/utils/constraints.utils.ts +3 -2
  113. package/src/realtime/utils/result.utils.ts +1 -1
  114. package/src/utils/cache.utils.ts +4 -2
  115. package/tsconfig.json +1 -1
  116. package/vite.config.ts +45 -0
  117. package/.eslintrc.json +0 -11
  118. package/dist/index.js +0 -686
  119. 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,11 @@
1
+ {
2
+ "rules": {
3
+ ".read": true,
4
+ ".write": true,
5
+ "teas": {
6
+ ".read": true,
7
+ ".write": true,
8
+ ".indexOn": ["origin", "year"]
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./initialize.realtime.admin";
2
+ export * from "./seed.admin";
3
+ export * from "./seed/seed.data";
@@ -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,3 @@
1
+ import { FirebaseAdminDBTypes, FirebaseAdminAdapterTypes } from '.';
2
+ export declare const FirebaseAdminAdapter: <T extends FirebaseAdminDBTypes>(database: T) => FirebaseAdminAdapterTypes<T>;
3
+ //# sourceMappingURL=adapter.d.ts.map
@@ -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,3 @@
1
+ import { FirebaseAdminDBTypes, FirebaseAdminSocketAdapterTypes } from './types';
2
+ export declare const FirebaseSocketsAdminAdapter: <T extends FirebaseAdminDBTypes>(database: T) => FirebaseAdminSocketAdapterTypes<T>;
3
+ //# sourceMappingURL=adapter.sockets.d.ts.map
@@ -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,4 @@
1
+ export * from './types';
2
+ export * from './adapter.sockets';
3
+ export * from './adapter';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,6 @@
1
+ export * from './adapter.firestore.types';
2
+ export * from './adapter.realtime.types';
3
+ export * from './realtime.socket.types';
4
+ export * from './firestore.socket.types';
5
+ export * from './adapter.base.types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export * from './firebase.constraints';
2
+ export * from './constraints.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ import { Firestore } from 'firebase-admin/firestore';
2
+ import { FirestoreAdminSocketAdapterType } from '../adapter';
3
+ export declare const firestoreAdminSockets: (database: Firestore) => FirestoreAdminSocketAdapterType;
4
+ //# sourceMappingURL=firestore.sockets.d.ts.map
@@ -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,4 @@
1
+ export * from './firestore.sockets';
2
+ export * from './firestore.methods';
3
+ export * from './utils';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ export * from './result.utils';
2
+ export * from './ref.utils';
3
+ export * from './constraints.utils';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}