@aedart/js-meta

Stores meta data of various kinds about given target classes or methods

Usage no npm install needed!

<script type="module">
  import aedartJsMeta from 'https://cdn.skypack.dev/@aedart/js-meta';
</script>

README

Js Meta

Keeps track of various kinds of meta data about a class or a method, without manipulating the target.

Behind the scene, a WeakMap is used to store the information.

Contents

How to install

npm install @aedart/js-meta

Quick start

import Meta from '@aedart/js-meta';

class MyClass {
    // ... body not shown ..//
}

// Add arbitrary data about MyClass
Meta.addClass(MyClass, {
    name: 'MyClass',
    description: 'Yarr, swashbuckling strength!',
    maxLifetime: 23
});

// Obtain arbitrary data about MyClass
let metaData = Meta.get(MyClass); // Returns "@aedart/js-meta/src/Meta/ClassData" object

console.log(metaData.data);
// Outputs:
//  {
//        name: 'MyClass',
//        description: 'Yarr, swashbuckling strength!',
//        maxLifetime: 23
//   }

Please review internal documentation (@aedart/js-meta/src/Meta.js) for additional API information.

License

BSD-3-Clause, Read the LICENSE file included in this package