0.1.1 • Published 5 years ago
@ganuz/delete-metadata v0.1.1
@ganuz/delete-metadata
Delete Metadata is package from Ganuz library
Install
$ yarn add @ganuz/delete-metadata
Or
$ npm install --save @ganuz/delete-metadata
Use
Module
import {
default as deleteMetadata
} from '@ganuz/delete-metadata';
Browser
<script src="https://unpkg.com/@ganuz/delete-metadata/bundle.umd.min.js"></script>
let {
deleteMetadata
} = G;
Examples
deleteMetadata('foo', null); // throw TypeError
deleteMetadata('key', {}, 'prop'); // => false
class Some { @Metadata('foo', 'bar') prop; }
deleteMetadata('foo', new Some, 'prop'); // => false
deleteMetadata('foo', Some.prototype, 'prop'); // => true
@Metadata(color: 'red') class A {}
class B extends A {}
@Metadata(color: 'green') class C extends B{}
deleteMetadata('color', B); // => false
getMetadata('color', B); // => 'red'
deleteMetadata('color', C); // => true
getMetadata('color', C); // => 'red'
deleteMetadata('color', C); // => false
getMetadata('color', C); // => 'red'
deleteMetadata('color', A); // => true
getMetadata('color', C); // => undefined
Note: It is based on es6 WeakMap
and Map
no need for polyfill (built-in library support).
License
Copyright © Yisrael Eliev, Licensed under the MIT license.