import { isNotNil } from '@angular-ru/cdk/utils';

function $args(fn) {
    var _a, _b, _c;
    return ((_c = (_b = (_a = String(fn) // fast to string
        .replace(/[/][/].*$/gm, '') // strip single-line comments
        .replace(/\s+/g, '') // strip white space
        .replace(/[/][*][^/*]*[*][/]/g, '') // strip multi-line comments
        .split('){', 1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.replace(/^[^(]*[(]/, '').replace(/=[^,]+/g, '').split(',').filter(Boolean)) !== null && _c !== void 0 ? _c : []); // split & filter [""]
}

function hasConstructor(obj) {
    return isNotNil(obj === null || obj === void 0 ? void 0 : obj.prototype) && isNotNil(obj === null || obj === void 0 ? void 0 : obj.prototype.constructor.name);
}

function isFunctionLike(fn) {
    return typeof fn === 'function';
}

function typeofType(classType) {
    return () => classType;
}

/**
 * Generated bundle index. Do not edit.
 */

export { $args, hasConstructor, isFunctionLike, typeofType };
//# sourceMappingURL=angular-ru-cdk-function.js.map
