PRPL 패턴의 네 단계를 시뮬레이션하는 PRPLPipeline을 구현하세요. PRPL은 Push, Render, Pre-cache, Lazy-load의 약자로, 저사양 디바이스와 느린 네트워크에서도 최적의 초기 로딩을 제공하기 위한 패턴입니다.
class PRPLPipeline {
push(criticalIds: string[]): void;
render(routeId: string): void;
precache(otherIds: string[]): void;
lazy(id: string): void;
getLog(): string[]; // ['push:a,b', 'render:home', 'precache:x', 'lazy:y']
isLoaded(id: string): boolean;
}
Error/Exception을 던지세요 (render 전 precache, render 전 lazy, push 전 render)getLog()는 호출된 순서대로 이벤트를 기록합니다 (push:, render:, precache:, lazy: 접두사 사용, 다중 ID는 쉼표로 결합)isLoaded(id)는 push/precache/lazy로 추가된 모든 자원에 대해 true