Revert "fix: cleanup public api of platform-server"

This reverts commit ac84468f1c.
This commit is contained in:
Misko Hevery
2016-06-14 19:20:18 -07:00
parent 80deac5cde
commit d44d0852e5
6 changed files with 130 additions and 89 deletions

View File

@ -1,8 +1,9 @@
import {__core_private__ as r, __core_private_types__ as t} from '@angular/core';
export var reflector: typeof t.reflector = r.reflector;
export var ReflectionCapabilities: typeof t.ReflectionCapabilities = r.ReflectionCapabilities;
export var wtfInit: typeof t.wtfInit = r.wtfInit;
export type NoOpAnimationPlayer = t.NoOpAnimationPlayer;
export var NoOpAnimationPlayer: typeof t.NoOpAnimationPlayer = r.NoOpAnimationPlayer;
export type AnimationPlayer = t.AnimationPlayer;
export var AnimationPlayer: typeof t.AnimationPlayer = r.AnimationPlayer;
export type NoOpAnimationDriver = t.NoOpAnimationDriver;
export var NoOpAnimationDriver: typeof t.NoOpAnimationDriver = r.NoOpAnimationDriver;
export type AnimationDriver = t.AnimationDriver;

View File

@ -1,2 +1,2 @@
// TODO: vsavkin add SERVER_PROVIDERS and SERVER_APPLICATION_PROVIDERS
// TODO: vsavkin add SERVER_PROVIDERS and SERVER_APP_PROVIDERS
export 'package:angular2/src/platform/server/html_adapter.dart';

View File

@ -1 +1,2 @@
export {SERVER_APPLICATION_PROVIDERS, SERVER_PLATFORM_PROVIDERS, serverBootstrap} from './src/server';
// TODO: vsavkin add SERVER_PROVIDERS and SERVER_APP_PROVIDERS
export {Parse5DomAdapter} from './src/parse5_adapter';

View File

@ -1,47 +0,0 @@
import {PlatformLocation} from '@angular/common';
import {ComponentRef, OpaqueToken, PLATFORM_COMMON_PROVIDERS, PLATFORM_INITIALIZER, PlatformRef, ReflectiveInjector, Type, assertPlatform, coreLoadAndBootstrap, createPlatform, getPlatform} from '@angular/core';
import {BROWSER_APP_PROVIDERS, BrowserPlatformLocation} from '@angular/platform-browser';
import {BROWSER_APP_COMPILER_PROVIDERS} from '@angular/platform-browser-dynamic';
import {ReflectionCapabilities, reflector, wtfInit} from '../core_private';
import {Parse5DomAdapter} from './parse5_adapter';
const SERVER_PLATFORM_MARKER = new OpaqueToken('ServerPlatformMarker');
/**
* A set of providers to initialize the Angular platform in a server.
*
* Used automatically by `serverBootstrap`, or can be passed to {@link platform}.
*/
export const SERVER_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [
{provide: SERVER_PLATFORM_MARKER, useValue: true}, PLATFORM_COMMON_PROVIDERS,
{provide: PLATFORM_INITIALIZER, useValue: initParse5Adapter, multi: true},
{provide: PlatformLocation, useClass: BrowserPlatformLocation}
];
export const SERVER_APPLICATION_PROVIDERS: Array<any> =
[BROWSER_APP_PROVIDERS, BROWSER_APP_COMPILER_PROVIDERS];
function initParse5Adapter() {
Parse5DomAdapter.makeCurrent();
wtfInit();
}
export function serverPlatform(): PlatformRef {
if (!getPlatform()) {
createPlatform(ReflectiveInjector.resolveAndCreate(SERVER_PLATFORM_PROVIDERS));
}
return assertPlatform(SERVER_PLATFORM_MARKER);
}
export function serverBootstrap(
appComponentType: Type,
customProviders?: Array<any /*Type | Provider | any[]*/>): Promise<ComponentRef<any>> {
reflector.reflectionCapabilities = new ReflectionCapabilities();
let providers = [SERVER_APPLICATION_PROVIDERS, customProviders || []];
var appInjector = ReflectiveInjector.resolveAndCreate(providers, serverPlatform().injector);
return coreLoadAndBootstrap(appComponentType, appInjector);
}

View File

@ -1,34 +0,0 @@
import {Component, disposePlatform} from '@angular/core';
import {afterEach, async, beforeEach, ddescribe, describe, expect, iit, inject, it, xdescribe, xit} from '@angular/core/testing';
import {getDOM} from '@angular/platform-browser/src/dom/dom_adapter';
import {serverBootstrap} from '@angular/platform-server';
import {Parse5DomAdapter} from '../src/parse5_adapter';
function writeBody(html: string): any {
var dom = getDOM();
var doc = dom.defaultDoc();
var body = dom.querySelector(doc, 'body');
dom.setInnerHTML(body, html);
return body;
}
export function main() {
if (getDOM().supportsDOMEvents()) return; // NODE only
describe('platform-server integration', () => {
afterEach(() => disposePlatform());
it('should bootstrap', async(() => {
var body = writeBody('<app></app>');
serverBootstrap(MyServerApp).then(() => {
expect(getDOM().getText(body)).toEqual('Works!');
});
}));
});
}
@Component({selector: 'app', template: `Works!`})
class MyServerApp {
}