@faable/sdk-base 1.0.8 → 1.0.10

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.
@@ -15,11 +15,22 @@ export type FetcherCreateParams = {
15
15
  headers?: Partial<Headers>;
16
16
  params?: Partial<Params>;
17
17
  };
18
+ export type FetcherConfig = {
19
+ headers?: Partial<Headers>;
20
+ params?: Partial<Params>;
21
+ };
18
22
  export type Fetcher = {
19
- get: <T>(url: string) => Promise<T>;
20
- post: <T>(url: string, data: any) => Promise<T>;
23
+ get: <T>(url: string, config?: FetcherConfig) => Promise<T>;
24
+ post: <T>(url: string, data: any, config?: FetcherConfig) => Promise<T>;
21
25
  request: <T>(params: FetcherRequestParams) => Promise<T>;
22
- check: <T>(url: string, status?: number) => Promise<boolean>;
26
+ check: <T>(url: string, status?: number, config?: FetcherConfig) => Promise<boolean>;
27
+ };
28
+ export type FetcherResponse = {
29
+ status?: number;
30
+ data?: any;
31
+ config?: {
32
+ url?: string;
33
+ };
23
34
  };
24
35
  export {};
25
36
  //# sourceMappingURL=Fetcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fetcher.d.ts","sourceRoot":"","sources":["../../src/fetcher/Fetcher.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AACb,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D,CAAC"}
