Brian Love
BrieBug Software
export class FormDataSource<T> extends DataSource<any> {
private dataSubject: BehaviorSubject<T[]>;
get data(): T[] {
return this.dataSubject.value;
}
set data(data: T[]) {
this.dataSubject.next(data);
}
constructor(data: T[], filter: Filter<T>) {
super();
}
}
export interface MarvelResponse<T> {
status: string;
code: number;
data: {
count: number;
limit: number;
offset: number;
total: number;
results: Array<T>;
}
}
getCharacter(characterId: number): Observable<MarvelResponse<Character>> {
return this.httpClient.get<MarvelResponse<Character>>(`${this.BASE_URL}/characters/${characterId.toString()}`);
}
import { OnInit } from "@angular/core";
export class IndexComponent implements OnInit {
constructor() {}
ngOnInit() { ... }
}
export class CharactersService extends MarvelService {
characters: Observable<Array<Character>>;
private shadyCharacters: Observable<Array<Character>>;
readonly URL = 'https://localhost:4200'; constructor(private httpClient: HttpClient){ super(); } private doSomething(withThis: number){ ... }
}
export class IndexComponent implements OnInit {
loading: Observable<boolean>;
powers: Observable<Array<Power>>;
constructor(private store: Store<PowersState>) { }
ngOnInit() {
this.loading = this.store.select(isPowerLoading);
this.powers = this.store.select(getAllPowers);
this.store.dispatch(new LoadPowers());
}
}
export class InstrumentManagerComponent {
private _data = [];
get data(): any[] {
return this._data;
}
set data(data: any[]) {
this._data = data;
// do something else
}
}
export function doSomething(withThis?: number) {
// code omitted
}
export function reducer(state: State = initialState, action: PowersAction) {
// code omitted
}
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
function example() {
let input = [1, 2, 3, 4];
let [a, b, ...c] = input;
}
function example2() {
let input = {a: 1, b: 2, c: 3};
let {a, ...b} = input;
}
const showSpinnerActions = [
ADD_POWER,
DELETE_POWER,
LOAD_POWER,
UPDATE_POWER
];
@Effect()
showSpinner: Observable<Action> = this.actions
.ofType<showSpinnerTypes>(...showSpinnerActions)
.pipe(map(() => new ShowSpinner()));
export function reducer(state: State = initialState, action: PowersAction) {
switch (action.type) {
case ADD_POWER_DIALOG_CLOSE:
return {...state, addDialogShow: false};
}
}
pipe(): Observable<T>;
pipe<A>(op1: OperatorFunction<T, A>): Observable<A>;
pipe<A, B>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>): Observable<B>;
pipe<A, B, C>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>): Observable<C>;
export enum ReportEnum {
DataImport = 1,
DataSummary = 2,
SiteEventLog = 3,
TabularData = 4,
}
function showReport(reportType: ReportEnum) {
switch(reportType) {
case ReportEnum.DataImport:
// data import report
case ReportEnum.DataSummary:
// data summary report
}
}
export class AddHeroDialogComponent implements OnInit {
characterSelected(event: MatAutocompleteSelectedEvent) {
this.character = <Character>event.option.value;
}
}