0.1.1 • Published 5 years ago

@ganuz/delete-metadata v0.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

@ganuz/delete-metadata

Source Code Version MIT License Bundle Size TypeScript

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.