UNPKG

ion

Version:

ion language ========================

64 lines (46 loc) 2 kB
remove is and isnt and replace with === and !== explicit operators. because of possible confusion with ES7+ is/isnt operator proposals. also remove not, and, or operators and replace with !, &&, || for consistency. need a base class object1 need merging syntactic sugar a.b.c: 1 => a: b: c: 1 Need to fix array comprehensions to be lazily evaluated: let _ref = []; { let _ref2 = this.body; for (let _i = 0; _i < _ref2.length; _i++) { let s = _ref2[_i]; _ref.push(this.context.createRuntime(s)); } } this.statements = this.statements != null ? this.statements : _ref; Optimize this: => if (!(this.statements != null)) This should be an error: console.log(x) let x = 12 need to merge properties on output object so this works: style: color: 'red' why does ["manifest.json"]: work, but not "manifest.json":? X import(foo).bar is currently compiled to require((foo).bar), should be require(foo).bar X assert should work with multiline expressions. X [] should, allow, adding several, things, per line replace ion.mergePatch with extra properties accessible but undocumented on ion.patch investigate a const declaration in a loop not working within a for loop on rhino, may need Rhino unit tests. This: let keyHandler = (@handlers ?= {})[key] ?= {value:undefined,handlers:[]} Expands to this bullshit: let keyHandler = (this.handlers = this.handlers != null ? this.handlers : {})[key] = (this.handlers = this.handlers != null ? this.handlers : {})[key] != null ? (this.handlers = this.handlers != null ? this.handlers : {})[key] : { value: void 0, handlers: [] }; Make this work, it doesn't right now, and improve existential operator generated code. object?.connected = presence.isConnected move brower/html to glass. empty lines are being removed from multiline string literals