@mx-space/api-client 0.4.15 → 0.5.2

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 (64) hide show
  1. package/build/index.cjs.js +33 -21
  2. package/build/index.cjs.js.map +1 -1
  3. package/build/index.cjs.min.js +1 -1
  4. package/build/index.cjs.min.js.map +1 -1
  5. package/build/index.d.ts +57 -20
  6. package/build/index.esm.js +33 -21
  7. package/build/index.esm.js.map +1 -1
  8. package/build/index.esm.min.js +1 -1
  9. package/build/index.esm.min.js.map +1 -1
  10. package/build/index.umd.js +33 -21
  11. package/build/index.umd.js.map +1 -1
  12. package/build/index.umd.min.js +1 -1
  13. package/build/index.umd.min.js.map +1 -1
  14. package/esm/controllers/category.d.ts +13 -5
  15. package/esm/controllers/index.d.ts +1 -1
  16. package/esm/controllers/index.js +4 -0
  17. package/esm/controllers/index.js.map +1 -1
  18. package/esm/controllers/link.d.ts +1 -1
  19. package/esm/controllers/link.js +1 -1
  20. package/esm/controllers/link.js.map +1 -1
  21. package/esm/controllers/recently.d.ts +1 -1
  22. package/esm/controllers/recently.js +1 -1
  23. package/esm/controllers/recently.js.map +1 -1
  24. package/esm/controllers/snippet.d.ts +3 -3
  25. package/esm/controllers/snippet.js.map +1 -1
  26. package/esm/controllers/user.d.ts +1 -1
  27. package/esm/controllers/user.js +1 -1
  28. package/esm/controllers/user.js.map +1 -1
  29. package/esm/core/client.d.ts +20 -2
  30. package/esm/core/client.js +27 -8
  31. package/esm/core/client.js.map +1 -1
  32. package/esm/interfaces/controller.d.ts +1 -1
  33. package/esm/interfaces/request.d.ts +9 -2
  34. package/esm/models/aggregate.d.ts +6 -1
  35. package/esm/models/aggregate.js.map +1 -1
  36. package/lib/controllers/category.d.ts +13 -5
  37. package/lib/controllers/index.d.ts +1 -1
  38. package/lib/controllers/index.js +4 -0
  39. package/lib/controllers/index.js.map +1 -1
  40. package/lib/controllers/link.d.ts +1 -1
  41. package/lib/controllers/link.js +1 -1
  42. package/lib/controllers/link.js.map +1 -1
  43. package/lib/controllers/recently.d.ts +1 -1
  44. package/lib/controllers/recently.js +1 -1
  45. package/lib/controllers/recently.js.map +1 -1
  46. package/lib/controllers/snippet.d.ts +3 -3
  47. package/lib/controllers/snippet.js.map +1 -1
  48. package/lib/controllers/user.d.ts +1 -1
  49. package/lib/controllers/user.js +1 -1
  50. package/lib/controllers/user.js.map +1 -1
  51. package/lib/core/client.d.ts +20 -2
  52. package/lib/core/client.js +26 -7
  53. package/lib/core/client.js.map +1 -1
  54. package/lib/interfaces/controller.d.ts +1 -1
  55. package/lib/interfaces/request.d.ts +9 -2
  56. package/lib/models/aggregate.d.ts +6 -1
  57. package/lib/models/aggregate.js.map +1 -1
  58. package/package.json +5 -5
  59. package/esm/core/define.d.ts +0 -19
  60. package/esm/core/define.js +0 -12
  61. package/esm/core/define.js.map +0 -1
  62. package/lib/core/define.d.ts +0 -19
  63. package/lib/core/define.js +0 -16
  64. package/lib/core/define.js.map +0 -1
