@esfx/metadata

This package provides an API for defining metadata about an object.

Usage no npm install needed!

<script type="module">
  import esfxMetadata from 'https://cdn.skypack.dev/@esfx/metadata';
</script>

README

@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.