1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { Self, SkipSelf } from './dependencyLookUp';
- import { Many, Optional } from './dependencyQuantity';
- import { WithNew } from './dependencyWithNew';
- import { RediError } from './error';
- import { LookUp, Quantity } from './types';
- export function normalizeFactoryDeps(deps) {
- if (!deps) {
- return [];
- }
- return deps.map(function (dep, index) {
- if (!Array.isArray(dep)) {
- return {
- paramIndex: index,
- identifier: dep,
- quantity: Quantity.REQUIRED,
- withNew: false,
- };
- }
- var modifiers = dep.slice(0, dep.length - 1);
- var identifier = dep[dep.length - 1];
- var lookUp = undefined;
- var quantity = Quantity.REQUIRED;
- var withNew = false;
- modifiers.forEach(function (modifier) {
- if (modifier instanceof Self) {
- lookUp = LookUp.SELF;
- }
- else if (modifier instanceof SkipSelf) {
- lookUp = LookUp.SKIP_SELF;
- }
- else if (modifier instanceof Optional) {
- quantity = Quantity.OPTIONAL;
- }
- else if (modifier instanceof Many) {
- quantity = Quantity.MANY;
- }
- else if (modifier instanceof WithNew) {
- withNew = true;
- }
- else {
- throw new RediError("unknown dep modifier ".concat(modifier, "."));
- }
- });
- return {
- paramIndex: index,
- identifier: identifier,
- quantity: quantity,
- lookUp: lookUp,
- withNew: withNew,
- };
- });
- }
- //# sourceMappingURL=dependencyDescriptor.js.map
|