63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @license | ||
|  |  * Copyright Google Inc. All Rights Reserved. | ||
|  |  * | ||
|  |  * Use of this source code is governed by an MIT-style license that can be | ||
|  |  * found in the LICENSE file at https://angular.io/license
 | ||
|  |  */ | ||
|  | import {CompileDirectiveMetadata, CompileEntryComponentMetadata, CompileProviderMetadata, CompileQueryMetadata, CompileStylesheetMetadata, CompileTemplateMetadata, CompileTypeMetadata, ProxyClass, StaticSymbol, preserveWhitespacesDefault} from '@angular/compiler'; | ||
|  | import {ChangeDetectionStrategy, RendererType2, ViewEncapsulation} from '@angular/core'; | ||
|  | import {noUndefined} from '../../../src/util'; | ||
|  | 
 | ||
|  | export function createTypeMeta({reference, diDeps}: {reference: any, diDeps?: any[]}): | ||
|  |     CompileTypeMetadata { | ||
|  |   return {reference: reference, diDeps: diDeps || [], lifecycleHooks: []}; | ||
|  | } | ||
|  | 
 | ||
|  | export function compileDirectiveMetadataCreate( | ||
|  |     {isHost, type, isComponent, selector, exportAs, inputs, outputs, host, providers, viewProviders, | ||
|  |      queries, guards, viewQueries, entryComponents, template, componentViewType, | ||
|  |      rendererType}: Partial<Parameters<typeof CompileDirectiveMetadata.create>[0]>) { | ||
|  |   return CompileDirectiveMetadata.create({ | ||
|  |     isHost: !!isHost, | ||
|  |     type: noUndefined(type) !, | ||
|  |     isComponent: !!isComponent, | ||
|  |     selector: noUndefined(selector), | ||
|  |     exportAs: noUndefined(exportAs), | ||
|  |     changeDetection: null, | ||
|  |     inputs: inputs || [], | ||
|  |     outputs: outputs || [], | ||
|  |     host: host || {}, | ||
|  |     providers: providers || [], | ||
|  |     viewProviders: viewProviders || [], | ||
|  |     queries: queries || [], | ||
|  |     guards: guards || {}, | ||
|  |     viewQueries: viewQueries || [], | ||
|  |     entryComponents: entryComponents || [], | ||
|  |     template: noUndefined(template) !, | ||
|  |     componentViewType: noUndefined(componentViewType), | ||
|  |     rendererType: noUndefined(rendererType), | ||
|  |     componentFactory: null, | ||
|  |   }); | ||
|  | } | ||
|  | 
 | ||
|  | export function compileTemplateMetadata( | ||
|  |     {encapsulation, template, templateUrl, styles, styleUrls, externalStylesheets, animations, | ||
|  |      ngContentSelectors, interpolation, isInline, | ||
|  |      preserveWhitespaces}: Partial<CompileTemplateMetadata>): CompileTemplateMetadata { | ||
|  |   return new CompileTemplateMetadata({ | ||
|  |     encapsulation: noUndefined(encapsulation), | ||
|  |     template: noUndefined(template), | ||
|  |     templateUrl: noUndefined(templateUrl), | ||
|  |     htmlAst: null, | ||
|  |     styles: styles || [], | ||
|  |     styleUrls: styleUrls || [], | ||
|  |     externalStylesheets: externalStylesheets || [], | ||
|  |     animations: animations || [], | ||
|  |     ngContentSelectors: ngContentSelectors || [], | ||
|  |     interpolation: noUndefined(interpolation), | ||
|  |     isInline: !!isInline, | ||
|  |     preserveWhitespaces: preserveWhitespacesDefault(noUndefined(preserveWhitespaces)), | ||
|  |   }); | ||
|  | } |