(config: {
name: string;
selector: string | null;
inputs?: Record<string, string>;
outputs?: Record<string, string>;
exportAs?: string[];
isComponent?: boolean;
isStructural?: boolean;
matchSource?: MatchSource;
})
| 19 | let keyCounter = 0; |
| 20 | |
| 21 | function makeDirectiveMeta(config: { |
| 22 | name: string; |
| 23 | selector: string | null; |
| 24 | inputs?: Record<string, string>; |
| 25 | outputs?: Record<string, string>; |
| 26 | exportAs?: string[]; |
| 27 | isComponent?: boolean; |
| 28 | isStructural?: boolean; |
| 29 | matchSource?: MatchSource; |
| 30 | }): DirectiveMeta { |
| 31 | return { |
| 32 | name: config.name, |
| 33 | ref: { |
| 34 | key: `${config.name}#${keyCounter++}`, |
| 35 | }, |
| 36 | exportAs: config.exportAs ?? null, |
| 37 | inputs: ClassPropertyMapping.fromMappedObject(config.inputs || {}), |
| 38 | outputs: ClassPropertyMapping.fromMappedObject(config.outputs || {}), |
| 39 | isComponent: !!config.isComponent, |
| 40 | isStructural: !!config.isStructural, |
| 41 | selector: config.selector, |
| 42 | animationTriggerNames: null, |
| 43 | ngContentSelectors: null, |
| 44 | preserveWhitespaces: false, |
| 45 | matchSource: config.matchSource ?? MatchSource.Selector, |
| 46 | }; |
| 47 | } |
| 48 | |
| 49 | function makeSelectorMatcher(): SelectorMatcher<DirectiveMeta[]> { |
| 50 | const matcher = new SelectorMatcher<DirectiveMeta[]>(); |
no test coverage detected
searching dependent graphs…