Socket
Socket
Sign inDemoInstall

mana-syringe

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mana-syringe - npm Package Compare versions

Comparing version 0.2.1 to 0.2.2-next.0

9

package.json
{
"name": "mana-syringe",
"keywords": [],
"version": "0.2.1",
"version": "0.2.2-next.0",
"typings": "dist/index.d.ts",
"main": "dist/index.js",
"module": "dist/index.esm.js",
"browser": "index.umd.js",
"unpkg": "dist/index.umd.min.js",
"files": [

@@ -18,5 +18,2 @@ "package.json",

},
"devDependencies": {
"mana-scripts": "^0.2.0"
},
"scripts": {

@@ -29,3 +26,3 @@ "prepare": "yarn run clean && yarn run build",

},
"gitHead": "8d6f4622e203b5df7ead3650699aeb8dca719a03"
"gitHead": "59e398ac381ef9128036a6b42c8994d7452c3b86"
}

@@ -5,2 +5,4 @@ import assert from 'assert';

import { Syringe } from './core';
import { contrib, Contribution } from './contribution';
import { Module } from './module';

@@ -198,2 +200,51 @@ describe('container', () => {

});
it('#remove contrib', () => {
const FooSymbol = Syringe.defineToken('FooSymbol');
@singleton({ contrib: FooSymbol })
class FooContribution {}
@singleton({ contrib: FooSymbol })
class BarContribution {}
register(FooContribution);
register(BarContribution);
const contribs = GlobalContainer.getAll(FooSymbol);
assert(contribs.length === 2);
assert(contribs[0] instanceof FooContribution);
GlobalContainer.remove(FooSymbol);
assert(!GlobalContainer.isBound(FooSymbol));
register(FooContribution);
const emptyContribs = GlobalContainer.getAll(FooSymbol);
assert(emptyContribs.length === 1);
});
it('#remove contrib in module', () => {
const FooSymbol = Syringe.defineToken('FooSymbol');
@singleton({ contrib: FooSymbol })
class FooContribution {}
@singleton({ contrib: FooSymbol })
class BarContribution {}
@singleton()
class Foo {
constructor(@contrib(FooSymbol) public provider: Contribution.Provider<Record<any, any>>) {}
}
// const fooModule = Module().contribution(FooSymbol).register(Foo, FooContribution);
const fooModule = Module(reg => {
Contribution.register(reg, FooSymbol, { cache: false });
reg(Foo);
reg(FooContribution);
});
const barModule = Module((reg, ctx) => {
ctx.container.remove(FooSymbol);
reg(BarContribution);
});
GlobalContainer.load(fooModule);
const foo = GlobalContainer.get(Foo);
const contribs = foo.provider.getContributions();
assert(contribs.length === 1);
assert(contribs[0] instanceof FooContribution);
GlobalContainer.load(barModule);
const newContribs = foo.provider.getContributions({ cache: false });
assert(newContribs.length === 1);
assert(newContribs[0] instanceof BarContribution);
});
});

@@ -200,0 +251,0 @@ describe('basic', () => {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc