Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(616)

Side by Side Diff: packages/js_util/README.md

Issue 2312183003: Removed Polymer from Observatory deps (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « packages/js_util/LICENSE ('k') | packages/js_util/example/js_util.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # js_util
2
3 [![Build Status](https://travis-ci.org/fluidic/js_util.svg?branch=master)](https ://travis-ci.org/fluidic/js_util)
4
5 Utilities to access JavaScript from Dart.
6
7 * toJS(o): Converts a Dart object to a JavaScript object.
8 * newObject(): Creates a new JavaScript object.
9 * defineProperty(o, String prop, PropertyDescription desc): A wrapper for [Objec t.defineProperty][defineProperty]
10 * getValue(o, String prop): Returns `o[prop]`.
11 * setValue(o, String prop, value): Performs `o[prop] = value`.
12
13 These utilities are of great help if a JavaScript API takes a JavaScript object
14 with keys that are not fixed because [js][js] package does not let you create a
15 JavaScript object without declaring a Dart class with `@JS()` and `@anonymous`.
16
17 [defineProperty]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refere nce/Global_Objects/Object/defineProperty
18 [js]: https://pub.dartlang.org/packages/js
19
20 ## Getting Started
21
22 Include `js_util.js` in index.html to use js_util functions.
23
24 ```html
25 <html>
26 <head>
27 <script async src="packages/js_util/dist/js_util.js"></script>
28 <script async src="packages/browser/dart.js"></script>
29 </head>
30 </html>
31 ```
32
33 ## Usage
34
35 A simple usage example:
36
37 ```dart
38 final obj = newObject();
39 defineProperty(obj, 'foo', new PropertyDescription(enumerable: true, value: 1));
40 defineProperty(obj, 'bar', new PropertyDescription(enumerable: false, value: 2)) ;
41 ```
42
43 ```dart
44 final obj = newObject();
45 setValue(obj, 'foo', 1);
46 setValue(obj, 'bar', 2);
47
48 print(getValue(obj, 'foo')); // 1
49 print(getValue(obj, 'bar')); // 2
50 ```
51
52 ```dart
53 final jsObj = toJS({
54 'people': [
55 {'firstName': 'Kwang Yul', 'lastName': 'Seo'},
56 {'firstName': 'DoHyung', 'lastName': 'Kim'},
57 {'firstName': 'Kyusun', 'lastName': 'Kim'}
58 ]
59 });
60
61 final people = getValue(jsObj, 'people');
62 print(getValue(people[0], 'firstName')); // 'Kwang Yul'
63 ```
64
65 ## Features and bugs
66
67 Please file feature requests and bugs at the [issue tracker][tracker].
68
69 [tracker]: https://github.com/ProtoCatTeam/js_util/issues
OLDNEW
« no previous file with comments | « packages/js_util/LICENSE ('k') | packages/js_util/example/js_util.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698