All Projects → abraham → Reflection

abraham / Reflection

Licence: mit
Lightweight (3K) ES Module implementation of reflect-metadata

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Reflection

graphql-ts
Graphql implementation in Typescript using decorator
Stars: ✭ 63 (-53.68%)
Mutual labels:  metadata, decorators
Kaop Ts
Simple Yet Powerful Library of ES2016 Decorators with Strongly typed method Interceptors like BeforeMethod, AfterMethod, OnException, etc
Stars: ✭ 235 (+72.79%)
Mutual labels:  metadata, decorators
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+1422.06%)
Mutual labels:  metadata
Typescript Rest Swagger
Swagger tools for typescript-rest
Stars: ✭ 129 (-5.15%)
Mutual labels:  decorators
Isbntools
python app/framework for 'all things ISBN' including metadata, descriptions, covers...
Stars: ✭ 122 (-10.29%)
Mutual labels:  metadata
Crumb
An annotation processor for breadcrumbing metadata across compilation boundaries.
Stars: ✭ 115 (-15.44%)
Mutual labels:  metadata
Laravel Meta
Metadata for Eloquent model
Stars: ✭ 124 (-8.82%)
Mutual labels:  metadata
Angular Cms
An flexiable, extendable, modular, single CMS app based on Angular, Express, MongoDB
Stars: ✭ 109 (-19.85%)
Mutual labels:  decorators
Traits Decorator
Traits with decorators
Stars: ✭ 133 (-2.21%)
Mutual labels:  decorators
Diskover Web
Web file manager, disk space usage, storage search engine and file system analytics for diskover
Stars: ✭ 121 (-11.03%)
Mutual labels:  metadata
Ayanami
🍭 A better way to react with state
Stars: ✭ 129 (-5.15%)
Mutual labels:  decorators
Sigmf
The Signal Metadata Format Specification
Stars: ✭ 120 (-11.76%)
Mutual labels:  metadata
Shadow Rs
A build-time information stored in your rust project.(binary,lib,cdylib,dylib)
Stars: ✭ 117 (-13.97%)
Mutual labels:  metadata
Python And Oop
Object-Oriented Programming concepts in Python
Stars: ✭ 123 (-9.56%)
Mutual labels:  decorators
Pytaglib
Python audio tagging library
Stars: ✭ 115 (-15.44%)
Mutual labels:  metadata
Coregpx
A library for parsing and creation of GPX location files. Purely Swift.
Stars: ✭ 132 (-2.94%)
Mutual labels:  metadata
Babel Plugin Mobx Deep Action
Reduces `action` and `runInAction` boilerplates
Stars: ✭ 110 (-19.12%)
Mutual labels:  decorators
Itunes store transporter
Upload and manage your assets in the iTunes Store using the iTunes Store’s Transporter (iTMSTransporter).
Stars: ✭ 117 (-13.97%)
Mutual labels:  metadata
Metastore
Store and restore metadata from a filesystem.
Stars: ✭ 122 (-10.29%)
Mutual labels:  metadata
Owmeta
Unified, simple data access python library for data & facts about C. elegans anatomy
Stars: ✭ 134 (-1.47%)
Mutual labels:  metadata

Version Status Build Status Dependency Status npm bundle size (minified + gzip) Coverage Status

Reflection

Lightweight ES Module implementation of reflect-metadata to work with TypeScript's experimental decorator support.

Why?

The main reason for this library is to provide a much smaller implementation that can be included as a module.

  • ES module
    • reflection can be loaded with <script type="module" src="..."></script>
  • Size (uncompressed)

Read about how to drop 20K from your production Angular app by switching to this.

Install

npm install @abraham/reflection

Usage

import '@abraham/reflection';
Reflect.defineMetadata(metadataKey, metadataValue, target);

You can also import Reflection:

import { Reflection as Reflect } from '@abraham/reflection';
Reflect.defineMetadata(metadataKey, metadataValue, target);

API

Reflection does not currently cover the complete API surface of reflect-metadata. The following methods are available:

Reflect.decorate(...);
Reflect.defineMetadata(...);
Reflect.getMetadata(...);
Reflect.hasMetadata(...);
Reflect.getOwnMetadata(...);
Reflect.hasOwnMetadata(...);
Reflect.metadata(...);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].