UNPKG

@kernel-js/auth

Version:
42 lines (34 loc) 3.8 kB
import _construct from "@babel/runtime/helpers/construct"; import { get, isEmpty } from '@kernel-js/support'; import { ArgumentNullError } from '@kernel-js/exceptions'; /** * @returns any */ export default function ValidateOAuthClass() { /** * @param {any} constructor */ return function (constructor) { var original = constructor; var newConstructor = function newConstructor() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var config = args[0]; var client = get(config, 'client', {}); if (isEmpty(client)) { throw new ArgumentNullError('client'); } if (isEmpty(get(client, 'id', null))) { throw new ArgumentNullError('client.id'); } if (isEmpty(get(client, 'secret', null))) { throw new ArgumentNullError('client.secret'); } return _construct(original, args); }; newConstructor.prototype = original.prototype; return newConstructor; }; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL1ZhbGlkYXRlT0F1dGhDbGFzcy50cyJdLCJuYW1lcyI6WyJnZXQiLCJpc0VtcHR5IiwiQXJndW1lbnROdWxsRXJyb3IiLCJWYWxpZGF0ZU9BdXRoQ2xhc3MiLCJjb25zdHJ1Y3RvciIsIm9yaWdpbmFsIiwibmV3Q29uc3RydWN0b3IiLCJhcmdzIiwiY29uZmlnIiwiY2xpZW50IiwicHJvdG90eXBlIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsR0FBVCxFQUFjQyxPQUFkLFFBQTZCLG9CQUE3QjtBQUNBLFNBQVNDLGlCQUFULFFBQWtDLHVCQUFsQztBQUVBOzs7O0FBR0EsZUFBZSxTQUFTQyxrQkFBVCxHQUFtQztBQUVoRDs7O0FBR0EsU0FBTyxVQUFVQyxXQUFWLEVBQTRCO0FBQ2pDLFFBQU1DLFFBQVEsR0FBR0QsV0FBakI7O0FBQ0EsUUFBTUUsY0FBbUIsR0FBRyxTQUF0QkEsY0FBc0IsR0FBMEI7QUFBQSx3Q0FBYkMsSUFBYTtBQUFiQSxRQUFBQSxJQUFhO0FBQUE7O0FBRXBELFVBQU1DLE1BQWMsR0FBR0QsSUFBSSxDQUFDLENBQUQsQ0FBM0I7QUFDQSxVQUFNRSxNQUFNLEdBQUdULEdBQUcsQ0FBQ1EsTUFBRCxFQUFTLFFBQVQsRUFBbUIsRUFBbkIsQ0FBbEI7O0FBRUEsVUFBSVAsT0FBTyxDQUFDUSxNQUFELENBQVgsRUFBcUI7QUFDbkIsY0FBTSxJQUFJUCxpQkFBSixDQUFzQixRQUF0QixDQUFOO0FBQ0Q7O0FBRUQsVUFBSUQsT0FBTyxDQUFDRCxHQUFHLENBQUNTLE1BQUQsRUFBUyxJQUFULEVBQWUsSUFBZixDQUFKLENBQVgsRUFBc0M7QUFDcEMsY0FBTSxJQUFJUCxpQkFBSixDQUFzQixXQUF0QixDQUFOO0FBQ0Q7O0FBRUQsVUFBSUQsT0FBTyxDQUFDRCxHQUFHLENBQUNTLE1BQUQsRUFBUyxRQUFULEVBQW1CLElBQW5CLENBQUosQ0FBWCxFQUEwQztBQUN4QyxjQUFNLElBQUlQLGlCQUFKLENBQXNCLGVBQXRCLENBQU47QUFDRDs7QUFFRCx3QkFBV0csUUFBWCxFQUF1QkUsSUFBdkI7QUFDRCxLQWxCRDs7QUFvQkFELElBQUFBLGNBQWMsQ0FBQ0ksU0FBZixHQUEyQkwsUUFBUSxDQUFDSyxTQUFwQztBQUVBLFdBQU9KLGNBQVA7QUFDRCxHQXpCRDtBQTBCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCwgaXNFbXB0eSB9IGZyb20gJ0BrZXJuZWwtanMvc3VwcG9ydCc7XG5pbXBvcnQgeyBBcmd1bWVudE51bGxFcnJvciB9IGZyb20gJ0BrZXJuZWwtanMvZXhjZXB0aW9ucyc7XG5cbi8qKlxuICogQHJldHVybnMgYW55XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFZhbGlkYXRlT0F1dGhDbGFzcygpOiBhbnkge1xuICBcbiAgLyoqXG4gICAqIEBwYXJhbSAge2FueX0gY29uc3RydWN0b3JcbiAgICovXG4gIHJldHVybiBmdW5jdGlvbiAoY29uc3RydWN0b3I6IGFueSkge1xuICAgIGNvbnN0IG9yaWdpbmFsID0gY29uc3RydWN0b3I7XG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXG4gICAgICBjb25zdCBjb25maWc6IG9iamVjdCA9IGFyZ3NbMF07XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXQoY29uZmlnLCAnY2xpZW50Jywge30pO1xuXG4gICAgICBpZiAoaXNFbXB0eShjbGllbnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBBcmd1bWVudE51bGxFcnJvcignY2xpZW50Jyk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChpc0VtcHR5KGdldChjbGllbnQsICdpZCcsIG51bGwpKSkge1xuICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnROdWxsRXJyb3IoJ2NsaWVudC5pZCcpO1xuICAgICAgfVxuICAgICAgXG4gICAgICBpZiAoaXNFbXB0eShnZXQoY2xpZW50LCAnc2VjcmV0JywgbnVsbCkpKSB7XG4gICAgICAgIHRocm93IG5ldyBBcmd1bWVudE51bGxFcnJvcignY2xpZW50LnNlY3JldCcpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IG9yaWdpbmFsKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIG5ld0NvbnN0cnVjdG9yLnByb3RvdHlwZSA9IG9yaWdpbmFsLnByb3RvdHlwZTtcblxuICAgIHJldHVybiBuZXdDb25zdHJ1Y3RvcjtcbiAgfVxufSJdfQ==