Angular-RU SDK
  • Getting Started
    • Introduction
  • CDK
    • @angular-ru/cdk/typings
    • @angular-ru/cdk/number
    • @angular-ru/cdk/string
    • @angular-ru/cdk/date
    • @angular-ru/cdk/array
    • @angular-ru/cdk/object
    • @angular-ru/cdk/regexp
    • @angular-ru/cdk/function
    • @angular-ru/cdk/runtime
    • @angular-ru/cdk/ivy
    • @angular-ru/cdk/utils
    • @angular-ru/cdk/class-transformer
    • @angular-ru/cdk/validators
    • @angular-ru/cdk/directives
    • @angular-ru/cdk/decorators
    • @angular-ru/cdk/pipes
    • @angular-ru/cdk/rxjs
    • @angular-ru/cdk/animations
    • @angular-ru/cdk/zone.js
    • @angular-ru/cdk/webworker
    • @angular-ru/cdk/node.js
    • @angular-ru/cdk/flex-layout
    • @angular-ru/cdk/http
    • @angular-ru/cdk/logger
    • @angular-ru/cdk/stream
    • @angular-ru/cdk/tooltip
    • @angular-ru/cdk/virtual-table
    • @angular-ru/cdk/big-decimal
  • NGXS
    • Introduction
    • @StateRepository
    • @DataAction
    • @Computed
    • @Persistence
    • Entity state adapter
    • Unit Testing
    • Lifecycle
    • Immutability
    • Extension API
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. CDK

@angular-ru/cdk/function

  • isFunctionLike(val)

class A {}

console.log(isFunctionLike(() => {})); // true
console.log(isFunctionLike(A)); // true
console.log(isFunctionLike({ a: 1 })); // false
  • typeofType

import { typeofType } from '@angular-ru/cdk/function';
import { Exclude, Expose, Type } from 'class-transform';

import { B } from './b';

@Exclude()
export class A {
    @Expose() @Type(typeofType(B)) public b: B;
}
  • $args(fnRef)

import { $args } from '@angular-ru/cdk/function';

function hello(name: string, value: number, a?: string[]): string {
    return 'world' + name + value + a;
}

console.log($args(hello)); // ['name', 'value', 'a']
  • hasConstructor(ref)

class A {}
function B() {}
const C: Fn = () => {};
class D extends A {}

expect(hasConstructor(A)).toEqual(true);
expect(hasConstructor(B)).toEqual(true);
expect(hasConstructor(D)).toEqual(true);
expect(hasConstructor(String)).toEqual(true);

expect(hasConstructor(C)).toEqual(false);
expect(hasConstructor({} as any)).toEqual(false);
expect(hasConstructor(1 as any)).toEqual(false);
expect(hasConstructor(null)).toEqual(false);
expect(hasConstructor()).toEqual(false);
Previous@angular-ru/cdk/regexpNext@angular-ru/cdk/runtime

Last updated 3 years ago

Was this helpful?