├── .gitignore
├── LICENSE
├── README.md
├── demo-1
├── index.html
└── src
│ └── app.ts
├── demo-2
├── index.html
└── src
│ ├── app.html
│ └── app.ts
├── lib
├── angular2-http.beta-6.js
├── angular2-polyfills.beta-6.js
├── angular2.beta-6.js
├── rx-global.beta-0.js
├── rx.beta-0.js
├── system.js
└── typescript.js
├── package.json
└── tsconfig.json
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # =========================
18 | # Operating System Files
19 | # =========================
20 |
21 | # OSX
22 | # =========================
23 |
24 | .DS_Store
25 | .AppleDouble
26 | .LSOverride
27 |
28 | # Icon must end with two \r
29 | Icon
30 |
31 |
32 | # Thumbnails
33 | ._*
34 |
35 | # Files that might appear on external disk
36 | .Spotlight-V100
37 | .Trashes
38 |
39 | # Directories potentially created on remote AFP share
40 | .AppleDB
41 | .AppleDesktop
42 | Network Trash Folder
43 | Temporary Items
44 | .apdisk
45 |
46 |
47 | # Project Build Files
48 | /node_modules/*
49 |
50 | # WebStorm Solution
51 | .idea/
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Cory Rylan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # observable-rxjs-demos
2 |
3 | This repo has been moved https://github.com/coryrylan/beginner-reactive-programming-with-rxjs
4 |
--------------------------------------------------------------------------------
/demo-1/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Observable Demo
7 |
8 |
9 |
10 | 0
11 | +
12 | -
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/demo-1/src/app.ts:
--------------------------------------------------------------------------------
1 | import {Observable} from 'rxjs/Observable';
2 | import 'rxjs/Rx';
3 |
4 | console.clear();
5 |
6 | //#region Example 1
7 | let promise = new Promise(resolve => {
8 | setTimeout(() => {
9 | resolve('promise timeout');
10 | }, 2000)
11 | });
12 |
13 | promise.then(value => console.log(value));
14 |
15 | let stream1$ = new Observable(observer => {
16 | let timeout = setTimeout(() => {
17 | observer.next('observable timeout');
18 | }, 2000);
19 |
20 | return () => {
21 | clearTimeout(timeout);
22 | }
23 | });
24 |
25 | let disposable = stream1$.subscribe(value => console.log(value));
26 | setTimeout(() => {
27 | disposable.unsubscribe();
28 | }, 1000);
29 | //#endregion
30 |
31 | //#region Example 2
32 | let stream2$ = new Observable(observer => {
33 | let count = 0;
34 | let interval = setInterval(() => {
35 | observer.next(count++);
36 | }, 1000);
37 |
38 | return () => {
39 | clearInterval(interval);
40 | }
41 | });
42 |
43 | // stream2$
44 | // .filter(value => value % 2 == 0)
45 | // .subscribe(value => console.log(value));
46 |
47 | // ----1----2----3----4--->
48 | // filter
49 | // ---------2---------4--->
50 |
51 | // stream2$
52 | // .map(value => value * value)
53 | // .subscribe(value => console.log(value));
54 |
55 | // ----1----2----3----4--->
56 | // map => x * x
57 | // ----1----4----9----16--->
58 | //#endregion
59 |
60 | //#region Example 3
61 | let incrementBtn = document.getElementById('increment');
62 | let decrementBtn = document.getElementById('decrement');
63 | let counter = document.getElementById('counter');
64 |
65 | let incrementClick$ = Observable.fromEvent(incrementBtn, 'click');
66 | let decrementClick$ = Observable.fromEvent(decrementBtn, 'click');
67 |
68 | let clicks$ = Observable
69 | .merge(incrementClick$, decrementClick$)
70 | .map((event: any) => parseInt(event.target.value, 10));
71 |
72 | let total$ = clicks$
73 | .scan((total, value) => total + value, 0);
74 |
75 | total$.subscribe(total => {
76 | counter.innerText = total.toString();
77 | });
78 |
79 | // ----i------------------>
80 | // -------d---------d----->
81 | // merge
82 | // ----i--d---------d----->
83 | // map
84 | // ----p--n---------n----->
85 | // scan
86 | // 0---1--0-------(-1)---->
87 | //#endregion
--------------------------------------------------------------------------------
/demo-2/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Angular 2 QuickStart
5 |
6 |
7 |
8 | Loading...
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
26 |
27 |
--------------------------------------------------------------------------------
/demo-2/src/app.html:
--------------------------------------------------------------------------------
1 |
2 | Angular 2 Observables Demo
3 |
4 |
8 |
9 |
--------------------------------------------------------------------------------
/demo-2/src/app.ts:
--------------------------------------------------------------------------------
1 | import {Component} from 'angular2/core';
2 | import {bootstrap} from 'angular2/platform/browser';
3 | import {FORM_PROVIDERS, FormBuilder, Validators} from 'angular2/common';
4 | import {Http, HTTP_PROVIDERS} from 'angular2/http';
5 | import {Observable} from 'rxjs/Observable';
6 | import 'rxjs/Rx';
7 |
8 | @Component({
9 | selector: 'demo-app',
10 | templateUrl: 'src/app.html'
11 | })
12 | export class App {
13 | searchForm: any;
14 | results$: Observable;
15 |
16 | constructor(private _formBuilder: FormBuilder, private _http: Http) {
17 | const API_URL = 'https://www.googleapis.com/youtube/v3/search';
18 | const API_KEY = '';
19 |
20 | this.searchForm = this._formBuilder.group({
21 | 'search': ['', Validators.required]
22 | });
23 |
24 | this.results$ = this.searchForm.controls.search.valueChanges // <- Observable Form
25 | .debounceTime(500)
26 | .switchMap(query => this._http.get(`${API_URL}?q=${query}&key=${API_KEY}&part=snippet`)) // <-- Observable Http
27 | .map(res => res.json())
28 | .map(res => res.items);
29 | }
30 | }
31 |
32 | bootstrap(App, [
33 | FORM_PROVIDERS,
34 | HTTP_PROVIDERS
35 | ]);
36 |
--------------------------------------------------------------------------------
/lib/angular2-http.beta-6.js:
--------------------------------------------------------------------------------
1 | "format register";
2 | System.register("angular2/src/http/interfaces", [], true, function(require, exports, module) {
3 | var global = System.global,
4 | __define = global.define;
5 | global.define = undefined;
6 | var ConnectionBackend = (function() {
7 | function ConnectionBackend() {}
8 | return ConnectionBackend;
9 | })();
10 | exports.ConnectionBackend = ConnectionBackend;
11 | var Connection = (function() {
12 | function Connection() {}
13 | return Connection;
14 | })();
15 | exports.Connection = Connection;
16 | global.define = __define;
17 | return module.exports;
18 | });
19 |
20 | System.register("angular2/src/http/headers", ["angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/facade/collection"], true, function(require, exports, module) {
21 | var global = System.global,
22 | __define = global.define;
23 | global.define = undefined;
24 | var lang_1 = require("angular2/src/facade/lang");
25 | var exceptions_1 = require("angular2/src/facade/exceptions");
26 | var collection_1 = require("angular2/src/facade/collection");
27 | var Headers = (function() {
28 | function Headers(headers) {
29 | var _this = this;
30 | if (headers instanceof Headers) {
31 | this._headersMap = headers._headersMap;
32 | return ;
33 | }
34 | this._headersMap = new collection_1.Map();
35 | if (lang_1.isBlank(headers)) {
36 | return ;
37 | }
38 | collection_1.StringMapWrapper.forEach(headers, function(v, k) {
39 | _this._headersMap.set(k, collection_1.isListLikeIterable(v) ? v : [v]);
40 | });
41 | }
42 | Headers.fromResponseHeaderString = function(headersString) {
43 | return headersString.trim().split('\n').map(function(val) {
44 | return val.split(':');
45 | }).map(function(_a) {
46 | var key = _a[0],
47 | parts = _a.slice(1);
48 | return ([key.trim(), parts.join(':').trim()]);
49 | }).reduce(function(headers, _a) {
50 | var key = _a[0],
51 | value = _a[1];
52 | return !headers.set(key, value) && headers;
53 | }, new Headers());
54 | };
55 | Headers.prototype.append = function(name, value) {
56 | var mapName = this._headersMap.get(name);
57 | var list = collection_1.isListLikeIterable(mapName) ? mapName : [];
58 | list.push(value);
59 | this._headersMap.set(name, list);
60 | };
61 | Headers.prototype.delete = function(name) {
62 | this._headersMap.delete(name);
63 | };
64 | Headers.prototype.forEach = function(fn) {
65 | this._headersMap.forEach(fn);
66 | };
67 | Headers.prototype.get = function(header) {
68 | return collection_1.ListWrapper.first(this._headersMap.get(header));
69 | };
70 | Headers.prototype.has = function(header) {
71 | return this._headersMap.has(header);
72 | };
73 | Headers.prototype.keys = function() {
74 | return collection_1.MapWrapper.keys(this._headersMap);
75 | };
76 | Headers.prototype.set = function(header, value) {
77 | var list = [];
78 | if (collection_1.isListLikeIterable(value)) {
79 | var pushValue = value.join(',');
80 | list.push(pushValue);
81 | } else {
82 | list.push(value);
83 | }
84 | this._headersMap.set(header, list);
85 | };
86 | Headers.prototype.values = function() {
87 | return collection_1.MapWrapper.values(this._headersMap);
88 | };
89 | Headers.prototype.toJSON = function() {
90 | var serializableHeaders = {};
91 | this._headersMap.forEach(function(values, name) {
92 | var list = [];
93 | collection_1.iterateListLike(values, function(val) {
94 | return list = collection_1.ListWrapper.concat(list, val.split(','));
95 | });
96 | serializableHeaders[name] = list;
97 | });
98 | return serializableHeaders;
99 | };
100 | Headers.prototype.getAll = function(header) {
101 | var headers = this._headersMap.get(header);
102 | return collection_1.isListLikeIterable(headers) ? headers : [];
103 | };
104 | Headers.prototype.entries = function() {
105 | throw new exceptions_1.BaseException('"entries" method is not implemented on Headers class');
106 | };
107 | return Headers;
108 | })();
109 | exports.Headers = Headers;
110 | global.define = __define;
111 | return module.exports;
112 | });
113 |
114 | System.register("angular2/src/http/enums", [], true, function(require, exports, module) {
115 | var global = System.global,
116 | __define = global.define;
117 | global.define = undefined;
118 | (function(RequestMethod) {
119 | RequestMethod[RequestMethod["Get"] = 0] = "Get";
120 | RequestMethod[RequestMethod["Post"] = 1] = "Post";
121 | RequestMethod[RequestMethod["Put"] = 2] = "Put";
122 | RequestMethod[RequestMethod["Delete"] = 3] = "Delete";
123 | RequestMethod[RequestMethod["Options"] = 4] = "Options";
124 | RequestMethod[RequestMethod["Head"] = 5] = "Head";
125 | RequestMethod[RequestMethod["Patch"] = 6] = "Patch";
126 | })(exports.RequestMethod || (exports.RequestMethod = {}));
127 | var RequestMethod = exports.RequestMethod;
128 | (function(ReadyState) {
129 | ReadyState[ReadyState["Unsent"] = 0] = "Unsent";
130 | ReadyState[ReadyState["Open"] = 1] = "Open";
131 | ReadyState[ReadyState["HeadersReceived"] = 2] = "HeadersReceived";
132 | ReadyState[ReadyState["Loading"] = 3] = "Loading";
133 | ReadyState[ReadyState["Done"] = 4] = "Done";
134 | ReadyState[ReadyState["Cancelled"] = 5] = "Cancelled";
135 | })(exports.ReadyState || (exports.ReadyState = {}));
136 | var ReadyState = exports.ReadyState;
137 | (function(ResponseType) {
138 | ResponseType[ResponseType["Basic"] = 0] = "Basic";
139 | ResponseType[ResponseType["Cors"] = 1] = "Cors";
140 | ResponseType[ResponseType["Default"] = 2] = "Default";
141 | ResponseType[ResponseType["Error"] = 3] = "Error";
142 | ResponseType[ResponseType["Opaque"] = 4] = "Opaque";
143 | })(exports.ResponseType || (exports.ResponseType = {}));
144 | var ResponseType = exports.ResponseType;
145 | global.define = __define;
146 | return module.exports;
147 | });
148 |
149 | System.register("angular2/src/http/url_search_params", ["angular2/src/facade/lang", "angular2/src/facade/collection"], true, function(require, exports, module) {
150 | var global = System.global,
151 | __define = global.define;
152 | global.define = undefined;
153 | var lang_1 = require("angular2/src/facade/lang");
154 | var collection_1 = require("angular2/src/facade/collection");
155 | function paramParser(rawParams) {
156 | if (rawParams === void 0) {
157 | rawParams = '';
158 | }
159 | var map = new collection_1.Map();
160 | if (rawParams.length > 0) {
161 | var params = rawParams.split('&');
162 | params.forEach(function(param) {
163 | var split = param.split('=');
164 | var key = split[0];
165 | var val = split[1];
166 | var list = lang_1.isPresent(map.get(key)) ? map.get(key) : [];
167 | list.push(val);
168 | map.set(key, list);
169 | });
170 | }
171 | return map;
172 | }
173 | var URLSearchParams = (function() {
174 | function URLSearchParams(rawParams) {
175 | if (rawParams === void 0) {
176 | rawParams = '';
177 | }
178 | this.rawParams = rawParams;
179 | this.paramsMap = paramParser(rawParams);
180 | }
181 | URLSearchParams.prototype.clone = function() {
182 | var clone = new URLSearchParams();
183 | clone.appendAll(this);
184 | return clone;
185 | };
186 | URLSearchParams.prototype.has = function(param) {
187 | return this.paramsMap.has(param);
188 | };
189 | URLSearchParams.prototype.get = function(param) {
190 | var storedParam = this.paramsMap.get(param);
191 | if (collection_1.isListLikeIterable(storedParam)) {
192 | return collection_1.ListWrapper.first(storedParam);
193 | } else {
194 | return null;
195 | }
196 | };
197 | URLSearchParams.prototype.getAll = function(param) {
198 | var mapParam = this.paramsMap.get(param);
199 | return lang_1.isPresent(mapParam) ? mapParam : [];
200 | };
201 | URLSearchParams.prototype.set = function(param, val) {
202 | var mapParam = this.paramsMap.get(param);
203 | var list = lang_1.isPresent(mapParam) ? mapParam : [];
204 | collection_1.ListWrapper.clear(list);
205 | list.push(val);
206 | this.paramsMap.set(param, list);
207 | };
208 | URLSearchParams.prototype.setAll = function(searchParams) {
209 | var _this = this;
210 | searchParams.paramsMap.forEach(function(value, param) {
211 | var mapParam = _this.paramsMap.get(param);
212 | var list = lang_1.isPresent(mapParam) ? mapParam : [];
213 | collection_1.ListWrapper.clear(list);
214 | list.push(value[0]);
215 | _this.paramsMap.set(param, list);
216 | });
217 | };
218 | URLSearchParams.prototype.append = function(param, val) {
219 | var mapParam = this.paramsMap.get(param);
220 | var list = lang_1.isPresent(mapParam) ? mapParam : [];
221 | list.push(val);
222 | this.paramsMap.set(param, list);
223 | };
224 | URLSearchParams.prototype.appendAll = function(searchParams) {
225 | var _this = this;
226 | searchParams.paramsMap.forEach(function(value, param) {
227 | var mapParam = _this.paramsMap.get(param);
228 | var list = lang_1.isPresent(mapParam) ? mapParam : [];
229 | for (var i = 0; i < value.length; ++i) {
230 | list.push(value[i]);
231 | }
232 | _this.paramsMap.set(param, list);
233 | });
234 | };
235 | URLSearchParams.prototype.replaceAll = function(searchParams) {
236 | var _this = this;
237 | searchParams.paramsMap.forEach(function(value, param) {
238 | var mapParam = _this.paramsMap.get(param);
239 | var list = lang_1.isPresent(mapParam) ? mapParam : [];
240 | collection_1.ListWrapper.clear(list);
241 | for (var i = 0; i < value.length; ++i) {
242 | list.push(value[i]);
243 | }
244 | _this.paramsMap.set(param, list);
245 | });
246 | };
247 | URLSearchParams.prototype.toString = function() {
248 | var paramsList = [];
249 | this.paramsMap.forEach(function(values, k) {
250 | values.forEach(function(v) {
251 | return paramsList.push(k + '=' + v);
252 | });
253 | });
254 | return paramsList.join('&');
255 | };
256 | URLSearchParams.prototype.delete = function(param) {
257 | this.paramsMap.delete(param);
258 | };
259 | return URLSearchParams;
260 | })();
261 | exports.URLSearchParams = URLSearchParams;
262 | global.define = __define;
263 | return module.exports;
264 | });
265 |
266 | System.register("angular2/src/http/static_response", ["angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/src/http/http_utils"], true, function(require, exports, module) {
267 | var global = System.global,
268 | __define = global.define;
269 | global.define = undefined;
270 | var lang_1 = require("angular2/src/facade/lang");
271 | var exceptions_1 = require("angular2/src/facade/exceptions");
272 | var http_utils_1 = require("angular2/src/http/http_utils");
273 | var Response = (function() {
274 | function Response(responseOptions) {
275 | this._body = responseOptions.body;
276 | this.status = responseOptions.status;
277 | this.statusText = responseOptions.statusText;
278 | this.headers = responseOptions.headers;
279 | this.type = responseOptions.type;
280 | this.url = responseOptions.url;
281 | }
282 | Response.prototype.blob = function() {
283 | throw new exceptions_1.BaseException('"blob()" method not implemented on Response superclass');
284 | };
285 | Response.prototype.json = function() {
286 | var jsonResponse;
287 | if (http_utils_1.isJsObject(this._body)) {
288 | jsonResponse = this._body;
289 | } else if (lang_1.isString(this._body)) {
290 | jsonResponse = lang_1.Json.parse(this._body);
291 | }
292 | return jsonResponse;
293 | };
294 | Response.prototype.text = function() {
295 | return this._body.toString();
296 | };
297 | Response.prototype.arrayBuffer = function() {
298 | throw new exceptions_1.BaseException('"arrayBuffer()" method not implemented on Response superclass');
299 | };
300 | return Response;
301 | })();
302 | exports.Response = Response;
303 | global.define = __define;
304 | return module.exports;
305 | });
306 |
307 | System.register("angular2/src/http/base_response_options", ["angular2/core", "angular2/src/facade/lang", "angular2/src/http/headers", "angular2/src/http/enums"], true, function(require, exports, module) {
308 | var global = System.global,
309 | __define = global.define;
310 | global.define = undefined;
311 | var __extends = (this && this.__extends) || function(d, b) {
312 | for (var p in b)
313 | if (b.hasOwnProperty(p))
314 | d[p] = b[p];
315 | function __() {
316 | this.constructor = d;
317 | }
318 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
319 | };
320 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
321 | var c = arguments.length,
322 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
323 | d;
324 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
325 | r = Reflect.decorate(decorators, target, key, desc);
326 | else
327 | for (var i = decorators.length - 1; i >= 0; i--)
328 | if (d = decorators[i])
329 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
330 | return c > 3 && r && Object.defineProperty(target, key, r), r;
331 | };
332 | var __metadata = (this && this.__metadata) || function(k, v) {
333 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
334 | return Reflect.metadata(k, v);
335 | };
336 | var core_1 = require("angular2/core");
337 | var lang_1 = require("angular2/src/facade/lang");
338 | var headers_1 = require("angular2/src/http/headers");
339 | var enums_1 = require("angular2/src/http/enums");
340 | var ResponseOptions = (function() {
341 | function ResponseOptions(_a) {
342 | var _b = _a === void 0 ? {} : _a,
343 | body = _b.body,
344 | status = _b.status,
345 | headers = _b.headers,
346 | statusText = _b.statusText,
347 | type = _b.type,
348 | url = _b.url;
349 | this.body = lang_1.isPresent(body) ? body : null;
350 | this.status = lang_1.isPresent(status) ? status : null;
351 | this.headers = lang_1.isPresent(headers) ? headers : null;
352 | this.statusText = lang_1.isPresent(statusText) ? statusText : null;
353 | this.type = lang_1.isPresent(type) ? type : null;
354 | this.url = lang_1.isPresent(url) ? url : null;
355 | }
356 | ResponseOptions.prototype.merge = function(options) {
357 | return new ResponseOptions({
358 | body: lang_1.isPresent(options) && lang_1.isPresent(options.body) ? options.body : this.body,
359 | status: lang_1.isPresent(options) && lang_1.isPresent(options.status) ? options.status : this.status,
360 | headers: lang_1.isPresent(options) && lang_1.isPresent(options.headers) ? options.headers : this.headers,
361 | statusText: lang_1.isPresent(options) && lang_1.isPresent(options.statusText) ? options.statusText : this.statusText,
362 | type: lang_1.isPresent(options) && lang_1.isPresent(options.type) ? options.type : this.type,
363 | url: lang_1.isPresent(options) && lang_1.isPresent(options.url) ? options.url : this.url
364 | });
365 | };
366 | return ResponseOptions;
367 | })();
368 | exports.ResponseOptions = ResponseOptions;
369 | var BaseResponseOptions = (function(_super) {
370 | __extends(BaseResponseOptions, _super);
371 | function BaseResponseOptions() {
372 | _super.call(this, {
373 | status: 200,
374 | statusText: 'Ok',
375 | type: enums_1.ResponseType.Default,
376 | headers: new headers_1.Headers()
377 | });
378 | }
379 | BaseResponseOptions = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [])], BaseResponseOptions);
380 | return BaseResponseOptions;
381 | })(ResponseOptions);
382 | exports.BaseResponseOptions = BaseResponseOptions;
383 | global.define = __define;
384 | return module.exports;
385 | });
386 |
387 | System.register("angular2/src/http/backends/browser_xhr", ["angular2/core"], true, function(require, exports, module) {
388 | var global = System.global,
389 | __define = global.define;
390 | global.define = undefined;
391 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
392 | var c = arguments.length,
393 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
394 | d;
395 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
396 | r = Reflect.decorate(decorators, target, key, desc);
397 | else
398 | for (var i = decorators.length - 1; i >= 0; i--)
399 | if (d = decorators[i])
400 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
401 | return c > 3 && r && Object.defineProperty(target, key, r), r;
402 | };
403 | var __metadata = (this && this.__metadata) || function(k, v) {
404 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
405 | return Reflect.metadata(k, v);
406 | };
407 | var core_1 = require("angular2/core");
408 | var BrowserXhr = (function() {
409 | function BrowserXhr() {}
410 | BrowserXhr.prototype.build = function() {
411 | return (new XMLHttpRequest());
412 | };
413 | BrowserXhr = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [])], BrowserXhr);
414 | return BrowserXhr;
415 | })();
416 | exports.BrowserXhr = BrowserXhr;
417 | global.define = __define;
418 | return module.exports;
419 | });
420 |
421 | System.register("angular2/src/http/backends/browser_jsonp", ["angular2/core", "angular2/src/facade/lang"], true, function(require, exports, module) {
422 | var global = System.global,
423 | __define = global.define;
424 | global.define = undefined;
425 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
426 | var c = arguments.length,
427 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
428 | d;
429 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
430 | r = Reflect.decorate(decorators, target, key, desc);
431 | else
432 | for (var i = decorators.length - 1; i >= 0; i--)
433 | if (d = decorators[i])
434 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
435 | return c > 3 && r && Object.defineProperty(target, key, r), r;
436 | };
437 | var __metadata = (this && this.__metadata) || function(k, v) {
438 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
439 | return Reflect.metadata(k, v);
440 | };
441 | var core_1 = require("angular2/core");
442 | var lang_1 = require("angular2/src/facade/lang");
443 | var _nextRequestId = 0;
444 | exports.JSONP_HOME = '__ng_jsonp__';
445 | var _jsonpConnections = null;
446 | function _getJsonpConnections() {
447 | if (_jsonpConnections === null) {
448 | _jsonpConnections = lang_1.global[exports.JSONP_HOME] = {};
449 | }
450 | return _jsonpConnections;
451 | }
452 | var BrowserJsonp = (function() {
453 | function BrowserJsonp() {}
454 | BrowserJsonp.prototype.build = function(url) {
455 | var node = document.createElement('script');
456 | node.src = url;
457 | return node;
458 | };
459 | BrowserJsonp.prototype.nextRequestID = function() {
460 | return "__req" + _nextRequestId++;
461 | };
462 | BrowserJsonp.prototype.requestCallback = function(id) {
463 | return exports.JSONP_HOME + "." + id + ".finished";
464 | };
465 | BrowserJsonp.prototype.exposeConnection = function(id, connection) {
466 | var connections = _getJsonpConnections();
467 | connections[id] = connection;
468 | };
469 | BrowserJsonp.prototype.removeConnection = function(id) {
470 | var connections = _getJsonpConnections();
471 | connections[id] = null;
472 | };
473 | BrowserJsonp.prototype.send = function(node) {
474 | document.body.appendChild((node));
475 | };
476 | BrowserJsonp.prototype.cleanup = function(node) {
477 | if (node.parentNode) {
478 | node.parentNode.removeChild((node));
479 | }
480 | };
481 | BrowserJsonp = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [])], BrowserJsonp);
482 | return BrowserJsonp;
483 | })();
484 | exports.BrowserJsonp = BrowserJsonp;
485 | global.define = __define;
486 | return module.exports;
487 | });
488 |
489 | System.register("angular2/src/http/http_utils", ["angular2/src/facade/lang", "angular2/src/http/enums", "angular2/src/facade/exceptions", "angular2/src/facade/lang"], true, function(require, exports, module) {
490 | var global = System.global,
491 | __define = global.define;
492 | global.define = undefined;
493 | var lang_1 = require("angular2/src/facade/lang");
494 | var enums_1 = require("angular2/src/http/enums");
495 | var exceptions_1 = require("angular2/src/facade/exceptions");
496 | function normalizeMethodName(method) {
497 | if (lang_1.isString(method)) {
498 | var originalMethod = method;
499 | method = method.replace(/(\w)(\w*)/g, function(g0, g1, g2) {
500 | return g1.toUpperCase() + g2.toLowerCase();
501 | });
502 | method = enums_1.RequestMethod[method];
503 | if (typeof method !== 'number')
504 | throw exceptions_1.makeTypeError("Invalid request method. The method \"" + originalMethod + "\" is not supported.");
505 | }
506 | return method;
507 | }
508 | exports.normalizeMethodName = normalizeMethodName;
509 | exports.isSuccess = function(status) {
510 | return (status >= 200 && status < 300);
511 | };
512 | function getResponseURL(xhr) {
513 | if ('responseURL' in xhr) {
514 | return xhr.responseURL;
515 | }
516 | if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
517 | return xhr.getResponseHeader('X-Request-URL');
518 | }
519 | return ;
520 | }
521 | exports.getResponseURL = getResponseURL;
522 | var lang_2 = require("angular2/src/facade/lang");
523 | exports.isJsObject = lang_2.isJsObject;
524 | global.define = __define;
525 | return module.exports;
526 | });
527 |
528 | System.register("angular2/src/http/base_request_options", ["angular2/src/facade/lang", "angular2/src/http/headers", "angular2/src/http/enums", "angular2/core", "angular2/src/http/url_search_params", "angular2/src/http/http_utils"], true, function(require, exports, module) {
529 | var global = System.global,
530 | __define = global.define;
531 | global.define = undefined;
532 | var __extends = (this && this.__extends) || function(d, b) {
533 | for (var p in b)
534 | if (b.hasOwnProperty(p))
535 | d[p] = b[p];
536 | function __() {
537 | this.constructor = d;
538 | }
539 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
540 | };
541 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
542 | var c = arguments.length,
543 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
544 | d;
545 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
546 | r = Reflect.decorate(decorators, target, key, desc);
547 | else
548 | for (var i = decorators.length - 1; i >= 0; i--)
549 | if (d = decorators[i])
550 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
551 | return c > 3 && r && Object.defineProperty(target, key, r), r;
552 | };
553 | var __metadata = (this && this.__metadata) || function(k, v) {
554 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
555 | return Reflect.metadata(k, v);
556 | };
557 | var lang_1 = require("angular2/src/facade/lang");
558 | var headers_1 = require("angular2/src/http/headers");
559 | var enums_1 = require("angular2/src/http/enums");
560 | var core_1 = require("angular2/core");
561 | var url_search_params_1 = require("angular2/src/http/url_search_params");
562 | var http_utils_1 = require("angular2/src/http/http_utils");
563 | var RequestOptions = (function() {
564 | function RequestOptions(_a) {
565 | var _b = _a === void 0 ? {} : _a,
566 | method = _b.method,
567 | headers = _b.headers,
568 | body = _b.body,
569 | url = _b.url,
570 | search = _b.search;
571 | this.method = lang_1.isPresent(method) ? http_utils_1.normalizeMethodName(method) : null;
572 | this.headers = lang_1.isPresent(headers) ? headers : null;
573 | this.body = lang_1.isPresent(body) ? body : null;
574 | this.url = lang_1.isPresent(url) ? url : null;
575 | this.search = lang_1.isPresent(search) ? (lang_1.isString(search) ? new url_search_params_1.URLSearchParams((search)) : (search)) : null;
576 | }
577 | RequestOptions.prototype.merge = function(options) {
578 | return new RequestOptions({
579 | method: lang_1.isPresent(options) && lang_1.isPresent(options.method) ? options.method : this.method,
580 | headers: lang_1.isPresent(options) && lang_1.isPresent(options.headers) ? options.headers : this.headers,
581 | body: lang_1.isPresent(options) && lang_1.isPresent(options.body) ? options.body : this.body,
582 | url: lang_1.isPresent(options) && lang_1.isPresent(options.url) ? options.url : this.url,
583 | search: lang_1.isPresent(options) && lang_1.isPresent(options.search) ? (lang_1.isString(options.search) ? new url_search_params_1.URLSearchParams((options.search)) : (options.search).clone()) : this.search
584 | });
585 | };
586 | return RequestOptions;
587 | })();
588 | exports.RequestOptions = RequestOptions;
589 | var BaseRequestOptions = (function(_super) {
590 | __extends(BaseRequestOptions, _super);
591 | function BaseRequestOptions() {
592 | _super.call(this, {
593 | method: enums_1.RequestMethod.Get,
594 | headers: new headers_1.Headers()
595 | });
596 | }
597 | BaseRequestOptions = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [])], BaseRequestOptions);
598 | return BaseRequestOptions;
599 | })(RequestOptions);
600 | exports.BaseRequestOptions = BaseRequestOptions;
601 | global.define = __define;
602 | return module.exports;
603 | });
604 |
605 | System.register("angular2/src/http/backends/xhr_backend", ["angular2/src/http/enums", "angular2/src/http/static_response", "angular2/src/http/headers", "angular2/src/http/base_response_options", "angular2/core", "angular2/src/http/backends/browser_xhr", "angular2/src/facade/lang", "rxjs/Observable", "angular2/src/http/http_utils"], true, function(require, exports, module) {
606 | var global = System.global,
607 | __define = global.define;
608 | global.define = undefined;
609 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
610 | var c = arguments.length,
611 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
612 | d;
613 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
614 | r = Reflect.decorate(decorators, target, key, desc);
615 | else
616 | for (var i = decorators.length - 1; i >= 0; i--)
617 | if (d = decorators[i])
618 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
619 | return c > 3 && r && Object.defineProperty(target, key, r), r;
620 | };
621 | var __metadata = (this && this.__metadata) || function(k, v) {
622 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
623 | return Reflect.metadata(k, v);
624 | };
625 | var enums_1 = require("angular2/src/http/enums");
626 | var static_response_1 = require("angular2/src/http/static_response");
627 | var headers_1 = require("angular2/src/http/headers");
628 | var base_response_options_1 = require("angular2/src/http/base_response_options");
629 | var core_1 = require("angular2/core");
630 | var browser_xhr_1 = require("angular2/src/http/backends/browser_xhr");
631 | var lang_1 = require("angular2/src/facade/lang");
632 | var Observable_1 = require("rxjs/Observable");
633 | var http_utils_1 = require("angular2/src/http/http_utils");
634 | var XHRConnection = (function() {
635 | function XHRConnection(req, browserXHR, baseResponseOptions) {
636 | var _this = this;
637 | this.request = req;
638 | this.response = new Observable_1.Observable(function(responseObserver) {
639 | var _xhr = browserXHR.build();
640 | _xhr.open(enums_1.RequestMethod[req.method].toUpperCase(), req.url);
641 | var onLoad = function() {
642 | var body = lang_1.isPresent(_xhr.response) ? _xhr.response : _xhr.responseText;
643 | var headers = headers_1.Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders());
644 | var url = http_utils_1.getResponseURL(_xhr);
645 | var status = _xhr.status === 1223 ? 204 : _xhr.status;
646 | if (status === 0) {
647 | status = body ? 200 : 0;
648 | }
649 | var responseOptions = new base_response_options_1.ResponseOptions({
650 | body: body,
651 | status: status,
652 | headers: headers,
653 | url: url
654 | });
655 | if (lang_1.isPresent(baseResponseOptions)) {
656 | responseOptions = baseResponseOptions.merge(responseOptions);
657 | }
658 | var response = new static_response_1.Response(responseOptions);
659 | if (http_utils_1.isSuccess(status)) {
660 | responseObserver.next(response);
661 | responseObserver.complete();
662 | return ;
663 | }
664 | responseObserver.error(response);
665 | };
666 | var onError = function(err) {
667 | var responseOptions = new base_response_options_1.ResponseOptions({
668 | body: err,
669 | type: enums_1.ResponseType.Error
670 | });
671 | if (lang_1.isPresent(baseResponseOptions)) {
672 | responseOptions = baseResponseOptions.merge(responseOptions);
673 | }
674 | responseObserver.error(new static_response_1.Response(responseOptions));
675 | };
676 | if (lang_1.isPresent(req.headers)) {
677 | req.headers.forEach(function(values, name) {
678 | return _xhr.setRequestHeader(name, values.join(','));
679 | });
680 | }
681 | _xhr.addEventListener('load', onLoad);
682 | _xhr.addEventListener('error', onError);
683 | _xhr.send(_this.request.text());
684 | return function() {
685 | _xhr.removeEventListener('load', onLoad);
686 | _xhr.removeEventListener('error', onError);
687 | _xhr.abort();
688 | };
689 | });
690 | }
691 | return XHRConnection;
692 | })();
693 | exports.XHRConnection = XHRConnection;
694 | var XHRBackend = (function() {
695 | function XHRBackend(_browserXHR, _baseResponseOptions) {
696 | this._browserXHR = _browserXHR;
697 | this._baseResponseOptions = _baseResponseOptions;
698 | }
699 | XHRBackend.prototype.createConnection = function(request) {
700 | return new XHRConnection(request, this._browserXHR, this._baseResponseOptions);
701 | };
702 | XHRBackend = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [browser_xhr_1.BrowserXhr, base_response_options_1.ResponseOptions])], XHRBackend);
703 | return XHRBackend;
704 | })();
705 | exports.XHRBackend = XHRBackend;
706 | global.define = __define;
707 | return module.exports;
708 | });
709 |
710 | System.register("angular2/src/http/backends/jsonp_backend", ["angular2/src/http/interfaces", "angular2/src/http/enums", "angular2/src/http/static_response", "angular2/src/http/base_response_options", "angular2/core", "angular2/src/http/backends/browser_jsonp", "angular2/src/facade/exceptions", "angular2/src/facade/lang", "rxjs/Observable"], true, function(require, exports, module) {
711 | var global = System.global,
712 | __define = global.define;
713 | global.define = undefined;
714 | var __extends = (this && this.__extends) || function(d, b) {
715 | for (var p in b)
716 | if (b.hasOwnProperty(p))
717 | d[p] = b[p];
718 | function __() {
719 | this.constructor = d;
720 | }
721 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
722 | };
723 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
724 | var c = arguments.length,
725 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
726 | d;
727 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
728 | r = Reflect.decorate(decorators, target, key, desc);
729 | else
730 | for (var i = decorators.length - 1; i >= 0; i--)
731 | if (d = decorators[i])
732 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
733 | return c > 3 && r && Object.defineProperty(target, key, r), r;
734 | };
735 | var __metadata = (this && this.__metadata) || function(k, v) {
736 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
737 | return Reflect.metadata(k, v);
738 | };
739 | var interfaces_1 = require("angular2/src/http/interfaces");
740 | var enums_1 = require("angular2/src/http/enums");
741 | var static_response_1 = require("angular2/src/http/static_response");
742 | var base_response_options_1 = require("angular2/src/http/base_response_options");
743 | var core_1 = require("angular2/core");
744 | var browser_jsonp_1 = require("angular2/src/http/backends/browser_jsonp");
745 | var exceptions_1 = require("angular2/src/facade/exceptions");
746 | var lang_1 = require("angular2/src/facade/lang");
747 | var Observable_1 = require("rxjs/Observable");
748 | var JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';
749 | var JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';
750 | var JSONPConnection = (function() {
751 | function JSONPConnection() {}
752 | return JSONPConnection;
753 | })();
754 | exports.JSONPConnection = JSONPConnection;
755 | var JSONPConnection_ = (function(_super) {
756 | __extends(JSONPConnection_, _super);
757 | function JSONPConnection_(req, _dom, baseResponseOptions) {
758 | var _this = this;
759 | _super.call(this);
760 | this._dom = _dom;
761 | this.baseResponseOptions = baseResponseOptions;
762 | this._finished = false;
763 | if (req.method !== enums_1.RequestMethod.Get) {
764 | throw exceptions_1.makeTypeError(JSONP_ERR_WRONG_METHOD);
765 | }
766 | this.request = req;
767 | this.response = new Observable_1.Observable(function(responseObserver) {
768 | _this.readyState = enums_1.ReadyState.Loading;
769 | var id = _this._id = _dom.nextRequestID();
770 | _dom.exposeConnection(id, _this);
771 | var callback = _dom.requestCallback(_this._id);
772 | var url = req.url;
773 | if (url.indexOf('=JSONP_CALLBACK&') > -1) {
774 | url = lang_1.StringWrapper.replace(url, '=JSONP_CALLBACK&', "=" + callback + "&");
775 | } else if (url.lastIndexOf('=JSONP_CALLBACK') === url.length - '=JSONP_CALLBACK'.length) {
776 | url = url.substring(0, url.length - '=JSONP_CALLBACK'.length) + ("=" + callback);
777 | }
778 | var script = _this._script = _dom.build(url);
779 | var onLoad = function(event) {
780 | if (_this.readyState === enums_1.ReadyState.Cancelled)
781 | return ;
782 | _this.readyState = enums_1.ReadyState.Done;
783 | _dom.cleanup(script);
784 | if (!_this._finished) {
785 | var responseOptions_1 = new base_response_options_1.ResponseOptions({
786 | body: JSONP_ERR_NO_CALLBACK,
787 | type: enums_1.ResponseType.Error,
788 | url: url
789 | });
790 | if (lang_1.isPresent(baseResponseOptions)) {
791 | responseOptions_1 = baseResponseOptions.merge(responseOptions_1);
792 | }
793 | responseObserver.error(new static_response_1.Response(responseOptions_1));
794 | return ;
795 | }
796 | var responseOptions = new base_response_options_1.ResponseOptions({
797 | body: _this._responseData,
798 | url: url
799 | });
800 | if (lang_1.isPresent(_this.baseResponseOptions)) {
801 | responseOptions = _this.baseResponseOptions.merge(responseOptions);
802 | }
803 | responseObserver.next(new static_response_1.Response(responseOptions));
804 | responseObserver.complete();
805 | };
806 | var onError = function(error) {
807 | if (_this.readyState === enums_1.ReadyState.Cancelled)
808 | return ;
809 | _this.readyState = enums_1.ReadyState.Done;
810 | _dom.cleanup(script);
811 | var responseOptions = new base_response_options_1.ResponseOptions({
812 | body: error.message,
813 | type: enums_1.ResponseType.Error
814 | });
815 | if (lang_1.isPresent(baseResponseOptions)) {
816 | responseOptions = baseResponseOptions.merge(responseOptions);
817 | }
818 | responseObserver.error(new static_response_1.Response(responseOptions));
819 | };
820 | script.addEventListener('load', onLoad);
821 | script.addEventListener('error', onError);
822 | _dom.send(script);
823 | return function() {
824 | _this.readyState = enums_1.ReadyState.Cancelled;
825 | script.removeEventListener('load', onLoad);
826 | script.removeEventListener('error', onError);
827 | if (lang_1.isPresent(script)) {
828 | _this._dom.cleanup(script);
829 | }
830 | };
831 | });
832 | }
833 | JSONPConnection_.prototype.finished = function(data) {
834 | this._finished = true;
835 | this._dom.removeConnection(this._id);
836 | if (this.readyState === enums_1.ReadyState.Cancelled)
837 | return ;
838 | this._responseData = data;
839 | };
840 | return JSONPConnection_;
841 | })(JSONPConnection);
842 | exports.JSONPConnection_ = JSONPConnection_;
843 | var JSONPBackend = (function(_super) {
844 | __extends(JSONPBackend, _super);
845 | function JSONPBackend() {
846 | _super.apply(this, arguments);
847 | }
848 | return JSONPBackend;
849 | })(interfaces_1.ConnectionBackend);
850 | exports.JSONPBackend = JSONPBackend;
851 | var JSONPBackend_ = (function(_super) {
852 | __extends(JSONPBackend_, _super);
853 | function JSONPBackend_(_browserJSONP, _baseResponseOptions) {
854 | _super.call(this);
855 | this._browserJSONP = _browserJSONP;
856 | this._baseResponseOptions = _baseResponseOptions;
857 | }
858 | JSONPBackend_.prototype.createConnection = function(request) {
859 | return new JSONPConnection_(request, this._browserJSONP, this._baseResponseOptions);
860 | };
861 | JSONPBackend_ = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [browser_jsonp_1.BrowserJsonp, base_response_options_1.ResponseOptions])], JSONPBackend_);
862 | return JSONPBackend_;
863 | })(JSONPBackend);
864 | exports.JSONPBackend_ = JSONPBackend_;
865 | global.define = __define;
866 | return module.exports;
867 | });
868 |
869 | System.register("angular2/src/http/static_request", ["angular2/src/http/headers", "angular2/src/http/http_utils", "angular2/src/facade/lang"], true, function(require, exports, module) {
870 | var global = System.global,
871 | __define = global.define;
872 | global.define = undefined;
873 | var headers_1 = require("angular2/src/http/headers");
874 | var http_utils_1 = require("angular2/src/http/http_utils");
875 | var lang_1 = require("angular2/src/facade/lang");
876 | var Request = (function() {
877 | function Request(requestOptions) {
878 | var url = requestOptions.url;
879 | this.url = requestOptions.url;
880 | if (lang_1.isPresent(requestOptions.search)) {
881 | var search = requestOptions.search.toString();
882 | if (search.length > 0) {
883 | var prefix = '?';
884 | if (lang_1.StringWrapper.contains(this.url, '?')) {
885 | prefix = (this.url[this.url.length - 1] == '&') ? '' : '&';
886 | }
887 | this.url = url + prefix + search;
888 | }
889 | }
890 | this._body = requestOptions.body;
891 | this.method = http_utils_1.normalizeMethodName(requestOptions.method);
892 | this.headers = new headers_1.Headers(requestOptions.headers);
893 | }
894 | Request.prototype.text = function() {
895 | return lang_1.isPresent(this._body) ? this._body.toString() : '';
896 | };
897 | return Request;
898 | })();
899 | exports.Request = Request;
900 | global.define = __define;
901 | return module.exports;
902 | });
903 |
904 | System.register("angular2/src/http/http", ["angular2/src/facade/lang", "angular2/src/facade/exceptions", "angular2/core", "angular2/src/http/interfaces", "angular2/src/http/static_request", "angular2/src/http/base_request_options", "angular2/src/http/enums"], true, function(require, exports, module) {
905 | var global = System.global,
906 | __define = global.define;
907 | global.define = undefined;
908 | var __extends = (this && this.__extends) || function(d, b) {
909 | for (var p in b)
910 | if (b.hasOwnProperty(p))
911 | d[p] = b[p];
912 | function __() {
913 | this.constructor = d;
914 | }
915 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
916 | };
917 | var __decorate = (this && this.__decorate) || function(decorators, target, key, desc) {
918 | var c = arguments.length,
919 | r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
920 | d;
921 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
922 | r = Reflect.decorate(decorators, target, key, desc);
923 | else
924 | for (var i = decorators.length - 1; i >= 0; i--)
925 | if (d = decorators[i])
926 | r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
927 | return c > 3 && r && Object.defineProperty(target, key, r), r;
928 | };
929 | var __metadata = (this && this.__metadata) || function(k, v) {
930 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
931 | return Reflect.metadata(k, v);
932 | };
933 | var lang_1 = require("angular2/src/facade/lang");
934 | var exceptions_1 = require("angular2/src/facade/exceptions");
935 | var core_1 = require("angular2/core");
936 | var interfaces_1 = require("angular2/src/http/interfaces");
937 | var static_request_1 = require("angular2/src/http/static_request");
938 | var base_request_options_1 = require("angular2/src/http/base_request_options");
939 | var enums_1 = require("angular2/src/http/enums");
940 | function httpRequest(backend, request) {
941 | return backend.createConnection(request).response;
942 | }
943 | function mergeOptions(defaultOpts, providedOpts, method, url) {
944 | var newOptions = defaultOpts;
945 | if (lang_1.isPresent(providedOpts)) {
946 | return newOptions.merge(new base_request_options_1.RequestOptions({
947 | method: providedOpts.method || method,
948 | url: providedOpts.url || url,
949 | search: providedOpts.search,
950 | headers: providedOpts.headers,
951 | body: providedOpts.body
952 | }));
953 | }
954 | if (lang_1.isPresent(method)) {
955 | return newOptions.merge(new base_request_options_1.RequestOptions({
956 | method: method,
957 | url: url
958 | }));
959 | } else {
960 | return newOptions.merge(new base_request_options_1.RequestOptions({url: url}));
961 | }
962 | }
963 | var Http = (function() {
964 | function Http(_backend, _defaultOptions) {
965 | this._backend = _backend;
966 | this._defaultOptions = _defaultOptions;
967 | }
968 | Http.prototype.request = function(url, options) {
969 | var responseObservable;
970 | if (lang_1.isString(url)) {
971 | responseObservable = httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions, options, enums_1.RequestMethod.Get, url)));
972 | } else if (url instanceof static_request_1.Request) {
973 | responseObservable = httpRequest(this._backend, url);
974 | } else {
975 | throw exceptions_1.makeTypeError('First argument must be a url string or Request instance.');
976 | }
977 | return responseObservable;
978 | };
979 | Http.prototype.get = function(url, options) {
980 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions, options, enums_1.RequestMethod.Get, url)));
981 | };
982 | Http.prototype.post = function(url, body, options) {
983 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions.merge(new base_request_options_1.RequestOptions({body: body})), options, enums_1.RequestMethod.Post, url)));
984 | };
985 | Http.prototype.put = function(url, body, options) {
986 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions.merge(new base_request_options_1.RequestOptions({body: body})), options, enums_1.RequestMethod.Put, url)));
987 | };
988 | Http.prototype.delete = function(url, options) {
989 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions, options, enums_1.RequestMethod.Delete, url)));
990 | };
991 | Http.prototype.patch = function(url, body, options) {
992 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions.merge(new base_request_options_1.RequestOptions({body: body})), options, enums_1.RequestMethod.Patch, url)));
993 | };
994 | Http.prototype.head = function(url, options) {
995 | return httpRequest(this._backend, new static_request_1.Request(mergeOptions(this._defaultOptions, options, enums_1.RequestMethod.Head, url)));
996 | };
997 | Http = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [interfaces_1.ConnectionBackend, base_request_options_1.RequestOptions])], Http);
998 | return Http;
999 | })();
1000 | exports.Http = Http;
1001 | var Jsonp = (function(_super) {
1002 | __extends(Jsonp, _super);
1003 | function Jsonp(backend, defaultOptions) {
1004 | _super.call(this, backend, defaultOptions);
1005 | }
1006 | Jsonp.prototype.request = function(url, options) {
1007 | var responseObservable;
1008 | if (lang_1.isString(url)) {
1009 | url = new static_request_1.Request(mergeOptions(this._defaultOptions, options, enums_1.RequestMethod.Get, url));
1010 | }
1011 | if (url instanceof static_request_1.Request) {
1012 | if (url.method !== enums_1.RequestMethod.Get) {
1013 | exceptions_1.makeTypeError('JSONP requests must use GET request method.');
1014 | }
1015 | responseObservable = httpRequest(this._backend, url);
1016 | } else {
1017 | throw exceptions_1.makeTypeError('First argument must be a url string or Request instance.');
1018 | }
1019 | return responseObservable;
1020 | };
1021 | Jsonp = __decorate([core_1.Injectable(), __metadata('design:paramtypes', [interfaces_1.ConnectionBackend, base_request_options_1.RequestOptions])], Jsonp);
1022 | return Jsonp;
1023 | })(Http);
1024 | exports.Jsonp = Jsonp;
1025 | global.define = __define;
1026 | return module.exports;
1027 | });
1028 |
1029 | System.register("angular2/http", ["angular2/core", "angular2/src/http/http", "angular2/src/http/backends/xhr_backend", "angular2/src/http/backends/jsonp_backend", "angular2/src/http/backends/browser_xhr", "angular2/src/http/backends/browser_jsonp", "angular2/src/http/base_request_options", "angular2/src/http/base_response_options", "angular2/src/http/static_request", "angular2/src/http/static_response", "angular2/src/http/interfaces", "angular2/src/http/backends/browser_xhr", "angular2/src/http/base_request_options", "angular2/src/http/base_response_options", "angular2/src/http/backends/xhr_backend", "angular2/src/http/backends/jsonp_backend", "angular2/src/http/http", "angular2/src/http/headers", "angular2/src/http/enums", "angular2/src/http/url_search_params"], true, function(require, exports, module) {
1030 | var global = System.global,
1031 | __define = global.define;
1032 | global.define = undefined;
1033 | var core_1 = require("angular2/core");
1034 | var http_1 = require("angular2/src/http/http");
1035 | var xhr_backend_1 = require("angular2/src/http/backends/xhr_backend");
1036 | var jsonp_backend_1 = require("angular2/src/http/backends/jsonp_backend");
1037 | var browser_xhr_1 = require("angular2/src/http/backends/browser_xhr");
1038 | var browser_jsonp_1 = require("angular2/src/http/backends/browser_jsonp");
1039 | var base_request_options_1 = require("angular2/src/http/base_request_options");
1040 | var base_response_options_1 = require("angular2/src/http/base_response_options");
1041 | var static_request_1 = require("angular2/src/http/static_request");
1042 | exports.Request = static_request_1.Request;
1043 | var static_response_1 = require("angular2/src/http/static_response");
1044 | exports.Response = static_response_1.Response;
1045 | var interfaces_1 = require("angular2/src/http/interfaces");
1046 | exports.Connection = interfaces_1.Connection;
1047 | exports.ConnectionBackend = interfaces_1.ConnectionBackend;
1048 | var browser_xhr_2 = require("angular2/src/http/backends/browser_xhr");
1049 | exports.BrowserXhr = browser_xhr_2.BrowserXhr;
1050 | var base_request_options_2 = require("angular2/src/http/base_request_options");
1051 | exports.BaseRequestOptions = base_request_options_2.BaseRequestOptions;
1052 | exports.RequestOptions = base_request_options_2.RequestOptions;
1053 | var base_response_options_2 = require("angular2/src/http/base_response_options");
1054 | exports.BaseResponseOptions = base_response_options_2.BaseResponseOptions;
1055 | exports.ResponseOptions = base_response_options_2.ResponseOptions;
1056 | var xhr_backend_2 = require("angular2/src/http/backends/xhr_backend");
1057 | exports.XHRBackend = xhr_backend_2.XHRBackend;
1058 | exports.XHRConnection = xhr_backend_2.XHRConnection;
1059 | var jsonp_backend_2 = require("angular2/src/http/backends/jsonp_backend");
1060 | exports.JSONPBackend = jsonp_backend_2.JSONPBackend;
1061 | exports.JSONPConnection = jsonp_backend_2.JSONPConnection;
1062 | var http_2 = require("angular2/src/http/http");
1063 | exports.Http = http_2.Http;
1064 | exports.Jsonp = http_2.Jsonp;
1065 | var headers_1 = require("angular2/src/http/headers");
1066 | exports.Headers = headers_1.Headers;
1067 | var enums_1 = require("angular2/src/http/enums");
1068 | exports.ResponseType = enums_1.ResponseType;
1069 | exports.ReadyState = enums_1.ReadyState;
1070 | exports.RequestMethod = enums_1.RequestMethod;
1071 | var url_search_params_1 = require("angular2/src/http/url_search_params");
1072 | exports.URLSearchParams = url_search_params_1.URLSearchParams;
1073 | exports.HTTP_PROVIDERS = [core_1.provide(http_1.Http, {
1074 | useFactory: function(xhrBackend, requestOptions) {
1075 | return new http_1.Http(xhrBackend, requestOptions);
1076 | },
1077 | deps: [xhr_backend_1.XHRBackend, base_request_options_1.RequestOptions]
1078 | }), browser_xhr_1.BrowserXhr, core_1.provide(base_request_options_1.RequestOptions, {useClass: base_request_options_1.BaseRequestOptions}), core_1.provide(base_response_options_1.ResponseOptions, {useClass: base_response_options_1.BaseResponseOptions}), xhr_backend_1.XHRBackend];
1079 | exports.HTTP_BINDINGS = exports.HTTP_PROVIDERS;
1080 | exports.JSONP_PROVIDERS = [core_1.provide(http_1.Jsonp, {
1081 | useFactory: function(jsonpBackend, requestOptions) {
1082 | return new http_1.Jsonp(jsonpBackend, requestOptions);
1083 | },
1084 | deps: [jsonp_backend_1.JSONPBackend, base_request_options_1.RequestOptions]
1085 | }), browser_jsonp_1.BrowserJsonp, core_1.provide(base_request_options_1.RequestOptions, {useClass: base_request_options_1.BaseRequestOptions}), core_1.provide(base_response_options_1.ResponseOptions, {useClass: base_response_options_1.BaseResponseOptions}), core_1.provide(jsonp_backend_1.JSONPBackend, {useClass: jsonp_backend_1.JSONPBackend_})];
1086 | exports.JSON_BINDINGS = exports.JSONP_PROVIDERS;
1087 | global.define = __define;
1088 | return module.exports;
1089 | });
1090 |
1091 |
--------------------------------------------------------------------------------
/lib/system.js:
--------------------------------------------------------------------------------
1 | /*
2 | * SystemJS v0.19.20
3 | */
4 | !function(){function e(){!function(e){function t(e,t){var n;return e instanceof Error?(n=new Error(e.message,e.fileName,e.lineNumber),M?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)):n=e+"\n "+t,n}function n(e,n,r){try{new Function(e).call(r)}catch(a){throw t(a,"Evaluating "+n)}}function r(){}function a(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},z(this,"global",{get:function(){return e}})}function o(){a.call(this),this.paths={}}function s(e,t){var n,r="",a=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o)return e[o];if(t.substr(0,o.length-1)==o.substr(0,o.length-1)&&(t.lengtho.length?"/"+t.substr(o.length):"")}else{var i=s[0].length;i>=a&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(a=i,r=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[r];return"string"==typeof n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),q.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e]||function(){})}function c(e){q=e(q||function(){})}function f(e){for(var t=[],n=[],r=0,a=e.length;a>r;r++){var o=T.call(t,e[r]);-1===o?(t.push(e[r]),n.push([r])):n[o].push(r)}return{names:t,indices:n}}function m(e){var t={};if("object"==typeof e||"function"==typeof e)if(U){var n;for(var r in e)(n=Object.getOwnPropertyDescriptor(e,r))&&z(t,r,n)}else{var a=e&&e.hasOwnProperty;for(var r in e)(!a||e.hasOwnProperty(r))&&(t[r]=e[r])}return t["default"]=e,z(t,"__useDefault",{value:!0}),t}function p(e,t,n){for(var r in t)n&&r in e||(e[r]=t[r]);return e}function h(e,t,n){for(var r in t){var a=t[r];r in e?a instanceof Array&&e[r]instanceof Array?e[r]=[].concat(n?a:e[r]).concat(n?e[r]:a):"object"==typeof a&&null!==a&&"object"==typeof e[r]?e[r]=p(p({},e[r]),a,n):n||(e[r]=a):e[r]=a}}function g(e){this.warnings&&"undefined"!=typeof console&&console.warn}function v(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function b(){if(X[this.baseURL])return X[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new F(this.baseURL,I);return this.baseURL=e.href,X[this.baseURL]=e}function y(e,t){var n,r=0;for(var a in e)if(t.substr(0,a.length)==a&&(t.length==a.length||"/"==t[a.length])){var o=a.split("/").length;if(r>=o)continue;n=a,r=o}return n}function x(e){this.set("@system-env",this.newModule({browser:M,node:!!this._nodeRequire,production:e}))}function w(e){var t=e.match(V);return t&&"System.register"==e.substr(t[0].length,15)}function S(){return{name:null,deps:null,originalIndices:null,declare:null,execute:null,executingRequire:!1,declarative:!1,normalizedDeps:null,groupIndex:null,evaluated:!1,module:null,esModule:null,esmExports:!1}}function E(e){var t,n,r,r="~"==e[0],a=e.lastIndexOf("|");return-1!=a?(t=e.substr(a+1),n=e.substr(r,a-r)||"@system-env"):(t=null,n=e.substr(r)),{module:n,prop:t,negate:r}}function j(e){return(e.negate?"~":"")+e.module+(e.prop?"|"+e.prop:"")}function _(e,t,n){return this["import"](e.module,t).then(function(t){return e.prop?t=v(e.prop,t):"object"==typeof t&&t+""=="Module"&&(t=t["default"]),e.negate?!t:t})}function k(e,t){var n=e.match(Y);if(!n)return Promise.resolve(e);var r=E(n[0].substr(2,n[0].length-3));return this.builder?this.normalize(r.module,t).then(function(t){return r.module=t,e.replace(Y,"#{"+j(r)+"}")}):_.call(this,r,t,!1).then(function(n){if("string"!=typeof n)throw new TypeError("The condition value for "+e+" doesn't resolve to a string.");if(-1!=n.indexOf("/"))throw new TypeError("Unabled to interpolate conditional "+e+(t?" in "+t:"")+"\n The condition value "+n+' cannot contain a "/" separator.');return e.replace(Y,n)})}function P(e,t){var n=e.lastIndexOf("#?");if(-1==n)return Promise.resolve(e);var r=E(e.substr(n+2));return this.builder?this.normalize(r.module,t).then(function(t){return r.module=t,e.substr(0,n)+"#?"+j(r)}):_.call(this,r,t,!0).then(function(t){return t?e.substr(0,n):"@empty"})}var R="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,M="undefined"!=typeof window&&"undefined"!=typeof document,O="undefined"!=typeof process&&"undefined"!=typeof process.platform&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var z,T=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(z=Object.defineProperty)}catch(e){z=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(r){}}}}();var I;if("undefined"!=typeof document&&document.getElementsByTagName){if(I=document.baseURI,!I){var L=document.getElementsByTagName("base");I=L[0]&&L[0].href||window.location.href}I=I.split("#")[0].split("?")[0],I=I.substr(0,I.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)I="file://"+(O?"/":"")+process.cwd()+"/",O&&(I=I.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");I=e.location.href}var F=e.URLPolyfill||e.URL;z(r.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,r){return new Promise(function(a,o){a(e.loaderObj.normalize(t,n,r))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var r=0,a=e.loads.length;a>r;r++)if(n=e.loads[r],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,r,a){a.then(function(a){return"loading"==r.status?Promise.resolve(t.loaderObj.translate({name:r.name,metadata:r.metadata,address:r.address,source:a})).then(function(e){return r.source=e,t.loaderObj.instantiate({name:r.name,metadata:r.metadata,address:r.address,source:e})}).then(function(a){if(void 0===a)return r.address=r.address||"",r.isDeclarative=!0,E.call(t.loaderObj,r).then(function(t){var a=e.System,o=a.register;a.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),r.declare=n,r.depsList=t},n(t,r.address,{}),a.register=o});if("object"!=typeof a)throw TypeError("Invalid instantiate return value");r.depsList=a.deps||[],r.execute=a.execute,r.isDeclarative=!1}).then(function(){r.dependencies=[];for(var e=r.depsList,n=[],a=0,o=e.length;o>a;a++)(function(e,a){n.push(i(t,e,r.name,r.address).then(function(t){if(r.dependencies[a]={key:e,value:t.name},"linked"!=t.status)for(var n=r.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[a],a);return Promise.all(n)}).then(function(){r.status="loaded";for(var e=r.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],r)}):void 0})["catch"](function(e){r.status="failed",r.exception=e;for(var t=r.linkSets.concat([]),n=0,a=t.length;a>n;n++)g(t[n],r,e)})}function c(e){return function(t,n){var r=e.loader,a=e.moduleName,s=e.step;if(r.modules[a])throw new TypeError('"'+a+'" already exists in the module table');for(var i,c=0,m=r.loads.length;m>c;c++)if(r.loads[c].name==a&&(i=r.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(r,i,Promise.resolve(e.moduleSource))),i.linkSets.length&&i.linkSets[0].loads[0].name==i.name))return i.linkSets[0].done.then(function(){t(i)});var p=i||o(a);p.metadata=e.moduleMetadata;var h=f(r,p);r.loads.push(p),t(h.done),"locate"==s?l(r,p):"fetch"==s?u(r,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,d(r,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,r=e.loads.length;r>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var a=e.loader,n=0,r=t.dependencies.length;r>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!a.modules[o])for(var s=0,i=a.loads.length;i>s;s++)if(a.loads[s].name==o){m(e,a.loads[s]);break}}}}function p(e){var t=!1;try{x(e,function(n,r){g(e,n,r),t=!0})}catch(n){g(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var r=[].concat(e.loads),a=0,o=r.length;o>a;a++){var t=r[a];t.module=t.isDeclarative?{name:t.name,module:_({}),evaluated:!0}:{module:_({})},t.status="linked",v(e.loader,t)}return e.resolve(n)}var s=p(e);s||e.resolve(n)}}function g(e,n,r){var a=e.loader;e:if(n)if(e.loads[0].name==n.name)r=t(r,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=u[o];a.loaderObj.failed=a.loaderObj.failed||[],-1==T.call(a.loaderObj.failed,n)&&a.loaderObj.failed.push(n);var c=T.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=T.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(r)}function v(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var r=T.call(e.loads,t);-1!=r&&e.loads.splice(r,1);for(var a=0,o=t.linkSets.length;o>a;a++)r=T.call(t.linkSets[a].loads,t),-1!=r&&t.linkSets[a].loads.splice(r,1);t.linkSets.splice(0,t.linkSets.length)}function b(e,t,n){try{var a=t.execute()}catch(o){return void n(t,o)}return a&&a instanceof r?a:void n(t,new TypeError("Execution must define a Module instance"))}function y(e,t,n){var r=e._loader.importPromises;return r[t]=n.then(function(e){return r[t]=void 0,e},function(e){throw r[t]=void 0,e})}function x(e,t){var n=e.loader;if(e.loads.length)for(var r=e.loads.concat([]),a=0;aa&&(n=o,a=r));return n}function t(e){var t=e.basePath&&"."!=e.basePath?e.basePath:"";return t&&("./"==t.substr(0,2)&&(t=t.substr(2)),"/"!=t[t.length-1]&&(t+="/")),t}function n(e,t,n,r,a,o){if(!a||"/"==a[a.length-1]||o||t.defaultExtension===!1)return a;if(a.match(Y))return a;var s=!1;if(t.meta&&p(t.meta,a,function(e,t,n){return 0==n||e.lastIndexOf("*")!=e.length-1?s=!0:void 0}),!s&&e.meta&&p(e.meta,n+"/"+r+a,function(e,t,n){return 0==n||e.lastIndexOf("*")!=e.length-1?s=!0:void 0}),s)return a;var i="."+(t.defaultExtension||"js");return a.substr(a.length-i.length)!=i?a+i:a}function r(e,r,o,s,i){if(!s){if(!r.main)return o+(e.defaultJSExtensions?".js":"");s="./"==r.main.substr(0,2)?r.main.substr(2):r.main}var l=t(r);if(r.map){var u="./"+s,d=y(r.map,u);if(d||(u="./"+n(e,r,o,l,s,i),u!="./"+s&&(d=y(r.map,u))),d)return a(e,r,o,l,d,u,i)}return o+"/"+l+n(e,r,o,l,s,i)}function a(e,t,r,a,o,s,i){var l=t.map[o];if("string"!=typeof l&&(l=o=s),"."==l)l=r;else if("./"==l.substr(0,2))return r+"/"+a+n(e,t,r,a,l.substr(2)+s.substr(o.length),i);return e.normalizeSync(l+s.substr(o.length),r+"/")}function o(e,r,a,o,s){if(!o){if(!r.main)return Promise.resolve(a+(e.defaultJSExtensions?".js":""));o="./"==r.main.substr(0,2)?r.main.substr(2):r.main}var l,u,d=t(r);return r.map&&(l="./"+o,u=y(r.map,l),u||(l="./"+n(e,r,a,d,o,s),l!="./"+o&&(u=y(r.map,l)))),(u?i(e,r,a,d,u,l,s):Promise.resolve()).then(function(t){return t?Promise.resolve(t):Promise.resolve(a+"/"+d+n(e,r,a,d,o,s))})}function s(e,t,r,a,o,s,i,l){if("."==s)s=r;else if("./"==s.substr(0,2))return Promise.resolve(r+"/"+a+n(e,t,r,a,s.substr(2)+i.substr(o.length),l)).then(function(t){return k.call(e,t,r+"/")});return e.normalize(s+i.substr(o.length),r+"/")}function i(e,t,n,r,a,o,i){var l=t.map[a];return"string"==typeof l?s(e,t,n,r,a,l,o,i):e.builder?Promise.resolve(n+"/#:"+o):e["import"](t.map["@env"]||"@system-env",n).then(function(e){for(var t in l){var n="~"==t[0],r=v(n?t.substr(1):t,e);if(!n&&r||n&&!r)return l[t]}}).then(function(l){return l?s(e,t,n,r,a,l,o,i):void 0})}function u(e){var t=e.lastIndexOf("*"),n=Math.max(t+1,e.lastIndexOf("/"));return{length:n,regEx:new RegExp("^("+e.substr(0,n).replace(/\*/g,"[^\\/]+")+")(\\/|$)"),wildcard:-1!=t}}function f(e,t){for(var n,r,a=!1,o=0;od&&(d=n),h(u,t,n&&d>n)}),u.alias&&"./"==u.alias.substr(0,2)&&(u.alias=o+u.alias.substr(1)),u.loader&&"./"==u.loader.substr(0,2)&&(u.loader=o+u.loader.substr(1)),h(r.metadata,u)}}return n})}})}(),function(){function t(){if(o&&"interactive"===o.script.readyState)return o.load;for(var e=0;ea;a++){var s=e.normalizedDeps[a],i=n.defined[s];if(i&&!i.evaluated){var l=e.groupIndex+(i.declarative!=e.declarative);if(null===i.groupIndex||i.groupIndex=0;l--){for(var u=a[l],d=0;dr;r++){var o=s.importers[r];if(!o.locked){var l=T.call(o.dependencies,s);o.setters[l](i)}}return s.locked=!1,t},{id:t.name});if(s.setters=l.setters,s.execute=l.execute,!s.setters||!s.execute)throw new TypeError("Invalid System.register form for "+t.name);for(var u=0,d=t.normalizedDeps.length;d>u;u++){var c,f=t.normalizedDeps[u],m=n.defined[f],p=r[f];p?c=p.exports:m&&!m.declarative?c=m.esModule:m?(o(m,n),p=m.module,c=p.exports):c=n.get(f),p&&p.importers?(p.importers.push(s),s.dependencies.push(p)):s.dependencies.push(null);for(var h=t.originalIndices[u],g=0,v=h.length;v>g;++g){var b=h[g];s.setters[b]&&s.setters[b](c)}}}}function s(e,t){var n,r=t.defined[e];if(r)r.declarative?u(e,[],t):r.evaluated||i(r,t),n=r.module.exports;else if(n=t.get(e),!n)throw new Error("Unable to load dependency "+e+".");return(!r||r.declarative)&&n&&n.__useDefault?n["default"]:n}function i(t,n){if(!t.module){var r={},a=t.module={exports:r,id:t.name};if(!t.executingRequire)for(var o=0,l=t.normalizedDeps.length;l>o;o++){var u=t.normalizedDeps[o],d=n.defined[u];d&&i(d,n)}t.evaluated=!0;var c=t.execute.call(e,function(e){for(var r=0,a=t.deps.length;a>r;r++)if(t.deps[r]==e)return s(t.normalizedDeps[r],n);throw new Error("Module "+e+" not declared as a dependency.")},r,a);c&&(a.exports=c),r=a.exports,r&&r.__esModule?t.esModule=r:t.esmExports&&r!==e?t.esModule=m(r):t.esModule={"default":r}}}function u(t,n,r){var a=r.defined[t];if(a&&!a.evaluated&&a.declarative){n.push(t);for(var o=0,s=a.normalizedDeps.length;s>o;o++){var i=a.normalizedDeps[o];-1==T.call(n,i)&&(r.defined[i]?u(i,n,r):r.get(i))}a.evaluated||(a.evaluated=!0,a.module.execute.call(e))}}l.prototype.register=function(e,t,n){if("string"!=typeof e&&(n=t,t=e,e=null),"boolean"==typeof n)return this.registerDynamic.apply(this,arguments);var r=S();r.name=e&&(this.decanonicalize||this.normalize).call(this,e),r.declarative=!0,r.deps=t,r.declare=n,this.pushRegister_({amd:!1,entry:r})},l.prototype.registerDynamic=function(e,t,n,r){"string"!=typeof e&&(r=n,n=t,t=e,e=null);var a=S();a.name=e&&(this.decanonicalize||this.normalize).call(this,e),a.deps=t,a.execute=r,a.executingRequire=n,this.pushRegister_({amd:!1,entry:a})},d("reduceRegister_",function(){return function(e,t){if(t){var n=t.entry,r=e&&e.metadata;if(n.name&&(n.name in this.defined||(this.defined[n.name]=n),r&&(r.bundle=!0)),!n.name||e&&n.name==e.name){if(!r)throw new TypeError("Unexpected anonymous System.register call.");if(r.entry)throw"register"==r.format?new Error("Multiple anonymous System.register calls in module "+e.name+". If loading a bundle, ensure all the System.register calls are named."):new Error("Module "+e.name+" interpreted as "+r.format+" module format, but called System.register.");r.format||(r.format="register"),r.entry=n}}}}),c(function(e){return function(){e.call(this),this.defined={},this._loader.moduleRecords={}}}),z(r,"toString",{value:function(){return"Module"}}),d("delete",function(e){return function(t){return delete this._loader.moduleRecords[t],delete this.defined[t],e.call(this,t)}}),d("fetch",function(e){return function(t){return this.defined[t.name]?(t.metadata.format="defined",""):(t.metadata.deps=t.metadata.deps||[],e.call(this,t))}}),d("translate",function(e){return function(t){return t.metadata.deps=t.metadata.deps||[],Promise.resolve(e.call(this,t)).then(function(e){return("register"==t.metadata.format||!t.metadata.format&&w(t.source))&&(t.metadata.format="register"),e})}}),d("instantiate",function(e){return function(t){"detect"==t.metadata.format&&(t.metadata.format=void 0),e.call(this,t);var r,a=this;if(a.defined[t.name])r=a.defined[t.name],r.declarative||(r.deps=r.deps.concat(t.metadata.deps));else if(t.metadata.entry)r=t.metadata.entry,r.deps=r.deps.concat(t.metadata.deps);else if(!(a.builder&&t.metadata.bundle||"register"!=t.metadata.format&&"esm"!=t.metadata.format&&"es6"!=t.metadata.format)){if("undefined"!=typeof $&&$.call(a,t),!t.metadata.entry&&!t.metadata.bundle)throw new Error(t.name+" detected as "+t.metadata.format+" but didn't execute.");r=t.metadata.entry,r&&t.metadata.deps&&(r.deps=r.deps.concat(t.metadata.deps))}r||(r=S(),r.deps=t.metadata.deps,r.execute=function(){}),a.defined[t.name]=r;var o=f(r.deps);r.deps=o.names,r.originalIndices=o.indices,r.name=t.name,r.esmExports=t.metadata.esmExports!==!1;for(var s=[],i=0,l=r.deps.length;l>i;i++)s.push(Promise.resolve(a.normalize(r.deps[i],t.name)));return Promise.all(s).then(function(e){return r.normalizedDeps=e,{deps:r.deps,execute:function(){return n(t.name,a),u(t.name,[],a),a.defined[t.name]=void 0,a.newModule(r.declarative?r.module.exports:r.esModule)}}})}})}(),function(){var t=/(^\s*|[}\);\n]\s*)(import\s+(['"]|(\*\s+as\s+)?[^"'\(\)\n;]+\s+from\s+['"]|\{)|export\s+\*\s+from\s+["']|export\s+(\{|default|function|class|var|const|let|async\s+function))/,n=/\$traceurRuntime\s*\./,r=/babelHelpers\s*\./;d("translate",function(a){return function(o){var s=this;return a.call(s,o).then(function(a){if("esm"==o.metadata.format||"es6"==o.metadata.format||!o.metadata.format&&s.transpiler!==!1&&a.match(t)){if("es6"==o.metadata.format&&g.call(s,"Module "+o.name+' has metadata setting its format to "es6", which is deprecated.\nThis should be updated to "esm".'),o.metadata.format="esm",s.transpiler===!1){if(s.builder)return a;throw new TypeError("Unable to dynamically transpile ES module as SystemJS.transpiler set to false.")}return s._loader.loadedTranspiler=s._loader.loadedTranspiler||!1,s.pluginLoader&&(s.pluginLoader._loader.loadedTranspiler=s._loader.loadedTranspiler||!1),(s._loader.transpilerPromise||(s._loader.transpilerPromise=Promise.resolve(e["typescript"==s.transpiler?"ts":s.transpiler]||(s.pluginLoader||s)["import"](s.transpiler)))).then(function(e){return s._loader.loadedTranspilerRuntime=!0,e.translate?e==o.metadata.loaderModule?o.source:("string"==typeof o.metadata.sourceMap&&(o.metadata.sourceMap=JSON.parse(o.metadata.sourceMap)),Promise.resolve(e.translate.call(s,o)).then(function(e){var t=o.metadata.sourceMap;if(t&&"object"==typeof t){var n=o.name.split("!")[0];t.file=n+"!transpiled",(!t.sources||t.sources.length<=1)&&(t.sources=[n])}return"esm"==o.metadata.format&&!s.builder&&w(e)&&(o.metadata.format="register"),e})):(s.builder&&(o.metadata.originalSource=o.source),J.call(s,o).then(function(e){return o.metadata.sourceMap=void 0,e}))})}if(s.transpiler===!1)return a;if(s._loader.loadedTranspiler!==!1||"traceur"!=s.transpiler&&"typescript"!=s.transpiler&&"babel"!=s.transpiler||o.name!=s.normalizeSync(s.transpiler)||(a.length>100&&!o.metadata.format&&(o.metadata.format="global","traceur"===s.transpiler&&(o.metadata.exports="traceur"),"typescript"===s.transpiler&&(o.metadata.exports="ts")),s._loader.loadedTranspiler=!0),s._loader.loadedTranspilerRuntime===!1&&(o.name==s.normalizeSync("traceur-runtime")||o.name==s.normalizeSync("babel/external-helpers*"))&&(a.length>100&&(o.metadata.format=o.metadata.format||"global"),s._loader.loadedTranspilerRuntime=!0),("register"==o.metadata.format||o.metadata.bundle)&&s._loader.loadedTranspilerRuntime!==!0){if(!e.$traceurRuntime&&o.source.match(n))return s._loader.loadedTranspilerRuntime=s._loader.loadedTranspilerRuntime||!1,s["import"]("traceur-runtime").then(function(){return a});if(!e.babelHelpers&&o.source.match(r))return s._loader.loadedTranspilerRuntime=s._loader.loadedTranspilerRuntime||!1,s["import"]("babel/external-helpers").then(function(){return a})}return a})}})}();var K="undefined"!=typeof self?"self":"global";d("fetch",function(e){return function(t){return t.metadata.exports&&!t.metadata.format&&(t.metadata.format="global"),e.call(this,t)}}),d("instantiate",function(e){return function(t){var n=this;if(t.metadata.format||(t.metadata.format="global"),"global"==t.metadata.format&&!t.metadata.registered){var r=S();t.metadata.entry=r,r.deps=[];for(var a in t.metadata.globals){var o=t.metadata.globals[a];o&&r.deps.push(o)}r.execute=function(e,r,a){var o;if(t.metadata.globals){o={};for(var s in t.metadata.globals)t.metadata.globals[s]&&(o[s]=e(t.metadata.globals[s]))}var i=t.metadata.exports;i&&(t.source+="\n"+K+'["'+i+'"] = '+i+";");var l=n.get("@@global-helpers").prepareGlobal(a.id,i,o);return $.call(n,t),l()}}return e.call(this,t)}}),d("reduceRegister_",function(t){return function(n,r){if(r||!n.metadata.exports)return t.call(this,n,r);n.metadata.format="global";var a=n.metadata.entry=S();a.deps=n.metadata.deps;var o=v(n.metadata.exports,e);a.execute=function(){return o}}}),c(function(t){return function(){function n(t){if(Object.keys)Object.keys(e).forEach(t);else for(var n in e)s.call(e,n)&&t(n)}function r(t){n(function(n){if(-1==T.call(i,n)){try{var r=e[n]}catch(a){i.push(n)}t(n,r)}})}var a=this;t.call(a);var o,s=Object.prototype.hasOwnProperty,i=["_g","sessionStorage","localStorage","clipboardData","frames","frameElement","external","mozAnimationStartTime","webkitStorageInfo","webkitIndexedDB","mozInnerScreenY","mozInnerScreenX"];a.set("@@global-helpers",a.newModule({prepareGlobal:function(t,n,a){var s=e.define;e.define=void 0,e.exports=void 0,e.module&&e.module.exports&&(e.module=void 0);var i;if(a){i={};for(var l in a)i[l]=e[l],e[l]=a[l]}return n||(o={},r(function(e,t){o[e]=t})),function(){var t;if(n)t=v(n,e);else{var a,l,u={};r(function(e,t){o[e]!==t&&"undefined"!=typeof t&&(u[e]=t,"undefined"!=typeof a?l||a===t||(l=!0):a=t)}),t=l?u:a}if(i)for(var d in i)e[d]=i[d];return e.define=s,t}}}))}}),function(){function t(e){function t(e,t){for(var n=0;nt.index)return!0;return!1}r.lastIndex=a.lastIndex=o.lastIndex=0;var n,s=[],i=[],l=[];if(e.length/e.split("\n").length<200){for(;n=o.exec(e);)i.push([n.index,n.index+n[0].length]);for(;n=a.exec(e);)t(i,n)||l.push([n.index,n.index+n[0].length])}for(;n=r.exec(e);)if(!t(i,n)&&!t(l,n)){var u=n[1].substr(1,n[1].length-2);if(u.match(/"|'/))continue;"/"==u[u.length-1]&&(u=u.substr(0,u.length-1)),s.push(u)}return s}var n=/(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF.])(exports\s*(\[['"]|\.)|module(\.exports|\['exports'\]|\["exports"\])\s*(\[['"]|[=,\.]))/,r=/(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF."'])require\s*\(\s*("[^"\\]*(?:\\.[^"\\]*)*"|'[^'\\]*(?:\\.[^'\\]*)*')\s*\)/g,a=/(^|[^\\])(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,o=/("[^"\\\n\r]*(\\.[^"\\\n\r]*)*"|'[^'\\\n\r]*(\\.[^'\\\n\r]*)*')/g;d("instantiate",function(a){return function(o){var s=this;if(o.metadata.format||(n.lastIndex=0,r.lastIndex=0,(r.exec(o.source)||n.exec(o.source))&&(o.metadata.format="cjs")),"cjs"==o.metadata.format){var i=o.metadata.deps,l=o.metadata.cjsRequireDetection===!1?[]:t(o.source);for(var u in o.metadata.globals)o.metadata.globals[u]&&l.push(o.metadata.globals[u]);var d=S();o.metadata.entry=d,d.deps=l,d.executingRequire=!0,d.execute=function(t,n,r){function a(e){return"/"==e[e.length-1]&&(e=e.substr(0,e.length-1)),t.apply(this,arguments)}for(var l=0;l1;)r=a.shift(),e=e[r]=e[r]||{};r=a.shift(),r in e||(e[r]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,r=this.meta,a=t.name,o=0;for(var s in r)if(n=s.indexOf("*"),-1!==n&&s.substr(0,n)===a.substr(0,n)&&s.substr(n+1)===a.substr(a.length-s.length+n+1)){var i=s.split("/").length;i>o&&(o=i),h(t.metadata,r[s],o!=i)}return r[a]&&h(t.metadata,r[a]),e.call(this,t)}});var t=/^(\s*\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(r){return function(a){var o=a.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}();
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "gulpfile.js",
6 | "directories": {
7 | "doc": "docs",
8 | "test": "test"
9 | },
10 | "scripts": {
11 | "test": "echo \"Error: no test specified\" && exit 1"
12 | },
13 | "author": "",
14 | "license": "ISC",
15 | "dependencies": {
16 | "angular2": "2.0.0-beta.6",
17 | "systemjs": "0.19.17",
18 | "es6-promise": "^3.0.2",
19 | "es6-shim": "^0.33.3",
20 | "reflect-metadata": "0.1.2",
21 | "rxjs": "5.0.0-beta.0",
22 | "zone.js": "0.5.14"
23 | },
24 | "devDependencies": {
25 |
26 | }
27 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "declaration": false,
4 | "emitDecoratorMetadata": true,
5 | "experimentalDecorators": true,
6 | "module": "commonjs",
7 | "noImplicitAny": false,
8 | "noLib": false,
9 | "removeComments": true,
10 | "target": "es5"
11 | },
12 | "version": "1.6.2"
13 | }
--------------------------------------------------------------------------------