diff --git a/bower.json b/bower.json index 0676f8b..6a2c707 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "aurelia-dependency-injection", - "version": "0.11.2", + "version": "0.12.0", "description": "A lightweight, extensible dependency injection container for JavaScript.", "keywords": [ "aurelia", diff --git a/dist/amd/aurelia-dependency-injection.d.ts b/dist/amd/aurelia-dependency-injection.d.ts index a456c79..af81975 100644 --- a/dist/amd/aurelia-dependency-injection.d.ts +++ b/dist/amd/aurelia-dependency-injection.d.ts @@ -282,6 +282,10 @@ declare module 'aurelia-dependency-injection' { * A lightweight, extensible dependency injection container. */ export class Container { + + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** diff --git a/dist/amd/aurelia-dependency-injection.js b/dist/amd/aurelia-dependency-injection.js index f194c7c..49194dd 100644 --- a/dist/amd/aurelia-dependency-injection.js +++ b/dist/amd/aurelia-dependency-injection.js @@ -17,7 +17,7 @@ define(['exports', 'core-js', 'aurelia-metadata', 'aurelia-pal'], function (expo function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - var resolver = _aureliaMetadata.protocol.create('aureia:resolver', function (target) { + var resolver = _aureliaMetadata.protocol.create('aurelia:resolver', function (target) { if (!(typeof target.get === 'function')) { return 'Resolvers must implement: get(container: Container, key: any): any'; } @@ -293,6 +293,8 @@ define(['exports', 'core-js', 'aurelia-metadata', 'aurelia-pal'], function (expo _aureliaMetadata.metadata.registration = 'aurelia:registration'; _aureliaMetadata.metadata.invoker = 'aurelia:invoker'; + var resolverDecorates = resolver.decorates; + var InvocationHandler = (function () { function InvocationHandler(fn, invoker, dependencies) { _classCallCheck(this, InvocationHandler); @@ -474,7 +476,7 @@ define(['exports', 'core-js', 'aurelia-metadata', 'aurelia-pal'], function (expo return this; } - if (resolverProtocol.decorates(key)) { + if (resolverDecorates(key)) { return key.get(this, key); } diff --git a/dist/aurelia-dependency-injection.d.ts b/dist/aurelia-dependency-injection.d.ts index a456c79..af81975 100644 --- a/dist/aurelia-dependency-injection.d.ts +++ b/dist/aurelia-dependency-injection.d.ts @@ -282,6 +282,10 @@ declare module 'aurelia-dependency-injection' { * A lightweight, extensible dependency injection container. */ export class Container { + + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** diff --git a/dist/aurelia-dependency-injection.js b/dist/aurelia-dependency-injection.js index 6ed2a17..40d495d 100644 --- a/dist/aurelia-dependency-injection.js +++ b/dist/aurelia-dependency-injection.js @@ -5,7 +5,7 @@ import {AggregateError} from 'aurelia-pal'; /** * Decorator: Indicates that the decorated class/object is a custom resolver. */ -export const resolver: Function = protocol.create('aureia:resolver', function(target) { +export const resolver: Function = protocol.create('aurelia:resolver', function(target) { if (!(typeof target.get === 'function')) { return 'Resolvers must implement: get(container: Container, key: any): any'; } @@ -404,6 +404,8 @@ export const _emptyParameters = Object.freeze([]); metadata.registration = 'aurelia:registration'; metadata.invoker = 'aurelia:invoker'; +let resolverDecorates = resolver.decorates; + /** * Stores the information needed to invoke a function. */ @@ -520,6 +522,9 @@ let classInvokers = { * A lightweight, extensible dependency injection container. */ export class Container { + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** @@ -705,7 +710,7 @@ export class Container { return this; } - if (resolverProtocol.decorates(key)) { + if (resolverDecorates(key)) { return key.get(this, key); } diff --git a/dist/commonjs/aurelia-dependency-injection.d.ts b/dist/commonjs/aurelia-dependency-injection.d.ts index a456c79..af81975 100644 --- a/dist/commonjs/aurelia-dependency-injection.d.ts +++ b/dist/commonjs/aurelia-dependency-injection.d.ts @@ -282,6 +282,10 @@ declare module 'aurelia-dependency-injection' { * A lightweight, extensible dependency injection container. */ export class Container { + + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** diff --git a/dist/commonjs/aurelia-dependency-injection.js b/dist/commonjs/aurelia-dependency-injection.js index 9a556b3..39668ee 100644 --- a/dist/commonjs/aurelia-dependency-injection.js +++ b/dist/commonjs/aurelia-dependency-injection.js @@ -22,7 +22,7 @@ var _aureliaMetadata = require('aurelia-metadata'); var _aureliaPal = require('aurelia-pal'); -var resolver = _aureliaMetadata.protocol.create('aureia:resolver', function (target) { +var resolver = _aureliaMetadata.protocol.create('aurelia:resolver', function (target) { if (!(typeof target.get === 'function')) { return 'Resolvers must implement: get(container: Container, key: any): any'; } @@ -298,6 +298,8 @@ exports._emptyParameters = _emptyParameters; _aureliaMetadata.metadata.registration = 'aurelia:registration'; _aureliaMetadata.metadata.invoker = 'aurelia:invoker'; +var resolverDecorates = resolver.decorates; + var InvocationHandler = (function () { function InvocationHandler(fn, invoker, dependencies) { _classCallCheck(this, InvocationHandler); @@ -479,7 +481,7 @@ var Container = (function () { return this; } - if (resolverProtocol.decorates(key)) { + if (resolverDecorates(key)) { return key.get(this, key); } diff --git a/dist/es6/aurelia-dependency-injection.d.ts b/dist/es6/aurelia-dependency-injection.d.ts index a456c79..af81975 100644 --- a/dist/es6/aurelia-dependency-injection.d.ts +++ b/dist/es6/aurelia-dependency-injection.d.ts @@ -282,6 +282,10 @@ declare module 'aurelia-dependency-injection' { * A lightweight, extensible dependency injection container. */ export class Container { + + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** diff --git a/dist/es6/aurelia-dependency-injection.js b/dist/es6/aurelia-dependency-injection.js index 6ed2a17..40d495d 100644 --- a/dist/es6/aurelia-dependency-injection.js +++ b/dist/es6/aurelia-dependency-injection.js @@ -5,7 +5,7 @@ import {AggregateError} from 'aurelia-pal'; /** * Decorator: Indicates that the decorated class/object is a custom resolver. */ -export const resolver: Function = protocol.create('aureia:resolver', function(target) { +export const resolver: Function = protocol.create('aurelia:resolver', function(target) { if (!(typeof target.get === 'function')) { return 'Resolvers must implement: get(container: Container, key: any): any'; } @@ -404,6 +404,8 @@ export const _emptyParameters = Object.freeze([]); metadata.registration = 'aurelia:registration'; metadata.invoker = 'aurelia:invoker'; +let resolverDecorates = resolver.decorates; + /** * Stores the information needed to invoke a function. */ @@ -520,6 +522,9 @@ let classInvokers = { * A lightweight, extensible dependency injection container. */ export class Container { + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** @@ -705,7 +710,7 @@ export class Container { return this; } - if (resolverProtocol.decorates(key)) { + if (resolverDecorates(key)) { return key.get(this, key); } diff --git a/dist/system/aurelia-dependency-injection.d.ts b/dist/system/aurelia-dependency-injection.d.ts index a456c79..af81975 100644 --- a/dist/system/aurelia-dependency-injection.d.ts +++ b/dist/system/aurelia-dependency-injection.d.ts @@ -282,6 +282,10 @@ declare module 'aurelia-dependency-injection' { * A lightweight, extensible dependency injection container. */ export class Container { + + /** + * The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal(). + */ static instance: Container; /** diff --git a/dist/system/aurelia-dependency-injection.js b/dist/system/aurelia-dependency-injection.js index 505316d..2b5bb76 100644 --- a/dist/system/aurelia-dependency-injection.js +++ b/dist/system/aurelia-dependency-injection.js @@ -1,7 +1,7 @@ System.register(['core-js', 'aurelia-metadata', 'aurelia-pal'], function (_export) { 'use strict'; - var protocol, metadata, AggregateError, resolver, Lazy, All, Optional, Parent, StrategyResolver, FactoryInvoker, TransientRegistration, SingletonRegistration, badKeyError, _emptyParameters, InvocationHandler, classInvokers, Container; + var protocol, metadata, AggregateError, resolver, Lazy, All, Optional, Parent, StrategyResolver, FactoryInvoker, TransientRegistration, SingletonRegistration, badKeyError, _emptyParameters, resolverDecorates, InvocationHandler, classInvokers, Container; var _classInvokers; @@ -99,7 +99,7 @@ System.register(['core-js', 'aurelia-metadata', 'aurelia-pal'], function (_expor AggregateError = _aureliaPal.AggregateError; }], execute: function () { - resolver = protocol.create('aureia:resolver', function (target) { + resolver = protocol.create('aurelia:resolver', function (target) { if (!(typeof target.get === 'function')) { return 'Resolvers must implement: get(container: Container, key: any): any'; } @@ -346,6 +346,8 @@ System.register(['core-js', 'aurelia-metadata', 'aurelia-pal'], function (_expor metadata.registration = 'aurelia:registration'; metadata.invoker = 'aurelia:invoker'; + resolverDecorates = resolver.decorates; + InvocationHandler = (function () { function InvocationHandler(fn, invoker, dependencies) { _classCallCheck(this, InvocationHandler); @@ -512,7 +514,7 @@ System.register(['core-js', 'aurelia-metadata', 'aurelia-pal'], function (_expor return this; } - if (resolverProtocol.decorates(key)) { + if (resolverDecorates(key)) { return key.get(this, key); } diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 1ddf3b3..d30ceaa 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,3 +1,19 @@ +## 0.12.0 (2015-11-09) + + +#### Bug Fixes + +* **container:** bug with build combining and renamed imports ([090c041a](http://github.com/aurelia/dependency-injection/commit/090c041a53cd7d653cf034aa753ce90e9c0b3df1)) +* **resolvers:** typo in resolver protocol name ([befe9668](http://github.com/aurelia/dependency-injection/commit/befe966899781d3c54710e75b901ebf0ebaa8d34)) + + +#### Features + +* **all:** + * further refining of data structures and hooks; api lockdown and docs complete ([0ee0c34c](http://github.com/aurelia/dependency-injection/commit/0ee0c34cb0b63f5ca89a5ddca9c2a34cf6ed6ebc)) + * new resolver marker, fixed registrations, onActivate hook, invokers ([ca5ccf7d](http://github.com/aurelia/dependency-injection/commit/ca5ccf7d03e907ce9fb794dcbe9f0065ceba3c43)) + + ### 0.11.2 (2015-10-15) diff --git a/doc/api.json b/doc/api.json index af87052..bf1b5f2 100644 --- a/doc/api.json +++ b/doc/api.json @@ -276,6 +276,9 @@ "isStatic": true, "isExported": true }, + "comment": { + "shortText": "The global root Container instance. Available if makeGlobal() has been called. Aurelia Framework calls makeGlobal()." + }, "type": { "type": "reference", "name": "Container", diff --git a/package.json b/package.json index 4fc06c4..3660e43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aurelia-dependency-injection", - "version": "0.11.2", + "version": "0.12.0", "description": "A lightweight, extensible dependency injection container for JavaScript.", "keywords": [ "aurelia",