@kernel-js/auth
Version:
37 lines (30 loc) • 3.35 kB
JavaScript
import { get, isEmpty } from '@kernel-js/support';
import { ArgumentNullError } from '@kernel-js/exceptions';
/**
* @returns any
*/
export default function Validate() {
/**
* @param {any} target
* @param {string} propertyKey
* @param {PropertyDescriptor} descriptor
*/
return function (target, propertyKey, descriptor) {
var originalMethod = descriptor.value;
descriptor.value = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var params = args[0];
if (isEmpty(get(params, 'username', null))) {
throw new ArgumentNullError('username');
}
if (isEmpty(get(params, 'password', null))) {
throw new ArgumentNullError('password');
}
return originalMethod.apply(this, args);
};
return descriptor;
};
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZWNvcmF0b3JzL1ZhbGlkYXRlVXNlclBhcmFtcy50cyJdLCJuYW1lcyI6WyJnZXQiLCJpc0VtcHR5IiwiQXJndW1lbnROdWxsRXJyb3IiLCJWYWxpZGF0ZSIsInRhcmdldCIsInByb3BlcnR5S2V5IiwiZGVzY3JpcHRvciIsIm9yaWdpbmFsTWV0aG9kIiwidmFsdWUiLCJhcmdzIiwicGFyYW1zIiwiYXBwbHkiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQVQsRUFBY0MsT0FBZCxRQUE2QixvQkFBN0I7QUFDQSxTQUFTQyxpQkFBVCxRQUFrQyx1QkFBbEM7QUFFQTs7OztBQUdBLGVBQWUsU0FBU0MsUUFBVCxHQUF5QjtBQUV0Qzs7Ozs7QUFLQSxTQUFPLFVBQVVDLE1BQVYsRUFBdUJDLFdBQXZCLEVBQTRDQyxVQUE1QyxFQUE0RTtBQUNqRixRQUFNQyxjQUFjLEdBQUdELFVBQVUsQ0FBQ0UsS0FBbEM7O0FBRUFGLElBQUFBLFVBQVUsQ0FBQ0UsS0FBWCxHQUFtQixZQUEwQjtBQUFBLHdDQUFiQyxJQUFhO0FBQWJBLFFBQUFBLElBQWE7QUFBQTs7QUFFM0MsVUFBTUMsTUFBYyxHQUFHRCxJQUFJLENBQUMsQ0FBRCxDQUEzQjs7QUFFQSxVQUFJUixPQUFPLENBQUNELEdBQUcsQ0FBQ1UsTUFBRCxFQUFTLFVBQVQsRUFBcUIsSUFBckIsQ0FBSixDQUFYLEVBQTRDO0FBQzFDLGNBQU0sSUFBSVIsaUJBQUosQ0FBc0IsVUFBdEIsQ0FBTjtBQUNEOztBQUVELFVBQUlELE9BQU8sQ0FBQ0QsR0FBRyxDQUFDVSxNQUFELEVBQVMsVUFBVCxFQUFxQixJQUFyQixDQUFKLENBQVgsRUFBNEM7QUFDMUMsY0FBTSxJQUFJUixpQkFBSixDQUFzQixVQUF0QixDQUFOO0FBQ0Q7O0FBRUQsYUFBT0ssY0FBYyxDQUFDSSxLQUFmLENBQXFCLElBQXJCLEVBQTJCRixJQUEzQixDQUFQO0FBQ0QsS0FiRDs7QUFlQSxXQUFPSCxVQUFQO0FBQ0QsR0FuQkQ7QUFvQkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXQsIGlzRW1wdHkgfSBmcm9tICdAa2VybmVsLWpzL3N1cHBvcnQnO1xuaW1wb3J0IHsgQXJndW1lbnROdWxsRXJyb3IgfSBmcm9tICdAa2VybmVsLWpzL2V4Y2VwdGlvbnMnO1xuXG4vKipcbiAqIEByZXR1cm5zIGFueVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBWYWxpZGF0ZSgpOiBhbnkge1xuICBcbiAgLyoqXG4gICAqIEBwYXJhbSAge2FueX0gdGFyZ2V0XG4gICAqIEBwYXJhbSAge3N0cmluZ30gcHJvcGVydHlLZXlcbiAgICogQHBhcmFtICB7UHJvcGVydHlEZXNjcmlwdG9yfSBkZXNjcmlwdG9yXG4gICAqL1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IGRlc2NyaXB0b3IudmFsdWU7XG4gICAgXG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuXG4gICAgICBjb25zdCBwYXJhbXM6IG9iamVjdCA9IGFyZ3NbMF07XG5cbiAgICAgIGlmIChpc0VtcHR5KGdldChwYXJhbXMsICd1c2VybmFtZScsIG51bGwpKSkge1xuICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnROdWxsRXJyb3IoJ3VzZXJuYW1lJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0VtcHR5KGdldChwYXJhbXMsICdwYXNzd29yZCcsIG51bGwpKSkge1xuICAgICAgICB0aHJvdyBuZXcgQXJndW1lbnROdWxsRXJyb3IoJ3Bhc3N3b3JkJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH1cbn0iXX0=