@xylabs/api 2.6.14

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 (60) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +71 -0
  3. package/dist/cjs/ApiClient.d.ts +9 -0
  4. package/dist/cjs/ApiClient.d.ts.map +1 -0
  5. package/dist/cjs/ApiClient.js +12 -0
  6. package/dist/cjs/ApiClient.js.map +1 -0
  7. package/dist/cjs/ApiConfig.d.ts +8 -0
  8. package/dist/cjs/ApiConfig.d.ts.map +1 -0
  9. package/dist/cjs/ApiConfig.js +3 -0
  10. package/dist/cjs/ApiConfig.js.map +1 -0
  11. package/dist/cjs/ApiEndpoint.d.ts +15 -0
  12. package/dist/cjs/ApiEndpoint.d.ts.map +1 -0
  13. package/dist/cjs/ApiEndpoint.js +52 -0
  14. package/dist/cjs/ApiEndpoint.js.map +1 -0
  15. package/dist/cjs/ApiStage.d.ts +7 -0
  16. package/dist/cjs/ApiStage.d.ts.map +1 -0
  17. package/dist/cjs/ApiStage.js +11 -0
  18. package/dist/cjs/ApiStage.js.map +1 -0
  19. package/dist/cjs/getApiStage.d.ts +4 -0
  20. package/dist/cjs/getApiStage.d.ts.map +1 -0
  21. package/dist/cjs/getApiStage.js +17 -0
  22. package/dist/cjs/getApiStage.js.map +1 -0
  23. package/dist/cjs/index.d.ts +6 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +9 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/docs.json +961 -0
  28. package/dist/esm/ApiClient.d.ts +9 -0
  29. package/dist/esm/ApiClient.d.ts.map +1 -0
  30. package/dist/esm/ApiClient.js +11 -0
  31. package/dist/esm/ApiClient.js.map +1 -0
  32. package/dist/esm/ApiConfig.d.ts +8 -0
  33. package/dist/esm/ApiConfig.d.ts.map +1 -0
  34. package/dist/esm/ApiConfig.js +2 -0
  35. package/dist/esm/ApiConfig.js.map +1 -0
  36. package/dist/esm/ApiEndpoint.d.ts +15 -0
  37. package/dist/esm/ApiEndpoint.d.ts.map +1 -0
  38. package/dist/esm/ApiEndpoint.js +44 -0
  39. package/dist/esm/ApiEndpoint.js.map +1 -0
  40. package/dist/esm/ApiStage.d.ts +7 -0
  41. package/dist/esm/ApiStage.d.ts.map +1 -0
  42. package/dist/esm/ApiStage.js +8 -0
  43. package/dist/esm/ApiStage.js.map +1 -0
  44. package/dist/esm/getApiStage.d.ts +4 -0
  45. package/dist/esm/getApiStage.d.ts.map +1 -0
  46. package/dist/esm/getApiStage.js +14 -0
  47. package/dist/esm/getApiStage.js.map +1 -0
  48. package/dist/esm/index.d.ts +6 -0
  49. package/dist/esm/index.d.ts.map +1 -0
  50. package/dist/esm/index.js +6 -0
  51. package/dist/esm/index.js.map +1 -0
  52. package/package.json +64 -0
  53. package/src/ApiClient.ts +16 -0
  54. package/src/ApiConfig.ts +8 -0
  55. package/src/ApiEndpoint.spec.ts +8 -0
  56. package/src/ApiEndpoint.ts +53 -0
  57. package/src/ApiStage.ts +7 -0
  58. package/src/getApiStage.spec.ts +8 -0
  59. package/src/getApiStage.ts +13 -0
  60. package/src/index.ts +5 -0
