/
+todo.txt
43 lines (37 loc) · 1.83 KB
/
+todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use node-commander instead of yargs
don't use $arr->init() outside of Arr class
json parse reviver
new Func(function() {}) should use name where possible
fs: readStream encoding; createReadStream(directory) should throw
Update readme:
http://php.net/manual/en/datetime.configuration.php#ini.date.timezone
Transform:
nested expressions: wrap all then conditionally unwrap?
debug mode: Func() gets extra param "meta"
array('source' => 3, 'line' => 4, 'start' => 146, 'end' => 283, 'def' => 'a.b')
source is an id referencing source file
$GLOBALS['files_'] = array('path/file1.js', ...)
$GLOBALS['source_'] = array('var a = 1;', ...)
line number, source start/end offsets
def: best-guess name: a.b = function() {}
Optimizations:
`a + 'b'` => `to_string($a) . "b"`
Test:
Object.create(null)
function scope stuff including named function expression
Unicode in strings
including surrogate pairs: "\uD835\uDFD8"
including mis-matched surrogate pairs: 0xD800-0xDBFF not followed by 0xDC00–0xDFFF
s = new String('abc')
Object.getOwnPropertyDescriptor(s, '1')
//{value: "b", writable: false, enumerable: true, configurable: false}
Object
getPrototypeOf, setPrototypeOf
preventExtensions, isExtensible, seal, isSealed, freeze, isFrozen
Date.prototype
getDate, getDay, getFullYear, getHours, getMilliseconds, getMinutes, getMonth, getSeconds
getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds
setDate, setFullYear, setHours, setMilliseconds, setMinutes, setMonth, setSeconds
setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds
getTimezoneOffset, getTime, getYear, setTime, setYear
toDateString, toGMTString, toISOString, toLocaleDateString, toLocaleString, toLocaleTimeString, toTimeString