Skip to content

Instantly share code, notes, and snippets.

View MikeRyanDev's full-sized avatar

Mike Ryan MikeRyanDev

View GitHub Profile
import {bootstrap} from 'angular2/core';
import {routerConfig, HashLocationStrategy} from 'angula2/router';
import {App} from './app';
bootstrap(App, [
routerConfig({
locationStrategy: HashLocationStrategy
})
]);
'use strict';
var rxjs_subject_BehaviorSubject = require('rxjs/subject/BehaviorSubject');
var rxjs_add_operator_map = require('rxjs/add/operator/map');
var rxjs_add_operator_distinctUntilChanged = require('rxjs/add/operator/distinctUntilChanged');
var rxjs_Subject = require('rxjs/Subject');
var rxjs_add_operator_let = require('rxjs/add/operator/let');
var rxjs_add_operator_scan = require('rxjs/add/operator/scan');
var angular2_core = require('angular2/core');
/**
* A proof-of-concept for a new modal lib for Angular 2
*
* Goals:
* - Easy to style
* - Easy to control with @ngrx/store
* - Completely stateless
*
* How to use:
* In your root component, add `ModalConnector` to your providers array
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/mapTo';
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/switchMapTo';
import 'rxjs/add/operator/toArray';
import 'rxjs/add/operator/mergeAll';
import 'rxjs/add/operator/groupBy';
import { Pipe } from '@angular/core';
@Pipe({ name: 'sortNames' })
export class SortNamesPipe {
transform(input: string[]): string[] {
return input.sort();
}
}
import { Component } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Book } from './models/book';
import { BooksService } from './services/books-service';
@Component({
selector: 'books-app',
template: `
<books-header></books-header>
<book-card
import 'rxjs/add/observable/of';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Book } from '../models/book';
@Injectable()
export class BooksService {
getBooks(): Observable<Book[]> {
return Observable.of([
@MikeRyanDev
MikeRyanDev / reselect.ts
Created August 24, 2016 12:46
ngrx/store reselect
import { defaultMemoize as memoize } from 'reselect';
export interface StreamSelector<A,B> {
(input$: Observable<T>): Observable<R>;
}
export interface Share {
<A,B>(): StreamSelector<A,B>;
<A,B,C>(c: C): StreamSelector<A,B>;
<A,B,C,D>(c: C, d: D): StreamSelector<A,B>;
import 'rxjs/add/observable/of';
import { Observable } from 'rxjs/Observable';
const mockRestService = {
get: jasmine.createSpy('get').and.returnValue(Observable.of({
}))
}
import { ApolloStore } from 'apollo-client';
import { Store } from '@ngrx/store';
import { skip } from 'rxjs/operator/skip';
import { take } from 'rxjs/operator/take';
export function toApolloStore(store: Store<any>): ApolloStore {
return {
subscribe(fn: () => void): () => void {
const futureStates$ = skip.call(store, 1);