1
+ {"version":3,"file":"Fetcher.d.ts","sourceRoot":"","sources":["../../src/fetcher/Fetcher.ts"],"names":[],"mappings":"AAAA,KAAK,MAAM,GACP,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,CAAC;AACb,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,EACP,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,KACnB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher_axios.d.ts","sourceRoot":"","sources":["../../src/fetcher/fetcher_axios.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,eAAO,MAAM,aAAa,YAAY,SAAS,KAAQ,OAiDtD,CAAC"}
1
+ {"version":3,"file":"fetcher_axios.d.ts","sourceRoot":"","sources":["../../src/fetcher/fetcher_axios.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAiB,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,eAAO,MAAM,aAAa,YAAY,SAAS,KAAQ,OAwDtD,CAAC"}
@@ -1,16 +1,12 @@
1
1
  import axios from "axios";
2
- import { FaableApiError } from "../helpers/error_handler.js";
2
+ import { FaableApiError } from "../helpers/FaableApiError.js";
3
3
  const handleErrorInterceptor = async (e) => {
4
4
  if (!e.isAxiosError) {
5
- throw new FaableApiError(`Unknown error: ${e?.message}`);
5
+ throw new FaableApiError(e?.message);
6
6
  }
7
- const message = e.response?.data?.message || e.code;
8
- const payload = [message];
9
7
  // Add response highlight
10
- if (e.response) {
11
- payload.push(`(status=${e.response?.status}, url=${e.response?.config.url})`);
12
- }
13
- throw new FaableApiError(payload.join(" "));
8
+ const error = new FaableApiError(e.code, e.response);
9
+ throw error;
14
10
  };
15
11
  export const fetcher_axios = (params = {}) => {
16
12
  const instance = axios.create({
@@ -30,18 +26,20 @@ export const fetcher_axios = (params = {}) => {
30
26
  return res;
31
27
  }, handleErrorInterceptor);
32
28
  return {
33
- get: async (url) => {
29
+ get: async (url, config) => {
34
30
  const res = await instance.request({
35
31
  method: "GET",
36
32
  url,
33
+ ...config,
37
34
  });
38
35
  return res.data;
39
36
  },
40
- post: async (url, data) => {
37
+ post: async (url, data, config) => {
41
38
  const res = await instance.request({
42
39
  method: "POST",
43
40
  url,
44
41
  data,
42
+ ...config,
45
43
  });
46
44
  return res.data;
47
45
  },
@@ -49,13 +47,14 @@ export const fetcher_axios = (params = {}) => {
49
47
  const res = await instance.request(params);
50
48
  return res.data;
51
49
  },
52
- check: async (url) => {
50
+ check: async (url, status = 200, config) => {
53
51
  const res = await instance.request({
54
52
  method: "GET",
55
53
  url,
54
+ ...config,
56
55
  validateStatus: () => true,
57
56
  });
58
- return res.status == 200;
57
+ return res.status == status;
59
58
  },
60
59
  };
61
60
  };
@@ -0,0 +1,11 @@
1
+ import { FetcherResponse } from "../fetcher/Fetcher.js";
2
+ type Status = "not-found" | "created" | "ok" | "unauthorized" | "bad-request" | "internal-server-error" | "service-unavailable" | "bad-gateway";
3
+ export declare const build_error_message: (message?: string, response?: FetcherResponse) => string;
4
+ export declare class FaableApiError extends Error {
5
+ isFaableApiError: boolean;
6
+ response?: FetcherResponse;
7
+ constructor(message?: string, response?: FetcherResponse);
8
+ isStatus(code: number | Status): boolean;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=FaableApiError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaableApiError.d.ts","sourceRoot":"","sources":["../../src/helpers/FaableApiError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,KAAK,MAAM,GACP,WAAW,GACX,SAAS,GACT,IAAI,GACJ,cAAc,GACd,aAAa,GACb,uBAAuB,GACvB,qBAAqB,GACrB,aAAa,CAAC;AAYlB,eAAO,MAAM,mBAAmB,aACpB,MAAM,aACL,eAAe,WAO3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,gBAAgB,UAAQ;IACxB,QAAQ,CAAC,EAAE,eAAe,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,eAAe;IAOxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAI/B"}
@@ -0,0 +1,31 @@
1
+ const codes = {
2
+ "not-found": 404,
3
+ created: 201,
4
+ ok: 200,
5
+ unauthorized: 401,
6
+ "bad-request": 400,
7
+ "internal-server-error": 500,
8
+ "service-unavailable": 503,
9
+ "bad-gateway": 502,
10
+ };
11
+ export const build_error_message = (message, response) => {
12
+ const payload = [response?.data?.message || message || "Unknown error"];
13
+ if (response) {
14
+ payload.push(`(status=${response?.status}, url=${response?.config?.url})`);
15
+ }
16
+ return payload.join(" ");
17
+ };
18
+ export class FaableApiError extends Error {
19
+ isFaableApiError = true;
20
+ response;
21
+ constructor(message, response) {
22
+ super(build_error_message(message, response));
23
+ this.name = "FaableApiError";
24
+ this.response = response;
25
+ Object.setPrototypeOf(this, FaableApiError.prototype);
26
+ }
27
+ isStatus(code) {
28
+ const _code = typeof code == "number" ? code : codes[code];
29
+ return this.response?.status == _code;
30
+ }
31
+ }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./FaableApi.js";
2
2
  export * from "./auth/apikey.js";
3
3
  export * from "./auth/client_credentials/client_credentials.js";
4
+ export * from "./helpers/FaableApiError.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iDAAiD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iDAAiD,CAAC;AAChE,cAAc,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./FaableApi.js";
2
2
  export * from "./auth/apikey.js";
3
3
  export * from "./auth/client_credentials/client_credentials.js";
4
+ export * from "./helpers/FaableApiError.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faable/sdk-base",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "author": "Marc Pomar <marc@faable.com>",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +0,0 @@
1
- export declare class FaableApiError extends Error {
2
- constructor(msg: string);
3
- }
4
- //# sourceMappingURL=error_handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error_handler.d.ts","sourceRoot":"","sources":["../../src/helpers/error_handler.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,GAAG,EAAE,MAAM;CAKxB"}
@@ -1,7 +0,0 @@
1
- export class FaableApiError extends Error {
2
- constructor(msg) {
3
- super(msg);
4
- this.name = "FaableApiError";
5
- Object.setPrototypeOf(this, FaableApiError.prototype);
6
- }
7
- }