Norwegian Parcel Mail

    ts-simple-nameof
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.1 • Public • Published

    ts-simple-nameof

    Parses a class name or a dot-separated property name from a lambda expression and provides some level of type safety using type parameters.

    Simple Property Parsing

    ts-simple-nameof is very simple. It's not smart. It simply stringifies the supplied lambda expression and parses the property or properties following the first dot after the lambda's argument.

    // Returns "posts".
    nameof<Comment>(c => c.user); // returns "user"
    // Returns "user.posts".
    nameof<Comment>(c => c.user.posts);

    Assertion operators

    With strict null checking, sometimes properties that may be null will throw errors when passing a lambda to this method unless the non-null assertion operator (!) is used. Therefore, this method strips out ! and ? operators from the parsed property name.

    class Parent {
        public child?: Child;
    }
    
    // Throws error "Object may be 'null'." with strict null checking enabled.
    nameof<Parent>(p => p.child.prop);
    // Mitigates error and returns "child.prop".
    nameof<Parent>(p => p.child!.prop);

    Class Names

    ts-simple-nameof now also returns the name of a class.

    // Returns "User".
    nameof(User);

    Installation

    To add ts-simple-nameof to your project using NPM:

    npm install --save ts-simple-nameof
    

    Install

    npm i ts-simple-nameof

    DownloadsWeekly Downloads

    8,688

    Version

    1.3.1

    License

    MIT

    Unpacked Size

    6.63 kB

    Total Files

    9

    Last publish

    Collaborators

    • ircraziesttaxi