From 9bbc245dcc6bae25bd42c1bc2204d5401d8eee7a Mon Sep 17 00:00:00 2001 From: abearxiong Date: Fri, 5 Dec 2025 20:13:41 +0800 Subject: [PATCH] update --- package.json | 2 +- src/query-browser.ts | 6 +++--- src/query.ts | 35 ++++++++++++++++++++++++++++++++++- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5f49dad..12dcf6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kevisual/query", - "version": "0.0.30", + "version": "0.0.31", "main": "dist/query-browser.js", "private": false, "type": "module", diff --git a/src/query-browser.ts b/src/query-browser.ts index 908eedb..0faa4e5 100644 --- a/src/query-browser.ts +++ b/src/query-browser.ts @@ -1,9 +1,9 @@ import { adapter } from './adapter.ts'; import { QueryWs, QueryWsOpts } from './ws.ts'; -import { Query } from './query.ts'; -import { wrapperError } from './query.ts'; +import { Query, ClientQuery } from './query.ts'; +import { BaseQuery, wrapperError } from './query.ts'; -export { QueryOpts, QueryWs, Query, QueryWsOpts, adapter, wrapperError }; +export { QueryOpts, QueryWs, ClientQuery, Query, QueryWsOpts, adapter, BaseQuery, wrapperError }; export type { DataOpts, Result, Data } from './query.ts'; diff --git a/src/query.ts b/src/query.ts index c06ff2f..fda90bc 100644 --- a/src/query.ts +++ b/src/query.ts @@ -254,4 +254,37 @@ export class Query { } } -export { adapter }; \ No newline at end of file +export { adapter }; + + +/** @deprecated */ +export class BaseQuery { + query: T; + queryDefine: R; + constructor(opts?: { query?: T; queryDefine?: R; clientQuery?: T }) { + if (opts?.clientQuery) { + this.query = opts.clientQuery; + } else { + this.query = opts?.query; + } + if (opts.queryDefine) { + this.queryDefine = opts.queryDefine; + this.queryDefine.query = this.query; + } + } + get chain(): R['queryChain'] { + return this.queryDefine.queryChain; + } + post(data: P, options?: DataOpts): Promise> { + return this.query.post(data, options); + } + get(data: P, options?: DataOpts): Promise> { + return this.query.get(data, options); + } +} + +export class ClientQuery extends Query { + constructor(opts?: QueryOpts) { + super({ ...opts, url: opts?.url || '/client/router' }); + } +}