@angular/router 0.1.0 → 2.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/router.umd.js +1812 -0
- package/bundles/router.umd.min.js +2 -0
- package/esm/index.d.ts +15 -0
- package/esm/index.js +15 -0
- package/esm/index.js.map +1 -0
- package/esm/src/constants.d.ts +5 -0
- package/esm/src/constants.js +6 -0
- package/esm/src/constants.js.map +1 -0
- package/esm/src/constants.metadata.json +1 -0
- package/esm/src/core_private.d.ts +3 -0
- package/esm/src/core_private.js +4 -0
- package/esm/src/core_private.js.map +1 -0
- package/esm/src/core_private.metadata.json +1 -0
- package/esm/src/directives/router_directives.d.ts +21 -0
- package/esm/src/directives/router_directives.js +24 -0
- package/esm/src/directives/router_directives.js.map +1 -0
- package/esm/src/directives/router_directives.metadata.json +1 -0
- package/esm/src/directives/router_link.d.ts +49 -0
- package/esm/src/directives/router_link.js +68 -0
- package/esm/src/directives/router_link.js.map +1 -0
- package/esm/src/directives/router_link.metadata.json +1 -0
- package/esm/src/directives/router_outlet.d.ts +36 -0
- package/esm/src/directives/router_outlet.js +42 -0
- package/esm/src/directives/router_outlet.js.map +1 -0
- package/esm/src/directives/router_outlet.metadata.json +1 -0
- package/esm/src/facade/async.d.ts +90 -0
- package/esm/src/facade/async.js +137 -0
- package/esm/src/facade/async.js.map +1 -0
- package/esm/src/facade/base_wrapped_exception.d.ts +14 -0
- package/esm/src/facade/base_wrapped_exception.js +17 -0
- package/esm/src/facade/base_wrapped_exception.js.map +1 -0
- package/esm/src/facade/collection.d.ts +103 -0
- package/esm/src/facade/collection.js +343 -0
- package/esm/src/facade/collection.js.map +1 -0
- package/esm/src/facade/collection.metadata.json +1 -0
- package/esm/src/facade/exception_handler.d.ts +29 -0
- package/esm/src/facade/exception_handler.js +124 -0
- package/esm/src/facade/exception_handler.js.map +1 -0
- package/esm/src/facade/exceptions.d.ts +32 -0
- package/esm/src/facade/exceptions.js +42 -0
- package/esm/src/facade/exceptions.js.map +1 -0
- package/esm/src/facade/exceptions.metadata.json +1 -0
- package/esm/src/facade/lang.d.ts +158 -0
- package/esm/src/facade/lang.js +386 -0
- package/esm/src/facade/lang.js.map +1 -0
- package/esm/src/facade/lang.metadata.json +1 -0
- package/esm/src/facade/promise.d.ts +17 -0
- package/esm/src/facade/promise.js +41 -0
- package/esm/src/facade/promise.js.map +1 -0
- package/esm/src/interfaces.d.ts +23 -0
- package/esm/src/interfaces.js +1 -0
- package/esm/src/interfaces.js.map +1 -0
- package/esm/src/lifecycle_reflector.d.ts +1 -0
- package/esm/src/lifecycle_reflector.js +10 -0
- package/esm/src/lifecycle_reflector.js.map +1 -0
- package/esm/src/link.d.ts +2 -0
- package/esm/src/link.js +183 -0
- package/esm/src/link.js.map +1 -0
- package/esm/src/metadata/decorators.d.ts +16 -0
- package/esm/src/metadata/decorators.js +9 -0
- package/esm/src/metadata/decorators.js.map +1 -0
- package/esm/src/metadata/decorators.metadata.json +1 -0
- package/esm/src/metadata/metadata.d.ts +48 -0
- package/esm/src/metadata/metadata.js +48 -0
- package/esm/src/metadata/metadata.js.map +1 -0
- package/esm/src/recognize.d.ts +4 -0
- package/esm/src/recognize.js +164 -0
- package/esm/src/recognize.js.map +1 -0
- package/esm/src/router.d.ts +95 -0
- package/esm/src/router.js +243 -0
- package/esm/src/router.js.map +1 -0
- package/esm/src/router_providers.d.ts +23 -0
- package/esm/src/router_providers.js +26 -0
- package/esm/src/router_providers.js.map +1 -0
- package/esm/src/router_providers.metadata.json +1 -0
- package/esm/src/router_providers_common.d.ts +11 -0
- package/esm/src/router_providers_common.js +32 -0
- package/esm/src/router_providers_common.js.map +1 -0
- package/esm/src/router_providers_common.metadata.json +1 -0
- package/esm/src/router_url_serializer.d.ts +21 -0
- package/esm/src/router_url_serializer.js +164 -0
- package/esm/src/router_url_serializer.js.map +1 -0
- package/esm/src/segments.d.ts +51 -0
- package/esm/src/segments.js +137 -0
- package/esm/src/segments.js.map +1 -0
- package/esm/src/segments.metadata.json +1 -0
- package/esm/testing/router_testing_providers.d.ts +1 -0
- package/esm/testing/router_testing_providers.js +31 -0
- package/esm/testing/router_testing_providers.js.map +1 -0
- package/esm/testing/router_testing_providers.metadata.json +1 -0
- package/esm/testing.d.ts +1 -0
- package/esm/testing.js +2 -0
- package/esm/testing.js.map +1 -0
- package/index.d.ts +15 -0
- package/index.js +31 -0
- package/index.js.map +1 -0
- package/package.json +16 -1
- package/src/constants.d.ts +5 -0
- package/src/constants.js +7 -0
- package/src/constants.js.map +1 -0
- package/src/constants.metadata.json +1 -0
- package/src/core_private.d.ts +3 -0
- package/src/core_private.js +5 -0
- package/src/core_private.js.map +1 -0
- package/src/core_private.metadata.json +1 -0
- package/src/directives/router_directives.d.ts +21 -0
- package/src/directives/router_directives.js +25 -0
- package/src/directives/router_directives.js.map +1 -0
- package/src/directives/router_directives.metadata.json +1 -0
- package/src/directives/router_link.d.ts +49 -0
- package/src/directives/router_link.js +76 -0
- package/src/directives/router_link.js.map +1 -0
- package/src/directives/router_link.metadata.json +1 -0
- package/src/directives/router_outlet.d.ts +36 -0
- package/src/directives/router_outlet.js +53 -0
- package/src/directives/router_outlet.js.map +1 -0
- package/src/directives/router_outlet.metadata.json +1 -0
- package/src/facade/async.d.ts +90 -0
- package/src/facade/async.js +160 -0
- package/src/facade/async.js.map +1 -0
- package/src/facade/base_wrapped_exception.d.ts +14 -0
- package/src/facade/base_wrapped_exception.js +50 -0
- package/src/facade/base_wrapped_exception.js.map +1 -0
- package/src/facade/collection.d.ts +103 -0
- package/src/facade/collection.js +368 -0
- package/src/facade/collection.js.map +1 -0
- package/src/facade/collection.metadata.json +1 -0
- package/src/facade/exception_handler.d.ts +29 -0
- package/src/facade/exception_handler.js +133 -0
- package/src/facade/exception_handler.js.map +1 -0
- package/src/facade/exceptions.d.ts +32 -0
- package/src/facade/exceptions.js +82 -0
- package/src/facade/exceptions.js.map +1 -0
- package/src/facade/exceptions.metadata.json +1 -0
- package/src/facade/lang.d.ts +158 -0
- package/src/facade/lang.js +480 -0
- package/src/facade/lang.js.map +1 -0
- package/src/facade/lang.metadata.json +1 -0
- package/src/facade/promise.d.ts +17 -0
- package/src/facade/promise.js +49 -0
- package/src/facade/promise.js.map +1 -0
- package/src/interfaces.d.ts +23 -0
- package/src/interfaces.js +2 -0
- package/src/interfaces.js.map +1 -0
- package/src/lifecycle_reflector.d.ts +1 -0
- package/src/lifecycle_reflector.js +12 -0
- package/src/lifecycle_reflector.js.map +1 -0
- package/src/link.d.ts +2 -0
- package/src/link.js +189 -0
- package/src/link.js.map +1 -0
- package/src/metadata/decorators.d.ts +16 -0
- package/src/metadata/decorators.js +10 -0
- package/src/metadata/decorators.js.map +1 -0
- package/src/metadata/decorators.metadata.json +1 -0
- package/src/metadata/metadata.d.ts +48 -0
- package/src/metadata/metadata.js +66 -0
- package/src/metadata/metadata.js.map +1 -0
- package/src/recognize.d.ts +4 -0
- package/src/recognize.js +172 -0
- package/src/recognize.js.map +1 -0
- package/src/router.d.ts +95 -0
- package/src/router.js +276 -0
- package/src/router.js.map +1 -0
- package/src/router_providers.d.ts +23 -0
- package/src/router_providers.js +27 -0
- package/src/router_providers.js.map +1 -0
- package/src/router_providers.metadata.json +1 -0
- package/src/router_providers_common.d.ts +11 -0
- package/src/router_providers_common.js +35 -0
- package/src/router_providers_common.js.map +1 -0
- package/src/router_providers_common.metadata.json +1 -0
- package/src/router_url_serializer.d.ts +21 -0
- package/src/router_url_serializer.js +184 -0
- package/src/router_url_serializer.js.map +1 -0
- package/src/segments.d.ts +51 -0
- package/src/segments.js +181 -0
- package/src/segments.js.map +1 -0
- package/src/segments.metadata.json +1 -0
- package/testing/router_testing_providers.d.ts +1 -0
- package/testing/router_testing_providers.js +35 -0
- package/testing/router_testing_providers.js.map +1 -0
- package/testing/router_testing_providers.metadata.json +1 -0
- package/testing.d.ts +1 -0
- package/testing.js +6 -0
- package/testing.js.map +1 -0
- package/angular1/angular_1_router.js +0 -2922
- package/angular1/ng_route_shim.js +0 -349
- package/angular2/router.dev.js +0 -3107
- package/angular2/router.js +0 -3107
- package/angular2/router.min.js +0 -3
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export declare var Map: MapConstructor;
|
|
2
|
+
export declare var Set: SetConstructor;
|
|
3
|
+
export declare class MapWrapper {
|
|
4
|
+
static clone<K, V>(m: Map<K, V>): Map<K, V>;
|
|
5
|
+
static createFromStringMap<T>(stringMap: {
|
|
6
|
+
[key: string]: T;
|
|
7
|
+
}): Map<string, T>;
|
|
8
|
+
static toStringMap<T>(m: Map<string, T>): {
|
|
9
|
+
[key: string]: T;
|
|
10
|
+
};
|
|
11
|
+
static createFromPairs(pairs: any[]): Map<any, any>;
|
|
12
|
+
static clearValues(m: Map<any, any>): void;
|
|
13
|
+
static iterable<T>(m: T): T;
|
|
14
|
+
static keys<K>(m: Map<K, any>): K[];
|
|
15
|
+
static values<V>(m: Map<any, V>): V[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Wraps Javascript Objects
|
|
19
|
+
*/
|
|
20
|
+
export declare class StringMapWrapper {
|
|
21
|
+
static create(): {
|
|
22
|
+
[k: string]: any;
|
|
23
|
+
};
|
|
24
|
+
static contains(map: {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}, key: string): boolean;
|
|
27
|
+
static get<V>(map: {
|
|
28
|
+
[key: string]: V;
|
|
29
|
+
}, key: string): V;
|
|
30
|
+
static set<V>(map: {
|
|
31
|
+
[key: string]: V;
|
|
32
|
+
}, key: string, value: V): void;
|
|
33
|
+
static keys(map: {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
}): string[];
|
|
36
|
+
static values<T>(map: {
|
|
37
|
+
[key: string]: T;
|
|
38
|
+
}): T[];
|
|
39
|
+
static isEmpty(map: {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}): boolean;
|
|
42
|
+
static delete(map: {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
}, key: string): void;
|
|
45
|
+
static forEach<K, V>(map: {
|
|
46
|
+
[key: string]: V;
|
|
47
|
+
}, callback: Function): void;
|
|
48
|
+
static merge<V>(m1: {
|
|
49
|
+
[key: string]: V;
|
|
50
|
+
}, m2: {
|
|
51
|
+
[key: string]: V;
|
|
52
|
+
}): {
|
|
53
|
+
[key: string]: V;
|
|
54
|
+
};
|
|
55
|
+
static equals<V>(m1: {
|
|
56
|
+
[key: string]: V;
|
|
57
|
+
}, m2: {
|
|
58
|
+
[key: string]: V;
|
|
59
|
+
}): boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A boolean-valued function over a value, possibly including context information
|
|
63
|
+
* regarding that value's position in an array.
|
|
64
|
+
*/
|
|
65
|
+
export interface Predicate<T> {
|
|
66
|
+
(value: T, index?: number, array?: T[]): boolean;
|
|
67
|
+
}
|
|
68
|
+
export declare class ListWrapper {
|
|
69
|
+
static createFixedSize(size: number): any[];
|
|
70
|
+
static createGrowableSize(size: number): any[];
|
|
71
|
+
static clone<T>(array: T[]): T[];
|
|
72
|
+
static forEachWithIndex<T>(array: T[], fn: (t: T, n: number) => void): void;
|
|
73
|
+
static first<T>(array: T[]): T;
|
|
74
|
+
static last<T>(array: T[]): T;
|
|
75
|
+
static indexOf<T>(array: T[], value: T, startIndex?: number): number;
|
|
76
|
+
static contains<T>(list: T[], el: T): boolean;
|
|
77
|
+
static reversed<T>(array: T[]): T[];
|
|
78
|
+
static concat(a: any[], b: any[]): any[];
|
|
79
|
+
static insert<T>(list: T[], index: number, value: T): void;
|
|
80
|
+
static removeAt<T>(list: T[], index: number): T;
|
|
81
|
+
static removeAll<T>(list: T[], items: T[]): void;
|
|
82
|
+
static remove<T>(list: T[], el: T): boolean;
|
|
83
|
+
static clear(list: any[]): void;
|
|
84
|
+
static isEmpty(list: any[]): boolean;
|
|
85
|
+
static fill(list: any[], value: any, start?: number, end?: number): void;
|
|
86
|
+
static equals(a: any[], b: any[]): boolean;
|
|
87
|
+
static slice<T>(l: T[], from?: number, to?: number): T[];
|
|
88
|
+
static splice<T>(l: T[], from: number, length: number): T[];
|
|
89
|
+
static sort<T>(l: T[], compareFn?: (a: T, b: T) => number): void;
|
|
90
|
+
static toString<T>(l: T[]): string;
|
|
91
|
+
static toJSON<T>(l: T[]): string;
|
|
92
|
+
static maximum<T>(list: T[], predicate: (t: T) => number): T;
|
|
93
|
+
static flatten<T>(list: Array<T | T[]>): T[];
|
|
94
|
+
static addAll<T>(list: Array<T>, source: Array<T>): void;
|
|
95
|
+
}
|
|
96
|
+
export declare function isListLikeIterable(obj: any): boolean;
|
|
97
|
+
export declare function areIterablesEqual(a: any, b: any, comparator: Function): boolean;
|
|
98
|
+
export declare function iterateListLike(obj: any, fn: Function): void;
|
|
99
|
+
export declare class SetWrapper {
|
|
100
|
+
static createFromList<T>(lst: T[]): Set<T>;
|
|
101
|
+
static has<T>(s: Set<T>, key: T): boolean;
|
|
102
|
+
static delete<K>(m: Set<K>, k: K): void;
|
|
103
|
+
}
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var lang_1 = require('./lang');
|
|
3
|
+
exports.Map = lang_1.global.Map;
|
|
4
|
+
exports.Set = lang_1.global.Set;
|
|
5
|
+
// Safari and Internet Explorer do not support the iterable parameter to the
|
|
6
|
+
// Map constructor. We work around that by manually adding the items.
|
|
7
|
+
var createMapFromPairs = (function () {
|
|
8
|
+
try {
|
|
9
|
+
if (new exports.Map([[1, 2]]).size === 1) {
|
|
10
|
+
return function createMapFromPairs(pairs) { return new exports.Map(pairs); };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
}
|
|
15
|
+
return function createMapAndPopulateFromPairs(pairs) {
|
|
16
|
+
var map = new exports.Map();
|
|
17
|
+
for (var i = 0; i < pairs.length; i++) {
|
|
18
|
+
var pair = pairs[i];
|
|
19
|
+
map.set(pair[0], pair[1]);
|
|
20
|
+
}
|
|
21
|
+
return map;
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var createMapFromMap = (function () {
|
|
25
|
+
try {
|
|
26
|
+
if (new exports.Map(new exports.Map())) {
|
|
27
|
+
return function createMapFromMap(m) { return new exports.Map(m); };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
}
|
|
32
|
+
return function createMapAndPopulateFromMap(m) {
|
|
33
|
+
var map = new exports.Map();
|
|
34
|
+
m.forEach(function (v, k) { map.set(k, v); });
|
|
35
|
+
return map;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var _clearValues = (function () {
|
|
39
|
+
if ((new exports.Map()).keys().next) {
|
|
40
|
+
return function _clearValues(m) {
|
|
41
|
+
var keyIterator = m.keys();
|
|
42
|
+
var k;
|
|
43
|
+
while (!((k = keyIterator.next()).done)) {
|
|
44
|
+
m.set(k.value, null);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return function _clearValuesWithForeEach(m) {
|
|
50
|
+
m.forEach(function (v, k) { m.set(k, null); });
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
})();
|
|
54
|
+
// Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
|
|
55
|
+
// TODO(mlaval): remove the work around once we have a working polyfill of Array.from
|
|
56
|
+
var _arrayFromMap = (function () {
|
|
57
|
+
try {
|
|
58
|
+
if ((new exports.Map()).values().next) {
|
|
59
|
+
return function createArrayFromMap(m, getValues) {
|
|
60
|
+
return getValues ? Array.from(m.values()) : Array.from(m.keys());
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
}
|
|
66
|
+
return function createArrayFromMapWithForeach(m, getValues) {
|
|
67
|
+
var res = ListWrapper.createFixedSize(m.size), i = 0;
|
|
68
|
+
m.forEach(function (v, k) {
|
|
69
|
+
res[i] = getValues ? v : k;
|
|
70
|
+
i++;
|
|
71
|
+
});
|
|
72
|
+
return res;
|
|
73
|
+
};
|
|
74
|
+
})();
|
|
75
|
+
var MapWrapper = (function () {
|
|
76
|
+
function MapWrapper() {
|
|
77
|
+
}
|
|
78
|
+
MapWrapper.clone = function (m) { return createMapFromMap(m); };
|
|
79
|
+
MapWrapper.createFromStringMap = function (stringMap) {
|
|
80
|
+
var result = new exports.Map();
|
|
81
|
+
for (var prop in stringMap) {
|
|
82
|
+
result.set(prop, stringMap[prop]);
|
|
83
|
+
}
|
|
84
|
+
return result;
|
|
85
|
+
};
|
|
86
|
+
MapWrapper.toStringMap = function (m) {
|
|
87
|
+
var r = {};
|
|
88
|
+
m.forEach(function (v, k) { return r[k] = v; });
|
|
89
|
+
return r;
|
|
90
|
+
};
|
|
91
|
+
MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
|
|
92
|
+
MapWrapper.clearValues = function (m) { _clearValues(m); };
|
|
93
|
+
MapWrapper.iterable = function (m) { return m; };
|
|
94
|
+
MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
|
|
95
|
+
MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
|
|
96
|
+
return MapWrapper;
|
|
97
|
+
}());
|
|
98
|
+
exports.MapWrapper = MapWrapper;
|
|
99
|
+
/**
|
|
100
|
+
* Wraps Javascript Objects
|
|
101
|
+
*/
|
|
102
|
+
var StringMapWrapper = (function () {
|
|
103
|
+
function StringMapWrapper() {
|
|
104
|
+
}
|
|
105
|
+
StringMapWrapper.create = function () {
|
|
106
|
+
// Note: We are not using Object.create(null) here due to
|
|
107
|
+
// performance!
|
|
108
|
+
// http://jsperf.com/ng2-object-create-null
|
|
109
|
+
return {};
|
|
110
|
+
};
|
|
111
|
+
StringMapWrapper.contains = function (map, key) {
|
|
112
|
+
return map.hasOwnProperty(key);
|
|
113
|
+
};
|
|
114
|
+
StringMapWrapper.get = function (map, key) {
|
|
115
|
+
return map.hasOwnProperty(key) ? map[key] : undefined;
|
|
116
|
+
};
|
|
117
|
+
StringMapWrapper.set = function (map, key, value) { map[key] = value; };
|
|
118
|
+
StringMapWrapper.keys = function (map) { return Object.keys(map); };
|
|
119
|
+
StringMapWrapper.values = function (map) {
|
|
120
|
+
return Object.keys(map).reduce(function (r, a) {
|
|
121
|
+
r.push(map[a]);
|
|
122
|
+
return r;
|
|
123
|
+
}, []);
|
|
124
|
+
};
|
|
125
|
+
StringMapWrapper.isEmpty = function (map) {
|
|
126
|
+
for (var prop in map) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
};
|
|
131
|
+
StringMapWrapper.delete = function (map, key) { delete map[key]; };
|
|
132
|
+
StringMapWrapper.forEach = function (map, callback) {
|
|
133
|
+
for (var prop in map) {
|
|
134
|
+
if (map.hasOwnProperty(prop)) {
|
|
135
|
+
callback(map[prop], prop);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
StringMapWrapper.merge = function (m1, m2) {
|
|
140
|
+
var m = {};
|
|
141
|
+
for (var attr in m1) {
|
|
142
|
+
if (m1.hasOwnProperty(attr)) {
|
|
143
|
+
m[attr] = m1[attr];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
for (var attr in m2) {
|
|
147
|
+
if (m2.hasOwnProperty(attr)) {
|
|
148
|
+
m[attr] = m2[attr];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return m;
|
|
152
|
+
};
|
|
153
|
+
StringMapWrapper.equals = function (m1, m2) {
|
|
154
|
+
var k1 = Object.keys(m1);
|
|
155
|
+
var k2 = Object.keys(m2);
|
|
156
|
+
if (k1.length != k2.length) {
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
var key;
|
|
160
|
+
for (var i = 0; i < k1.length; i++) {
|
|
161
|
+
key = k1[i];
|
|
162
|
+
if (m1[key] !== m2[key]) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return true;
|
|
167
|
+
};
|
|
168
|
+
return StringMapWrapper;
|
|
169
|
+
}());
|
|
170
|
+
exports.StringMapWrapper = StringMapWrapper;
|
|
171
|
+
var ListWrapper = (function () {
|
|
172
|
+
function ListWrapper() {
|
|
173
|
+
}
|
|
174
|
+
// JS has no way to express a statically fixed size list, but dart does so we
|
|
175
|
+
// keep both methods.
|
|
176
|
+
ListWrapper.createFixedSize = function (size) { return new Array(size); };
|
|
177
|
+
ListWrapper.createGrowableSize = function (size) { return new Array(size); };
|
|
178
|
+
ListWrapper.clone = function (array) { return array.slice(0); };
|
|
179
|
+
ListWrapper.forEachWithIndex = function (array, fn) {
|
|
180
|
+
for (var i = 0; i < array.length; i++) {
|
|
181
|
+
fn(array[i], i);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
ListWrapper.first = function (array) {
|
|
185
|
+
if (!array)
|
|
186
|
+
return null;
|
|
187
|
+
return array[0];
|
|
188
|
+
};
|
|
189
|
+
ListWrapper.last = function (array) {
|
|
190
|
+
if (!array || array.length == 0)
|
|
191
|
+
return null;
|
|
192
|
+
return array[array.length - 1];
|
|
193
|
+
};
|
|
194
|
+
ListWrapper.indexOf = function (array, value, startIndex) {
|
|
195
|
+
if (startIndex === void 0) { startIndex = 0; }
|
|
196
|
+
return array.indexOf(value, startIndex);
|
|
197
|
+
};
|
|
198
|
+
ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
|
|
199
|
+
ListWrapper.reversed = function (array) {
|
|
200
|
+
var a = ListWrapper.clone(array);
|
|
201
|
+
return a.reverse();
|
|
202
|
+
};
|
|
203
|
+
ListWrapper.concat = function (a, b) { return a.concat(b); };
|
|
204
|
+
ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
|
|
205
|
+
ListWrapper.removeAt = function (list, index) {
|
|
206
|
+
var res = list[index];
|
|
207
|
+
list.splice(index, 1);
|
|
208
|
+
return res;
|
|
209
|
+
};
|
|
210
|
+
ListWrapper.removeAll = function (list, items) {
|
|
211
|
+
for (var i = 0; i < items.length; ++i) {
|
|
212
|
+
var index = list.indexOf(items[i]);
|
|
213
|
+
list.splice(index, 1);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
ListWrapper.remove = function (list, el) {
|
|
217
|
+
var index = list.indexOf(el);
|
|
218
|
+
if (index > -1) {
|
|
219
|
+
list.splice(index, 1);
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
222
|
+
return false;
|
|
223
|
+
};
|
|
224
|
+
ListWrapper.clear = function (list) { list.length = 0; };
|
|
225
|
+
ListWrapper.isEmpty = function (list) { return list.length == 0; };
|
|
226
|
+
ListWrapper.fill = function (list, value, start, end) {
|
|
227
|
+
if (start === void 0) { start = 0; }
|
|
228
|
+
if (end === void 0) { end = null; }
|
|
229
|
+
list.fill(value, start, end === null ? list.length : end);
|
|
230
|
+
};
|
|
231
|
+
ListWrapper.equals = function (a, b) {
|
|
232
|
+
if (a.length != b.length)
|
|
233
|
+
return false;
|
|
234
|
+
for (var i = 0; i < a.length; ++i) {
|
|
235
|
+
if (a[i] !== b[i])
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
return true;
|
|
239
|
+
};
|
|
240
|
+
ListWrapper.slice = function (l, from, to) {
|
|
241
|
+
if (from === void 0) { from = 0; }
|
|
242
|
+
if (to === void 0) { to = null; }
|
|
243
|
+
return l.slice(from, to === null ? undefined : to);
|
|
244
|
+
};
|
|
245
|
+
ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
|
|
246
|
+
ListWrapper.sort = function (l, compareFn) {
|
|
247
|
+
if (lang_1.isPresent(compareFn)) {
|
|
248
|
+
l.sort(compareFn);
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
l.sort();
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
ListWrapper.toString = function (l) { return l.toString(); };
|
|
255
|
+
ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
|
|
256
|
+
ListWrapper.maximum = function (list, predicate) {
|
|
257
|
+
if (list.length == 0) {
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
var solution = null;
|
|
261
|
+
var maxValue = -Infinity;
|
|
262
|
+
for (var index = 0; index < list.length; index++) {
|
|
263
|
+
var candidate = list[index];
|
|
264
|
+
if (lang_1.isBlank(candidate)) {
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
var candidateValue = predicate(candidate);
|
|
268
|
+
if (candidateValue > maxValue) {
|
|
269
|
+
solution = candidate;
|
|
270
|
+
maxValue = candidateValue;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return solution;
|
|
274
|
+
};
|
|
275
|
+
ListWrapper.flatten = function (list) {
|
|
276
|
+
var target = [];
|
|
277
|
+
_flattenArray(list, target);
|
|
278
|
+
return target;
|
|
279
|
+
};
|
|
280
|
+
ListWrapper.addAll = function (list, source) {
|
|
281
|
+
for (var i = 0; i < source.length; i++) {
|
|
282
|
+
list.push(source[i]);
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
return ListWrapper;
|
|
286
|
+
}());
|
|
287
|
+
exports.ListWrapper = ListWrapper;
|
|
288
|
+
function _flattenArray(source, target) {
|
|
289
|
+
if (lang_1.isPresent(source)) {
|
|
290
|
+
for (var i = 0; i < source.length; i++) {
|
|
291
|
+
var item = source[i];
|
|
292
|
+
if (lang_1.isArray(item)) {
|
|
293
|
+
_flattenArray(item, target);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
target.push(item);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return target;
|
|
301
|
+
}
|
|
302
|
+
function isListLikeIterable(obj) {
|
|
303
|
+
if (!lang_1.isJsObject(obj))
|
|
304
|
+
return false;
|
|
305
|
+
return lang_1.isArray(obj) ||
|
|
306
|
+
(!(obj instanceof exports.Map) &&
|
|
307
|
+
lang_1.getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
|
|
308
|
+
}
|
|
309
|
+
exports.isListLikeIterable = isListLikeIterable;
|
|
310
|
+
function areIterablesEqual(a, b, comparator) {
|
|
311
|
+
var iterator1 = a[lang_1.getSymbolIterator()]();
|
|
312
|
+
var iterator2 = b[lang_1.getSymbolIterator()]();
|
|
313
|
+
while (true) {
|
|
314
|
+
var item1 = iterator1.next();
|
|
315
|
+
var item2 = iterator2.next();
|
|
316
|
+
if (item1.done && item2.done)
|
|
317
|
+
return true;
|
|
318
|
+
if (item1.done || item2.done)
|
|
319
|
+
return false;
|
|
320
|
+
if (!comparator(item1.value, item2.value))
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
exports.areIterablesEqual = areIterablesEqual;
|
|
325
|
+
function iterateListLike(obj, fn) {
|
|
326
|
+
if (lang_1.isArray(obj)) {
|
|
327
|
+
for (var i = 0; i < obj.length; i++) {
|
|
328
|
+
fn(obj[i]);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
var iterator = obj[lang_1.getSymbolIterator()]();
|
|
333
|
+
var item;
|
|
334
|
+
while (!((item = iterator.next()).done)) {
|
|
335
|
+
fn(item.value);
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
exports.iterateListLike = iterateListLike;
|
|
340
|
+
// Safari and Internet Explorer do not support the iterable parameter to the
|
|
341
|
+
// Set constructor. We work around that by manually adding the items.
|
|
342
|
+
var createSetFromList = (function () {
|
|
343
|
+
var test = new exports.Set([1, 2, 3]);
|
|
344
|
+
if (test.size === 3) {
|
|
345
|
+
return function createSetFromList(lst) { return new exports.Set(lst); };
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
return function createSetAndPopulateFromList(lst) {
|
|
349
|
+
var res = new exports.Set(lst);
|
|
350
|
+
if (res.size !== lst.length) {
|
|
351
|
+
for (var i = 0; i < lst.length; i++) {
|
|
352
|
+
res.add(lst[i]);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return res;
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
})();
|
|
359
|
+
var SetWrapper = (function () {
|
|
360
|
+
function SetWrapper() {
|
|
361
|
+
}
|
|
362
|
+
SetWrapper.createFromList = function (lst) { return createSetFromList(lst); };
|
|
363
|
+
SetWrapper.has = function (s, key) { return s.has(key); };
|
|
364
|
+
SetWrapper.delete = function (m, k) { m.delete(k); };
|
|
365
|
+
return SetWrapper;
|
|
366
|
+
}());
|
|
367
|
+
exports.SetWrapper = SetWrapper;
|
|
368
|
+
//# sourceMappingURL=collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../modules/@angular/router/src/facade/collection.ts"],"names":[],"mappings":"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","sourcesContent":["import {getSymbolIterator, global, isArray, isBlank, isJsObject, isPresent} from './lang';\n\nexport var Map = global.Map;\nexport var Set = global.Set;\n\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Map constructor. We work around that by manually adding the items.\nvar createMapFromPairs: {(pairs: any[]): Map<any, any>} = (function() {\n try {\n if (new Map(<any>[[1, 2]]).size === 1) {\n return function createMapFromPairs(pairs: any[]): Map<any, any> { return new Map(pairs); };\n }\n } catch (e) {\n }\n return function createMapAndPopulateFromPairs(pairs: any[]): Map<any, any> {\n var map = new Map();\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n map.set(pair[0], pair[1]);\n }\n return map;\n };\n})();\nvar createMapFromMap: {(m: Map<any, any>): Map<any, any>} = (function() {\n try {\n if (new Map(<any>new Map())) {\n return function createMapFromMap(m: Map<any, any>): Map<any, any> { return new Map(<any>m); };\n }\n } catch (e) {\n }\n return function createMapAndPopulateFromMap(m: Map<any, any>): Map<any, any> {\n var map = new Map();\n m.forEach((v, k) => { map.set(k, v); });\n return map;\n };\n})();\nvar _clearValues: {(m: Map<any, any>): void} = (function() {\n if ((<any>(new Map()).keys()).next) {\n return function _clearValues(m: Map<any, any>) {\n var keyIterator = m.keys();\n var k: any /** TODO #???? */;\n while (!((k = (<any>keyIterator).next()).done)) {\n m.set(k.value, null);\n }\n };\n } else {\n return function _clearValuesWithForeEach(m: Map<any, any>) {\n m.forEach((v, k) => { m.set(k, null); });\n };\n }\n})();\n// Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from\n// TODO(mlaval): remove the work around once we have a working polyfill of Array.from\nvar _arrayFromMap: {(m: Map<any, any>, getValues: boolean): any[]} = (function() {\n try {\n if ((<any>(new Map()).values()).next) {\n return function createArrayFromMap(m: Map<any, any>, getValues: boolean): any[] {\n return getValues ? (<any>Array).from(m.values()) : (<any>Array).from(m.keys());\n };\n }\n } catch (e) {\n }\n return function createArrayFromMapWithForeach(m: Map<any, any>, getValues: boolean): any[] {\n var res = ListWrapper.createFixedSize(m.size), i = 0;\n m.forEach((v, k) => {\n res[i] = getValues ? v : k;\n i++;\n });\n return res;\n };\n})();\n\nexport class MapWrapper {\n static clone<K, V>(m: Map<K, V>): Map<K, V> { return createMapFromMap(m); }\n static createFromStringMap<T>(stringMap: {[key: string]: T}): Map<string, T> {\n var result = new Map<string, T>();\n for (var prop in stringMap) {\n result.set(prop, stringMap[prop]);\n }\n return result;\n }\n static toStringMap<T>(m: Map<string, T>): {[key: string]: T} {\n var r: {[key: string]: T} = {};\n m.forEach((v, k) => r[k] = v);\n return r;\n }\n static createFromPairs(pairs: any[]): Map<any, any> { return createMapFromPairs(pairs); }\n static clearValues(m: Map<any, any>) { _clearValues(m); }\n static iterable<T>(m: T): T { return m; }\n static keys<K>(m: Map<K, any>): K[] { return _arrayFromMap(m, false); }\n static values<V>(m: Map<any, V>): V[] { return _arrayFromMap(m, true); }\n}\n\n/**\n * Wraps Javascript Objects\n */\nexport class StringMapWrapper {\n static create(): {[k: /*any*/ string]: any} {\n // Note: We are not using Object.create(null) here due to\n // performance!\n // http://jsperf.com/ng2-object-create-null\n return {};\n }\n static contains(map: {[key: string]: any}, key: string): boolean {\n return map.hasOwnProperty(key);\n }\n static get<V>(map: {[key: string]: V}, key: string): V {\n return map.hasOwnProperty(key) ? map[key] : undefined;\n }\n static set<V>(map: {[key: string]: V}, key: string, value: V) { map[key] = value; }\n static keys(map: {[key: string]: any}): string[] { return Object.keys(map); }\n static values<T>(map: {[key: string]: T}): T[] {\n return Object.keys(map).reduce((r, a) => {\n r.push(map[a]);\n return r;\n }, []);\n }\n static isEmpty(map: {[key: string]: any}): boolean {\n for (var prop in map) {\n return false;\n }\n return true;\n }\n static delete (map: {[key: string]: any}, key: string) { delete map[key]; }\n static forEach<K, V>(map: {[key: string]: V}, callback: /*(V, K) => void*/ Function) {\n for (var prop in map) {\n if (map.hasOwnProperty(prop)) {\n callback(map[prop], prop);\n }\n }\n }\n\n static merge<V>(m1: {[key: string]: V}, m2: {[key: string]: V}): {[key: string]: V} {\n var m: {[key: string]: V} = {};\n\n for (var attr in m1) {\n if (m1.hasOwnProperty(attr)) {\n m[attr] = m1[attr];\n }\n }\n\n for (var attr in m2) {\n if (m2.hasOwnProperty(attr)) {\n m[attr] = m2[attr];\n }\n }\n\n return m;\n }\n\n static equals<V>(m1: {[key: string]: V}, m2: {[key: string]: V}): boolean {\n var k1 = Object.keys(m1);\n var k2 = Object.keys(m2);\n if (k1.length != k2.length) {\n return false;\n }\n var key: any /** TODO #???? */;\n for (var i = 0; i < k1.length; i++) {\n key = k1[i];\n if (m1[key] !== m2[key]) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * A boolean-valued function over a value, possibly including context information\n * regarding that value's position in an array.\n */\nexport interface Predicate<T> { (value: T, index?: number, array?: T[]): boolean; }\n\nexport class ListWrapper {\n // JS has no way to express a statically fixed size list, but dart does so we\n // keep both methods.\n static createFixedSize(size: number): any[] { return new Array(size); }\n static createGrowableSize(size: number): any[] { return new Array(size); }\n static clone<T>(array: T[]): T[] { return array.slice(0); }\n static forEachWithIndex<T>(array: T[], fn: (t: T, n: number) => void) {\n for (var i = 0; i < array.length; i++) {\n fn(array[i], i);\n }\n }\n static first<T>(array: T[]): T {\n if (!array) return null;\n return array[0];\n }\n static last<T>(array: T[]): T {\n if (!array || array.length == 0) return null;\n return array[array.length - 1];\n }\n static indexOf<T>(array: T[], value: T, startIndex: number = 0): number {\n return array.indexOf(value, startIndex);\n }\n static contains<T>(list: T[], el: T): boolean { return list.indexOf(el) !== -1; }\n static reversed<T>(array: T[]): T[] {\n var a = ListWrapper.clone(array);\n return a.reverse();\n }\n static concat(a: any[], b: any[]): any[] { return a.concat(b); }\n static insert<T>(list: T[], index: number, value: T) { list.splice(index, 0, value); }\n static removeAt<T>(list: T[], index: number): T {\n var res = list[index];\n list.splice(index, 1);\n return res;\n }\n static removeAll<T>(list: T[], items: T[]) {\n for (var i = 0; i < items.length; ++i) {\n var index = list.indexOf(items[i]);\n list.splice(index, 1);\n }\n }\n static remove<T>(list: T[], el: T): boolean {\n var index = list.indexOf(el);\n if (index > -1) {\n list.splice(index, 1);\n return true;\n }\n return false;\n }\n static clear(list: any[]) { list.length = 0; }\n static isEmpty(list: any[]): boolean { return list.length == 0; }\n static fill(list: any[], value: any, start: number = 0, end: number = null) {\n list.fill(value, start, end === null ? list.length : end);\n }\n static equals(a: any[], b: any[]): boolean {\n if (a.length != b.length) return false;\n for (var i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n static slice<T>(l: T[], from: number = 0, to: number = null): T[] {\n return l.slice(from, to === null ? undefined : to);\n }\n static splice<T>(l: T[], from: number, length: number): T[] { return l.splice(from, length); }\n static sort<T>(l: T[], compareFn?: (a: T, b: T) => number) {\n if (isPresent(compareFn)) {\n l.sort(compareFn);\n } else {\n l.sort();\n }\n }\n static toString<T>(l: T[]): string { return l.toString(); }\n static toJSON<T>(l: T[]): string { return JSON.stringify(l); }\n\n static maximum<T>(list: T[], predicate: (t: T) => number): T {\n if (list.length == 0) {\n return null;\n }\n var solution: any /** TODO #???? */ = null;\n var maxValue = -Infinity;\n for (var index = 0; index < list.length; index++) {\n var candidate = list[index];\n if (isBlank(candidate)) {\n continue;\n }\n var candidateValue = predicate(candidate);\n if (candidateValue > maxValue) {\n solution = candidate;\n maxValue = candidateValue;\n }\n }\n return solution;\n }\n\n static flatten<T>(list: Array<T|T[]>): T[] {\n var target: any[] /** TODO #???? */ = [];\n _flattenArray(list, target);\n return target;\n }\n\n static addAll<T>(list: Array<T>, source: Array<T>): void {\n for (var i = 0; i < source.length; i++) {\n list.push(source[i]);\n }\n }\n}\n\nfunction _flattenArray(source: any[], target: any[]): any[] {\n if (isPresent(source)) {\n for (var i = 0; i < source.length; i++) {\n var item = source[i];\n if (isArray(item)) {\n _flattenArray(item, target);\n } else {\n target.push(item);\n }\n }\n }\n return target;\n}\n\n\nexport function isListLikeIterable(obj: any): boolean {\n if (!isJsObject(obj)) return false;\n return isArray(obj) ||\n (!(obj instanceof Map) && // JS Map are iterables but return entries as [k, v]\n getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop\n}\n\nexport function areIterablesEqual(a: any, b: any, comparator: Function): boolean {\n var iterator1 = a[getSymbolIterator()]();\n var iterator2 = b[getSymbolIterator()]();\n\n while (true) {\n let item1 = iterator1.next();\n let item2 = iterator2.next();\n if (item1.done && item2.done) return true;\n if (item1.done || item2.done) return false;\n if (!comparator(item1.value, item2.value)) return false;\n }\n}\n\nexport function iterateListLike(obj: any, fn: Function) {\n if (isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n fn(obj[i]);\n }\n } else {\n var iterator = obj[getSymbolIterator()]();\n var item: any /** TODO #???? */;\n while (!((item = iterator.next()).done)) {\n fn(item.value);\n }\n }\n}\n\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Set constructor. We work around that by manually adding the items.\nvar createSetFromList: {(lst: any[]): Set<any>} = (function() {\n var test = new Set([1, 2, 3]);\n if (test.size === 3) {\n return function createSetFromList(lst: any[]): Set<any> { return new Set(lst); };\n } else {\n return function createSetAndPopulateFromList(lst: any[]): Set<any> {\n var res = new Set(lst);\n if (res.size !== lst.length) {\n for (var i = 0; i < lst.length; i++) {\n res.add(lst[i]);\n }\n }\n return res;\n };\n }\n})();\nexport class SetWrapper {\n static createFromList<T>(lst: T[]): Set<T> { return createSetFromList(lst); }\n static has<T>(s: Set<T>, key: T): boolean { return s.has(key); }\n static delete<K>(m: Set<K>, k: K) { m.delete(k); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"Map":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./lang","name":"global"},"member":"Map"},"Set":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./lang","name":"global"},"member":"Set"}}}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides a hook for centralized exception handling.
|
|
3
|
+
*
|
|
4
|
+
* The default implementation of `ExceptionHandler` prints error messages to the `Console`. To
|
|
5
|
+
* intercept error handling,
|
|
6
|
+
* write a custom exception handler that replaces this default as appropriate for your app.
|
|
7
|
+
*
|
|
8
|
+
* ### Example
|
|
9
|
+
*
|
|
10
|
+
* ```javascript
|
|
11
|
+
*
|
|
12
|
+
* class MyExceptionHandler implements ExceptionHandler {
|
|
13
|
+
* call(error, stackTrace = null, reason = null) {
|
|
14
|
+
* // do something with the exception
|
|
15
|
+
* }
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* bootstrap(MyApp, {provide: ExceptionHandler, useClass: MyExceptionHandler}])
|
|
19
|
+
*
|
|
20
|
+
* ```
|
|
21
|
+
* @stable
|
|
22
|
+
*/
|
|
23
|
+
export declare class ExceptionHandler {
|
|
24
|
+
private _logger;
|
|
25
|
+
private _rethrowException;
|
|
26
|
+
constructor(_logger: any, _rethrowException?: boolean);
|
|
27
|
+
static exceptionToString(exception: any, stackTrace?: any, reason?: string): string;
|
|
28
|
+
call(exception: any, stackTrace?: any, reason?: string): void;
|
|
29
|
+
}
|