@civet/common 1.0.0 → 1.2.0

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.
@@ -1,6 +1,6 @@
1
1
  import { DataProvider, Meta, AbortSignalProxy } from '@civet/core';
2
2
  export type FetchProviderOptions<Item = unknown, MetaType extends Meta = Meta, ResponseType extends Item | Item[] | void = Item | Item[] | void> = {
3
- baseURL?: string;
3
+ baseURL?: string | URL;
4
4
  modifyRequest?: (url: URL, request: RequestInit, meta: MetaType) => Promise<void> | void;
5
5
  getResponse?: (url: URL, request: RequestInit, response: Response, meta: MetaType) => Promise<ResponseType> | ResponseType;
6
6
  handleError?: (url: URL, request: RequestInit, response: Response, meta: MetaType) => Promise<ResponseType> | ResponseType;
@@ -12,12 +12,23 @@ export type FetchOptions<Item = unknown, MetaType extends Meta = Meta, ResponseT
12
12
  getResponse?: (url: URL, request: RequestInit, response: Response, meta: MetaType) => Promise<ResponseType> | ResponseType;
13
13
  handleError?: (url: URL, request: RequestInit, response: Response, meta: MetaType) => Promise<ResponseType> | ResponseType;
14
14
  };
15
- export default class FetchProvider<Item = unknown, ResponseType extends Item | Item[] = Item | Item[], Query extends RequestInit | undefined = RequestInit | undefined, MetaType extends Meta = Meta, Options extends FetchOptions<Item, MetaType, ResponseType> = FetchOptions<Item, MetaType, ResponseType>> extends DataProvider<Item, Query, Options, MetaType, ResponseType> {
15
+ declare class FetchProvider<Item = unknown, ResponseType extends Item | Item[] = Item | Item[], Query extends RequestInit | undefined = RequestInit | undefined, MetaType extends Meta = Meta, Options extends FetchOptions<Item, MetaType, ResponseType> = FetchOptions<Item, MetaType, ResponseType>> extends DataProvider<Item, Query, Options, MetaType, ResponseType> {
16
16
  private options;
17
17
  constructor(options?: FetchProviderOptions<Item, MetaType, ResponseType>);
18
- handleGet(resource: string, query: Query & {
19
- method?: RequestInit['method'];
20
- }, options: Options | undefined, meta: MetaType, abortSignal: AbortSignalProxy): Promise<ResponseType>;
21
- request<ResponseTypeI extends ResponseType = ResponseType, QueryI extends Query = Query, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, options?: OptionsI | undefined, meta?: MetaTypeI, abortSignal?: AbortSignalProxy): Promise<ResponseTypeI>;
18
+ handleGet(url: string, query: Query, options: Options | undefined, meta: MetaType, abortSignal: AbortSignalProxy): Promise<ResponseType>;
19
+ request<ResponseTypeI extends ResponseType = ResponseType, QueryI extends Query = Query, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(url: string, query: QueryI, options?: OptionsI | undefined, meta?: MetaTypeI, abortSignal?: AbortSignalProxy): Promise<ResponseTypeI>;
22
20
  }
23
- export type FetchProviderType = InstanceType<typeof FetchProvider>;
21
+ declare const FetchProviderWithPlugins: import('@civet/core').DataProviderImplementationWithPlugin<typeof FetchProvider, unknown, {
22
+ events?: boolean | {
23
+ eventReceiver?: import('@civet/events').GenericEventReceiver | undefined;
24
+ disabled?: boolean;
25
+ options?: unknown;
26
+ onEvent?: ((event: unknown) => boolean) | undefined;
27
+ onNotify?: ((next: {
28
+ request: string;
29
+ revision: string;
30
+ }, events: unknown[]) => void) | undefined;
31
+ } | undefined;
32
+ }, unknown, unknown, unknown>;
33
+ export default FetchProviderWithPlugins;
34
+ export type FetchProviderType = InstanceType<typeof FetchProviderWithPlugins>;
package/dist/main.js CHANGED
@@ -1,6 +1,6 @@
1
- import { DataProvider as p, Meta as l } from "@civet/core";
2
- import { EventReceiver as d } from "@civet/events";
3
- class v extends p {
1
+ import { DataProvider as d, Meta as h } from "@civet/core";
2
+ import { eventPlugin as p, EventReceiver as f } from "@civet/events";
3
+ class v extends d {
4
4
  options;
5
5
  constructor(n = {}) {
6
6
  super(), this.options = n;
@@ -9,7 +9,7 @@ class v extends p {
9
9
  return this.request(n, r, t, e, c);
10
10
  }
11
11
  async request(n, r, t, e, c) {
12
- e = e instanceof l ? e : new l(e);
12
+ e = e instanceof h ? e : new h(e);
13
13
  const i = new AbortController();
14
14
  c?.listen(i.abort.bind(i));
15
15
  const s = new URL(n, this.options.baseURL), u = new Headers(r?.headers), a = { ...r, headers: u };
@@ -59,7 +59,8 @@ class v extends p {
59
59
  throw new Error("unprocessable response");
60
60
  }
61
61
  }
62
- class w extends d {
62
+ const b = p(v);
63
+ class R extends f {
63
64
  eventSource;
64
65
  options;
65
66
  constructor(n, r = {}) {
@@ -77,6 +78,6 @@ class w extends d {
77
78
  }
78
79
  }
79
80
  export {
80
- v as FetchProvider,
81
- w as SSEReceiver
81
+ b as FetchProvider,
82
+ R as SSEReceiver
82
83
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@civet/common",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Civet",
5
5
  "author": {
6
6
  "name": "Aaron Burmeister"