@kevisual/query 0.0.51 → 0.0.53

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.
@@ -103,6 +103,7 @@ type Fn = (opts: {
103
103
  }) => Promise<Record<string, any> | false>;
104
104
  type QueryOpts = {
105
105
  adapter?: typeof adapter;
106
+ token?: string;
106
107
  [key: string]: any;
107
108
  } & AdapterOpts;
108
109
  type QueryOptions = {
package/dist/query-api.js CHANGED
@@ -203,6 +203,10 @@ class Query {
203
203
  });
204
204
  }
205
205
  }
206
+ const headers2 = req.headers || {};
207
+ if (options?.token && !headers2["Authorization"]) {
208
+ headers2["Authorization"] = `Bearer ${options.token}`;
209
+ }
206
210
  } catch (e) {
207
211
  console.error("request beforeFn error", e, req);
208
212
  return wrapperError({
@@ -263,20 +267,20 @@ class Query {
263
267
  this.afterResponse = fn;
264
268
  }
265
269
  async fetchText(urlOrOptions, options) {
266
- let _options = { ...options };
270
+ let _options = { method: "GET", ...options };
267
271
  if (typeof urlOrOptions === "string" && !_options.url) {
268
272
  _options.url = urlOrOptions;
269
273
  }
270
274
  if (typeof urlOrOptions === "object") {
271
275
  _options = { ...urlOrOptions, ..._options };
272
276
  }
277
+ const headers = { ...this.headers, ..._options.headers };
278
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
279
+ headers["Authorization"] = `Bearer ${options.token}`;
280
+ }
273
281
  const res = await adapter({
274
- method: "GET",
275
282
  ..._options,
276
- headers: {
277
- ...this.headers,
278
- ..._options?.headers || {}
279
- }
283
+ headers
280
284
  });
281
285
  if (res && !res.code) {
282
286
  return {
@@ -288,7 +292,7 @@ class Query {
288
292
  }
289
293
  }
290
294
 
291
- // node_modules/.pnpm/@kevisual+router@0.0.84/node_modules/@kevisual/router/dist/router-browser.js
295
+ // node_modules/.pnpm/@kevisual+router@0.0.85/node_modules/@kevisual/router/dist/router-browser.js
292
296
  var __create = Object.create;
293
297
  var __getProtoOf = Object.getPrototypeOf;
294
298
  var __defProp = Object.defineProperty;
@@ -14082,7 +14086,6 @@ var createQueryByRoutes = (list, options) => {
14082
14086
  export { queryApi };`;
14083
14087
  const code = `${before}
14084
14088
  const api = ${generateApiCode(obj)} as const;
14085
- const queryApi = createQueryApi({ api });
14086
14089
  ${after}
14087
14090
  `;
14088
14091
  return code;
@@ -14093,13 +14096,13 @@ function generateApiCode(obj) {
14093
14096
  const paths = Object.keys(obj);
14094
14097
  for (let i = 0;i < paths.length; i++) {
14095
14098
  const path = paths[i];
14096
- const methods = obj[path];
14099
+ const methods2 = obj[path];
14097
14100
  code += ` "${path}": {
14098
14101
  `;
14099
- const keys = Object.keys(methods);
14102
+ const keys = Object.keys(methods2);
14100
14103
  for (let j = 0;j < keys.length; j++) {
14101
14104
  const key = keys[j];
14102
- const route = methods[key];
14105
+ const route = methods2[key];
14103
14106
  if (route?.id) {
14104
14107
  if (route.id.startsWith("rand-")) {
14105
14108
  delete route.id;
@@ -14181,7 +14184,7 @@ function generateApiCode(obj) {
14181
14184
  return code;
14182
14185
  }
14183
14186
 
14184
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/object/pick.mjs
14187
+ // node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/object/pick.mjs
14185
14188
  function pick(obj, keys) {
14186
14189
  const result = {};
14187
14190
  for (let i = 0;i < keys.length; i++) {
@@ -14212,13 +14215,13 @@ class QueryApi {
14212
14215
  const that = this;
14213
14216
  const apiEntries = Object.entries(api);
14214
14217
  const keepPaths = ["createApi", "query", "post"];
14215
- for (const [path, methods] of apiEntries) {
14218
+ for (const [path, methods2] of apiEntries) {
14216
14219
  if (keepPaths.includes(path))
14217
14220
  continue;
14218
14221
  if (!that[path]) {
14219
14222
  that[path] = {};
14220
14223
  }
14221
- for (const [key, pos] of Object.entries(methods)) {
14224
+ for (const [key, pos] of Object.entries(methods2)) {
14222
14225
  that[path][key] = (data, opts = {}) => {
14223
14226
  const _pos = pick(pos, ["path", "key", "id"]);
14224
14227
  if (pos.metadata?.viewItem?.api?.url && !opts.url) {
@@ -102,6 +102,7 @@ type Fn = (opts: {
102
102
  }) => Promise<Record<string, any> | false>;
103
103
  type QueryOpts$1 = {
104
104
  adapter?: typeof adapter;
105
+ token?: string;
105
106
  [key: string]: any;
106
107
  } & AdapterOpts;
107
108
  type QueryOptions = {
@@ -400,6 +400,10 @@ class Query {
400
400
  });
401
401
  }
402
402
  }
403
+ const headers2 = req.headers || {};
404
+ if (options?.token && !headers2["Authorization"]) {
405
+ headers2["Authorization"] = `Bearer ${options.token}`;
406
+ }
403
407
  } catch (e) {
404
408
  console.error("request beforeFn error", e, req);
405
409
  return wrapperError({
@@ -460,20 +464,20 @@ class Query {
460
464
  this.afterResponse = fn;
461
465
  }
462
466
  async fetchText(urlOrOptions, options) {
463
- let _options = { ...options };
467
+ let _options = { method: "GET", ...options };
464
468
  if (typeof urlOrOptions === "string" && !_options.url) {
465
469
  _options.url = urlOrOptions;
466
470
  }
467
471
  if (typeof urlOrOptions === "object") {
468
472
  _options = { ...urlOrOptions, ..._options };
469
473
  }
474
+ const headers = { ...this.headers, ..._options.headers };
475
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
476
+ headers["Authorization"] = `Bearer ${options.token}`;
477
+ }
470
478
  const res = await adapter({
471
- method: "GET",
472
479
  ..._options,
473
- headers: {
474
- ...this.headers,
475
- ..._options?.headers || {}
476
- }
480
+ headers
477
481
  });
478
482
  if (res && !res.code) {
479
483
  return {
package/dist/query.d.ts CHANGED
@@ -102,6 +102,7 @@ type Fn = (opts: {
102
102
  }) => Promise<Record<string, any> | false>;
103
103
  type QueryOpts = {
104
104
  adapter?: typeof adapter;
105
+ token?: string;
105
106
  [key: string]: any;
106
107
  } & AdapterOpts;
107
108
  type QueryOptions = {
package/dist/query.js CHANGED
@@ -203,6 +203,10 @@ class Query {
203
203
  });
204
204
  }
205
205
  }
206
+ const headers2 = req.headers || {};
207
+ if (options?.token && !headers2["Authorization"]) {
208
+ headers2["Authorization"] = `Bearer ${options.token}`;
209
+ }
206
210
  } catch (e) {
207
211
  console.error("request beforeFn error", e, req);
208
212
  return wrapperError({
@@ -263,20 +267,20 @@ class Query {
263
267
  this.afterResponse = fn;
264
268
  }
265
269
  async fetchText(urlOrOptions, options) {
266
- let _options = { ...options };
270
+ let _options = { method: "GET", ...options };
267
271
  if (typeof urlOrOptions === "string" && !_options.url) {
268
272
  _options.url = urlOrOptions;
269
273
  }
270
274
  if (typeof urlOrOptions === "object") {
271
275
  _options = { ...urlOrOptions, ..._options };
272
276
  }
277
+ const headers = { ...this.headers, ..._options.headers };
278
+ if (options?.token && !headers["Authorization"] && _options.method !== "GET") {
279
+ headers["Authorization"] = `Bearer ${options.token}`;
280
+ }
273
281
  const res = await adapter({
274
- method: "GET",
275
282
  ..._options,
276
- headers: {
277
- ...this.headers,
278
- ..._options?.headers || {}
279
- }
283
+ headers
280
284
  });
281
285
  if (res && !res.code) {
282
286
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevisual/query",
3
- "version": "0.0.51",
3
+ "version": "0.0.53",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "npm run clean && bun run bun.config.ts",
@@ -19,10 +19,10 @@
19
19
  "description": "",
20
20
  "devDependencies": {
21
21
  "@kevisual/code-builder": "^0.0.6",
22
- "@kevisual/router": "^0.0.84",
23
- "@types/node": "^25.3.0",
22
+ "@kevisual/router": "^0.0.85",
23
+ "@types/node": "^25.3.5",
24
24
  "typescript": "^5.9.3",
25
- "es-toolkit": "^1.44.0",
25
+ "es-toolkit": "^1.45.1",
26
26
  "zod": "^4.3.6",
27
27
  "zustand": "^5.0.11"
28
28
  },
@@ -71,7 +71,6 @@ export const createQueryByRoutes = (list: RouteInfo[], options?: CreateQueryOpti
71
71
  export { queryApi };`;
72
72
  const code = `${before}
73
73
  const api = ${generateApiCode(obj)} as const;
74
- const queryApi = createQueryApi({ api });
75
74
  ${after}
76
75
  `
77
76
  return code;
package/src/query.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { adapter, Method, AdapterOpts } from './adapter.ts';
1
+ import { adapter, Method, AdapterOpts, methods } from './adapter.ts';
2
2
  import type { QueryWs } from './ws.ts';
3
3
  /**
4
4
  * 请求前处理函数
@@ -15,6 +15,7 @@ export type Fn = (opts: {
15
15
 
16
16
  export type QueryOpts = {
17
17
  adapter?: typeof adapter;
18
+ token?: string;
18
19
  [key: string]: any;
19
20
  } & AdapterOpts;
20
21
 
@@ -155,6 +156,7 @@ export class Query {
155
156
  const _beforeRequest = beforeRequest || this.beforeRequest;
156
157
  const _afterResponse = afterResponse || this.afterResponse;
157
158
  const _timeout = timeout || this.timeout;
159
+
158
160
  const req = {
159
161
  url: url,
160
162
  headers: _headers,
@@ -182,6 +184,10 @@ export class Query {
182
184
  });
183
185
  }
184
186
  }
187
+ const headers = req.headers || {};
188
+ if (options?.token && !headers['Authorization']) {
189
+ headers['Authorization'] = `Bearer ${options.token}`;
190
+ }
185
191
  } catch (e) {
186
192
  console.error('request beforeFn error', e, req);
187
193
  return wrapperError({
@@ -254,20 +260,20 @@ export class Query {
254
260
  this.afterResponse = fn;
255
261
  }
256
262
  async fetchText(urlOrOptions?: string | QueryOpts, options?: QueryOpts): Promise<Result<any>> {
257
- let _options = { ...options };
263
+ let _options = { method: 'GET' as const, ...options };
258
264
  if (typeof urlOrOptions === 'string' && !_options.url) {
259
265
  _options.url = urlOrOptions;
260
266
  }
261
267
  if (typeof urlOrOptions === 'object') {
262
268
  _options = { ...urlOrOptions, ..._options };
263
269
  }
270
+ const headers = { ...this.headers, ..._options.headers };
271
+ if (options?.token && !headers['Authorization'] && _options.method !== 'GET') {
272
+ headers['Authorization'] = `Bearer ${options.token}`;
273
+ }
264
274
  const res = await adapter({
265
- method: 'GET',
266
275
  ..._options,
267
- headers: {
268
- ...this.headers,
269
- ...(_options?.headers || {}),
270
- },
276
+ headers,
271
277
  });
272
278
  if (res && !res.code) {
273
279
  return {