1.0.0-pre.23 • Published 3 years ago

@esfx/metadata v1.0.0-pre.23

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
3 years ago

@esfx/metadata

The @esfx/metadata package provides an API for defining metadata about an object.

Overview

Installation

npm i @esfx/metadata

Usage

import { Metadata, getClassMetadata, getMemberMetadata, getParameterMetadata } from "@esfx/metadata";

const Service = name => Metadata("Service", name);
const ReturnType = type => Metadata("ReturnType", type);
const Type = type => Metadata("Type", type);

@Service("MyService")
class MyClass {
    @ReturnType("string")
    method(@Type("number") x) {
        return "hi";
    }
}

const c = new MyClass();
getClassMetadata(MyClass, "Service"); // "MyService"
getMemberMetadata(c, "method", "ReturnType"); // "string"
getParameterMetadata(c, "method", 0, "Type"); // "number"

API

You can read more about the API here.