Browse Source

fix: replace infered with inferred

pull/3544/head
Arman Ozak 7 years ago
parent
commit
9af0c5843b
  1. 4
      npm/ng-packs/packages/core/src/lib/models/utility.ts
  2. 12
      npm/ng-packs/packages/core/src/lib/strategies/context.strategy.ts
  3. 20
      npm/ng-packs/packages/core/src/lib/strategies/projection.strategy.ts

4
npm/ng-packs/packages/core/src/lib/models/utility.ts

@ -1,4 +1,4 @@
import { TemplateRef, Type } from '@angular/core'; import { TemplateRef, Type } from '@angular/core';
export type InferedInstanceOf<T> = T extends Type<infer U> ? U : never; export type InferredInstanceOf<T> = T extends Type<infer U> ? U : never;
export type InferedContextOf<T> = T extends TemplateRef<infer U> ? U : never; export type InferredContextOf<T> = T extends TemplateRef<infer U> ? U : never;

12
npm/ng-packs/packages/core/src/lib/strategies/context.strategy.ts

@ -1,11 +1,11 @@
import { ComponentRef, TemplateRef, Type } from '@angular/core'; import { ComponentRef, TemplateRef, Type } from '@angular/core';
import { InferedContextOf, InferedInstanceOf } from '../models'; import { InferredContextOf, InferredInstanceOf } from '../models';
export abstract class ContextStrategy<T = any> { export abstract class ContextStrategy<T = any> {
constructor(public context: Partial<ContextType<T>>) {} constructor(public context: Partial<ContextType<T>>) {}
/* tslint:disable-next-line:no-unused-variable */ /* tslint:disable-next-line:no-unused-variable */
setContext(componentRef?: ComponentRef<InferedInstanceOf<T>>): Partial<ContextType<T>> { setContext(componentRef?: ComponentRef<InferredInstanceOf<T>>): Partial<ContextType<T>> {
return this.context; return this.context;
} }
} }
@ -19,7 +19,7 @@ export class NoContextStrategy<
} }
export class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> { export class ComponentContextStrategy<T extends Type<any> = any> extends ContextStrategy<T> {
setContext(componentRef: ComponentRef<InferedInstanceOf<T>>): Partial<InferedInstanceOf<T>> { setContext(componentRef: ComponentRef<InferredInstanceOf<T>>): Partial<InferredInstanceOf<T>> {
Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key])); Object.keys(this.context).forEach(key => (componentRef.instance[key] = this.context[key]));
componentRef.changeDetectorRef.detectChanges(); componentRef.changeDetectorRef.detectChanges();
return this.context; return this.context;
@ -27,7 +27,7 @@ export class ComponentContextStrategy<T extends Type<any> = any> extends Context
} }
export class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> { export class TemplateContextStrategy<T extends TemplateRef<any> = any> extends ContextStrategy<T> {
setContext(): Partial<InferedContextOf<T>> { setContext(): Partial<InferredContextOf<T>> {
return this.context; return this.context;
} }
} }
@ -36,10 +36,10 @@ export const CONTEXT_STRATEGY = {
None<T extends Type<any> | TemplateRef<any> = any>() { None<T extends Type<any> | TemplateRef<any> = any>() {
return new NoContextStrategy<T>(); return new NoContextStrategy<T>();
}, },
Component<T extends Type<any> = any>(context: Partial<InferedInstanceOf<T>>) { Component<T extends Type<any> = any>(context: Partial<InferredInstanceOf<T>>) {
return new ComponentContextStrategy<T>(context); return new ComponentContextStrategy<T>(context);
}, },
Template<T extends TemplateRef<any> = any>(context: Partial<InferedContextOf<T>>) { Template<T extends TemplateRef<any> = any>(context: Partial<InferredContextOf<T>>) {
return new TemplateContextStrategy<T>(context); return new TemplateContextStrategy<T>(context);
}, },
}; };

20
npm/ng-packs/packages/core/src/lib/strategies/projection.strategy.ts