@@ -6,7 +6,7 @@ class RecentlyController {
6
6
  constructor(client) {
7
7
  this.client = client;
8
8
  this.base = 'recently';
9
- this.name = 'recently';
9
+ this.name = ['recently', 'shorthand'];
10
10
  (0, auto_bind_1.autoBind)(this);
11
11
  }
12
12
  get proxy() {
@@ -1 +1 @@
1
- {"version":3,"file":"recently.js","sourceRoot":"","sources":["../../src/controllers/recently.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,kBAAkB;IAI7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH/C,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,UAAU,CAAA;QAGf,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAiB,CAAA;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAA6B,CAAA;IACxD,CAAC;IAED,OAAO,CACL,MAA2B,EAC3B,KAA0B,EAC1B,IAAsB;QAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE;gBACN,MAAM;gBACN,KAAK;gBACL,IAAI;aACL;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAnCD,gDAmCC"}
1
+ {"version":3,"file":"recently.js","sourceRoot":"","sources":["../../src/controllers/recently.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,kBAAkB;IAI7B,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAH/C,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAG9B,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IACD;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAiB,CAAA;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAA6B,CAAA;IACxD,CAAC;IAED,OAAO,CACL,MAA2B,EAC3B,KAA0B,EAC1B,IAAsB;QAEtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YAC/C,MAAM,EAAE;gBACN,MAAM;gBACN,KAAK;gBACL,IAAI;aACL;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAnCD,gDAmCC"}
@@ -7,12 +7,12 @@ export declare class SnippetController implements IController {
7
7
  name: string;
8
8
  constructor(client: HTTPClient);
9
9
  get proxy(): import("../interfaces/request").IRequestHandler;
10
- getById<T>(id: string): import("../interfaces/request").RequestProxyResult<SnippetModel<T>, {
10
+ getById<T = unknown>(id: string): import("../interfaces/request").RequestProxyResult<SnippetModel<T>, {
11
11
  [key: string]: any;
12
12
  data: SnippetModel<T>;
13
13
  }>;
14
- getByReferenceAndName<T>(reference: string, name: string): import("../interfaces/request").RequestProxyResult<SnippetModel<T>, {
14
+ getByReferenceAndName<T = unknown>(reference: string, name: string): import("../interfaces/request").RequestProxyResult<T, {
15
15
  [key: string]: any;
16
- data: SnippetModel<T>;
16
+ data: T;
17
17
  }>;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../src/controllers/snippet.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,iBAAiB;IAI5B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,SAAS,CAAA;QAGd,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAI,EAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAmB,CAAA;IAC9C,CAAC;IAED,qBAAqB,CAAI,SAAiB,EAAE,IAAY;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAmB,CAAA;IAC3D,CAAC;CACF;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../src/controllers/snippet.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,iBAAiB;IAI5B,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAHxC,SAAI,GAAG,UAAU,CAAA;QACjB,SAAI,GAAG,SAAS,CAAA;QAGd,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,OAAO,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAmB,CAAA;IAC9C,CAAC;IAED,qBAAqB,CAAc,SAAiB,EAAE,IAAY;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAK,CAAA;IAC7C,CAAC;CACF;AAnBD,8CAmBC"}
@@ -5,7 +5,7 @@ export declare class UserController implements IController {
5
5
  private readonly client;
6
6
  constructor(client: HTTPClient);
7
7
  base: string;
8
- name: string;
8
+ name: string[];
9
9
  get proxy(): import("../interfaces/request").IRequestHandler;
10
10
  getMasterInfo(): import("../interfaces/request").RequestProxyResult<UserModel, {
11
11
  [key: string]: any;
@@ -6,7 +6,7 @@ class UserController {
6
6
  constructor(client) {
7
7
  this.client = client;
8
8
  this.base = 'master';
9
- this.name = 'user';
9
+ this.name = ['user', 'master'];
10
10
  (0, auto_bind_1.autoBind)(this);
11
11
  }
12
12
  get proxy() {
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/controllers/user.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,cAAc;IACzB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAI/C,SAAI,GAAG,QAAQ,CAAA;QAEf,SAAI,GAAG,MAAM,CAAA;QALX,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAa,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,QAAgB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAS;YACnC,IAAI,EAAE;gBACJ,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAmC;YACnE,MAAM,EAAE;gBACN,KAAK;aACN;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAjCD,wCAiCC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/controllers/user.ts"],"names":[],"mappings":";;;AAEA,kDAA4C;AAG5C,MAAa,cAAc;IACzB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QAI/C,SAAI,GAAG,QAAQ,CAAA;QAEf,SAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QALvB,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAMD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAa,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,QAAgB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAS;YACnC,IAAI,EAAE;gBACJ,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAmC;YACnE,MAAM,EAAE;gBACN,KAAK;aACN;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAjCD,wCAiCC"}
@@ -3,8 +3,26 @@ import { IController } from "../interfaces/controller";
3
3
  import { IRequestAdapter } from "../interfaces/instance";
4
4
  import { IRequestHandler } from "../interfaces/request";
5
5
  import { Class } from "../types/helper";
6
- import { HTTPControllerDefine } from './define';
7
- export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> extends HTTPControllerDefine {
6
+ import { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, UserController } from '../controllers';
7
+ export interface HTTPClient {
8
+ aggregate: AggregateController;
9
+ category: CategoryController;
10
+ comment: CommentController;
11
+ link: LinkController;
12
+ note: NoteController;
13
+ page: PageController;
14
+ post: PostController;
15
+ project: ProjectController;
16
+ recently: RecentlyController;
17
+ say: SayController;
18
+ search: SearchController;
19
+ snippet: SnippetController;
20
+ user: UserController;
21
+ master: HTTPClient['user'];
22
+ friend: HTTPClient['link'];
23
+ shorthand: HTTPClient['recently'];
24
+ }
25
+ export declare class HTTPClient<T extends IRequestAdapter = IRequestAdapter> {
8
26
  private _endpoint;
9
27
  private _adaptor;
10
28
  private _proxy;
@@ -8,26 +8,35 @@ const camelcase_keys_1 = __importDefault(require("camelcase-keys"));
8
8
  const utils_1 = require("../utils");
9
9
  const controllers_1 = require("../controllers");
10
10
  const attachRequest_1 = require("./attachRequest");
11
- const define_1 = require("./define");
12
11
  const error_1 = require("./error");
13
- class HTTPClient extends define_1.HTTPControllerDefine {
12
+ const methodPrefix = '_$';
13
+ class HTTPClient {
14
14
  constructor(_endpoint, _adaptor) {
15
- super();
16
15
  this._endpoint = _endpoint;
17
16
  this._adaptor = _adaptor;
17
+ // super()
18
18
  this._endpoint = _endpoint
19
19
  .replace(/\/*$/, '')
20
20
  .replace('localhost', '127.0.0.1');
21
21
  this._proxy = this.buildRoute(this)();
22
22
  this.initGetClient();
23
23
  (0, attachRequest_1.attachRequestMethod)(this);
24
+ // const proxy = new Proxy(this, {
25
+ // get(target, key, r) {
26
+ // return (
27
+ // Reflect.get(target, key, r) ||
28
+ // (typeof key === 'string' &&
29
+ // Reflect.get(target, methodPrefix + key, r))
30
+ // )
31
+ // },
32
+ // })
33
+ // return proxy
24
34
  }
25
35
  initGetClient() {
26
- const clientsName = controllers_1.allContollerNames;
27
- for (const name of clientsName) {
36
+ for (const name of controllers_1.allContollerNames) {
28
37
  Object.defineProperty(this, name, {
29
38
  get() {
30
- const client = Reflect.get(this, `_${name}`);
39
+ const client = Reflect.get(this, `${methodPrefix}${name}`);
31
40
  if (!client) {
32
41
  throw new ReferenceError(`${name.charAt(0).toUpperCase() + name.slice(1)} Client not inject yet, please inject with client.injectClients(...)`);
33
42
  }
@@ -42,7 +51,17 @@ class HTTPClient extends define_1.HTTPControllerDefine {
42
51
  Controller = Array.isArray(Controller) ? Controller : [Controller, ...rest];
43
52
  for (const Client of Controller) {
44
53
  const cl = new Client(this);
45
- Object.defineProperty(this, `_${cl.name.toLowerCase()}`, {
54
+ if (Array.isArray(cl.name)) {
55
+ for (const name of cl.name) {
56
+ attach.call(this, name, cl);
57
+ }
58
+ }
59
+ else {
60
+ attach.call(this, cl.name, cl);
61
+ }
62
+ }
63
+ function attach(name, cl) {
64
+ Object.defineProperty(this, `${methodPrefix}${name.toLowerCase()}`, {
46
65
  get() {
47
66
  return cl;
48
67
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA0C;AAM1C,oCAAuC;AACvC,gDAeuB;AACvB,mDAAqD;AACrD,mCAAsC;AAwBtC,MAAM,YAAY,GAAG,IAAI,CAAA;AAEzB,MAAa,UAAU;IAGrB,YAAoB,SAAiB,EAAU,QAAW;QAAtC,cAAS,GAAT,SAAS,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAG;QACxD,UAAU;QACV,IAAI,CAAC,SAAS,GAAG,SAAS;aACvB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAA;QAErC,IAAI,CAAC,aAAa,EAAE,CAAA;QAEpB,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAA;QAEzB,kCAAkC;QAClC,0BAA0B;QAC1B,eAAe;QACf,uCAAuC;QACvC,oCAAoC;QACpC,sDAAsD;QACtD,QAAQ;QACR,OAAO;QACP,KAAK;QAEL,eAAe;IACjB,CAAC;IAEO,aAAa;QACnB,KAAK,MAAM,IAAI,IAAI,+BAAiB,EAAE;YACpC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;gBAChC,GAAG;oBACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,CAAA;oBAC1D,IAAI,CAAC,MAAM,EAAE;wBACX,MAAM,IAAI,cAAc,CACtB,GACE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAC7C,sEAAsE,CACvE,CAAA;qBACF;oBACD,OAAO,MAAM,CAAA;gBACf,CAAC;gBACD,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,KAAK;aAClB,CAAC,CAAA;SACH;IACH,CAAC;IAIM,iBAAiB,CAAC,UAAe,EAAE,GAAG,IAAW;QACtD,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAA;QAC3E,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;YAC/B,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;YAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC1B,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE;oBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;iBAC5B;aACF;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;aAC/B;SACF;QAED,SAAS,MAAM,CAAY,IAAY,EAAE,EAAe;YACtD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE;gBAClE,GAAG;oBACD,OAAO,EAAE,CAAA;gBACX,CAAC;gBACD,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,KAAK;aACpB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,OAAO,CAAC,OAKd;QACC,OAAQ,IAAY,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CACxE,OAAO,CAAC,GAAG,EACX,OAAO,CACR,CAAA;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA;SAClB;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAA;IAClC,CAAC;IAEO,UAAU,CAAC,OAAa;QAC9B,gEAAgE;QAChE,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;QACrB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG;YACjB,UAAU;YACV,SAAS;YACT,SAAS;YACT,aAAa;YACb,MAAM,CAAC,WAAW;YAClB,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;SAClC,CAAA;QACD,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAA;QAEjB,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YAElB,MAAM,OAAO,GAAQ;gBACnB,GAAG,CAAC,MAAW,EAAE,IAAY;oBAC3B,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC3D,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC1B,OAAO,KAAK,EAAE,OAAuB,EAAE,EAAE;;4BACvC,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;4BACjD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;4BAChB,IAAI,GAAQ,CAAA;4BACZ,IAAI;gCACF,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,+BACzB,MAAM,EAAE,IAAI,IACT,OAAO,KACV,GAAG,IACH,CAAA;6BACH;4BAAC,OAAO,CAAM,EAAE;gCACf,MAAM,IAAI,oBAAY,CACpB,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,IAAI;oCACJ,CAAC,CAAC,MAAM;oCACR,CAAC,CAAC,UAAU;qCACZ,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,CAAA;qCAClB,MAAA,CAAC,CAAC,QAAQ,0CAAE,UAAU,CAAA;qCACtB,MAAA,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAA;oCAChB,GAAG,EACL,GAAG,EACH,CAAC,CACF,CAAA;6BACF;4BAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;4BACrB,IAAI,CAAC,IAAI,EAAE;gCACT,OAAO,IAAI,CAAA;6BACZ;4BAED,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC;gCACxC,CAAC,CAAC,IAAA,wBAAa,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCACrC,CAAC,CAAC,IAAI,CAAA;4BAEV,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gCAC9C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE;oCACvC,GAAG;wCACD,OAAO,GAAG,CAAA;oCACZ,CAAC;oCACD,UAAU,EAAE,KAAK;oCACjB,YAAY,EAAE,KAAK;iCACpB,CAAC,CAAA;gCAEF,sCAAsC;gCAEtC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE;oCAC3C,GAAG;wCACD,OAAO;4CACL,GAAG;4CACH,MAAM,EAAE,IAAI;4CACZ,OAAO;yCACR,CAAA;oCACH,CAAC;oCACD,UAAU,EAAE,KAAK;iCAClB,CAAC,CAAA;6BACH;4BAED,OAAO,SAAS,CAAA;wBAClB,CAAC,CAAA;qBACF;oBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAChB,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACjC,CAAC;gBACD,aAAa;gBACb,KAAK,CAAC,MAAW,EAAE,CAAC,EAAE,IAAI;oBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAA;oBACrD,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACjC,CAAC;aACF,CAAA;YAED,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAQ,CAAA;QACxC,CAAC,CAAA;IACH,CAAC;CACF;AAzMD,gCAyMC;AAED,SAAgB,YAAY,CAA4B,OAAU;IAChE,OAAO,CAAC,QAAgB,EAAE,OAAuB,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QACrC,IAAI,WAAW,EAAE;YACf,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;SACtC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AATD,oCASC"}
@@ -1,4 +1,4 @@
1
1
  export interface IController {
2
2
  base: string;
3
- name: string;
3
+ name: string | string[];
4
4
  }
@@ -16,8 +16,15 @@ export declare type RequestProxyResult<T, R = {
16
16
  data: T;
17
17
  [key: string]: any;
18
18
  }> = Promise<ResponseProxyExtraRaw<T, R>>;
19
- export declare type ResponseProxyExtraRaw<T, R = any> = T extends object ? T & {
20
- $raw: R;
19
+ declare type CamelToSnake<T extends string, P extends string = ''> = string extends T ? string : T extends `${infer C0}${infer R}` ? CamelToSnake<R, `${P}${C0 extends Lowercase<C0> ? '' : '_'}${Lowercase<C0>}`> : P;
20
+ declare type CamelKeysToSnake<T> = {
21
+ [K in keyof T as CamelToSnake<Extract<K, string>>]: T[K];
22
+ };
23
+ export declare type ResponseProxyExtraRaw<T, RawData = unknown, Response = unknown> = T extends object ? T & {
24
+ $raw: Response extends unknown ? {
25
+ [i: string]: any;
26
+ data: RawData extends unknown ? CamelKeysToSnake<T> : RawData;
27
+ } : Response;
21
28
  $request: {
22
29
  path: string;
23
30
  method: string;
@@ -8,9 +8,14 @@ import { UserModel } from './user';
8
8
  export interface AggregateRoot {
9
9
  user: UserModel;
10
10
  seo: SeoOptionModel;
11
+ url: Url;
11
12
  categories: CategoryModel[];
12
13
  pageMeta: Pick<PageModel, 'title' | 'id' | 'slug' | 'order'>[] | null;
13
- lastestNoteNid: number | null;
14
+ }
15
+ export interface Url {
16
+ wsUrl: string;
17
+ serverUrl: string;
18
+ webUrl: string;
14
19
  }
15
20
  export interface AggregateTop {
16
21
  notes: Pick<NoteModel, 'id' | 'title' | 'created' | 'nid'>[];
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../src/models/aggregate.ts"],"names":[],"mappings":";;;AAsBA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAAI,CAAA;IACJ,+CAAI,CAAA;AACN,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../src/models/aggregate.ts"],"names":[],"mappings":";;;AA4BA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,+CAAI,CAAA;IACJ,+CAAI,CAAA;AACN,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mx-space/api-client",
3
- "version": "0.4.15",
3
+ "version": "0.5.2",
4
4
  "description": "A api client for mx-space server@next",
5
5
  "author": "Innei",
6
6
  "license": "MIT",
@@ -61,10 +61,10 @@
61
61
  "@innei-util/prettier": "latest",
62
62
  "@innei/bump-version": "0.1.5",
63
63
  "@rollup/plugin-commonjs": "21.0.1",
64
- "@rollup/plugin-node-resolve": "13.1.1",
64
+ "@rollup/plugin-node-resolve": "13.1.2",
65
65
  "@rollup/plugin-typescript": "8.3.0",
66
66
  "@types/express": "4.17.13",
67
- "@types/jest": "27.0.3",
67
+ "@types/jest": "27.4.0",
68
68
  "@types/lodash": "4.14.178",
69
69
  "@types/node": "16.11.17",
70
70
  "@types/react": "17.0.38",
@@ -73,7 +73,7 @@
73
73
  "axios": "0.24.0",
74
74
  "cors": "2.8.5",
75
75
  "dts-bundle-generator": "6.2.0",
76
- "esbuild": "0.14.8",
76
+ "esbuild": "0.14.9",
77
77
  "express": "4.17.2",
78
78
  "gh-pages": "3.2.3",
79
79
  "husky": "7.0.4",
@@ -92,7 +92,7 @@
92
92
  "ttypescript": "1.5.13",
93
93
  "typescript": "4.4.4",
94
94
  "umi-request": "1.4.0",
95
- "vite": "2.7.7",
95
+ "vite": "2.7.10",
96
96
  "vite-tsconfig-paths": "3.3.17"
97
97
  },
98
98
  "dependencies": {
@@ -1,19 +0,0 @@
1
- import { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, UserController } from '../controllers';
2
- export declare class HTTPControllerDefine {
3
- aggregate: AggregateController;
4
- category: CategoryController;
5
- comment: CommentController;
6
- link: LinkController;
7
- note: NoteController;
8
- page: PageController;
9
- post: PostController;
10
- project: ProjectController;
11
- recently: RecentlyController;
12
- say: SayController;
13
- search: SearchController;
14
- snippet: SnippetController;
15
- user: UserController;
16
- get master(): UserController;
17
- get friend(): LinkController;
18
- get shorthand(): RecentlyController;
19
- }
@@ -1,12 +0,0 @@
1
- export class HTTPControllerDefine {
2
- get master() {
3
- return this.user;
4
- }
5
- get friend() {
6
- return this.link;
7
- }
8
- get shorthand() {
9
- return this.recently;
10
- }
11
- }
12
- //# sourceMappingURL=define.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/core/define.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,oBAAoB;IAe/B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- import { AggregateController, CategoryController, CommentController, LinkController, NoteController, PageController, PostController, ProjectController, RecentlyController, SayController, SearchController, SnippetController, UserController } from '../controllers';
2
- export declare class HTTPControllerDefine {
3
- aggregate: AggregateController;
4
- category: CategoryController;
5
- comment: CommentController;
6
- link: LinkController;
7
- note: NoteController;
8
- page: PageController;
9
- post: PostController;
10
- project: ProjectController;
11
- recently: RecentlyController;
12
- say: SayController;
13
- search: SearchController;
14
- snippet: SnippetController;
15
- user: UserController;
16
- get master(): UserController;
17
- get friend(): LinkController;
18
- get shorthand(): RecentlyController;
19
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HTTPControllerDefine = void 0;
4
- class HTTPControllerDefine {
5
- get master() {
6
- return this.user;
7
- }
8
- get friend() {
9
- return this.link;
10
- }
11
- get shorthand() {
12
- return this.recently;
13
- }
14
- }
15
- exports.HTTPControllerDefine = HTTPControllerDefine;
16
- //# sourceMappingURL=define.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/core/define.ts"],"names":[],"mappings":";;;AAgBA,MAAa,oBAAoB;IAe/B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF;AA1BD,oDA0BC"}