@xylabs/api 2.9.3 → 2.10.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/index.d.mts +36 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +117 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +77 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +29 -17
- package/src/ApiClient.ts +4 -1
- package/tsup.config.ts +16 -0
- package/dist/cjs/ApiClient.js +0 -14
- package/dist/cjs/ApiClient.js.map +0 -1
- package/dist/cjs/ApiConfig.js +0 -3
- package/dist/cjs/ApiConfig.js.map +0 -1
- package/dist/cjs/ApiEndpoint.js +0 -52
- package/dist/cjs/ApiEndpoint.js.map +0 -1
- package/dist/cjs/ApiStage.js +0 -11
- package/dist/cjs/ApiStage.js.map +0 -1
- package/dist/cjs/getApiStage.js +0 -17
- package/dist/cjs/getApiStage.js.map +0 -1
- package/dist/cjs/index.js +0 -9
- package/dist/cjs/index.js.map +0 -1
- package/dist/docs.json +0 -1275
- package/dist/esm/ApiClient.js +0 -13
- package/dist/esm/ApiClient.js.map +0 -1
- package/dist/esm/ApiConfig.js +0 -2
- package/dist/esm/ApiConfig.js.map +0 -1
- package/dist/esm/ApiEndpoint.js +0 -44
- package/dist/esm/ApiEndpoint.js.map +0 -1
- package/dist/esm/ApiStage.js +0 -8
- package/dist/esm/ApiStage.js.map +0 -1
- package/dist/esm/getApiStage.js +0 -14
- package/dist/esm/getApiStage.js.map +0 -1
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/types/ApiClient.d.ts +0 -9
- package/dist/types/ApiClient.d.ts.map +0 -1
- package/dist/types/ApiConfig.d.ts +0 -8
- package/dist/types/ApiConfig.d.ts.map +0 -1
- package/dist/types/ApiEndpoint.d.ts +0 -15
- package/dist/types/ApiEndpoint.d.ts.map +0 -1
- package/dist/types/ApiStage.d.ts +0 -7
- package/dist/types/ApiStage.d.ts.map +0 -1
- package/dist/types/getApiStage.d.ts +0 -4
- package/dist/types/getApiStage.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -6
- package/dist/types/index.d.ts.map +0 -1
- package/docs/assets/highlight.css +0 -50
- package/docs/assets/main.js +0 -58
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1367
- package/docs/classes/ApiClient.html +0 -113
- package/docs/classes/ApiEndpoint.html +0 -190
- package/docs/enums/ApiStage.html +0 -79
- package/docs/functions/getApiStage.html +0 -54
- package/docs/index.html +0 -86
- package/docs/interfaces/ApiConfig.html +0 -90
- package/docs/modules.html +0 -59
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare enum ApiStage {
|
|
2
|
+
Beta = "beta",
|
|
3
|
+
Local = "local",
|
|
4
|
+
Prod = "prod"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare abstract class ApiClient {
|
|
8
|
+
protected token?: string | null | undefined;
|
|
9
|
+
protected stage?: ApiStage | undefined;
|
|
10
|
+
constructor(token?: string | null | undefined, stage?: ApiStage | undefined);
|
|
11
|
+
abstract endPoint(): string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ApiConfig {
|
|
15
|
+
apiDomain: string;
|
|
16
|
+
apiKey?: string;
|
|
17
|
+
jwtToken?: string;
|
|
18
|
+
userid?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare class ApiEndpoint<T> {
|
|
22
|
+
private _value?;
|
|
23
|
+
private config;
|
|
24
|
+
private path;
|
|
25
|
+
constructor(config: ApiConfig, path: string);
|
|
26
|
+
get value(): T | undefined;
|
|
27
|
+
private get headers();
|
|
28
|
+
private get url();
|
|
29
|
+
fetch(): Promise<T>;
|
|
30
|
+
get(): Promise<T | NonNullable<T>>;
|
|
31
|
+
insert(value: T): Promise<T>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const getApiStage: (hostname: string) => ApiStage;
|
|
35
|
+
|
|
36
|
+
export { ApiClient, ApiConfig, ApiEndpoint, ApiStage, getApiStage };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare enum ApiStage {
|
|
2
|
+
Beta = "beta",
|
|
3
|
+
Local = "local",
|
|
4
|
+
Prod = "prod"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare abstract class ApiClient {
|
|
8
|
+
protected token?: string | null | undefined;
|
|
9
|
+
protected stage?: ApiStage | undefined;
|
|
10
|
+
constructor(token?: string | null | undefined, stage?: ApiStage | undefined);
|
|
11
|
+
abstract endPoint(): string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ApiConfig {
|
|
15
|
+
apiDomain: string;
|
|
16
|
+
apiKey?: string;
|
|
17
|
+
jwtToken?: string;
|
|
18
|
+
userid?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare class ApiEndpoint<T> {
|
|
22
|
+
private _value?;
|
|
23
|
+
private config;
|
|
24
|
+
private path;
|
|
25
|
+
constructor(config: ApiConfig, path: string);
|
|
26
|
+
get value(): T | undefined;
|
|
27
|
+
private get headers();
|
|
28
|
+
private get url();
|
|
29
|
+
fetch(): Promise<T>;
|
|
30
|
+
get(): Promise<T | NonNullable<T>>;
|
|
31
|
+
insert(value: T): Promise<T>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const getApiStage: (hostname: string) => ApiStage;
|
|
35
|
+
|
|
36
|
+
export { ApiClient, ApiConfig, ApiEndpoint, ApiStage, getApiStage };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/index.ts
|
|
31
|
+
var src_exports = {};
|
|
32
|
+
__export(src_exports, {
|
|
33
|
+
ApiClient: () => ApiClient,
|
|
34
|
+
ApiEndpoint: () => ApiEndpoint,
|
|
35
|
+
ApiStage: () => ApiStage,
|
|
36
|
+
getApiStage: () => getApiStage
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(src_exports);
|
|
39
|
+
|
|
40
|
+
// src/ApiStage.ts
|
|
41
|
+
var ApiStage = /* @__PURE__ */ ((ApiStage2) => {
|
|
42
|
+
ApiStage2["Beta"] = "beta";
|
|
43
|
+
ApiStage2["Local"] = "local";
|
|
44
|
+
ApiStage2["Prod"] = "prod";
|
|
45
|
+
return ApiStage2;
|
|
46
|
+
})(ApiStage || {});
|
|
47
|
+
|
|
48
|
+
// src/ApiClient.ts
|
|
49
|
+
var ApiClient = class {
|
|
50
|
+
constructor(token, stage) {
|
|
51
|
+
this.token = token;
|
|
52
|
+
this.stage = stage;
|
|
53
|
+
this.stage = stage ?? "prod" /* Prod */;
|
|
54
|
+
this.token = token;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
// src/ApiEndpoint.ts
|
|
59
|
+
var import_axios = __toESM(require("axios"));
|
|
60
|
+
var ApiEndpoint = class {
|
|
61
|
+
_value;
|
|
62
|
+
config;
|
|
63
|
+
path;
|
|
64
|
+
constructor(config, path) {
|
|
65
|
+
this.config = config;
|
|
66
|
+
this.path = path;
|
|
67
|
+
}
|
|
68
|
+
get value() {
|
|
69
|
+
return this._value;
|
|
70
|
+
}
|
|
71
|
+
get headers() {
|
|
72
|
+
return this.config.jwtToken ? { Authorization: this.config.jwtToken } : void 0;
|
|
73
|
+
}
|
|
74
|
+
get url() {
|
|
75
|
+
return `${this.config.apiDomain}/${this.path}`;
|
|
76
|
+
}
|
|
77
|
+
async fetch() {
|
|
78
|
+
const response = await import_axios.default.get(this.url, { headers: this.headers });
|
|
79
|
+
if (response.status === 200) {
|
|
80
|
+
this._value = response.data;
|
|
81
|
+
} else {
|
|
82
|
+
throw Error("Unexpected Status Code");
|
|
83
|
+
}
|
|
84
|
+
return this._value;
|
|
85
|
+
}
|
|
86
|
+
async get() {
|
|
87
|
+
return this._value ?? await this.fetch();
|
|
88
|
+
}
|
|
89
|
+
async insert(value) {
|
|
90
|
+
const response = await import_axios.default.post(this.url, value, { headers: this.headers });
|
|
91
|
+
if (response.status === 200) {
|
|
92
|
+
this._value = response.data;
|
|
93
|
+
} else {
|
|
94
|
+
throw Error("Unexpected Status Code");
|
|
95
|
+
}
|
|
96
|
+
return this._value;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// src/getApiStage.ts
|
|
101
|
+
var getApiStage = (hostname) => {
|
|
102
|
+
if (hostname.startsWith("localhost")) {
|
|
103
|
+
return "local" /* Local */;
|
|
104
|
+
} else if (hostname.startsWith("beta.")) {
|
|
105
|
+
return "beta" /* Beta */;
|
|
106
|
+
} else {
|
|
107
|
+
return "prod" /* Prod */;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
ApiClient,
|
|
113
|
+
ApiEndpoint,
|
|
114
|
+
ApiStage,
|
|
115
|
+
getApiStage
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/ApiStage.ts","../src/ApiClient.ts","../src/ApiEndpoint.ts","../src/getApiStage.ts"],"sourcesContent":["export * from './ApiClient'\nexport * from './ApiConfig'\nexport * from './ApiEndpoint'\nexport * from './ApiStage'\nexport * from './getApiStage'\n","enum ApiStage {\n Beta = 'beta',\n Local = 'local',\n Prod = 'prod',\n}\n\nexport { ApiStage }\n","import { ApiStage } from './ApiStage'\n\nabstract class ApiClient {\n public constructor(\n protected token?: string | null,\n protected stage?: ApiStage,\n ) {\n this.stage = stage ?? ApiStage.Prod\n this.token = token\n }\n\n abstract endPoint(): string\n}\n\nexport { ApiClient }\n","import axios from 'axios'\n\nimport { ApiConfig } from './ApiConfig'\n\nclass ApiEndpoint<T> {\n private _value?: T\n private config: ApiConfig\n private path: string\n\n constructor(config: ApiConfig, path: string) {\n this.config = config\n this.path = path\n }\n\n public get value() {\n return this._value\n }\n\n private get headers() {\n return this.config.jwtToken ? { Authorization: this.config.jwtToken } : undefined\n }\n\n private get url() {\n return `${this.config.apiDomain}/${this.path}`\n }\n\n public async fetch() {\n const response = await axios.get<T>(this.url, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n\n public async get() {\n return this._value ?? (await this.fetch())\n }\n\n public async insert(value: T) {\n const response = await axios.post<T>(this.url, value, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n}\n\nexport { ApiEndpoint }\n","import { ApiStage } from './ApiStage'\n\nconst getApiStage = (hostname: string) => {\n if (hostname.startsWith('localhost')) {\n return ApiStage.Local\n } else if (hostname.startsWith('beta.')) {\n return ApiStage.Beta\n } else {\n return ApiStage.Prod\n }\n}\n\nexport { getApiStage }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAK,WAAL,kBAAKA,cAAL;AACE,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,UAAO;AAHJ,SAAAA;AAAA,GAAA;;;ACEL,IAAe,YAAf,MAAyB;AAAA,EAChB,YACK,OACA,OACV;AAFU;AACA;AAEV,SAAK,QAAQ;AACb,SAAK,QAAQ;AAAA,EACf;AAGF;;;ACZA,mBAAkB;AAIlB,IAAM,cAAN,MAAqB;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,QAAmB,MAAc;AAC3C,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,IAAW,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAY,UAAU;AACpB,WAAO,KAAK,OAAO,WAAW,EAAE,eAAe,KAAK,OAAO,SAAS,IAAI;AAAA,EAC1E;AAAA,EAEA,IAAY,MAAM;AAChB,WAAO,GAAG,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI;AAAA,EAC9C;AAAA,EAEA,MAAa,QAAQ;AACnB,UAAM,WAAW,MAAM,aAAAC,QAAM,IAAO,KAAK,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC;AACvE,QAAI,SAAS,WAAW,KAAK;AAC3B,WAAK,SAAS,SAAS;AAAA,IACzB,OAAO;AACL,YAAM,MAAM,wBAAwB;AAAA,IACtC;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,MAAM;AACjB,WAAO,KAAK,UAAW,MAAM,KAAK,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAa,OAAO,OAAU;AAC5B,UAAM,WAAW,MAAM,aAAAA,QAAM,KAAQ,KAAK,KAAK,OAAO,EAAE,SAAS,KAAK,QAAQ,CAAC;AAC/E,QAAI,SAAS,WAAW,KAAK;AAC3B,WAAK,SAAS,SAAS;AAAA,IACzB,OAAO;AACL,YAAM,MAAM,wBAAwB;AAAA,IACtC;AACA,WAAO,KAAK;AAAA,EACd;AACF;;;AC/CA,IAAM,cAAc,CAAC,aAAqB;AACxC,MAAI,SAAS,WAAW,WAAW,GAAG;AACpC;AAAA,EACF,WAAW,SAAS,WAAW,OAAO,GAAG;AACvC;AAAA,EACF,OAAO;AACL;AAAA,EACF;AACF;","names":["ApiStage","axios"]}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
// src/ApiStage.ts
|
|
2
|
+
var ApiStage = /* @__PURE__ */ ((ApiStage2) => {
|
|
3
|
+
ApiStage2["Beta"] = "beta";
|
|
4
|
+
ApiStage2["Local"] = "local";
|
|
5
|
+
ApiStage2["Prod"] = "prod";
|
|
6
|
+
return ApiStage2;
|
|
7
|
+
})(ApiStage || {});
|
|
8
|
+
|
|
9
|
+
// src/ApiClient.ts
|
|
10
|
+
var ApiClient = class {
|
|
11
|
+
constructor(token, stage) {
|
|
12
|
+
this.token = token;
|
|
13
|
+
this.stage = stage;
|
|
14
|
+
this.stage = stage ?? "prod" /* Prod */;
|
|
15
|
+
this.token = token;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// src/ApiEndpoint.ts
|
|
20
|
+
import axios from "axios";
|
|
21
|
+
var ApiEndpoint = class {
|
|
22
|
+
_value;
|
|
23
|
+
config;
|
|
24
|
+
path;
|
|
25
|
+
constructor(config, path) {
|
|
26
|
+
this.config = config;
|
|
27
|
+
this.path = path;
|
|
28
|
+
}
|
|
29
|
+
get value() {
|
|
30
|
+
return this._value;
|
|
31
|
+
}
|
|
32
|
+
get headers() {
|
|
33
|
+
return this.config.jwtToken ? { Authorization: this.config.jwtToken } : void 0;
|
|
34
|
+
}
|
|
35
|
+
get url() {
|
|
36
|
+
return `${this.config.apiDomain}/${this.path}`;
|
|
37
|
+
}
|
|
38
|
+
async fetch() {
|
|
39
|
+
const response = await axios.get(this.url, { headers: this.headers });
|
|
40
|
+
if (response.status === 200) {
|
|
41
|
+
this._value = response.data;
|
|
42
|
+
} else {
|
|
43
|
+
throw Error("Unexpected Status Code");
|
|
44
|
+
}
|
|
45
|
+
return this._value;
|
|
46
|
+
}
|
|
47
|
+
async get() {
|
|
48
|
+
return this._value ?? await this.fetch();
|
|
49
|
+
}
|
|
50
|
+
async insert(value) {
|
|
51
|
+
const response = await axios.post(this.url, value, { headers: this.headers });
|
|
52
|
+
if (response.status === 200) {
|
|
53
|
+
this._value = response.data;
|
|
54
|
+
} else {
|
|
55
|
+
throw Error("Unexpected Status Code");
|
|
56
|
+
}
|
|
57
|
+
return this._value;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// src/getApiStage.ts
|
|
62
|
+
var getApiStage = (hostname) => {
|
|
63
|
+
if (hostname.startsWith("localhost")) {
|
|
64
|
+
return "local" /* Local */;
|
|
65
|
+
} else if (hostname.startsWith("beta.")) {
|
|
66
|
+
return "beta" /* Beta */;
|
|
67
|
+
} else {
|
|
68
|
+
return "prod" /* Prod */;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
export {
|
|
72
|
+
ApiClient,
|
|
73
|
+
ApiEndpoint,
|
|
74
|
+
ApiStage,
|
|
75
|
+
getApiStage
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ApiStage.ts","../src/ApiClient.ts","../src/ApiEndpoint.ts","../src/getApiStage.ts"],"sourcesContent":["enum ApiStage {\n Beta = 'beta',\n Local = 'local',\n Prod = 'prod',\n}\n\nexport { ApiStage }\n","import { ApiStage } from './ApiStage'\n\nabstract class ApiClient {\n public constructor(\n protected token?: string | null,\n protected stage?: ApiStage,\n ) {\n this.stage = stage ?? ApiStage.Prod\n this.token = token\n }\n\n abstract endPoint(): string\n}\n\nexport { ApiClient }\n","import axios from 'axios'\n\nimport { ApiConfig } from './ApiConfig'\n\nclass ApiEndpoint<T> {\n private _value?: T\n private config: ApiConfig\n private path: string\n\n constructor(config: ApiConfig, path: string) {\n this.config = config\n this.path = path\n }\n\n public get value() {\n return this._value\n }\n\n private get headers() {\n return this.config.jwtToken ? { Authorization: this.config.jwtToken } : undefined\n }\n\n private get url() {\n return `${this.config.apiDomain}/${this.path}`\n }\n\n public async fetch() {\n const response = await axios.get<T>(this.url, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n\n public async get() {\n return this._value ?? (await this.fetch())\n }\n\n public async insert(value: T) {\n const response = await axios.post<T>(this.url, value, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n}\n\nexport { ApiEndpoint }\n","import { ApiStage } from './ApiStage'\n\nconst getApiStage = (hostname: string) => {\n if (hostname.startsWith('localhost')) {\n return ApiStage.Local\n } else if (hostname.startsWith('beta.')) {\n return ApiStage.Beta\n } else {\n return ApiStage.Prod\n }\n}\n\nexport { getApiStage }\n"],"mappings":";AAAA,IAAK,WAAL,kBAAKA,cAAL;AACE,EAAAA,UAAA,UAAO;AACP,EAAAA,UAAA,WAAQ;AACR,EAAAA,UAAA,UAAO;AAHJ,SAAAA;AAAA,GAAA;;;ACEL,IAAe,YAAf,MAAyB;AAAA,EAChB,YACK,OACA,OACV;AAFU;AACA;AAEV,SAAK,QAAQ;AACb,SAAK,QAAQ;AAAA,EACf;AAGF;;;ACZA,OAAO,WAAW;AAIlB,IAAM,cAAN,MAAqB;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EAER,YAAY,QAAmB,MAAc;AAC3C,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,IAAW,QAAQ;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAY,UAAU;AACpB,WAAO,KAAK,OAAO,WAAW,EAAE,eAAe,KAAK,OAAO,SAAS,IAAI;AAAA,EAC1E;AAAA,EAEA,IAAY,MAAM;AAChB,WAAO,GAAG,KAAK,OAAO,SAAS,IAAI,KAAK,IAAI;AAAA,EAC9C;AAAA,EAEA,MAAa,QAAQ;AACnB,UAAM,WAAW,MAAM,MAAM,IAAO,KAAK,KAAK,EAAE,SAAS,KAAK,QAAQ,CAAC;AACvE,QAAI,SAAS,WAAW,KAAK;AAC3B,WAAK,SAAS,SAAS;AAAA,IACzB,OAAO;AACL,YAAM,MAAM,wBAAwB;AAAA,IACtC;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAa,MAAM;AACjB,WAAO,KAAK,UAAW,MAAM,KAAK,MAAM;AAAA,EAC1C;AAAA,EAEA,MAAa,OAAO,OAAU;AAC5B,UAAM,WAAW,MAAM,MAAM,KAAQ,KAAK,KAAK,OAAO,EAAE,SAAS,KAAK,QAAQ,CAAC;AAC/E,QAAI,SAAS,WAAW,KAAK;AAC3B,WAAK,SAAS,SAAS;AAAA,IACzB,OAAO;AACL,YAAM,MAAM,wBAAwB;AAAA,IACtC;AACA,WAAO,KAAK;AAAA,EACd;AACF;;;AC/CA,IAAM,cAAc,CAAC,aAAqB;AACxC,MAAI,SAAS,WAAW,WAAW,GAAG;AACpC;AAAA,EACF,WAAW,SAAS,WAAW,OAAO,GAAG;AACvC;AAAA,EACF,OAAO;AACL;AAAA,EACF;AACF;","names":["ApiStage"]}
|
package/package.json
CHANGED
|
@@ -14,28 +14,39 @@
|
|
|
14
14
|
"packages/**/*"
|
|
15
15
|
],
|
|
16
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
17
|
"docs": "dist/docs.json",
|
|
21
|
-
"types": "dist/
|
|
18
|
+
"types": "dist/index.d.ts",
|
|
22
19
|
"exports": {
|
|
23
20
|
".": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
21
|
+
"require": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"default": "./dist/index.js"
|
|
27
24
|
},
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
}
|
|
32
|
-
"default": "./dist/esm/index.js"
|
|
25
|
+
"import": {
|
|
26
|
+
"types": "./dist/index.d.mts",
|
|
27
|
+
"default": "./dist/index.mjs"
|
|
28
|
+
}
|
|
33
29
|
},
|
|
34
30
|
"./dist/docs.json": {
|
|
35
31
|
"default": "./dist/docs.json"
|
|
36
32
|
},
|
|
33
|
+
"./cjs": {
|
|
34
|
+
"default": "./dist/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./docs": {
|
|
37
|
+
"default": "./dist/docs.json"
|
|
38
|
+
},
|
|
39
|
+
"./esm": {
|
|
40
|
+
"default": "./dist/index.mjs"
|
|
41
|
+
},
|
|
37
42
|
"./package.json": "./package.json"
|
|
38
43
|
},
|
|
44
|
+
"main": "dist/index.js",
|
|
45
|
+
"module": "dist/index.mjs",
|
|
46
|
+
"scripts": {
|
|
47
|
+
"package-compile": "tsup && publint",
|
|
48
|
+
"package-recompile": "tsup && publint"
|
|
49
|
+
},
|
|
39
50
|
"homepage": "https://xylabs.com",
|
|
40
51
|
"keywords": [
|
|
41
52
|
"xylabs",
|
|
@@ -44,12 +55,13 @@
|
|
|
44
55
|
"esm"
|
|
45
56
|
],
|
|
46
57
|
"dependencies": {
|
|
47
|
-
"axios": "^1.
|
|
58
|
+
"axios": "^1.5.0"
|
|
48
59
|
},
|
|
49
60
|
"devDependencies": {
|
|
50
|
-
"@xylabs/
|
|
51
|
-
"@xylabs/
|
|
52
|
-
"
|
|
61
|
+
"@xylabs/ts-scripts-yarn3": "^2.19.5",
|
|
62
|
+
"@xylabs/tsconfig": "^2.19.5",
|
|
63
|
+
"publint": "^0.2.2",
|
|
64
|
+
"tsup": "^7.2.0"
|
|
53
65
|
},
|
|
54
66
|
"publishConfig": {
|
|
55
67
|
"access": "public"
|
|
@@ -59,6 +71,6 @@
|
|
|
59
71
|
"url": "https://github.com/xylabs/sdk-js.git"
|
|
60
72
|
},
|
|
61
73
|
"sideEffects": false,
|
|
62
|
-
"version": "2.
|
|
74
|
+
"version": "2.10.1",
|
|
63
75
|
"packageManager": "yarn@3.3.1"
|
|
64
76
|
}
|
package/src/ApiClient.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ApiStage } from './ApiStage'
|
|
2
2
|
|
|
3
3
|
abstract class ApiClient {
|
|
4
|
-
public constructor(
|
|
4
|
+
public constructor(
|
|
5
|
+
protected token?: string | null,
|
|
6
|
+
protected stage?: ApiStage,
|
|
7
|
+
) {
|
|
5
8
|
this.stage = stage ?? ApiStage.Prod
|
|
6
9
|
this.token = token
|
|
7
10
|
}
|
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineConfig } from 'tsup'
|
|
2
|
+
|
|
3
|
+
// eslint-disable-next-line import/no-default-export
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
bundle: true,
|
|
6
|
+
cjsInterop: true,
|
|
7
|
+
clean: true,
|
|
8
|
+
dts: {
|
|
9
|
+
entry: ['src/index.ts'],
|
|
10
|
+
},
|
|
11
|
+
entry: ['src/index.ts'],
|
|
12
|
+
format: ['cjs', 'esm'],
|
|
13
|
+
sourcemap: true,
|
|
14
|
+
splitting: false,
|
|
15
|
+
tsconfig: 'tsconfig.build.json',
|
|
16
|
+
})
|
package/dist/cjs/ApiClient.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiClient = void 0;
|
|
4
|
-
const ApiStage_1 = require("./ApiStage");
|
|
5
|
-
class ApiClient {
|
|
6
|
-
constructor(token, stage) {
|
|
7
|
-
this.token = token;
|
|
8
|
-
this.stage = stage;
|
|
9
|
-
this.stage = stage !== null && stage !== void 0 ? stage : ApiStage_1.ApiStage.Prod;
|
|
10
|
-
this.token = token;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ApiClient = ApiClient;
|
|
14
|
-
//# sourceMappingURL=ApiClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../src/ApiClient.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,MAAe,SAAS;IACtB,YAA6B,KAAqB,EAAY,KAAgB;QAAjD,UAAK,GAAL,KAAK,CAAgB;QAAY,UAAK,GAAL,KAAK,CAAW;QAC5E,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,mBAAQ,CAAC,IAAI,CAAA;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CAGF;AAEQ,8BAAS"}
|
package/dist/cjs/ApiConfig.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiConfig.js","sourceRoot":"","sources":["../../src/ApiConfig.ts"],"names":[],"mappings":""}
|
package/dist/cjs/ApiEndpoint.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiEndpoint = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
-
class ApiEndpoint {
|
|
7
|
-
constructor(config, path) {
|
|
8
|
-
this.config = config;
|
|
9
|
-
this.path = path;
|
|
10
|
-
}
|
|
11
|
-
get value() {
|
|
12
|
-
return this._value;
|
|
13
|
-
}
|
|
14
|
-
get headers() {
|
|
15
|
-
return this.config.jwtToken ? { Authorization: this.config.jwtToken } : undefined;
|
|
16
|
-
}
|
|
17
|
-
get url() {
|
|
18
|
-
return `${this.config.apiDomain}/${this.path}`;
|
|
19
|
-
}
|
|
20
|
-
fetch() {
|
|
21
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const response = yield axios_1.default.get(this.url, { headers: this.headers });
|
|
23
|
-
if (response.status === 200) {
|
|
24
|
-
this._value = response.data;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
throw Error('Unexpected Status Code');
|
|
28
|
-
}
|
|
29
|
-
return this._value;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
get() {
|
|
33
|
-
var _a;
|
|
34
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
return (_a = this._value) !== null && _a !== void 0 ? _a : (yield this.fetch());
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
insert(value) {
|
|
39
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const response = yield axios_1.default.post(this.url, value, { headers: this.headers });
|
|
41
|
-
if (response.status === 200) {
|
|
42
|
-
this._value = response.data;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
throw Error('Unexpected Status Code');
|
|
46
|
-
}
|
|
47
|
-
return this._value;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.ApiEndpoint = ApiEndpoint;
|
|
52
|
-
//# sourceMappingURL=ApiEndpoint.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ApiEndpoint.js","sourceRoot":"","sources":["../../src/ApiEndpoint.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAIzB,MAAM,WAAW;IAKf,YAAY,MAAiB,EAAE,IAAY;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,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;IAEY,KAAK;;YAChB,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAI,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;aAC5B;iBAAM;gBACL,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;aACtC;YACD,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;KAAA;IAEY,GAAG;;;YACd,OAAO,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;;KAC3C;IAEY,MAAM,CAAC,KAAQ;;YAC1B,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;YAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAA;aAC5B;iBAAM;gBACL,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAA;aACtC;YACD,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;KAAA;CACF;AAEQ,kCAAW"}
|
package/dist/cjs/ApiStage.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiStage = void 0;
|
|
4
|
-
var ApiStage;
|
|
5
|
-
(function (ApiStage) {
|
|
6
|
-
ApiStage["Beta"] = "beta";
|
|
7
|
-
ApiStage["Local"] = "local";
|
|
8
|
-
ApiStage["Prod"] = "prod";
|
|
9
|
-
})(ApiStage || (ApiStage = {}));
|
|
10
|
-
exports.ApiStage = ApiStage;
|
|
11
|
-
//# sourceMappingURL=ApiStage.js.map
|
package/dist/cjs/ApiStage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;AAEQ,4BAAQ"}
|
package/dist/cjs/getApiStage.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getApiStage = void 0;
|
|
4
|
-
const ApiStage_1 = require("./ApiStage");
|
|
5
|
-
const getApiStage = (hostname) => {
|
|
6
|
-
if (hostname.startsWith('localhost')) {
|
|
7
|
-
return ApiStage_1.ApiStage.Local;
|
|
8
|
-
}
|
|
9
|
-
else if (hostname.startsWith('beta.')) {
|
|
10
|
-
return ApiStage_1.ApiStage.Beta;
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
return ApiStage_1.ApiStage.Prod;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
exports.getApiStage = getApiStage;
|
|
17
|
-
//# sourceMappingURL=getApiStage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getApiStage.js","sourceRoot":"","sources":["../../src/getApiStage.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QACpC,OAAO,mBAAQ,CAAC,KAAK,CAAA;KACtB;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACvC,OAAO,mBAAQ,CAAC,IAAI,CAAA;KACrB;SAAM;QACL,OAAO,mBAAQ,CAAC,IAAI,CAAA;KACrB;AACH,CAAC,CAAA;AAEQ,kCAAW"}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./ApiClient"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./ApiConfig"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./ApiEndpoint"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./ApiStage"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./getApiStage"), exports);
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,sDAA2B;AAC3B,wDAA6B;AAC7B,qDAA0B;AAC1B,wDAA6B"}
|