@ -8,7 +8,7 @@ import {
Type, Type,
ViewContainerRef, ViewContainerRef,
} from '@angular/core'; } from '@angular/core';
import { InferedContextOf, InferedInstanceOf } from '../models/utility'; import { InferredContextOf, InferredInstanceOf } from '../models/utility';
import { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy'; import { ContainerStrategy, CONTAINER_STRATEGY } from './container.strategy';
import { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy'; import { ContextStrategy, CONTEXT_STRATEGY } from './context.strategy';
import { DomStrategy, DOM_STRATEGY } from './dom.strategy'; import { DomStrategy, DOM_STRATEGY } from './dom.strategy';
@ -32,7 +32,7 @@ export class ComponentProjectionStrategy<T extends Type<any>> extends Projection
this.containerStrategy.prepare(); this.containerStrategy.prepare();
const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver; const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;
const factory = resolver.resolveComponentFactory<InferedInstanceOf<T>>(this.content); const factory = resolver.resolveComponentFactory<InferredInstanceOf<T>>(this.content);
const componentRef = this.containerStrategy.containerRef.createComponent( const componentRef = this.containerStrategy.containerRef.createComponent(
factory, factory,
@ -58,7 +58,7 @@ export class RootComponentProjectionStrategy<T extends Type<any>> extends Projec
const appRef = injector.get(ApplicationRef); const appRef = injector.get(ApplicationRef);
const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver; const resolver = injector.get(ComponentFactoryResolver) as ComponentFactoryResolver;
const componentRef = resolver const componentRef = resolver
.resolveComponentFactory<InferedInstanceOf<T>>(this.content) .resolveComponentFactory<InferredInstanceOf<T>>(this.content)
.create(injector); .create(injector);
this.contextStrategy.setContext(componentRef); this.contextStrategy.setContext(componentRef);
@ -95,7 +95,7 @@ export class TemplateProjectionStrategy<T extends TemplateRef<any>> extends Proj
} }
export const PROJECTION_STRATEGY = { export const PROJECTION_STRATEGY = {
AppendComponentToBody<T extends Type<unknown>>(component: T, context?: InferedInstanceOf<T>) { AppendComponentToBody<T extends Type<unknown>>(component: T, context?: InferredInstanceOf<T>) {
return new RootComponentProjectionStrategy<T>( return new RootComponentProjectionStrategy<T>(
component, component,
context && CONTEXT_STRATEGY.Component(context), context && CONTEXT_STRATEGY.Component(context),
@ -104,7 +104,7 @@ export const PROJECTION_STRATEGY = {
AppendComponentToContainer<T extends Type<unknown>>( AppendComponentToContainer<T extends Type<unknown>>(
component: T, component: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedInstanceOf<T>, context?: InferredInstanceOf<T>,
) { ) {
return new ComponentProjectionStrategy<T>( return new ComponentProjectionStrategy<T>(
component, component,
@ -115,7 +115,7 @@ export const PROJECTION_STRATEGY = {
AppendTemplateToContainer<T extends TemplateRef<unknown>>( AppendTemplateToContainer<T extends TemplateRef<unknown>>(
templateRef: T, templateRef: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedContextOf<T>, context?: InferredContextOf<T>,
) { ) {
return new TemplateProjectionStrategy<T>( return new TemplateProjectionStrategy<T>(
templateRef, templateRef,
@ -126,7 +126,7 @@ export const PROJECTION_STRATEGY = {
PrependComponentToContainer<T extends Type<unknown>>( PrependComponentToContainer<T extends Type<unknown>>(
component: T, component: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedInstanceOf<T>, context?: InferredInstanceOf<T>,
) { ) {
return new ComponentProjectionStrategy<T>( return new ComponentProjectionStrategy<T>(
component, component,
@ -137,7 +137,7 @@ export const PROJECTION_STRATEGY = {
PrependTemplateToContainer<T extends TemplateRef<unknown>>( PrependTemplateToContainer<T extends TemplateRef<unknown>>(
templateRef: T, templateRef: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedContextOf<T>, context?: InferredContextOf<T>,
) { ) {
return new TemplateProjectionStrategy<T>( return new TemplateProjectionStrategy<T>(
templateRef, templateRef,
@ -148,7 +148,7 @@ export const PROJECTION_STRATEGY = {
ProjectComponentToContainer<T extends Type<unknown>>( ProjectComponentToContainer<T extends Type<unknown>>(
component: T, component: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedInstanceOf<T>, context?: InferredInstanceOf<T>,
) { ) {
return new ComponentProjectionStrategy<T>( return new ComponentProjectionStrategy<T>(
component, component,
@ -159,7 +159,7 @@ export const PROJECTION_STRATEGY = {
ProjectTemplateToContainer<T extends TemplateRef<unknown>>( ProjectTemplateToContainer<T extends TemplateRef<unknown>>(
templateRef: T, templateRef: T,
containerRef: ViewContainerRef, containerRef: ViewContainerRef,
context?: InferedContextOf<T>, context?: InferredContextOf<T>,
) { ) {
return new TemplateProjectionStrategy<T>( return new TemplateProjectionStrategy<T>(
templateRef, templateRef,

Loading…
Cancel
Save