UNPKG

jw-ng-forward

Version:

Temporary package. The default solution for those that want to write Angular 2.x style code in Angular 1.x

20 lines (19 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var writers_1 = require("../writers"); var helpers_1 = require("./helpers"); var provider_1 = require("./../classes/provider"); var STRING_TEST = function (a) { return typeof a === 'string'; }; var PROVIDER_TEST = function (a) { return (typeof a === 'function' || a instanceof provider_1.Provider) && writers_1.providerStore.has('name', a); }; function groupModulesAndProviders(modulesAndProviders, errorContext) { if (errorContext === void 0) { errorContext = "while analyzing providers"; } modulesAndProviders = helpers_1.flatten(modulesAndProviders); var modules = modulesAndProviders.filter(STRING_TEST); var providers = modulesAndProviders.filter(PROVIDER_TEST); var invalid = modulesAndProviders.filter(function (a) { return !STRING_TEST(a); }).filter(function (a) { return !PROVIDER_TEST(a); }); if (invalid.length > 0) { throw new TypeError("TypeError " + errorContext + ".\n Invalid Providers: please make sure all providers are an Injectable(), Component(), Directive(), a Provider, or a module string.\n Here's the invalid values: " + invalid.join(', ')); } return { modules: modules, providers: providers }; } exports.default = groupModulesAndProviders;