Code coverage report for src/route-loader.js

Statements: 58.97% (23 / 39)      Branches: 43.75% (7 / 16)      Functions: 60% (9 / 15)      Lines: 59.38% (19 / 32)      Ignored: none     

All files » src/ » route-loader.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 691     1   1   1   1   1412   1210   100 100   1   10     1 1             1   1   1                                                 1 1     1        
System.register(['aurelia-dependency-injection', 'aurelia-templating', 'aurelia-router', 'aurelia-path', 'aurelia-metadata'], function (_export) {
  'use strict';
 
  var inject, CompositionEngine, RouteLoader, Router, relativeToFile, Origin, TemplatingRouteLoader;
 
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
  function _inherits(subClass, superClass) { Iif (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) subClass.__proto__ = superClass; }
 
  return {
    setters: [function (_aureliaDependencyInjection) {
      inject = _aureliaDependencyInjection.inject;
    }, function (_aureliaTemplating) {
      CompositionEngine = _aureliaTemplating.CompositionEngine;
    }, function (_aureliaRouter) {
      RouteLoader = _aureliaRouter.RouteLoader;
      Router = _aureliaRouter.Router;
    }, function (_aureliaPath) {
      relativeToFile = _aureliaPath.relativeToFile;
    }, function (_aureliaMetadata) {
      Origin = _aureliaMetadata.Origin;
    }],
    execute: function () {
      TemplatingRouteLoader = (function (_RouteLoader) {
        function TemplatingRouteLoader(compositionEngine) {
          _classCallCheck(this, _TemplatingRouteLoader);
 
          _RouteLoader.call(this);
          this.compositionEngine = compositionEngine;
        }
 
        _inherits(TemplatingRouteLoader, _RouteLoader);
 
        var _TemplatingRouteLoader = TemplatingRouteLoader;
 
        _TemplatingRouteLoader.prototype.loadRoute = function loadRoute(router, config) {
          var childContainer = router.container.createChild(),
              instruction = {
            viewModel: relativeToFile(config.moduleId, Origin.get(router.container.viewModel.constructor).moduleId),
            childContainer: childContainer,
            view: config.view || config.viewStrategy
          };
 
          childContainer.getChildRouter = function () {
            var childRouter;
 
            childContainer.registerHandler(Router, function (c) {
              return childRouter || (childRouter = router.createChild(childContainer));
            });
 
            return childContainer.get(Router);
          };
 
          return this.compositionEngine.createViewModel(instruction).then(function (instruction) {
            instruction.executionContext = instruction.viewModel;
            instruction.router = router;
            return instruction;
          });
        };
 
        TemplatingRouteLoader = inject(CompositionEngine)(TemplatingRouteLoader) || TemplatingRouteLoader;
        return TemplatingRouteLoader;
      })(RouteLoader);
 
      _export('TemplatingRouteLoader', TemplatingRouteLoader);
    }
  };
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL3RlbXBsYXRpbmctcm91dGVyL3NyYy9yb3V0ZS1sb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OzhFQU9hLHFCQUFxQjs7Ozs7Ozs7MkNBUDFCLE1BQU07OzZDQUNOLGlCQUFpQjs7bUNBQ2pCLFdBQVc7OEJBQUUsTUFBTTs7b0NBQ25CLGNBQWM7O2dDQUNkLE1BQU07OztBQUdELDJCQUFxQjtBQUNyQixpQkFEQSxxQkFBcUIsQ0FDcEIsaUJBQWlCLEVBQUM7OztBQUM1QixpQ0FBTyxDQUFDO0FBQ1IsY0FBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1NBQzVDOztrQkFKVSxxQkFBcUI7O3FDQUFyQixxQkFBcUI7O3lDQU1oQyxTQUFTLEdBQUEsbUJBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQztBQUN2QixjQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtjQUMvQyxXQUFXLEdBQUc7QUFDWixxQkFBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3ZHLDBCQUFjLEVBQUMsY0FBYztBQUM3QixnQkFBSSxFQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFlBQVk7V0FDeEMsQ0FBQzs7QUFFTix3QkFBYyxDQUFDLGNBQWMsR0FBRyxZQUFVO0FBQ3hDLGdCQUFJLFdBQVcsQ0FBQzs7QUFFaEIsMEJBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFVBQUEsQ0FBQyxFQUFJO0FBQzFDLHFCQUFPLFdBQVcsS0FBSyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQSxBQUFDLENBQUM7YUFDMUUsQ0FBQyxDQUFDOztBQUVILG1CQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7V0FDbkMsQ0FBQzs7QUFFRixpQkFBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFBLFdBQVcsRUFBSTtBQUM3RSx1QkFBVyxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7QUFDckQsdUJBQVcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQzVCLG1CQUFPLFdBQVcsQ0FBQztXQUNwQixDQUFDLENBQUM7U0FDSjs7QUE3QlUsNkJBQXFCLEdBRGpDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUNiLHFCQUFxQixLQUFyQixxQkFBcUI7ZUFBckIscUJBQXFCO1NBQVMsV0FBVzs7dUNBQXpDLHFCQUFxQiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS90ZW1wbGF0aW5nLXJvdXRlci9zcmMvcm91dGUtbG9hZGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3R9IGZyb20gJ2F1cmVsaWEtZGVwZW5kZW5jeS1pbmplY3Rpb24nO1xuaW1wb3J0IHtDb21wb3NpdGlvbkVuZ2luZX0gZnJvbSAnYXVyZWxpYS10ZW1wbGF0aW5nJztcbmltcG9ydCB7Um91dGVMb2FkZXIsIFJvdXRlcn0gZnJvbSAnYXVyZWxpYS1yb3V0ZXInO1xuaW1wb3J0IHtyZWxhdGl2ZVRvRmlsZX0gZnJvbSAnYXVyZWxpYS1wYXRoJztcbmltcG9ydCB7T3JpZ2lufSBmcm9tICdhdXJlbGlhLW1ldGFkYXRhJztcblxuQGluamVjdChDb21wb3NpdGlvbkVuZ2luZSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0aW5nUm91dGVMb2FkZXIgZXh0ZW5kcyBSb3V0ZUxvYWRlciB7XG4gIGNvbnN0cnVjdG9yKGNvbXBvc2l0aW9uRW5naW5lKXtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuY29tcG9zaXRpb25FbmdpbmUgPSBjb21wb3NpdGlvbkVuZ2luZTtcbiAgfVxuXG4gIGxvYWRSb3V0ZShyb3V0ZXIsIGNvbmZpZyl7XG4gICAgdmFyIGNoaWxkQ29udGFpbmVyID0gcm91dGVyLmNvbnRhaW5lci5jcmVhdGVDaGlsZCgpLFxuICAgICAgICBpbnN0cnVjdGlvbiA9IHtcbiAgICAgICAgICB2aWV3TW9kZWw6IHJlbGF0aXZlVG9GaWxlKGNvbmZpZy5tb2R1bGVJZCwgT3JpZ2luLmdldChyb3V0ZXIuY29udGFpbmVyLnZpZXdNb2RlbC5jb25zdHJ1Y3RvcikubW9kdWxlSWQpLFxuICAgICAgICAgIGNoaWxkQ29udGFpbmVyOmNoaWxkQ29udGFpbmVyLFxuICAgICAgICAgIHZpZXc6Y29uZmlnLnZpZXcgfHwgY29uZmlnLnZpZXdTdHJhdGVneVxuICAgICAgICB9O1xuXG4gICAgY2hpbGRDb250YWluZXIuZ2V0Q2hpbGRSb3V0ZXIgPSBmdW5jdGlvbigpe1xuICAgICAgdmFyIGNoaWxkUm91dGVyO1xuXG4gICAgICBjaGlsZENvbnRhaW5lci5yZWdpc3RlckhhbmRsZXIoUm91dGVyLCBjID0+IHtcbiAgICAgICAgcmV0dXJuIGNoaWxkUm91dGVyIHx8IChjaGlsZFJvdXRlciA9IHJvdXRlci5jcmVhdGVDaGlsZChjaGlsZENvbnRhaW5lcikpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjaGlsZENvbnRhaW5lci5nZXQoUm91dGVyKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuY29tcG9zaXRpb25FbmdpbmUuY3JlYXRlVmlld01vZGVsKGluc3RydWN0aW9uKS50aGVuKGluc3RydWN0aW9uID0+IHtcbiAgICAgIGluc3RydWN0aW9uLmV4ZWN1dGlvbkNvbnRleHQgPSBpbnN0cnVjdGlvbi52aWV3TW9kZWw7XG4gICAgICBpbnN0cnVjdGlvbi5yb3V0ZXIgPSByb3V0ZXI7XG4gICAgICByZXR1cm4gaW5zdHJ1Y3Rpb247XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==