import { parseTemplate } from 'parse-html-template'; import { compiler } from '../@compiler/compile/index'; import { Instruction } from '../@compiler/instruction/index'; import { CheckDetectChange, TViewFns, } from '../@compiler/instruction/InstructionContext/index'; import { ViewContainer } from '../@compiler/template/embedded/index'; import { TemplateView } from '../@compiler/template/TView/TemplateView'; import { Injector, StaticProvider } from '../Injector/index'; import { Application, PlatformRef } from './application'; /** * 平台提供依赖: * 编译template的函数,指令集view函数,平台class,依赖注入 */ const CORE_PROVIDES: StaticProvider[] = [ { provide: PlatformRef, deps: [Injector], useClass: PlatformRef }, { provide: TemplateView, useValue: TemplateView }, { provide: ViewContainer, useValue: ViewContainer }, { provide: compiler, deps: [parseTemplate, Instruction, TViewFns], useClass: compiler, }, { provide: Instruction, deps: [], useClass: Instruction, }, { provide: parseTemplate, deps: [], useClass: parseTemplate, }, { provide: TViewFns, useValue: TViewFns, }, { provide: Injector, deps: [], useClass: Injector }, { provide: Application, deps: [], useClass: Application }, { provide: CheckDetectChange, deps: [], useClass: CheckDetectChange }, ]; const PlatformCore = CORE_PROVIDES; export { PlatformCore };