OLD | NEW |
---|---|
1 dart_library.library('closure', null, /* Imports */[ | 1 const exports = {}; |
2 'dart/_runtime', | 2 import dart from "./dart/_runtime"; |
3 'dart/core', | 3 import core from "./dart/core"; |
4 'dart/js' | 4 import js from "./dart/js"; |
5 ], /* Lazy imports */[ | 5 let dartx = dart.dartx; |
6 ], function(exports, dart, core, js) { | 6 function generic_function<T>(items: core.List<T>, seed: T): core.List<T> { |
Jennifer Messerly
2016/02/09 16:41:58
As noted ... this will change, a bit. It'll look a
ochafik
2016/02/10 18:12:46
+1 for reifyGenericFuncTypeArgs
And maybe even a d
| |
7 'use strict'; | 7 let strings = items[dartx.map](dart.fn((i: T): string => `${i}`, core.String, [dart.dynamic]))[dartx.toList](); |
8 let dartx = dart.dartx; | 8 return items; |
9 /** @typedef {function({i: (?number|undefined)}=)} */ | 9 } |
10 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int})); | 10 dart.fn(generic_function, () => dart.definiteFunctionType(core.List, [core.List, dart.dynamic])); |
11 const Foo$ = dart.generic(function(T) { | 11 /** @typedef */ |
12 class Foo extends core.Object { | 12 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [], {i: core.int})); |
13 /** | 13 const Foo$ = dart.generic(function(T) { |
14 * @param {?number} i | 14 class Foo<T> extends core.Object { |
Jennifer Messerly
2016/02/09 16:41:58
super awesome
ochafik
2016/02/10 18:12:45
Hehe, it's only locally awesome, doesn't break out
| |
15 * @param {?} v | 15 i: number; |
16 */ | 16 b: boolean; |
17 Foo(i, v) { | 17 s: string; |
18 this.i = i; | 18 v: T; |
19 this.v = v; | 19 static some_static_constant: string; |
20 this.b = null; | 20 static some_static_final: string; |
21 this.s = null; | 21 static some_static_var: string; |
22 } | 22 Foo(i: number, v: T) { |
23 /** @return {Foo} */ | 23 this.i = i; |
24 static build() { | 24 this.v = v; |
25 return new (Foo$(T))(1, null); | 25 this.b = null; |
26 } | 26 this.s = null; |
27 /** | |
28 * @param {?} a | |
29 * @param {?} b | |
30 */ | |
31 untyped_method(a, b) {} | |
32 /** @param {?} t */ | |
33 pass(t) { | |
34 dart.as(t, T); | |
35 return t; | |
36 } | |
37 /** | |
38 * @param {Foo} foo | |
39 * @param {core.List} list | |
40 * @param {?number} i | |
41 * @param {?number} n | |
42 * @param {?number} d | |
43 * @param {?boolean} b | |
44 * @param {string} s | |
45 * @param {Array<?>} a | |
46 * @param {Object<*, *>} o | |
47 * @param {Function} f | |
48 * @return {string} | |
49 */ | |
50 typed_method(foo, list, i, n, d, b, s, a, o, f) { | |
51 return ''; | |
52 } | |
53 /** | |
54 * @param {?} a | |
55 * @param {?=} b | |
56 * @param {?=} c | |
57 */ | |
58 optional_params(a, b, c) { | |
59 if (b === void 0) b = null; | |
60 if (c === void 0) c = null; | |
61 } | |
62 /** | |
63 * @param {?} a | |
64 * @param {{b: (?|undefined), c: (?|undefined)}=} opts | |
65 */ | |
66 static named_params(a, opts) { | |
67 let b = opts && 'b' in opts ? opts.b : null; | |
68 let c = opts && 'c' in opts ? opts.c : null; | |
69 } | |
70 nullary_method() {} | |
71 /** | |
72 * @param {function(?, ?=):?number} f | |
73 * @param {function(?, {y: (string|undefined), z: (?|undefined)}=):?} g | |
74 * @param {Callback} cb | |
75 */ | |
76 function_params(f, g, cb) { | |
77 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic])); | |
78 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Stri ng, z: dart.dynamic})); | |
79 cb({i: this.i}); | |
80 } | |
81 /** @return {string} */ | |
82 get prop() { | |
83 return null; | |
84 } | |
85 /** @param {string} value */ | |
86 set prop(value) {} | |
87 /** @return {string} */ | |
88 static get staticProp() { | |
89 return null; | |
90 } | |
91 /** @param {string} value */ | |
92 static set staticProp(value) {} | |
93 } | 27 } |
94 dart.setSignature(Foo, { | 28 static build() { |
95 constructors: () => ({ | 29 return new (Foo$(T))(1, null); |
96 Foo: [Foo$(T), [core.int, T]], | 30 } |
97 build: [Foo$(T), []] | 31 untyped_method(a, b) {} |
98 }), | 32 pass(t: T) { |
99 methods: () => ({ | 33 dart.as(t, T); |
100 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]], | 34 return t; |
101 pass: [T, [T]], | 35 } |
102 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core .double, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]], | 36 typed_method(foo: Foo<any>, list: core.List<any>, i: number, n: number, d: n umber, b: boolean, s: string, a: any[], o: Object, f: Function) { |
103 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dyna mic]], | 37 return ''; |
104 nullary_method: [dart.dynamic, []], | 38 } |
105 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynam ic], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.S tring, z: dart.dynamic}), Callback]] | 39 optional_params(a, b, c) { |
106 }), | 40 if (b === void 0) b = null; |
107 statics: () => ({named_params: [dart.dynamic, [dart.dynamic], {b: dart.dyn amic, c: dart.dynamic}]}), | 41 if (c === void 0) c = null; |
108 names: ['named_params'] | 42 } |
109 }); | 43 static named_params(a, {b = null, c = null}: {b?: any, c?: any} = {}) {} |
110 /** @final {string} */ | 44 nullary_method() {} |
111 Foo.some_static_constant = "abc"; | 45 function_params(f: (x: any, y?: any) => number, g: (x: any, opts?: {y?: stri ng, z?: any}) => any, cb: Callback) { |
112 /** @final {string} */ | 46 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic])); |
113 Foo.some_static_final = "abc"; | 47 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.String , z: dart.dynamic})); |
114 /** @type {string} */ | 48 cb({i: this.i}); |
115 Foo.some_static_var = "abc"; | 49 } |
116 return Foo; | 50 run(a: core.List<any>, b: string, c: (d: string) => core.List<any>, e: (f: ( g: any) => any) => core.List<number>, {h = null}: {h?: core.Map<core.Map<any, an y>, core.Map<any, any>>} = {}) { |
51 dart.as(c, dart.functionType(core.List, [core.String])); | |
52 dart.as(e, dart.functionType(core.List$(core.int), [dart.functionType(dart .dynamic, [dart.dynamic])])); | |
53 } | |
54 get prop() { | |
55 return null; | |
56 } | |
57 set prop(value: string) {} | |
58 static get staticProp() { | |
59 return null; | |
60 } | |
61 static set staticProp(value: string) {} | |
62 } | |
63 dart.setSignature(Foo, { | |
64 constructors: () => ({ | |
65 Foo: [Foo$(T), [core.int, T]], | |
66 build: [Foo$(T), []] | |
67 }), | |
68 methods: () => ({ | |
69 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]], | |
70 pass: [T, [T]], | |
71 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core.d ouble, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]], | |
72 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dynami c]], | |
73 nullary_method: [dart.dynamic, []], | |
74 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynamic ], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Str ing, z: dart.dynamic}), Callback]], | |
75 run: [dart.dynamic, [core.List, core.String, dart.functionType(core.List, [core.String]), dart.functionType(core.List$(core.int), [dart.functionType(dart. dynamic, [dart.dynamic])])], {h: core.Map$(core.Map, core.Map)}] | |
76 }), | |
77 statics: () => ({named_params: [dart.dynamic, [dart.dynamic], {b: dart.dynam ic, c: dart.dynamic}]}), | |
78 names: ['named_params'] | |
117 }); | 79 }); |
118 let Foo = Foo$(); | 80 /** @final {string} */ |
119 class Bar extends core.Object {} | 81 Foo.some_static_constant = "abc"; |
120 const Baz$super = dart.mixin(Foo$(core.int), Bar); | 82 /** @final {string} */ |
121 class Baz extends Baz$super { | 83 Foo.some_static_final = "abc"; |
122 /** @param {?number} i */ | 84 /** @type {string} */ |
123 Baz(i) { | 85 Foo.some_static_var = "abc"; |
124 super.Foo(i, 123); | 86 return Foo; |
125 } | 87 }); |
88 let Foo = Foo$(); | |
89 class Bar extends core.Object {} | |
90 const Baz$super = dart.mixin(Foo$(core.int), Bar); | |
91 class Baz extends Baz$super { | |
92 Baz(i: number) { | |
93 super.Foo(i, 123); | |
126 } | 94 } |
127 dart.setSignature(Baz, { | 95 } |
128 constructors: () => ({Baz: [Baz, [core.int]]}) | 96 dart.setSignature(Baz, { |
129 }); | 97 constructors: () => ({Baz: [Baz, [core.int]]}) |
130 /** @param {?} args */ | |
131 function main(args) { | |
132 } | |
133 dart.fn(main, dart.void, [dart.dynamic]); | |
134 /** @final {string} */ | |
135 const some_top_level_constant = "abc"; | |
136 /** @final {string} */ | |
137 exports.some_top_level_final = "abc"; | |
138 /** @type {string} */ | |
139 exports.some_top_level_var = "abc"; | |
140 // Exports: | |
141 exports.Callback = Callback; | |
142 exports.Foo$ = Foo$; | |
143 exports.Foo = Foo; | |
144 exports.Bar = Bar; | |
145 exports.Baz = Baz; | |
146 exports.main = main; | |
147 exports.some_top_level_constant = some_top_level_constant; | |
148 }); | 98 }); |
99 function main(args): void { | |
100 } | |
101 dart.fn(main, dart.void, [dart.dynamic]); | |
102 /** @final {string} */ | |
103 const some_top_level_constant: string = "abc"; | |
104 /** @final {string} */ | |
105 exports.some_top_level_final = "abc"; | |
106 /** @type {string} */ | |
107 exports.some_top_level_var = "abc"; | |
108 // Exports: | |
109 exports.generic_function = generic_function; | |
110 exports.Callback = Callback; | |
111 exports.Foo$ = Foo$; | |
112 exports.Foo = Foo; | |
113 exports.Bar = Bar; | |
114 exports.Baz = Baz; | |
115 exports.main = main; | |
116 exports.some_top_level_constant = some_top_level_constant; | |
117 export default exports; | |
OLD | NEW |