UNPKG

@sap/xssec

Version:

XS Advanced Container Security API for node.js

21 lines (19 loc) 1.01 kB
const IdentityService = require("../service/IdentityService"); const XsuaaService = require("../service/XsuaaService"); const XsaService = require("../service/XsaService"); const UaaService = require("../service/UaaService"); module.exports = createServiceFromCredentials; /** Heuristic function for creating the correct service instance based on credentials. * @param {import("../util/Types").ServiceConfiguration} serviceConfiguration */ function createServiceFromCredentials(credentials, serviceConfiguration) { if (credentials.xsappname && credentials.uaadomain) { return new XsuaaService(credentials, serviceConfiguration); } else if (credentials.xsappname && credentials.uaadomain == null) { return new XsaService(credentials, serviceConfiguration); } else if (credentials.xsappname == null && credentials.uaadomain) { return new UaaService(credentials, serviceConfiguration); } else { return new IdentityService(credentials, serviceConfiguration); } }