@superbia/untrue 2.0.5 → 2.1.1

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/Api.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import { Context, State } from "untrue";
2
- import { Client, EndpointRecord, Response, ResponseResult } from "@superbia/client";
2
+ import { Client, EndpointRecord, ResponseResult } from "@superbia/client";
3
3
  import { DocumentSchemaRecord } from "./SuperbiaContext";
4
4
  import { DocumentContext, Documents } from "./DocumentContext";
5
- import { RequestContext, Request } from "./RequestContext";
5
+ import { RequestContext, Request, RequestResult } from "./RequestContext";
6
6
  export default class Api<K extends DocumentSchemaRecord, M extends EndpointRecord, N extends EndpointRecord = {}, O extends string = "id", P = any> extends Context<State, P> {
7
7
  readonly client: Client<M, N>;
8
8
  readonly documents: DocumentContext<K, M, O>;
9
9
  readonly requests: RequestContext<M, O>;
10
10
  constructor(client: Client<M, N>, idKey?: string);
11
11
  useDocuments<W>(selector: (documents: Documents<K, O>) => W): W;
12
- useRequest<Y extends ResponseResult, W, X extends any[] = any[]>(key: string, selector: (request: Request<Y, O>) => W, requester?: (...args: X) => Promise<Response<Y>>): [W, (...args: X) => Promise<void>];
13
- useLoad<Y extends ResponseResult, W, X extends any[]>(key: string, selector: (request: Request<Y, O>) => W, loader: (...args: X) => Promise<Response<Y>>): [W, (...args: X) => Promise<void>];
12
+ useRequest<Y extends ResponseResult, W, X extends any[] = any[]>(key: string, selector: (request: Request<RequestResult<Y, O>>) => W, requester?: (...args: X) => Promise<Y>): [W, (...args: X) => Promise<void>];
13
+ useLoad<Y extends ResponseResult, W, X extends any[]>(key: string, selector: (request: Request<RequestResult<Y, O>>) => W, loader: (...args: X) => Promise<Y>): [W, (...args: X) => Promise<void>];
14
14
  useRequestKey(params?: any[]): string;
15
15
  }
package/dist/Api.js CHANGED
@@ -42,8 +42,7 @@ class Api extends untrue_1.Context {
42
42
  };
43
43
  this.requests.update();
44
44
  try {
45
- const response = await requester(...args);
46
- const result = response.result();
45
+ const result = await requester(...args);
47
46
  const parsedResult = this.requests.parseResult(result);
48
47
  this.requests.data[key] = {
49
48
  loading: false,
@@ -85,8 +84,7 @@ class Api extends untrue_1.Context {
85
84
  endpointName = endpointName;
86
85
  tmpPagination = tmpPagination;
87
86
  try {
88
- const response = await loader(...args);
89
- const result = response.result();
87
+ const result = await loader(...args);
90
88
  const parsedResult = this.requests.parseResult(result);
91
89
  const endpointResult = parsedResult[endpointName];
92
90
  tmpPagination.loading = false;
@@ -5,17 +5,18 @@ export interface PaginationResult<T, O extends string = "id"> {
5
5
  result: ParsedResult<T, O>;
6
6
  error: Error | null;
7
7
  }
8
- export type Request<T extends ResponseResult, O extends string = "id"> = {
8
+ export type RequestResult<T extends ResponseResult, O extends string = "id"> = {
9
+ [K in keyof T]: T[K] extends Pagination<any> ? PaginationResult<T[K], O> : ParsedResult<T[K], O>;
10
+ };
11
+ export type Request<T extends ResponseResult> = {
9
12
  loading: boolean;
10
13
  done: boolean;
11
- result: {
12
- [K in keyof T]: T[K] extends Pagination<any> ? PaginationResult<T[K], O> : ParsedResult<T[K], O>;
13
- } | null;
14
+ result: T | null;
14
15
  error: Error | null;
15
16
  };
16
- export type Requests<T extends EndpointRecord, O extends string = "id"> = Record<string, Request<{
17
+ export type Requests<T extends EndpointRecord, O extends string = "id"> = Record<string, Request<Partial<RequestResult<{
17
18
  [K in keyof T]: Result<T[K]["result"]>;
18
- }, O>>;
19
+ }, O>>>>;
19
20
  export declare class RequestContext<M extends EndpointRecord, O extends string> extends SuperbiaContext {
20
21
  data: Requests<M, O>;
21
22
  parseResult(result: ResponseResult): ResponseResult;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { default } from "./Api";
2
2
  export { ParsedResult } from "./SuperbiaContext";
3
3
  export { Document, Documents } from "./DocumentContext";
4
- export { Request, Requests, PaginationResult } from "./RequestContext";
4
+ export { Request, Requests, RequestResult, PaginationResult, } from "./RequestContext";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superbia/untrue",
3
- "version": "2.0.5",
3
+ "version": "2.1.1",
4
4
  "description": "Integrate Superbia and Untrue.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "license": "MIT",
20
20
  "peerDependencies": {
21
- "@superbia/client": "^2.0.10",
21
+ "@superbia/client": "^2.1.0",
22
22
  "untrue": "^5.9.1"
23
23
  },
24
24
  "dependencies": {