angular-scope-types
Advanced tools
Comparing version 1.0.0-beta.2 to 1.0.0-beta.3
@@ -0,1 +1,7 @@ | ||
# 1.0.0-beta.3 | ||
## Bug Fixes | ||
- Fixing issue where a new instance of the controller was created and the properties were not bound to that instance. | ||
# 1.0.0-beta.2 | ||
@@ -2,0 +8,0 @@ |
@@ -1,13 +0,13 @@ | ||
// angular-scope-types version 1.0.0-beta.2 built with ♥ by Kent C. Dodds <kent@doddsfamily.us> (http://kent.doddsfamily.us) (ó ì_í)=óò=(ì_í ò) | ||
// angular-scope-types version 1.0.0-beta.3 built with ♥ by Kent C. Dodds <kent@doddsfamily.us> (http://kent.doddsfamily.us) (ó ì_í)=óò=(ì_í ò) | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
if(typeof exports === 'object' && typeof module === 'object') | ||
module.exports = factory(require("api-check"), require("angular")); | ||
module.exports = factory(require("angular"), require("api-check")); | ||
else if(typeof define === 'function' && define.amd) | ||
define(["api-check", "angular"], factory); | ||
define(["angular", "api-check"], factory); | ||
else if(typeof exports === 'object') | ||
exports["angularScopeTypes"] = factory(require("api-check"), require("angular")); | ||
exports["angularScopeTypes"] = factory(require("angular"), require("api-check")); | ||
else | ||
root["angularScopeTypes"] = factory(root["apiCheck"], root["angular"]); | ||
})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_5__) { | ||
root["angularScopeTypes"] = factory(root["angular"], root["apiCheck"]); | ||
})(this, function(__WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__) { | ||
return /******/ (function(modules) { // webpackBootstrap | ||
@@ -61,4 +61,2 @@ /******/ // The module cache | ||
var _interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; | ||
Object.defineProperty(exports, '__esModule', { | ||
@@ -68,2 +66,4 @@ value: true | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _scopeTypes = __webpack_require__(1); | ||
@@ -82,4 +82,2 @@ | ||
var _interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; | ||
Object.defineProperty(exports, '__esModule', { | ||
@@ -89,14 +87,16 @@ value: true | ||
var _angular = __webpack_require__(3); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _angular2 = _interopRequireDefault(_angular); | ||
var _angularFix = __webpack_require__(2); | ||
var _apiCheckFactory = __webpack_require__(2); | ||
var _angularFix2 = _interopRequireDefault(_angularFix); | ||
var _apiCheckFactory2 = _interopRequireDefault(_apiCheckFactory); | ||
var _apiCheck = __webpack_require__(4); | ||
var _checkerFactories = __webpack_require__(4); | ||
var _apiCheck2 = _interopRequireDefault(_apiCheck); | ||
var _checkerFactories2 = _interopRequireDefault(_checkerFactories); | ||
var _checkers = __webpack_require__(5); | ||
var _checkers2 = _interopRequireDefault(_checkers); | ||
var defaultOutput = { prefix: 'api-check-angular' }; | ||
@@ -117,3 +117,3 @@ | ||
var scopeTypes = _apiCheckFactory2['default']({ | ||
var scopeTypes = (0, _apiCheck2['default'])({ | ||
output: output, | ||
@@ -123,3 +123,3 @@ disabled: disabled | ||
// manually adding checkers so we have an instance of scopeTypes to pass them. | ||
_angular2['default'].forEach(_checkerFactories2['default'], function (factory, name) { | ||
_angularFix2['default'].forEach(_checkers2['default'], function (factory, name) { | ||
scopeTypes[name] = factory({ scopeTypes: scopeTypes, disabled: disabled }); | ||
@@ -153,4 +153,4 @@ }); | ||
_angular2['default'].forEach(typeDefinitions, function (check, name) { | ||
if (!_angular2['default'].isDefined(context[name])) { | ||
_angularFix2['default'].forEach(typeDefinitions, function (check, name) { | ||
if (!_angularFix2['default'].isDefined(context[name])) { | ||
(function () { | ||
@@ -179,3 +179,3 @@ var prefix = ddo.controllerAs ? ddo.controllerAs + '.' : ''; | ||
var ignore = ['__passed', '__failed']; | ||
_angular2['default'].forEach($scope.$scopeTypesResults, function (result, name) { | ||
_angularFix2['default'].forEach($scope.$scopeTypesResults, function (result, name) { | ||
if (ignore.indexOf(name) === -1) { | ||
@@ -197,12 +197,12 @@ if (result.passed) { | ||
function extendController(originalController, newController) { | ||
if (!_angular2['default'].isDefined(originalController)) { | ||
if (!_angularFix2['default'].isDefined(originalController)) { | ||
return newController; | ||
} | ||
function wrappedController($scope, $controller, $element, $attrs, $transclude) { | ||
var context = { $scope: $scope, $element: $element, $attrs: $attrs, $transclude: $transclude }; | ||
_angular2['default'].extend(this, $controller(newController, context)); | ||
_angular2['default'].extend(this, $controller(originalController, context)); | ||
function wrappedController($scope, $controller, $element, $attrs, $transclude, $injector) { | ||
var locals = { $scope: $scope, $element: $element, $attrs: $attrs, $transclude: $transclude }; | ||
$injector.invoke(newController, this, locals); | ||
$injector.invoke(originalController, this, locals); | ||
} | ||
wrappedController.$inject = ['$scope', '$controller', '$element', '$attrs', '$transclude']; | ||
wrappedController.$inject = ['$scope', '$controller', '$element', '$attrs', '$transclude', '$injector']; | ||
return wrappedController; | ||
@@ -218,8 +218,4 @@ } | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_2__; | ||
/***/ }, | ||
/* 3 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
// some versions of angular don't export the angular module properly, | ||
// so we get it from window in this case. | ||
'use strict'; | ||
@@ -230,5 +226,3 @@ | ||
}); | ||
// some versions of angular don't export the angular module properly, | ||
// so we get it from window in this case. | ||
var angular = __webpack_require__(5); | ||
var angular = __webpack_require__(3); | ||
/* istanbul ignore next */ | ||
@@ -242,9 +236,19 @@ if (!angular.version) { | ||
/***/ }, | ||
/* 3 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_3__; | ||
/***/ }, | ||
/* 4 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_4__; | ||
/***/ }, | ||
/* 5 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
var _interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; | ||
Object.defineProperty(exports, '__esModule', { | ||
@@ -254,2 +258,4 @@ value: true | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _injectableFunction = __webpack_require__(6); | ||
@@ -269,8 +275,2 @@ | ||
/***/ }, | ||
/* 5 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
module.exports = __WEBPACK_EXTERNAL_MODULE_5__; | ||
/***/ }, | ||
/* 6 */ | ||
@@ -281,4 +281,2 @@ /***/ function(module, exports, __webpack_require__) { | ||
var _interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; | ||
Object.defineProperty(exports, '__esModule', { | ||
@@ -289,4 +287,6 @@ value: true | ||
var _apiCheck = __webpack_require__(2); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _apiCheck = __webpack_require__(4); | ||
var _apiCheck2 = _interopRequireDefault(_apiCheck); | ||
@@ -339,4 +339,2 @@ | ||
var _interopRequireDefault = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; | ||
Object.defineProperty(exports, '__esModule', { | ||
@@ -347,2 +345,4 @@ value: true | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _checkerUtils = __webpack_require__(8); | ||
@@ -349,0 +349,0 @@ |
@@ -1,4 +0,4 @@ | ||
// angular-scope-types version 1.0.0-beta.2 built with ♥ by Kent C. Dodds <kent@doddsfamily.us> (http://kent.doddsfamily.us) (ó ì_í)=óò=(ì_í ò) | ||
// angular-scope-types version 1.0.0-beta.3 built with ♥ by Kent C. Dodds <kent@doddsfamily.us> (http://kent.doddsfamily.us) (ó ì_í)=óò=(ì_í ò) | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("api-check"),require("angular")):"function"==typeof define&&define.amd?define(["api-check","angular"],t):"object"==typeof exports?exports.angularScopeTypes=t(require("api-check"),require("angular")):e.angularScopeTypes=t(e.apiCheck,e.angular)}(this,function(e,t){return function(e){function t(o){if(r[o])return r[o].exports;var n=r[o]={exports:{},id:o,loaded:!1};return e[o].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";var o=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(t,"__esModule",{value:!0});var n=r(7),a=o(n);t["default"]=a["default"],e.exports=t["default"]},function(t,r,o){t.exports=e},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r(8);o.version||(o=window.angular),t["default"]=o,e.exports=t["default"]},function(e,t,r){"use strict";function o(){}Object.defineProperty(t,"__esModule",{value:!0}),o.nullable=o,o.nullable.optional=o,t["default"]={noopChecker:o},e.exports=t["default"]},function(e,t,r){"use strict";function o(){var e=void 0===arguments[0]?{strictDi:!1,disabled:!1}:arguments[0],t=e.scopeTypes,r=(e.strictDi,e.disabled),o=void 0===r?!1:r;if(o)return u["default"].noopChecker;var n=t;if(!n)throw new Error("Must provide an instance of scopeTypes");var a=t.oneOfType([n.string,n.func]),i=n.shape({priority:n.number.optional,template:n.shape.ifNot("templateUrl",a).optional,templateUrl:n.shape.ifNot("template",n.string).optional,transclude:n.bool.optional,restrict:n.oneOf(["A","E","C","AE","EA","AEC","AC","EC"]).optional,templateNamespace:n.oneOf(["html","svg","math"]).optional,scope:n.oneOfType([n.bool,n.objectOf(n.string)]).optional,controller:n.injectableFunction.optional,controllerAs:n.string.optional,bindToController:n.oneOfType([n.bool,n.objectOf(n.string)]).optional,require:n.typeOrArrayOf(n.string).optional,compile:n.func.optional,link:n.oneOfType([n.func,n.shape({pre:n.func.optional,post:n.func.optional}).strict]).optional,scopeTypes:n.func,data:n.object.optional}).strict;return n.oneOfType([n.func,i])}var n=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o;var a=r(3),u=n(a);e.exports=t["default"]},function(e,t,r){"use strict";var o=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(t,"__esModule",{value:!0});var n=r(6),a=o(n),u=r(4),i=o(u);t["default"]={injectableFunction:a["default"],ddo:i["default"]},e.exports=t["default"]},function(e,t,r){"use strict";function o(){var e=void 0===arguments[0]?{strictDi:!1,disabled:!1}:arguments[0],t=e.strictDi,r=void 0===t?!1:t,o=e.disabled,n=void 0===o?!1:o,a=u["default"].func.withProperties({$inject:u["default"].arrayOf(u["default"].string)}),i=u["default"].utils.checkerHelpers.setupChecker(function(e,t,r){if(!Array.isArray(e))return u["default"].utils.getError(t,r,u["default"].array.type);var o=e.slice(),n=o.pop(),a=u["default"].arrayOf(u["default"].string),i=a(o);return u["default"].utils.isError(i)?u["default"].utils.getError(t,r,a.type):"function"!=typeof n?u["default"].utils.getError(t,r,u["default"].func.type):void 0},{type:"angular injectable function (array syntax)"},n),l=[a,i];return r||l.push(u["default"].func),u["default"].oneOfType(l)}var n=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o;var a=r(1),u=n(a);e.exports=t["default"]},function(e,t,r){"use strict";function o(){function e(e){function t(t){function r(r,a){t.$scopeTypesResults[a]=i.warn(r,n[a],{prefix:""+e.name+'Directive for "'+a+'"'}),o()}function o(){var e=0,r=0,o=["__passed","__failed"];u["default"].forEach(t.$scopeTypesResults,function(t,n){-1===o.indexOf(n)&&(t.passed?e++:r++)}),t.$scopeTypesResults.__passed=e,t.$scopeTypesResults.__failed=r}var n=t;e.bindToController&&(n=n[e.controllerAs]);var a=e.scopeTypes(i);i.warn(i.objectOf(i.func),a,{prefix:"getting scope types for "+e.name}),t.$scopeTypesResults={__passed:0,__failed:0},u["default"].forEach(a,function(o,a){u["default"].isDefined(n[a])?r(o,a):!function(){var n=e.controllerAs?e.controllerAs+".":"",u=t.$watch(""+n+a,function(e,t){e!==t&&(u(),r(o,a))})}()})}function r(e,t){function r(r,o,n,a,i){var l={$scope:r,$element:n,$attrs:a,$transclude:i};u["default"].extend(this,o(t,l)),u["default"].extend(this,o(e,l))}return u["default"].isDefined(e)?(r.$inject=["$scope","$controller","$element","$attrs","$transclude"],r):t}return i.config.disabled?e:(i.warn(i.ddo,e,{prefix:"creating directive with scopeTypes"}),e.controller=r(e.controller,t),t.$inject=["$scope"],e)}var t=void 0===arguments[0]?{disabled:!1,output:c}:arguments[0],r=t.disabled,o=void 0===r?!1:r,n=t.output,a=void 0===n?c:n,i=l["default"]({output:a,disabled:o});return u["default"].forEach(f["default"],function(e,t){i[t]=e({scopeTypes:i,disabled:o})}),i.directive=e,i}var n=function(e){return e&&e.__esModule?e:{"default":e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(2),u=n(a),i=r(1),l=n(i),s=r(5),f=n(s),c={prefix:"api-check-angular"};t["default"]=o,e.exports=t["default"]},function(e,r,o){e.exports=t}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("api-check"),require("angular")):"function"==typeof define&&define.amd?define(["api-check","angular"],t):"object"==typeof exports?exports.angularScopeTypes=t(require("api-check"),require("angular")):e.angularScopeTypes=t(e.apiCheck,e.angular)}(this,function(e,t){return function(e){function t(r){if(o[r])return o[r].exports;var n=o[r]={exports:{},id:r,loaded:!1};return e[r].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var n=o(7),a=r(n);t["default"]=a["default"],e.exports=t["default"]},function(t,o,r){t.exports=e},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(8);r.version||(r=window.angular),t["default"]=r,e.exports=t["default"]},function(e,t,o){"use strict";function r(){}Object.defineProperty(t,"__esModule",{value:!0}),r.nullable=r,r.nullable.optional=r,t["default"]={noopChecker:r},e.exports=t["default"]},function(e,t,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=void 0===arguments[0]?{strictDi:!1,disabled:!1}:arguments[0],t=e.scopeTypes,o=(e.strictDi,e.disabled),r=void 0===o?!1:o;if(r)return u["default"].noopChecker;var n=t;if(!n)throw new Error("Must provide an instance of scopeTypes");var a=t.oneOfType([n.string,n.func]),i=n.shape({priority:n.number.optional,template:n.shape.ifNot("templateUrl",a).optional,templateUrl:n.shape.ifNot("template",n.string).optional,transclude:n.bool.optional,restrict:n.oneOf(["A","E","C","AE","EA","AEC","AC","EC"]).optional,templateNamespace:n.oneOf(["html","svg","math"]).optional,scope:n.oneOfType([n.bool,n.objectOf(n.string)]).optional,controller:n.injectableFunction.optional,controllerAs:n.string.optional,bindToController:n.oneOfType([n.bool,n.objectOf(n.string)]).optional,require:n.typeOrArrayOf(n.string).optional,compile:n.func.optional,link:n.oneOfType([n.func,n.shape({pre:n.func.optional,post:n.func.optional}).strict]).optional,scopeTypes:n.func,data:n.object.optional}).strict;return n.oneOfType([n.func,i])}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=n;var a=o(3),u=r(a);e.exports=t["default"]},function(e,t,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var n=o(6),a=r(n),u=o(4),i=r(u);t["default"]={injectableFunction:a["default"],ddo:i["default"]},e.exports=t["default"]},function(e,t,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(){var e=void 0===arguments[0]?{strictDi:!1,disabled:!1}:arguments[0],t=e.strictDi,o=void 0===t?!1:t,r=e.disabled,n=void 0===r?!1:r,a=u["default"].func.withProperties({$inject:u["default"].arrayOf(u["default"].string)}),i=u["default"].utils.checkerHelpers.setupChecker(function(e,t,o){if(!Array.isArray(e))return u["default"].utils.getError(t,o,u["default"].array.type);var r=e.slice(),n=r.pop(),a=u["default"].arrayOf(u["default"].string),i=a(r);return u["default"].utils.isError(i)?u["default"].utils.getError(t,o,a.type):"function"!=typeof n?u["default"].utils.getError(t,o,u["default"].func.type):void 0},{type:"angular injectable function (array syntax)"},n),l=[a,i];return o||l.push(u["default"].func),u["default"].oneOfType(l)}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=n;var a=o(1),u=r(a);e.exports=t["default"]},function(e,t,o){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function n(){function e(e){function t(t){function o(o,a){t.$scopeTypesResults[a]=i.warn(o,n[a],{prefix:""+e.name+'Directive for "'+a+'"'}),r()}function r(){var e=0,o=0,r=["__passed","__failed"];u["default"].forEach(t.$scopeTypesResults,function(t,n){-1===r.indexOf(n)&&(t.passed?e++:o++)}),t.$scopeTypesResults.__passed=e,t.$scopeTypesResults.__failed=o}var n=t;e.bindToController&&(n=n[e.controllerAs]);var a=e.scopeTypes(i);i.warn(i.objectOf(i.func),a,{prefix:"getting scope types for "+e.name}),t.$scopeTypesResults={__passed:0,__failed:0},u["default"].forEach(a,function(r,a){u["default"].isDefined(n[a])?o(r,a):!function(){var n=e.controllerAs?e.controllerAs+".":"",u=t.$watch(""+n+a,function(e,t){e!==t&&(u(),o(r,a))})}()})}function o(e,t){function o(o,r,n,a,u,i){var l={$scope:o,$element:n,$attrs:a,$transclude:u};i.invoke(t,this,l),i.invoke(e,this,l)}return u["default"].isDefined(e)?(o.$inject=["$scope","$controller","$element","$attrs","$transclude","$injector"],o):t}return i.config.disabled?e:(i.warn(i.ddo,e,{prefix:"creating directive with scopeTypes"}),e.controller=o(e.controller,t),t.$inject=["$scope"],e)}var t=void 0===arguments[0]?{disabled:!1,output:c}:arguments[0],o=t.disabled,r=void 0===o?!1:o,n=t.output,a=void 0===n?c:n,i=l["default"]({output:a,disabled:r});return u["default"].forEach(f["default"],function(e,t){i[t]=e({scopeTypes:i,disabled:r})}),i.directive=e,i}Object.defineProperty(t,"__esModule",{value:!0});var a=o(2),u=r(a),i=o(1),l=r(i),s=o(5),f=r(s),c={prefix:"api-check-angular"};t["default"]=n,e.exports=t["default"]},function(e,o,r){e.exports=t}])}); | ||
//# sourceMappingURL=angular-scope-types.min.js.map |
{ | ||
"name": "angular-scope-types", | ||
"version": "1.0.0-beta.2", | ||
"version": "1.0.0-beta.3", | ||
"description": "checkers and other utilities for using api-check with angular", | ||
@@ -19,3 +19,3 @@ "main": "dist/angular-scope-types.js", | ||
"start": "npm run test", | ||
"check-coverage": "npm run test:single && ./node_modules/istanbul/lib/cli.js check-coverage --statements 90 --functions 90 --lines 90 --branches 70", | ||
"check-coverage": "COVERAGE=true npm run test:single && ./node_modules/istanbul/lib/cli.js check-coverage --statements 96 --branches 78 --functions 99 --lines 97", | ||
"coveralls": "cat coverage/lcov.info | coveralls", | ||
@@ -52,3 +52,3 @@ "only-check": "node scripts/only-check.js", | ||
"ghooks": { | ||
"pre-commit": "npm run code-checks && npm run test:single" | ||
"pre-commit": "npm run ci" | ||
} | ||
@@ -83,2 +83,3 @@ }, | ||
"karma-mocha": "^0.1.10", | ||
"karma-sinon": "^1.0.4", | ||
"karma-sourcemap-loader": "^0.3.4", | ||
@@ -89,3 +90,2 @@ "karma-webpack": "^1.5.0", | ||
"ng-annotate-loader": "0.0.2", | ||
"sinon": "git://github.com/cjohansen/Sinon.JS#sinon-2.0", | ||
"sinon-chai": "^2.6.0", | ||
@@ -92,0 +92,0 @@ "webpack": "^1.8.9", |
@@ -32,2 +32,3 @@ import {expectPass, expectFail, link, controllers} from '../test-utils'; | ||
bindToController: true, | ||
/* istanbul ignore next */ | ||
scopeTypes: st => ({foo: st.shape({})}) | ||
@@ -34,0 +35,0 @@ })); |
@@ -1,7 +0,2 @@ | ||
export * from 'angular-mocks'; | ||
export * from './checkers/index.test'; | ||
export * from './scopeTypes.test'; | ||
import chai from 'chai'; | ||
import sinonChai from 'sinon-chai'; | ||
chai.use(sinonChai); |
@@ -100,9 +100,9 @@ import angular from 'angular-fix'; | ||
} | ||
function wrappedController($scope, $controller, $element, $attrs, $transclude) { | ||
const context = {$scope, $element, $attrs, $transclude}; | ||
angular.extend(this, $controller(newController, context)); | ||
angular.extend(this, $controller(originalController, context)); | ||
function wrappedController($scope, $controller, $element, $attrs, $transclude, $injector) { | ||
const locals = {$scope, $element, $attrs, $transclude}; | ||
$injector.invoke(newController, this, locals); | ||
$injector.invoke(originalController, this, locals); | ||
} | ||
wrappedController.$inject = ['$scope', '$controller', '$element', '$attrs', '$transclude']; | ||
wrappedController.$inject = ['$scope', '$controller', '$element', '$attrs', '$transclude', '$injector']; | ||
return wrappedController; | ||
@@ -109,0 +109,0 @@ } |
@@ -56,3 +56,3 @@ /* eslint no-console:0 */ | ||
angular.mock.inject($injector => { | ||
angular.mock.inject(['$injector', $injector => { | ||
const ddo = $injector.get(`${myDirName}Directive`); | ||
@@ -64,16 +64,35 @@ | ||
expectNoWarning(); | ||
}]); | ||
}); | ||
it(`should still allow the directive controller to use it's controller as`, () => { | ||
createDirective(undefined, { | ||
controller, | ||
controllerAs: 'vm', | ||
bindToController: true | ||
}); | ||
function controller() { | ||
const vm = this; | ||
expect(vm.bar).to.eq('barString'); | ||
} | ||
compileAndDigest(); | ||
expectNoWarning(); | ||
}); | ||
function createDirective(name, definition, scopeTypesInstance = scopeTypes) { | ||
angular.mock.module(function($provide, $compileProvider) { | ||
angular.mock.module(['$provide', '$compileProvider', function($provide, $compileProvider) { | ||
$provide.constant('myScopeTypes', scopeTypesInstance); | ||
$compileProvider.directive(name || 'scopeTypeDir', function(myScopeTypes) { | ||
$compileProvider.directive(name || 'scopeTypeDir', ['myScopeTypes', function(myScopeTypes) { | ||
return myScopeTypes.directive(angular.extend({ | ||
template: 'foo', | ||
scope: {foo: '=', bar: '@'}, | ||
scopeTypes: getScopeTypes | ||
scopeTypes: getScopeTypes, | ||
controllerAs: 'vm', | ||
bindToController: true, | ||
controller: angular.noop | ||
}, definition)); | ||
}); | ||
}); | ||
}]); | ||
}]); | ||
} | ||
@@ -83,3 +102,3 @@ | ||
function compileAndDigest(extraProps = {}, template = basicTemplate) { | ||
angular.mock.inject(($compile, $rootScope) => { | ||
angular.mock.inject(['$compile', '$rootScope', ($compile, $rootScope) => { | ||
scope = $rootScope.$new(); | ||
@@ -89,3 +108,3 @@ angular.extend(scope, extraProps); | ||
scope.$digest(); | ||
}); | ||
}]); | ||
return el; | ||
@@ -92,0 +111,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
0
72177
22
793