@@ -0,0 +1,9 @@
1
+ import { ApiStage } from './ApiStage';
2
+ declare abstract class ApiClient {
3
+ constructor(token?: string | null, stage?: ApiStage);
4
+ protected stage: string;
5
+ protected token?: string | null;
6
+ abstract endPoint(): string;
7
+ }
8
+ export { ApiClient };
9
+ //# sourceMappingURL=ApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../src/ApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,uBAAe,SAAS;gBACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ;IAK1D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAA;IAEvB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/B,QAAQ,CAAC,QAAQ,IAAI,MAAM;CAC5B;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { ApiStage } from './ApiStage';
2
+ class ApiClient {
3
+ constructor(token, stage) {
4
+ this.stage = stage ?? ApiStage.Prod;
5
+ this.token = token;
6
+ }
7
+ stage;
8
+ token;
9
+ }
10
+ export { ApiClient };
11
+ //# sourceMappingURL=ApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../src/ApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAe,SAAS;IACtB,YAAmB,KAAqB,EAAE,KAAgB;QACxD,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAES,KAAK,CAAQ;IAEb,KAAK,CAAgB;CAGhC;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ interface ApiConfig {
2
+ apiDomain: string;
3
+ userid?: string;
4
+ jwtToken?: string;
5
+ apiKey?: string;
6
+ }
7
+ export type { ApiConfig };
8
+ //# sourceMappingURL=ApiConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiConfig.d.ts","sourceRoot":"","sources":["../../src/ApiConfig.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,YAAY,EAAE,SAAS,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ApiConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiConfig.js","sourceRoot":"","sources":["../../src/ApiConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { ApiConfig } from './ApiConfig';
2
+ declare class ApiEndpoint<T> {
3
+ private config;
4
+ private path;
5
+ constructor(config: ApiConfig, path: string);
6
+ private get headers();
7
+ private get url();
8
+ private _value?;
9
+ get value(): T | undefined;
10
+ get(): Promise<T | NonNullable<T>>;
11
+ fetch(): Promise<T>;
12
+ insert(value: T): Promise<T>;
13
+ }
14
+ export { ApiEndpoint };
15
+ //# sourceMappingURL=ApiEndpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiEndpoint.d.ts","sourceRoot":"","sources":["../../src/ApiEndpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,cAAM,WAAW,CAAC,CAAC;IACjB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,IAAI,CAAQ;gBAER,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;IAK3C,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,CAAC,MAAM,CAAC,CAAG;IAElB,IAAW,KAAK,kBAEf;IAEY,GAAG;IAIH,KAAK;IAUL,MAAM,CAAC,KAAK,EAAE,CAAC;CAS7B;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,44 @@
1
+ import axios from 'axios';
2
+ class ApiEndpoint {
3
+ config;
4
+ path;
5
+ constructor(config, path) {
6
+ this.config = config;
7
+ this.path = path;
8
+ }
9
+ get headers() {
10
+ return this.config.jwtToken ? { Authorization: this.config.jwtToken } : undefined;
11
+ }
12
+ get url() {
13
+ return `${this.config.apiDomain}/${this.path}`;
14
+ }
15
+ _value;
16
+ get value() {
17
+ return this._value;
18
+ }
19
+ async get() {
20
+ return this._value ?? (await this.fetch());
21
+ }
22
+ async fetch() {
23
+ const response = await axios.get(this.url, { headers: this.headers });
24
+ if (response.status === 200) {
25
+ this._value = response.data;
26
+ }
27
+ else {
28
+ throw Error('Unexpected Status Code');
29
+ }
30
+ return this._value;
31
+ }
32
+ async insert(value) {
33
+ const response = await axios.post(this.url, value, { headers: this.headers });
34
+ if (response.status === 200) {
35
+ this._value = response.data;
36
+ }
37
+ else {
38
+ throw Error('Unexpected Status Code');
39
+ }
40
+ return this._value;
41
+ }
42
+ }
43
+ export { ApiEndpoint };
44
+ //# sourceMappingURL=ApiEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiEndpoint.js","sourceRoot":"","sources":["../../src/ApiEndpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW;IACP,MAAM,CAAW;IACjB,IAAI,CAAQ;IAEpB,YAAY,MAAiB,EAAE,IAAY;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,CAAC;IAED,IAAY,GAAG;QACb,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IAChD,CAAC;IAEO,MAAM,CAAI;IAElB,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAI,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;SAC5B;aAAM;YACL,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAQ;QAC1B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;SAC5B;aAAM;YACL,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ declare enum ApiStage {
2
+ Beta = "beta",
3
+ Local = "local",
4
+ Prod = "prod"
5
+ }
6
+ export { ApiStage };
7
+ //# sourceMappingURL=ApiStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiStage.d.ts","sourceRoot":"","sources":["../../src/ApiStage.ts"],"names":[],"mappings":"AAAA,aAAK,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ var ApiStage;
2
+ (function (ApiStage) {
3
+ ApiStage["Beta"] = "beta";
4
+ ApiStage["Local"] = "local";
5
+ ApiStage["Prod"] = "prod";
6
+ })(ApiStage || (ApiStage = {}));
7
+ export { ApiStage };
8
+ //# sourceMappingURL=ApiStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiStage.js","sourceRoot":"","sources":["../../src/ApiStage.ts"],"names":[],"mappings":"AAAA,IAAK,QAIJ;AAJD,WAAK,QAAQ;IACX,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,yBAAa,CAAA;AACf,CAAC,EAJI,QAAQ,KAAR,QAAQ,QAIZ;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { ApiStage } from './ApiStage';
2
+ declare const getApiStage: (hostname: string) => ApiStage;
3
+ export { getApiStage };
4
+ //# sourceMappingURL=getApiStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getApiStage.d.ts","sourceRoot":"","sources":["../../src/getApiStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,QAAA,MAAM,WAAW,aAAc,MAAM,aAQpC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { ApiStage } from './ApiStage';
2
+ const getApiStage = (hostname) => {
3
+ if (hostname.startsWith('localhost')) {
4
+ return ApiStage.Local;
5
+ }
6
+ else if (hostname.startsWith('beta.')) {
7
+ return ApiStage.Beta;
8
+ }
9
+ else {
10
+ return ApiStage.Prod;
11
+ }
12
+ };
13
+ export { getApiStage };
14
+ //# sourceMappingURL=getApiStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getApiStage.js","sourceRoot":"","sources":["../../src/getApiStage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAA;KACtB;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACvC,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;SAAM;QACL,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;AACH,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './ApiClient';
2
+ export * from './ApiConfig';
3
+ export * from './ApiEndpoint';
4
+ export * from './ApiStage';
5
+ export * from './getApiStage';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './ApiClient';
2
+ export * from './ApiConfig';
3
+ export * from './ApiEndpoint';
4
+ export * from './ApiStage';
5
+ export * from './getApiStage';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "license": "LGPL-3.0",
3
+ "name": "@xylabs/api",
4
+ "author": {
5
+ "email": "support@xylabs.com",
6
+ "name": "XY Labs Development Team",
7
+ "url": "https://xylabs.com"
8
+ },
9
+ "bugs": {
10
+ "email": "support@xylabs.com",
11
+ "url": "https://github.com/xylabs/sdk-js/issues"
12
+ },
13
+ "workspaces": [
14
+ "packages/**/*"
15
+ ],
16
+ "description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
17
+ "browser": "dist/esm/index.js",
18
+ "main": "dist/cjs/index.js",
19
+ "module": "dist/esm/index.js",
20
+ "docs": "dist/docs.json",
21
+ "types": "dist/esm/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "node": {
25
+ "import": "./dist/esm/index.js",
26
+ "require": "./dist/cjs/index.js"
27
+ },
28
+ "browser": {
29
+ "import": "./dist/esm/index.js",
30
+ "require": "./dist/cjs/index.js"
31
+ },
32
+ "default": "./dist/esm/index.js"
33
+ },
34
+ "./dist/docs.json": {
35
+ "default": "./dist/docs.json"
36
+ },
37
+ "./package.json": "./package.json"
38
+ },
39
+ "homepage": "https://xylabs.com",
40
+ "keywords": [
41
+ "xylabs",
42
+ "utility",
43
+ "typescript",
44
+ "esm"
45
+ ],
46
+ "dependencies": {
47
+ "axios": "^1"
48
+ },
49
+ "devDependencies": {
50
+ "@xylabs/eslint-config": "2.11.16",
51
+ "@xylabs/ts-scripts-yarn3": "^2.11.16",
52
+ "eslint": "^8.30.0"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "https://github.com/xylabs/sdk-js.git"
60
+ },
61
+ "sideEffects": false,
62
+ "version": "2.6.14",
63
+ "packageManager": "yarn@3.3.1"
64
+ }
@@ -0,0 +1,16 @@
1
+ import { ApiStage } from './ApiStage'
2
+
3
+ abstract class ApiClient {
4
+ public constructor(token?: string | null, stage?: ApiStage) {
5
+ this.stage = stage ?? ApiStage.Prod
6
+ this.token = token
7
+ }
8
+
9
+ protected stage: string
10
+
11
+ protected token?: string | null
12
+
13
+ abstract endPoint(): string
14
+ }
15
+
16
+ export { ApiClient }
@@ -0,0 +1,8 @@
1
+ interface ApiConfig {
2
+ apiDomain: string
3
+ userid?: string
4
+ jwtToken?: string
5
+ apiKey?: string
6
+ }
7
+
8
+ export type { ApiConfig }
@@ -0,0 +1,8 @@
1
+ import { ApiEndpoint } from './ApiEndpoint'
2
+
3
+ describe('ApiEndpoint', () => {
4
+ test('checking happy path', () => {
5
+ const apiEndpoint = new ApiEndpoint({ apiDomain: 'sample.com' }, '/')
6
+ expect(apiEndpoint).toBeDefined()
7
+ })
8
+ })
@@ -0,0 +1,53 @@
1
+ import axios from 'axios'
2
+
3
+ import { ApiConfig } from './ApiConfig'
4
+
5
+ class ApiEndpoint<T> {
6
+ private config: ApiConfig
7
+ private path: string
8
+
9
+ constructor(config: ApiConfig, path: string) {
10
+ this.config = config
11
+ this.path = path
12
+ }
13
+
14
+ private get headers() {
15
+ return this.config.jwtToken ? { Authorization: this.config.jwtToken } : undefined
16
+ }
17
+
18
+ private get url() {
19
+ return `${this.config.apiDomain}/${this.path}`
20
+ }
21
+
22
+ private _value?: T
23
+
24
+ public get value() {
25
+ return this._value
26
+ }
27
+
28
+ public async get() {
29
+ return this._value ?? (await this.fetch())
30
+ }
31
+
32
+ public async fetch() {
33
+ const response = await axios.get<T>(this.url, { headers: this.headers })
34
+ if (response.status === 200) {
35
+ this._value = response.data
36
+ } else {
37
+ throw Error('Unexpected Status Code')
38
+ }
39
+ return this._value
40
+ }
41
+
42
+ public async insert(value: T) {
43
+ const response = await axios.post<T>(this.url, value, { headers: this.headers })
44
+ if (response.status === 200) {
45
+ this._value = response.data
46
+ } else {
47
+ throw Error('Unexpected Status Code')
48
+ }
49
+ return this._value
50
+ }
51
+ }
52
+
53
+ export { ApiEndpoint }
@@ -0,0 +1,7 @@
1
+ enum ApiStage {
2
+ Beta = 'beta',
3
+ Local = 'local',
4
+ Prod = 'prod',
5
+ }
6
+
7
+ export { ApiStage }
@@ -0,0 +1,8 @@
1
+ import { getApiStage } from './getApiStage'
2
+
3
+ describe('getApiStage', () => {
4
+ test('checking happy path', () => {
5
+ const apiStage = getApiStage('localhost')
6
+ expect(apiStage).toBeDefined()
7
+ })
8
+ })
@@ -0,0 +1,13 @@
1
+ import { ApiStage } from './ApiStage'
2
+
3
+ const getApiStage = (hostname: string) => {
4
+ if (hostname.startsWith('localhost')) {
5
+ return ApiStage.Local
6
+ } else if (hostname.startsWith('beta.')) {
7
+ return ApiStage.Beta
8
+ } else {
9
+ return ApiStage.Prod
10
+ }
11
+ }
12
+
13
+ export { getApiStage }
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './ApiClient'
2
+ export * from './ApiConfig'
3
+ export * from './ApiEndpoint'
4
+ export * from './ApiStage'
5
+ export * from './getApiStage'