@terreno/rtk 0.0.9
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/README.md +97 -0
- package/dist/authSlice.d.ts +73 -0
- package/dist/authSlice.d.ts.map +1 -0
- package/dist/authSlice.js +227 -0
- package/dist/authSlice.js.map +1 -0
- package/dist/constants.d.ts +16 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +76 -0
- package/dist/constants.js.map +1 -0
- package/dist/emptyApi.d.ts +19 -0
- package/dist/emptyApi.d.ts.map +1 -0
- package/dist/emptyApi.js +297 -0
- package/dist/emptyApi.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/mongooseSlice.d.ts +11 -0
- package/dist/mongooseSlice.d.ts.map +1 -0
- package/dist/mongooseSlice.js +9 -0
- package/dist/mongooseSlice.js.map +1 -0
- package/dist/platform.d.ts +2 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +3 -0
- package/dist/platform.js.map +1 -0
- package/dist/socket.d.ts +20 -0
- package/dist/socket.d.ts.map +1 -0
- package/dist/socket.js +317 -0
- package/dist/socket.js.map +1 -0
- package/dist/tagGenerator.d.ts +2 -0
- package/dist/tagGenerator.d.ts.map +1 -0
- package/dist/tagGenerator.js +60 -0
- package/dist/tagGenerator.js.map +1 -0
- package/package.json +47 -0
- package/src/authSlice.ts +274 -0
- package/src/constants.ts +105 -0
- package/src/emptyApi.ts +335 -0
- package/src/index.ts +7 -0
- package/src/mongooseSlice.ts +19 -0
- package/src/platform.ts +3 -0
- package/src/socket.ts +436 -0
- package/src/tagGenerator.ts +82 -0
package/dist/emptyApi.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
// This file is the basis for openApiSdk.ts. See openapi-config.ts for configuration that is
|
|
2
|
+
// combined with this to generate the SDK.
|
|
3
|
+
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
4
|
+
import { createApi, fetchBaseQuery, retry, } from "@reduxjs/toolkit/query/react";
|
|
5
|
+
import { Mutex } from "async-mutex";
|
|
6
|
+
import axios from "axios";
|
|
7
|
+
import axiosRetry from "axios-retry";
|
|
8
|
+
import Constants from "expo-constants";
|
|
9
|
+
import * as SecureStore from "expo-secure-store";
|
|
10
|
+
import { jwtDecode } from "jwt-decode";
|
|
11
|
+
import { DateTime } from "luxon";
|
|
12
|
+
import qs from "qs";
|
|
13
|
+
import { generateProfileEndpoints, getAuthToken } from "./authSlice";
|
|
14
|
+
import { AUTH_DEBUG, baseUrl, LOGOUT_ACTION_TYPE, TOKEN_REFRESHED_SUCCESS } from "./constants";
|
|
15
|
+
import { IsWeb } from "./platform";
|
|
16
|
+
const log = AUTH_DEBUG ? (s) => console.debug(`[auth] ${s}`) : () => { };
|
|
17
|
+
axiosRetry(axios, { retries: 3, retryDelay: axiosRetry.exponentialDelay });
|
|
18
|
+
const mutex = new Mutex();
|
|
19
|
+
export async function getTokenExpirationTimes() {
|
|
20
|
+
let refreshToken;
|
|
21
|
+
let authToken;
|
|
22
|
+
if (!IsWeb) {
|
|
23
|
+
refreshToken = await SecureStore.getItemAsync("REFRESH_TOKEN");
|
|
24
|
+
authToken = await SecureStore.getItemAsync("AUTH_TOKEN");
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// Check if we're in a browser environment (not SSR)
|
|
28
|
+
if (typeof window !== "undefined") {
|
|
29
|
+
refreshToken = await AsyncStorage.getItem("REFRESH_TOKEN");
|
|
30
|
+
authToken = await AsyncStorage.getItem("AUTH_TOKEN");
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
refreshToken = null;
|
|
34
|
+
authToken = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (!refreshToken || !authToken) {
|
|
38
|
+
return { authRemainingSecs: undefined, refreshRemainingSecs: undefined };
|
|
39
|
+
}
|
|
40
|
+
const now = DateTime.now().setZone("UTC");
|
|
41
|
+
const refreshDecoded = jwtDecode(refreshToken);
|
|
42
|
+
const authDecoded = jwtDecode(authToken);
|
|
43
|
+
const refreshExpiration = DateTime.fromSeconds(refreshDecoded.exp).setZone("UTC");
|
|
44
|
+
const authExpiration = DateTime.fromSeconds(authDecoded.exp).setZone("UTC");
|
|
45
|
+
const refreshTimeRemaining = Math.floor(refreshExpiration.diff(now, "seconds").seconds);
|
|
46
|
+
const authTimeRemaining = Math.floor(authExpiration.diff(now, "seconds").seconds);
|
|
47
|
+
if (AUTH_DEBUG) {
|
|
48
|
+
log(`Refresh expires in ${refreshTimeRemaining}s, Auth expires in ${authTimeRemaining}s`);
|
|
49
|
+
}
|
|
50
|
+
return { authRemainingSecs: authTimeRemaining, refreshRemainingSecs: refreshTimeRemaining };
|
|
51
|
+
}
|
|
52
|
+
// Helper function to decode token and get expiration info
|
|
53
|
+
export const getFriendlyExpirationInfo = async () => {
|
|
54
|
+
const { authRemainingSecs, refreshRemainingSecs } = await getTokenExpirationTimes();
|
|
55
|
+
if (authRemainingSecs === undefined && refreshRemainingSecs === undefined) {
|
|
56
|
+
return "No tokens available";
|
|
57
|
+
}
|
|
58
|
+
const messages = [];
|
|
59
|
+
if (authRemainingSecs !== undefined) {
|
|
60
|
+
if (authRemainingSecs <= 0) {
|
|
61
|
+
messages.push(`Auth token expired ${Math.abs(authRemainingSecs)} seconds ago`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
messages.push(`Auth token expires in ${authRemainingSecs} seconds`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (refreshRemainingSecs !== undefined) {
|
|
68
|
+
if (refreshRemainingSecs <= 0) {
|
|
69
|
+
messages.push(`Refresh token expired ${Math.abs(refreshRemainingSecs)} seconds ago`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
messages.push(`Refresh token expires in ${refreshRemainingSecs} seconds`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return messages.join(", ");
|
|
76
|
+
};
|
|
77
|
+
// Give an extra 5 seconds to make sure if they hit the modal with 1 minute left,
|
|
78
|
+
// they have time to click the button
|
|
79
|
+
export const shouldShowStillThereModal = async () => {
|
|
80
|
+
const { refreshRemainingSecs } = await getTokenExpirationTimes();
|
|
81
|
+
if (refreshRemainingSecs === undefined) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return refreshRemainingSecs <= 65;
|
|
85
|
+
};
|
|
86
|
+
export const refreshAuthToken = async () => {
|
|
87
|
+
let refreshToken;
|
|
88
|
+
if (!IsWeb) {
|
|
89
|
+
refreshToken = await SecureStore.getItemAsync("REFRESH_TOKEN");
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// Check if we're in a browser environment (not SSR)
|
|
93
|
+
if (typeof window !== "undefined") {
|
|
94
|
+
refreshToken = await AsyncStorage.getItem("REFRESH_TOKEN");
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
refreshToken = null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
console.debug("Refreshing token, current token");
|
|
101
|
+
if (refreshToken) {
|
|
102
|
+
const refreshResult = await axios.post(`${baseUrl}/auth/refresh_token`, {
|
|
103
|
+
refreshToken,
|
|
104
|
+
});
|
|
105
|
+
console.debug("Refresh token result");
|
|
106
|
+
if (refreshResult?.data?.data) {
|
|
107
|
+
const data = refreshResult.data.data;
|
|
108
|
+
if (!data.token || !data.refreshToken) {
|
|
109
|
+
console.warn("refresh token API request didn't return data");
|
|
110
|
+
throw new Error("refresh token API request didn't return data");
|
|
111
|
+
}
|
|
112
|
+
if (!IsWeb) {
|
|
113
|
+
await SecureStore.setItemAsync("AUTH_TOKEN", data.token);
|
|
114
|
+
await SecureStore.setItemAsync("REFRESH_TOKEN", data.refreshToken);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// Check if we're in a browser environment (not SSR)
|
|
118
|
+
if (typeof window !== "undefined") {
|
|
119
|
+
await AsyncStorage.setItem("AUTH_TOKEN", data.token);
|
|
120
|
+
await AsyncStorage.setItem("REFRESH_TOKEN", data.refreshToken);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
axios.defaults.headers.common.Authorization = `Bearer ${data.token}`;
|
|
124
|
+
console.debug("New token stored");
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.warn("refresh token API request failed or didn't return data");
|
|
128
|
+
throw new Error("refresh token API request failed or didn't return data");
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
console.warn("no refresh token found");
|
|
133
|
+
throw new Error("no refresh token found");
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
const getBaseQuery = (args, api, extraOptions, token) => {
|
|
137
|
+
const version = Constants.expoConfig?.version ?? "Unknown";
|
|
138
|
+
return fetchBaseQuery({
|
|
139
|
+
baseUrl: `${baseUrl}`,
|
|
140
|
+
// We need to use qs.stringify here because fetchBaseQuery uses the qs library which doesn't
|
|
141
|
+
// support nested objects, such as our $in, $lt/$gte, etc queries.
|
|
142
|
+
paramsSerializer: (params) => {
|
|
143
|
+
return qs.stringify(params);
|
|
144
|
+
},
|
|
145
|
+
prepareHeaders: async (headers) => {
|
|
146
|
+
headers.set("authorization", `Bearer ${token}`);
|
|
147
|
+
// Send version in case the API needs to respond differently based on version.
|
|
148
|
+
headers.set("App-Version", version);
|
|
149
|
+
headers.set("App-Platform", IsWeb ? "web" : "mobile");
|
|
150
|
+
return headers;
|
|
151
|
+
},
|
|
152
|
+
// We need to slightly change the format of the data coming from the API to match the format
|
|
153
|
+
// that the SDK generates.
|
|
154
|
+
responseHandler: async (response) => {
|
|
155
|
+
if (response.status === 204) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const result = await response.json();
|
|
159
|
+
if ("more" in result) {
|
|
160
|
+
// For list responses, return the whole result
|
|
161
|
+
return result;
|
|
162
|
+
}
|
|
163
|
+
else if (result.data) {
|
|
164
|
+
// For read, update, and create responses, return the data. We used to use a transformer,
|
|
165
|
+
// but
|
|
166
|
+
return result.data;
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return result;
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
// biome-ignore lint/suspicious/noExplicitAny: Weird typing from rtk query
|
|
173
|
+
})(args, api, extraOptions);
|
|
174
|
+
};
|
|
175
|
+
const staggeredBaseQuery = retry(async (args, api, extraOptions) => {
|
|
176
|
+
// wait until the mutex is available without locking it
|
|
177
|
+
await mutex.waitForUnlock();
|
|
178
|
+
let token = await getAuthToken();
|
|
179
|
+
if (["emailLogin", "emailSignUp", "googleLogin", "getZoomSignature"].includes(api.endpoint)) {
|
|
180
|
+
// just pass thru the request without token validation for login/signup requests
|
|
181
|
+
// (even if there's a stale token in storage)
|
|
182
|
+
return getBaseQuery(args, api, extraOptions, token);
|
|
183
|
+
}
|
|
184
|
+
if (!token) {
|
|
185
|
+
console.debug(`No token found and the endpoint is ${api.endpoint}`);
|
|
186
|
+
// assume the token was removed because the user logged out and dispatch logout
|
|
187
|
+
api.dispatch({ type: LOGOUT_ACTION_TYPE });
|
|
188
|
+
return { error: { error: `No token found for ${api.endpoint}`, status: "FETCH_ERROR" } };
|
|
189
|
+
}
|
|
190
|
+
const { refreshRemainingSecs, authRemainingSecs } = await getTokenExpirationTimes();
|
|
191
|
+
// if both auth and refresh tokens exist but are expired, log the user out
|
|
192
|
+
if (authRemainingSecs &&
|
|
193
|
+
authRemainingSecs < 0 &&
|
|
194
|
+
refreshRemainingSecs &&
|
|
195
|
+
refreshRemainingSecs < 0) {
|
|
196
|
+
console.warn(`[auth] Both tokens are expired, logging out: authRemainingSecs: ${authRemainingSecs}, refreshRemainingSecs: ${refreshRemainingSecs}`);
|
|
197
|
+
api.dispatch({ type: LOGOUT_ACTION_TYPE });
|
|
198
|
+
return { error: { error: "Auth and refresh tokens are expired", status: "FETCH_ERROR" } };
|
|
199
|
+
}
|
|
200
|
+
// if the auth token is within about 2 minute of expiring, refresh it automatically
|
|
201
|
+
if (authRemainingSecs && authRemainingSecs < 130) {
|
|
202
|
+
if (!mutex.isLocked()) {
|
|
203
|
+
const release = await mutex.acquire();
|
|
204
|
+
try {
|
|
205
|
+
log(`Refreshing token: authRemainingSecs: ${authRemainingSecs}`);
|
|
206
|
+
await refreshAuthToken();
|
|
207
|
+
token = await getAuthToken();
|
|
208
|
+
log(`Token refreshed: ${token}`);
|
|
209
|
+
api.dispatch({ type: TOKEN_REFRESHED_SUCCESS });
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
if (axios.isAxiosError(error)) {
|
|
213
|
+
// if it is a Network Error, don't auto log out and just let the next request go
|
|
214
|
+
// through
|
|
215
|
+
console.warn(`[auth] Network error refreshing token: ${error.code} ${error.message}`);
|
|
216
|
+
if (error.code === "ERR_NETWORK") {
|
|
217
|
+
return getBaseQuery(args, api, extraOptions, token);
|
|
218
|
+
}
|
|
219
|
+
else if (error.status === 401) {
|
|
220
|
+
api.dispatch({ type: LOGOUT_ACTION_TYPE });
|
|
221
|
+
return { error: { error: "Token refresh failed with 401", status: "FETCH_ERROR" } };
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
console.warn(`[auth] Error refreshing token: ${error instanceof Error ? error.message : String(error)}`);
|
|
225
|
+
api.dispatch({ type: LOGOUT_ACTION_TYPE });
|
|
226
|
+
return {
|
|
227
|
+
error: {
|
|
228
|
+
error: `Failed to refresh token: ${error instanceof Error ? error.message : String(error)}`,
|
|
229
|
+
status: "FETCH_ERROR",
|
|
230
|
+
},
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
finally {
|
|
234
|
+
release();
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
// wait until the mutex is available
|
|
240
|
+
log(`Waiting for mutex to get token: authRemainingSecs: ${authRemainingSecs}`);
|
|
241
|
+
await mutex.waitForUnlock();
|
|
242
|
+
token = await getAuthToken();
|
|
243
|
+
}
|
|
244
|
+
let baseQuery = getBaseQuery(args, api, extraOptions, token);
|
|
245
|
+
let result = await baseQuery;
|
|
246
|
+
if (result.error?.status === 401) {
|
|
247
|
+
if (!mutex.isLocked()) {
|
|
248
|
+
console.warn("[auth] 401 error, refreshing token and retrying, waiting for mutex");
|
|
249
|
+
const release = await mutex.acquire();
|
|
250
|
+
log("401 error, refreshing token and retrying, got mutex");
|
|
251
|
+
try {
|
|
252
|
+
await refreshAuthToken();
|
|
253
|
+
token = await getAuthToken();
|
|
254
|
+
log(`401 error, refreshing token and retrying, got new token: ${token}`);
|
|
255
|
+
api.dispatch({ type: TOKEN_REFRESHED_SUCCESS });
|
|
256
|
+
baseQuery = getBaseQuery(args, api, extraOptions, token);
|
|
257
|
+
// retry once with the new token before failing and logging out
|
|
258
|
+
result = await baseQuery;
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
console.error("Error refreshing auth token", error instanceof Error ? error.message : String(error));
|
|
262
|
+
api.dispatch({ type: LOGOUT_ACTION_TYPE });
|
|
263
|
+
}
|
|
264
|
+
finally {
|
|
265
|
+
release();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
// wait until the mutex is available without locking it then try again since got 401 on
|
|
270
|
+
// first try
|
|
271
|
+
console.warn("401 error and mutex locked, refreshing token and retrying, waiting for mutex");
|
|
272
|
+
await mutex.waitForUnlock();
|
|
273
|
+
token = await getAuthToken();
|
|
274
|
+
log(`401 error and mutex locked, refreshing token and retrying, got new token: ${token}`);
|
|
275
|
+
baseQuery = getBaseQuery(args, api, extraOptions, token);
|
|
276
|
+
result = await baseQuery;
|
|
277
|
+
}
|
|
278
|
+
// if any other type of error, don't retry if it is a mutation to prevent potential duplicates
|
|
279
|
+
}
|
|
280
|
+
else if (result.error && api.type === "mutation") {
|
|
281
|
+
log(`Error on mutation, not retrying, ${authRemainingSecs}`);
|
|
282
|
+
retry.fail(result.error);
|
|
283
|
+
}
|
|
284
|
+
return result;
|
|
285
|
+
}, {
|
|
286
|
+
maxRetries: 3,
|
|
287
|
+
});
|
|
288
|
+
// initialize an empty api service that we'll inject endpoints into later as needed
|
|
289
|
+
export const emptySplitApi = createApi({
|
|
290
|
+
baseQuery: staggeredBaseQuery,
|
|
291
|
+
endpoints: (builder) => ({
|
|
292
|
+
// biome-ignore lint/suspicious/noExplicitAny: Generic
|
|
293
|
+
...generateProfileEndpoints(builder, "users"), // using 'users' here since it is highly intertwined with Users
|
|
294
|
+
}),
|
|
295
|
+
reducerPath: "terreno-rtk",
|
|
296
|
+
});
|
|
297
|
+
//# sourceMappingURL=emptyApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emptyApi.js","sourceRoot":"","sources":["../src/emptyApi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ListResponse<T> {
|
|
2
|
+
page?: number;
|
|
3
|
+
limit?: number;
|
|
4
|
+
more?: boolean;
|
|
5
|
+
total?: number;
|
|
6
|
+
data?: T[];
|
|
7
|
+
}
|
|
8
|
+
export declare function populateId<T extends {
|
|
9
|
+
_id: string;
|
|
10
|
+
}>(id?: string, objs?: ListResponse<T>): T | undefined;
|
|
11
|
+
//# sourceMappingURL=mongooseSlice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongooseSlice.d.ts","sourceRoot":"","sources":["../src/mongooseSlice.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;CACZ;AAID,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,EAChD,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,CAAC,GAAG,SAAS,CAKf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Given an ID and the {data} from a list query, return the object with that ID.
|
|
2
|
+
// Does not fill in the object like populating in Mongoose.
|
|
3
|
+
export function populateId(id, objs) {
|
|
4
|
+
if (!id || !objs) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
return objs?.data?.find((obj) => obj?._id === id);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=mongooseSlice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongooseSlice.js","sourceRoot":"","sources":["../src/mongooseSlice.ts"],"names":[],"mappings":"AAQA,gFAAgF;AAChF,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CACxB,EAAW,EACX,IAAsB;IAEtB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,SAAwB,CAAC"}
|
package/dist/platform.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC"}
|
package/dist/socket.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Socket } from "socket.io-client";
|
|
2
|
+
export interface SocketConnection {
|
|
3
|
+
isConnected: boolean;
|
|
4
|
+
lastDisconnectedAt: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface UseSocketConnectionOptions {
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
onConnect?: () => void;
|
|
9
|
+
onDisconnect?: () => void;
|
|
10
|
+
onConnectError?: (error: Error) => void;
|
|
11
|
+
onReconnectFailed?: () => void;
|
|
12
|
+
getAuthToken: () => Promise<string | null>;
|
|
13
|
+
shouldConnect: boolean;
|
|
14
|
+
captureEvent?: (eventName: string, data: Record<string, unknown>) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const useSocketConnection: ({ baseUrl, onConnect, onDisconnect, onConnectError, onReconnectFailed, getAuthToken, shouldConnect, captureEvent, }: UseSocketConnectionOptions) => {
|
|
17
|
+
socket: Socket | null;
|
|
18
|
+
isSocketConnected: SocketConnection;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=socket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAIA,OAAO,EAAK,KAAK,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAKjD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,eAAO,MAAM,mBAAmB,GAAI,qHASjC,0BAA0B,KAAG;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,gBAAgB,CAAC;CA+YrC,CAAC"}
|