@eml-payments/core-sdk 1.0.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.
- package/README.md +7 -0
- package/dist/core-sdk.d.ts +22 -0
- package/dist/core-sdk.js +49 -0
- package/dist/errors.d.ts +5 -0
- package/dist/errors.js +12 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +19 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.js +2 -0
- package/package.json +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosError } from "axios";
|
|
2
|
+
import { CoreSDKOptions, LoginParams, APIErrorResponse } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* CoreSDK provides login, logout, and error handling.
|
|
5
|
+
* Extend this class for custom SDKs.
|
|
6
|
+
*/
|
|
7
|
+
export declare class CoreSDK {
|
|
8
|
+
protected axios: AxiosInstance;
|
|
9
|
+
constructor(options: CoreSDKOptions);
|
|
10
|
+
/**
|
|
11
|
+
* Log in and set session via HttpOnly cookie.
|
|
12
|
+
*/
|
|
13
|
+
login(params: LoginParams): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Log out and clear the session.
|
|
16
|
+
*/
|
|
17
|
+
logout(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Standardized error handling for all child SDKs.
|
|
20
|
+
*/
|
|
21
|
+
protected handleError(error: AxiosError<APIErrorResponse>): never;
|
|
22
|
+
}
|
package/dist/core-sdk.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CoreSDK = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const errors_1 = require("./errors");
|
|
9
|
+
/**
|
|
10
|
+
* CoreSDK provides login, logout, and error handling.
|
|
11
|
+
* Extend this class for custom SDKs.
|
|
12
|
+
*/
|
|
13
|
+
class CoreSDK {
|
|
14
|
+
constructor(options) {
|
|
15
|
+
this.axios = axios_1.default.create({
|
|
16
|
+
baseURL: options.baseURL,
|
|
17
|
+
withCredentials: true,
|
|
18
|
+
});
|
|
19
|
+
this.axios.interceptors.response.use(response => response, error => this.handleError(error));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Log in and set session via HttpOnly cookie.
|
|
23
|
+
*/
|
|
24
|
+
async login(params) {
|
|
25
|
+
await this.axios.post("/auth/login", params);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Log out and clear the session.
|
|
29
|
+
*/
|
|
30
|
+
async logout() {
|
|
31
|
+
await this.axios.post("/auth/logout");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Standardized error handling for all child SDKs.
|
|
35
|
+
*/
|
|
36
|
+
handleError(error) {
|
|
37
|
+
var _a;
|
|
38
|
+
if (error.response) {
|
|
39
|
+
throw new errors_1.SDKError(((_a = error.response.data) === null || _a === void 0 ? void 0 : _a.message) || error.message, error.response.status, error.response.data);
|
|
40
|
+
}
|
|
41
|
+
else if (error.request) {
|
|
42
|
+
throw new errors_1.SDKError("No response received from server.");
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
throw new errors_1.SDKError(`Request setup error: ${error.message}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.CoreSDK = CoreSDK;
|
package/dist/errors.d.ts
ADDED
package/dist/errors.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SDKError = void 0;
|
|
4
|
+
class SDKError extends Error {
|
|
5
|
+
constructor(message, status, data) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.data = data;
|
|
9
|
+
Object.setPrototypeOf(this, SDKError.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.SDKError = SDKError;
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./core-sdk"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
19
|
+
__exportStar(require("./errors"), exports);
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@eml-payments/core-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Arlo Javascript CoreSDK",
|
|
5
|
+
"homepage": "https://github.com/EML-Payments/arlo.npm.coresdk#readme",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/EML-Payments/arlo.npm.coresdk/issues"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/EML-Payments/arlo.npm.coresdk.git"
|
|
12
|
+
},
|
|
13
|
+
"license": "ISC",
|
|
14
|
+
"author": "EML Payments",
|
|
15
|
+
"type": "commonjs",
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc -p ."
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"axios": "^1.6.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {}
|
|
28
|
+
}
|