inversify-inject-decorators - Lazy evaluated property injection decorators

  •        488

Lazy evaluated property injection decorators. Some frameworks and libraries take control over the creation of instances of a given class. For example, React takes control over the creation of instances of a given React component. This kind of frameworks and libraries prevent us from being able to use constructor injection and as a result they are not easy to integrate with InversifyJS.



Related Projects

inject - Dependency injection for go

  •    Go

Package inject provides utilities for mapping and injecting dependencies in various ways.InterfaceOf dereferences a pointer to an Interface type. It panics if value is not an pointer to an interface.

Guice - Lightweight Dependency Injection Framework for Java

  •    Java

Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. Guice alleviates the need for factories and the use of new in your Java code. Think of Guice's @Inject as the new new. You will still need to write factories in some cases, but your code will not depend directly on them. Your code will be easier to change, unit test and reuse in other contexts.

AppServices - lightweight framework for IOC and Dependency Injection in SOA


AppServices is a lightweight service container which can inject services into other objects, visual controls or components. It works with .NET Full, .NET Compact and Silverlight (included WP7). It manages automatically the service dependency. Its advantage is declarative confi...

Macaron - A high productive and modular web framework in Go.

  •    Go

Package macaron is a high productive and modular web framework in Go.The minimum requirement of Go is 1.3.

aggr-inject - Remote frame injection PoC by exploiting a standard compliant A-MPDU aggregation vulnerability in 802

  •    Python

aggr-inject is a proof-of-concept implementation of the A-MPDU subframe injection attack, which allows an attacker to inject raw Wi-Fi frames into unencrypted networks remotely. The PoC exploits a vulnerability in the 802.11n frame aggregation mechanism and can be performed against almost any modern Wi-Fi chipset, given that the target is connected to an open network. Results from this research were published in a paper and presented at the ACM WiSec 2015 security conference. Here, each subframe is prepended with a delimiter in order to indicate its starting position and length inside the aggregated frame. When the receiver receives the aggregate, the delimiters are removed, and each subframe is deaggregated and forwarded to the kernel for further processing.

node-sandboxed-module - A sandboxed node

  •    Javascript

A sandboxed node.js module loader that lets you inject dependencies into your modules.This module is intended to ease dependency injection for unit testing. However, feel free to use it for whatever crimes you can think of.

.NETAsm, a JIT Native Code Injection Library


NetAsm provides a hook to the .NET JIT compiler and enables to inject your own native code in replacement of the default CLR JIT compilation. With this library, it is possible, at runtime, to inject x86 assembler code in CLR methods with the speed of a pure CLR method call and...

class-validator - Validation made easy using TypeScript decorators.

  •    TypeScript

Allows use of decorator and non-decorator based validation. Internally uses validator.js to perform validation. Class-validator works on both browser and node.js platforms. Note: Please use at least npm@6 when using class-validator as from npm@6 the dependency tree is flatterned what is good for us.

InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node

  •    Typescript

A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. InversifyJS is a lightweight (4KB) inversion of control (IoC) container for TypeScript and JavaScript apps. An IoC container uses a class constructor to identify and inject its dependencies. InversifyJS has a friendly API and encourages the usage of the best OOP and IoC practices. InversifyJS is a tool that helps JavaScript developers write code with good OO design.

ts-express-decorators - :triangular_ruler: A TypeScript Framework on top of Express

  •    TypeScript

Ts.ED is a framework on top of Express to write your application with TypeScript (or in ES6). It provides a lot of decorators to write your code. Important! TsExpressDecorators requires Node >= 6, Express >= 4, TypeScript >= 2.0 and the experimentalDecorators, emitDecoratorMetadata, types and lib compilation options in your tsconfig.json file.

InjectionIII - Re-write of Injection for Xcode in (mostly) Swift4

  •    Objective-C

This start-over implementation on Injection for Xcode has been built into an app: included in the repo which runs in the status bar. Code injection allows you to update the implementation of methods of a class incrementally in the iOS simulator without having to rebuild or restart your application saving developer time. You can avoid the complications of code signing by using the pre-built binary which is available to download here. For some reason you may need to take the app out of qurantine manually or it will report it as damaged when you run it: xattr -d ~/Downloads/ To use, copy/link it to /Applications and run the app. Injection also expects to find your current Xcode at path /Appplications/ Injection no longer requires you to change your project as for iOS is always available if you use the "Start Injection" menu (or type control-=) each time you start your app. Once injection is connected, a file watcher is started in the InjectionIII app and whenever you save a Swift or Objective-C source the target app is messaged to update the implementation. The file watcher can be disabled & enabled while the app is running using the status bar menu. If you inject a subclass of XCTest it will try running that individual test inside your application. When you run your application without rebuilding (^⌘R), recent injections will be re-applied.

proxyquire - 🔮 Proxies nodejs require in order to allow overriding dependencies during testing.

  •    Javascript

Proxies nodejs's require in order to make overriding dependencies during testing easy while staying totally unobtrusive. If you want to stub dependencies for your client side modules, try proxyquireify, a proxyquire for browserify v2 or proxyquire-universal to test in both Node and the browser.

mock-require - Simple, intuitive mocking of Node.js modules.

  •    Javascript

mock-require is useful if you want to mock require statements in Node.js. I wrote it because I wanted something with a straight-forward API that would let me mock anything, from a single exported function to a standard library. The module you that you want to mock. This is the same string you would pass in if you wanted to require the module.

gulp-inject - A javascript, stylesheet and webcomponent injection plugin for Gulp

  •    Javascript

I don't have enough time to maintain this plugin as I would want to, so I'm looking for people who want to help out and be contributors/repository admins. Contact me! See package.json for contact information.

inject - AMD and CJS dependency management in the browser

  •    Javascript

Makefile for for inject. Runs tests, spawns server, builds docs and files

Mugen Injection

  •    CSharp

A lightweight and fast managed IoC (Inversion of Control) and DI (Dependency Injection) with support for constructor, property, field, and method call injection

cachetools - Extensible memoizing collections and decorators

  •    Python

This module provides various memoizing collections and decorators, including variants of the Python 3 Standard Library @lru_cache function decorator. For the purpose of this module, a cache is a mutable mapping of a fixed maximum size. When the cache is full, i.e. by adding another item the cache would exceed its maximum size, the cache must choose which item(s) to discard based on a suitable cache algorithm. In general, a cache's size is the total size of its items, and an item's size is a property or function of its value, e.g. the result of sys.getsizeof(value). For the trivial but common case that each item counts as 1, a cache's size is equal to the number of its items, or len(cache).

babel-plugin-transform-decorators-legacy - A plugin for Babel 6 that (mostly) replicates the old decorator behavior from Babel 5

  •    Javascript

This is a plugin for Babel 6 that is meant to replicate the old decorator behavior from Babel 5 in order to allow people to more easily transition to Babel 6 without needing to be blocked on updates to the decorator proposal or for Babel to re-implement it. If you are including your plugins manually and using transform-class-properties, make sure that transform-decorators-legacy comes before transform-class-properties.