@blocklet/js-sdk 1.16.26-beta-351de484 → 1.16.26-beta-cca12425

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -115,8 +115,11 @@ const sleep = (time = 0) => {
115
115
  }, time);
116
116
  });
117
117
  };
118
+ const getBearerToken = (token) => {
119
+ return `Bearer ${encodeURIComponent(token)}`;
120
+ };
118
121
 
119
- async function sleepForLoading(config, lazyTime) {
122
+ async function sleepForLoading(config, lazyTime = 300) {
120
123
  config.metaData.endTime = +/* @__PURE__ */ new Date();
121
124
  const { startTime, endTime } = config.metaData;
122
125
  const timeDiff = endTime - startTime;
@@ -124,15 +127,15 @@ async function sleepForLoading(config, lazyTime) {
124
127
  await sleep(lazyTime - timeDiff);
125
128
  delete config.metaData;
126
129
  }
127
- const createApi = (options = {}, { lazy = false, lazyTime = 300 } = {}) => {
130
+ const createAxios$1 = (options, requestParams) => {
128
131
  const instance = axios__default.create({
129
132
  ...options,
130
133
  headers: {
131
- ...options.headers,
134
+ ...options?.headers,
132
135
  "x-blocklet-js-sdk-version": version
133
136
  }
134
137
  });
135
- if (lazy) {
138
+ if (requestParams?.lazy) {
136
139
  instance.interceptors.request.use(
137
140
  (config) => {
138
141
  config.metaData = { startTime: +/* @__PURE__ */ new Date() };
@@ -142,34 +145,32 @@ const createApi = (options = {}, { lazy = false, lazyTime = 300 } = {}) => {
142
145
  );
143
146
  instance.interceptors.response.use(
144
147
  async (res) => {
145
- await sleepForLoading(res.config, lazyTime);
148
+ await sleepForLoading(res.config, requestParams?.lazyTime);
146
149
  return res;
147
150
  },
148
151
  async (err) => {
149
- await sleepForLoading(err.response.config, lazyTime);
152
+ await sleepForLoading(err.response.config, requestParams?.lazyTime);
150
153
  return Promise.reject(err);
151
154
  }
152
155
  );
153
156
  }
154
157
  return instance;
155
158
  };
156
-
157
- const baseURL = constant.WELLKNOWN_SERVICE_PATH_PREFIX;
158
- async function renewRefreshToken(refreshToken) {
159
+ async function renewRefreshToken$1(refreshToken) {
159
160
  if (!refreshToken) {
160
161
  throw new Error("Refresh token not found");
161
162
  }
162
- const refreshApi = createApi({
163
- baseURL,
163
+ const refreshApi = createAxios$1({
164
+ baseURL: constant.WELLKNOWN_SERVICE_PATH_PREFIX,
164
165
  timeout: 10 * 1e3,
165
166
  headers: {
166
- authorization: `Bearer ${encodeURIComponent(refreshToken)}`
167
+ authorization: getBearerToken(refreshToken)
167
168
  }
168
169
  });
169
- const { data } = await refreshApi.post("api/did/refreshSession");
170
+ const { data } = await refreshApi.post("/api/did/refreshSession");
170
171
  return data;
171
172
  }
172
- function createRequest({
173
+ function createRequest$1({
173
174
  getSessionToken,
174
175
  setSessionToken,
175
176
  removeSessionToken,
@@ -178,19 +179,21 @@ function createRequest({
178
179
  removeRefreshToken,
179
180
  onRefreshTokenError,
180
181
  onRefreshTokenSuccess
181
- }, options = {}) {
182
+ }, requestOptions, requestParams) {
182
183
  let refreshingTokenRequest = null;
183
- const service = createApi({
184
- baseURL,
185
- timeout: 30 * 1e3,
186
- ...options
187
- });
184
+ const service = createAxios$1(
185
+ {
186
+ timeout: 30 * 1e3,
187
+ ...requestOptions
188
+ },
189
+ requestParams
190
+ );
188
191
  service.interceptors.request.use(
189
192
  async (config) => {
190
193
  if (!Cookie__default.get(constant.SESSION_TOKEN_STORAGE_KEY)) {
191
194
  const token = getSessionToken();
192
195
  if (token) {
193
- config.headers.authorization = `Bearer ${encodeURIComponent(token)}`;
196
+ config.headers.authorization = getBearerToken(token);
194
197
  }
195
198
  }
196
199
  if (refreshingTokenRequest) {
@@ -208,7 +211,7 @@ function createRequest({
208
211
  if (error?.response?.status === 401 && !originalRequest._retry) {
209
212
  originalRequest._retry = true;
210
213
  if (!refreshingTokenRequest) {
211
- refreshingTokenRequest = renewRefreshToken(getRefreshToken());
214
+ refreshingTokenRequest = renewRefreshToken$1(getRefreshToken());
212
215
  }
213
216
  try {
214
217
  const tokenData = await refreshingTokenRequest;
@@ -235,6 +238,110 @@ function createRequest({
235
238
  return service;
236
239
  }
237
240
 
241
+ function createFetch$1(globalOptions = {}, requestParams) {
242
+ return async (input, options) => {
243
+ const startAt = Date.now();
244
+ const request = fetch(input, {
245
+ ...globalOptions,
246
+ ...options,
247
+ headers: {
248
+ ...globalOptions?.headers,
249
+ ...options?.headers,
250
+ "x-blocklet-js-sdk-version": version
251
+ }
252
+ });
253
+ try {
254
+ return request;
255
+ } catch (error) {
256
+ throw error;
257
+ } finally {
258
+ const endAt = Date.now();
259
+ if (requestParams?.lazy) {
260
+ const lazyTime = requestParams?.lazyTime ?? 300;
261
+ const timeDiff = endAt - startAt;
262
+ if (timeDiff < lazyTime)
263
+ await sleep(lazyTime - timeDiff);
264
+ }
265
+ }
266
+ };
267
+ }
268
+ async function renewRefreshToken(refreshToken) {
269
+ if (!refreshToken) {
270
+ throw new Error("Refresh token not found");
271
+ }
272
+ const refreshApi = createFetch$1();
273
+ const res = await refreshApi(ufo.joinURL(constant.WELLKNOWN_SERVICE_PATH_PREFIX, "/api/did/refreshSession"), {
274
+ method: "POST",
275
+ headers: {
276
+ authorization: getBearerToken(refreshToken)
277
+ }
278
+ });
279
+ const data = await res.json();
280
+ return data;
281
+ }
282
+ function createRequest({
283
+ baseURL,
284
+ getSessionToken,
285
+ setSessionToken,
286
+ removeSessionToken,
287
+ getRefreshToken,
288
+ setRefreshToken,
289
+ removeRefreshToken,
290
+ onRefreshTokenError,
291
+ onRefreshTokenSuccess
292
+ }, requestOptions, requestParams) {
293
+ let refreshingTokenRequest = null;
294
+ const service = createFetch$1(requestOptions, requestParams);
295
+ return async (input, options) => {
296
+ let authorization;
297
+ const finalUrl = typeof input === "string" ? ufo.joinURL(baseURL, input) : input;
298
+ if (!Cookie__default.get(constant.SESSION_TOKEN_STORAGE_KEY)) {
299
+ const token = getSessionToken();
300
+ if (token) {
301
+ authorization = getBearerToken(token);
302
+ }
303
+ }
304
+ if (refreshingTokenRequest) {
305
+ await refreshingTokenRequest;
306
+ }
307
+ const res = await service(finalUrl, {
308
+ ...options,
309
+ headers: {
310
+ ...options?.headers,
311
+ authorization
312
+ }
313
+ });
314
+ if (!res.ok && res.status === 401) {
315
+ refreshingTokenRequest = renewRefreshToken(getRefreshToken());
316
+ try {
317
+ const tokenData = await refreshingTokenRequest;
318
+ setSessionToken(tokenData.nextToken);
319
+ setRefreshToken(tokenData.nextRefreshToken);
320
+ if (typeof onRefreshTokenSuccess === "function") {
321
+ onRefreshTokenSuccess(tokenData);
322
+ }
323
+ return service(finalUrl, {
324
+ ...options,
325
+ headers: {
326
+ ...options?.headers,
327
+ authorization
328
+ }
329
+ });
330
+ } catch (error) {
331
+ removeSessionToken();
332
+ removeRefreshToken();
333
+ if (typeof onRefreshTokenError === "function") {
334
+ onRefreshTokenError(error);
335
+ }
336
+ return Promise.reject(error);
337
+ } finally {
338
+ refreshingTokenRequest = null;
339
+ }
340
+ }
341
+ return res;
342
+ };
343
+ }
344
+
238
345
  var __defProp = Object.defineProperty;
239
346
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
240
347
  var __publicField = (obj, key, value) => {
@@ -248,7 +355,34 @@ class BlockletSDK {
248
355
  __publicField(this, "userSession");
249
356
  __publicField(this, "token");
250
357
  const tokenService = new TokenService();
251
- const api = createRequest({
358
+ const internalApi = createRequest$1(
359
+ {
360
+ getSessionToken: tokenService.getSessionToken,
361
+ setSessionToken: tokenService.setSessionToken,
362
+ removeSessionToken: tokenService.removeSessionToken,
363
+ getRefreshToken: tokenService.getRefreshToken,
364
+ setRefreshToken: tokenService.setRefreshToken,
365
+ removeRefreshToken: tokenService.removeRefreshToken,
366
+ onRefreshTokenError: () => {
367
+ console.error("Failed to refresh token");
368
+ },
369
+ onRefreshTokenSuccess: () => {
370
+ }
371
+ },
372
+ {
373
+ baseURL: constant.WELLKNOWN_SERVICE_PATH_PREFIX
374
+ }
375
+ );
376
+ this.user = new AuthService({ api: internalApi });
377
+ this.userSession = new UserSessionService({ api: internalApi });
378
+ this.token = tokenService;
379
+ this.api = internalApi;
380
+ }
381
+ }
382
+ function createAxios(config, requestParams) {
383
+ const tokenService = new TokenService();
384
+ return createRequest$1(
385
+ {
252
386
  getSessionToken: tokenService.getSessionToken,
253
387
  setSessionToken: tokenService.setSessionToken,
254
388
  removeSessionToken: tokenService.removeSessionToken,
@@ -260,12 +394,32 @@ class BlockletSDK {
260
394
  },
261
395
  onRefreshTokenSuccess: () => {
262
396
  }
263
- });
264
- this.user = new AuthService({ api });
265
- this.userSession = new UserSessionService({ api });
266
- this.api = api;
267
- this.token = tokenService;
268
- }
397
+ },
398
+ config,
399
+ requestParams
400
+ );
401
+ }
402
+ function createFetch(options, requestParams) {
403
+ const tokenService = new TokenService();
404
+ return createRequest(
405
+ {
406
+ getSessionToken: tokenService.getSessionToken,
407
+ setSessionToken: tokenService.setSessionToken,
408
+ removeSessionToken: tokenService.removeSessionToken,
409
+ getRefreshToken: tokenService.getRefreshToken,
410
+ setRefreshToken: tokenService.setRefreshToken,
411
+ removeRefreshToken: tokenService.removeRefreshToken,
412
+ onRefreshTokenError: () => {
413
+ console.error("Failed to refresh token");
414
+ },
415
+ onRefreshTokenSuccess: () => {
416
+ }
417
+ },
418
+ options,
419
+ requestParams
420
+ );
269
421
  }
270
422
 
271
423
  exports.BlockletSDK = BlockletSDK;
424
+ exports.createAxios = createAxios;
425
+ exports.createFetch = createFetch;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,5 @@
1
- import { Axios } from 'axios';
1
+ import * as axios from 'axios';
2
+ import { Axios, AxiosRequestConfig } from 'axios';
2
3
 
3
4
  type UserPublicInfo = {
4
5
  avatar: string;
@@ -94,6 +95,11 @@ declare class UserSessionService {
94
95
  }): Promise<UserSession[]>;
95
96
  }
96
97
 
98
+ type RequestParams = {
99
+ lazy?: boolean;
100
+ lazyTime?: number;
101
+ };
102
+
97
103
  declare class BlockletSDK {
98
104
  api: Axios;
99
105
  user: AuthService;
@@ -101,5 +107,7 @@ declare class BlockletSDK {
101
107
  token: TokenService;
102
108
  constructor();
103
109
  }
110
+ declare function createAxios(config?: AxiosRequestConfig, requestParams?: RequestParams): axios.AxiosInstance;
111
+ declare function createFetch(options?: RequestInit, requestParams?: RequestParams): (input: string | Request | URL, options?: RequestInit) => Promise<Response>;
104
112
 
105
- export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook };
113
+ export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook, createAxios, createFetch };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- import { Axios } from 'axios';
1
+ import * as axios from 'axios';
2
+ import { Axios, AxiosRequestConfig } from 'axios';
2
3
 
3
4
  type UserPublicInfo = {
4
5
  avatar: string;
@@ -94,6 +95,11 @@ declare class UserSessionService {
94
95
  }): Promise<UserSession[]>;
95
96
  }
96
97
 
98
+ type RequestParams = {
99
+ lazy?: boolean;
100
+ lazyTime?: number;
101
+ };
102
+
97
103
  declare class BlockletSDK {
98
104
  api: Axios;
99
105
  user: AuthService;
@@ -101,5 +107,7 @@ declare class BlockletSDK {
101
107
  token: TokenService;
102
108
  constructor();
103
109
  }
110
+ declare function createAxios(config?: AxiosRequestConfig, requestParams?: RequestParams): axios.AxiosInstance;
111
+ declare function createFetch(options?: RequestInit, requestParams?: RequestParams): (input: string | Request | URL, options?: RequestInit) => Promise<Response>;
104
112
 
105
- export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook };
113
+ export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook, createAxios, createFetch };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Axios } from 'axios';
1
+ import * as axios from 'axios';
2
+ import { Axios, AxiosRequestConfig } from 'axios';
2
3
 
3
4
  type UserPublicInfo = {
4
5
  avatar: string;
@@ -94,6 +95,11 @@ declare class UserSessionService {
94
95
  }): Promise<UserSession[]>;
95
96
  }
96
97
 
98
+ type RequestParams = {
99
+ lazy?: boolean;
100
+ lazyTime?: number;
101
+ };
102
+
97
103
  declare class BlockletSDK {
98
104
  api: Axios;
99
105
  user: AuthService;
@@ -101,5 +107,7 @@ declare class BlockletSDK {
101
107
  token: TokenService;
102
108
  constructor();
103
109
  }
110
+ declare function createAxios(config?: AxiosRequestConfig, requestParams?: RequestParams): axios.AxiosInstance;
111
+ declare function createFetch(options?: RequestInit, requestParams?: RequestParams): (input: string | Request | URL, options?: RequestInit) => Promise<Response>;
104
112
 
105
- export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook };
113
+ export { AuthService, BlockletSDK, type NotificationConfig, type PrivacyConfig, TokenService, type UserPublicInfo, type UserSession, UserSessionService, type UserSessionUser, type Webhook, createAxios, createFetch };
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { WELLKNOWN_SERVICE_PATH_PREFIX, SESSION_TOKEN_STORAGE_KEY, REFRESH_TOKEN_STORAGE_KEY } from '@abtnode/constant';
2
- import { withQuery } from 'ufo';
2
+ import { withQuery, joinURL } from 'ufo';
3
3
  import Cookie from 'js-cookie';
4
4
  import axios from 'axios';
5
5
 
@@ -108,8 +108,11 @@ const sleep = (time = 0) => {
108
108
  }, time);
109
109
  });
110
110
  };
111
+ const getBearerToken = (token) => {
112
+ return `Bearer ${encodeURIComponent(token)}`;
113
+ };
111
114
 
112
- async function sleepForLoading(config, lazyTime) {
115
+ async function sleepForLoading(config, lazyTime = 300) {
113
116
  config.metaData.endTime = +/* @__PURE__ */ new Date();
114
117
  const { startTime, endTime } = config.metaData;
115
118
  const timeDiff = endTime - startTime;
@@ -117,15 +120,15 @@ async function sleepForLoading(config, lazyTime) {
117
120
  await sleep(lazyTime - timeDiff);
118
121
  delete config.metaData;
119
122
  }
120
- const createApi = (options = {}, { lazy = false, lazyTime = 300 } = {}) => {
123
+ const createAxios$1 = (options, requestParams) => {
121
124
  const instance = axios.create({
122
125
  ...options,
123
126
  headers: {
124
- ...options.headers,
127
+ ...options?.headers,
125
128
  "x-blocklet-js-sdk-version": version
126
129
  }
127
130
  });
128
- if (lazy) {
131
+ if (requestParams?.lazy) {
129
132
  instance.interceptors.request.use(
130
133
  (config) => {
131
134
  config.metaData = { startTime: +/* @__PURE__ */ new Date() };
@@ -135,34 +138,32 @@ const createApi = (options = {}, { lazy = false, lazyTime = 300 } = {}) => {
135
138
  );
136
139
  instance.interceptors.response.use(
137
140
  async (res) => {
138
- await sleepForLoading(res.config, lazyTime);
141
+ await sleepForLoading(res.config, requestParams?.lazyTime);
139
142
  return res;
140
143
  },
141
144
  async (err) => {
142
- await sleepForLoading(err.response.config, lazyTime);
145
+ await sleepForLoading(err.response.config, requestParams?.lazyTime);
143
146
  return Promise.reject(err);
144
147
  }
145
148
  );
146
149
  }
147
150
  return instance;
148
151
  };
149
-
150
- const baseURL = WELLKNOWN_SERVICE_PATH_PREFIX;
151
- async function renewRefreshToken(refreshToken) {
152
+ async function renewRefreshToken$1(refreshToken) {
152
153
  if (!refreshToken) {
153
154
  throw new Error("Refresh token not found");
154
155
  }
155
- const refreshApi = createApi({
156
- baseURL,
156
+ const refreshApi = createAxios$1({
157
+ baseURL: WELLKNOWN_SERVICE_PATH_PREFIX,
157
158
  timeout: 10 * 1e3,
158
159
  headers: {
159
- authorization: `Bearer ${encodeURIComponent(refreshToken)}`
160
+ authorization: getBearerToken(refreshToken)
160
161
  }
161
162
  });
162
- const { data } = await refreshApi.post("api/did/refreshSession");
163
+ const { data } = await refreshApi.post("/api/did/refreshSession");
163
164
  return data;
164
165
  }
165
- function createRequest({
166
+ function createRequest$1({
166
167
  getSessionToken,
167
168
  setSessionToken,
168
169
  removeSessionToken,
@@ -171,19 +172,21 @@ function createRequest({
171
172
  removeRefreshToken,
172
173
  onRefreshTokenError,
173
174
  onRefreshTokenSuccess
174
- }, options = {}) {
175
+ }, requestOptions, requestParams) {
175
176
  let refreshingTokenRequest = null;
176
- const service = createApi({
177
- baseURL,
178
- timeout: 30 * 1e3,
179
- ...options
180
- });
177
+ const service = createAxios$1(
178
+ {
179
+ timeout: 30 * 1e3,
180
+ ...requestOptions
181
+ },
182
+ requestParams
183
+ );
181
184
  service.interceptors.request.use(
182
185
  async (config) => {
183
186
  if (!Cookie.get(SESSION_TOKEN_STORAGE_KEY)) {
184
187
  const token = getSessionToken();
185
188
  if (token) {
186
- config.headers.authorization = `Bearer ${encodeURIComponent(token)}`;
189
+ config.headers.authorization = getBearerToken(token);
187
190
  }
188
191
  }
189
192
  if (refreshingTokenRequest) {
@@ -201,7 +204,7 @@ function createRequest({
201
204
  if (error?.response?.status === 401 && !originalRequest._retry) {
202
205
  originalRequest._retry = true;
203
206
  if (!refreshingTokenRequest) {
204
- refreshingTokenRequest = renewRefreshToken(getRefreshToken());
207
+ refreshingTokenRequest = renewRefreshToken$1(getRefreshToken());
205
208
  }
206
209
  try {
207
210
  const tokenData = await refreshingTokenRequest;
@@ -228,6 +231,110 @@ function createRequest({
228
231
  return service;
229
232
  }
230
233
 
234
+ function createFetch$1(globalOptions = {}, requestParams) {
235
+ return async (input, options) => {
236
+ const startAt = Date.now();
237
+ const request = fetch(input, {
238
+ ...globalOptions,
239
+ ...options,
240
+ headers: {
241
+ ...globalOptions?.headers,
242
+ ...options?.headers,
243
+ "x-blocklet-js-sdk-version": version
244
+ }
245
+ });
246
+ try {
247
+ return request;
248
+ } catch (error) {
249
+ throw error;
250
+ } finally {
251
+ const endAt = Date.now();
252
+ if (requestParams?.lazy) {
253
+ const lazyTime = requestParams?.lazyTime ?? 300;
254
+ const timeDiff = endAt - startAt;
255
+ if (timeDiff < lazyTime)
256
+ await sleep(lazyTime - timeDiff);
257
+ }
258
+ }
259
+ };
260
+ }
261
+ async function renewRefreshToken(refreshToken) {
262
+ if (!refreshToken) {
263
+ throw new Error("Refresh token not found");
264
+ }
265
+ const refreshApi = createFetch$1();
266
+ const res = await refreshApi(joinURL(WELLKNOWN_SERVICE_PATH_PREFIX, "/api/did/refreshSession"), {
267
+ method: "POST",
268
+ headers: {
269
+ authorization: getBearerToken(refreshToken)
270
+ }
271
+ });
272
+ const data = await res.json();
273
+ return data;
274
+ }
275
+ function createRequest({
276
+ baseURL,
277
+ getSessionToken,
278
+ setSessionToken,
279
+ removeSessionToken,
280
+ getRefreshToken,
281
+ setRefreshToken,
282
+ removeRefreshToken,
283
+ onRefreshTokenError,
284
+ onRefreshTokenSuccess
285
+ }, requestOptions, requestParams) {
286
+ let refreshingTokenRequest = null;
287
+ const service = createFetch$1(requestOptions, requestParams);
288
+ return async (input, options) => {
289
+ let authorization;
290
+ const finalUrl = typeof input === "string" ? joinURL(baseURL, input) : input;
291
+ if (!Cookie.get(SESSION_TOKEN_STORAGE_KEY)) {
292
+ const token = getSessionToken();
293
+ if (token) {
294
+ authorization = getBearerToken(token);
295
+ }
296
+ }
297
+ if (refreshingTokenRequest) {
298
+ await refreshingTokenRequest;
299
+ }
300
+ const res = await service(finalUrl, {
301
+ ...options,
302
+ headers: {
303
+ ...options?.headers,
304
+ authorization
305
+ }
306
+ });
307
+ if (!res.ok && res.status === 401) {
308
+ refreshingTokenRequest = renewRefreshToken(getRefreshToken());
309
+ try {
310
+ const tokenData = await refreshingTokenRequest;
311
+ setSessionToken(tokenData.nextToken);
312
+ setRefreshToken(tokenData.nextRefreshToken);
313
+ if (typeof onRefreshTokenSuccess === "function") {
314
+ onRefreshTokenSuccess(tokenData);
315
+ }
316
+ return service(finalUrl, {
317
+ ...options,
318
+ headers: {
319
+ ...options?.headers,
320
+ authorization
321
+ }
322
+ });
323
+ } catch (error) {
324
+ removeSessionToken();
325
+ removeRefreshToken();
326
+ if (typeof onRefreshTokenError === "function") {
327
+ onRefreshTokenError(error);
328
+ }
329
+ return Promise.reject(error);
330
+ } finally {
331
+ refreshingTokenRequest = null;
332
+ }
333
+ }
334
+ return res;
335
+ };
336
+ }
337
+
231
338
  var __defProp = Object.defineProperty;
232
339
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
233
340
  var __publicField = (obj, key, value) => {
@@ -241,7 +348,34 @@ class BlockletSDK {
241
348
  __publicField(this, "userSession");
242
349
  __publicField(this, "token");
243
350
  const tokenService = new TokenService();
244
- const api = createRequest({
351
+ const internalApi = createRequest$1(
352
+ {
353
+ getSessionToken: tokenService.getSessionToken,
354
+ setSessionToken: tokenService.setSessionToken,
355
+ removeSessionToken: tokenService.removeSessionToken,
356
+ getRefreshToken: tokenService.getRefreshToken,
357
+ setRefreshToken: tokenService.setRefreshToken,
358
+ removeRefreshToken: tokenService.removeRefreshToken,
359
+ onRefreshTokenError: () => {
360
+ console.error("Failed to refresh token");
361
+ },
362
+ onRefreshTokenSuccess: () => {
363
+ }
364
+ },
365
+ {
366
+ baseURL: WELLKNOWN_SERVICE_PATH_PREFIX
367
+ }
368
+ );
369
+ this.user = new AuthService({ api: internalApi });
370
+ this.userSession = new UserSessionService({ api: internalApi });
371
+ this.token = tokenService;
372
+ this.api = internalApi;
373
+ }
374
+ }
375
+ function createAxios(config, requestParams) {
376
+ const tokenService = new TokenService();
377
+ return createRequest$1(
378
+ {
245
379
  getSessionToken: tokenService.getSessionToken,
246
380
  setSessionToken: tokenService.setSessionToken,
247
381
  removeSessionToken: tokenService.removeSessionToken,
@@ -253,12 +387,30 @@ class BlockletSDK {
253
387
  },
254
388
  onRefreshTokenSuccess: () => {
255
389
  }
256
- });
257
- this.user = new AuthService({ api });
258
- this.userSession = new UserSessionService({ api });
259
- this.api = api;
260
- this.token = tokenService;
261
- }
390
+ },
391
+ config,
392
+ requestParams
393
+ );
394
+ }
395
+ function createFetch(options, requestParams) {
396
+ const tokenService = new TokenService();
397
+ return createRequest(
398
+ {
399
+ getSessionToken: tokenService.getSessionToken,
400
+ setSessionToken: tokenService.setSessionToken,
401
+ removeSessionToken: tokenService.removeSessionToken,
402
+ getRefreshToken: tokenService.getRefreshToken,
403
+ setRefreshToken: tokenService.setRefreshToken,
404
+ removeRefreshToken: tokenService.removeRefreshToken,
405
+ onRefreshTokenError: () => {
406
+ console.error("Failed to refresh token");
407
+ },
408
+ onRefreshTokenSuccess: () => {
409
+ }
410
+ },
411
+ options,
412
+ requestParams
413
+ );
262
414
  }
263
415
 
264
- export { BlockletSDK };
416
+ export { BlockletSDK, createAxios, createFetch };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/js-sdk",
3
- "version": "1.16.26-beta-351de484",
3
+ "version": "1.16.26-beta-cca12425",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "build": "unbuild"
32
32
  },
33
33
  "dependencies": {
34
- "@abtnode/constant": "1.16.26-beta-351de484",
34
+ "@abtnode/constant": "1.16.26-beta-cca12425",
35
35
  "axios": "^0.27.2",
36
36
  "js-cookie": "^3.0.5",
37
37
  "ufo": "^1.3.2"
@@ -39,5 +39,5 @@
39
39
  "devDependencies": {
40
40
  "unbuild": "^2.0.0"
41
41
  },
42
- "gitHead": "00eba435a21506382c7823ea804abea196390a0f"
42
+ "gitHead": "fc2804fa8010d4311f1c74e65fb98d117598df2a"
43
43
  }