UNPKG

architect-sdk

Version:

Essentialz Architect SDK

52 lines (51 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArchitectClient = void 0; var Sdk_1 = require("./Sdk"); var types_1 = require("./types"); var ArchitectClient = /** @class */ (function () { function ArchitectClient(config) { this.schema = {}; var proxyHandler = { get: function (target, propKey) { var sdk = Sdk_1.ArchitectSDK.getInstance(config); switch (propKey) { case types_1.BaseFunction.login: return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var credentials = args[0], provider = args[1]; return sdk.auth().login(credentials, provider); }; case types_1.BaseFunction.logout: { return function () { return sdk.auth().logout(); }; } case types_1.BaseFunction.getUserId: { return function () { return sdk.auth().getUserId(); }; } case types_1.BaseFunction.isAuthenticated: { return function () { return sdk.auth().isAuthenticated(); }; } case types_1.BaseService.files: { return sdk.files(); } default: return sdk.resource(propKey); } }, }; this.proxy = (new Proxy(this.schema, proxyHandler)); } return ArchitectClient; }()); exports.ArchitectClient = ArchitectClient; var instance; function client(config) { if (!instance) { instance = new ArchitectClient(config); } return instance.proxy; } exports.default = client;