Skip to content

Latest commit

 

History

History
205 lines (187 loc) · 9 KB

File metadata and controls

205 lines (187 loc) · 9 KB

Reference

Icon Meaning
✅ Implemented
🔲 Planned
〰️ Deprioritized - open an issue if you want this.
❌ Will not be implemented - nonstandard or deprecated API
⬇️ Will not be implemented - nonidiomatic TS or could cause performance issues

Keywords

Progress Feature Notes
〰️ arguments I can do this, but does anyone want it?
🔲 async Oh boy
✅ break Still need to do labelled breaks
🔲 case
〰️ catch See exception handling section below
🔲 class See class section below
✅ const
✅ continue Still need to do labelled continues
〰️ debugger Hah! One day... one day...
🔲 default
〰️ delete not sure if I want to support this for arrays
🔲 do
✅ else
🔲 export
🔲 extends See class section below
🔲 finally See exception handling section below
✅ for
✅ function See function section below
✅ if
🔲 import
〰️ in will not support for...in, except maybe on objects.
🔲 instanceof
🔲 new
✅ return
🔲 super
🔲 switch
✅ this
〰️ throw
〰️ try
🔲 typeof
❌ var Use let or const
〰️ void seems unnecessary, but not hard to add
🔲 while
❌ with Will definitely never add this.
🔲 yield Oh boy.

Classes

Progress Feature Notes
🔲 Implementation Got some basic stuff in place, but there's still a lot of details to be worked out.
🔲 Constructors
🔲 instanceof checks
🔲 Properties
🔲 Methods
🔲 super
🔲 Static Methods
🔲 Static Properties
🔲 Private modifier There isn't much to do here since TS will enforce this.
🔲 Getters / Setters
🔲 Inheritance Oh boy

Functions

Progress Feature Notes
✅ Function declarations
✅ Method declarations
✅ Arrow functions
〰️ Function expressions Use arrow functions - it's difficult to ensure this is typed correctly.
✅ Arrow functions
🔲 Closures
🔲 Default arguments
🔲 Optional arguments
⬇️ Function.prototype.apply Might be possible, need to investigate (https://github.com/Microsoft/TypeScript/pull/27028)[this PR]
⬇️ Function.prototype.bind Might be possible, need to investigate (https://github.com/Microsoft/TypeScript/pull/27028)[this PR]
⬇️ Function.prototype.call Might be possible, need to investigate (https://github.com/Microsoft/TypeScript/pull/27028)[this PR]

Modules

Progress Feature Notes
🔲 Rudimentary module loading and bundling
✅ Import function declarations
✅ Import class declarations there are no real classes yet but i'm prepared
🔲 Absolute paths
🔲 Relative paths

Standard Library

Strings

Progress Feature Notes
✅ String literals
✅ String equality with ===
🔲 Concatenate strings with +
✅ String.fromCharCode()
〰️ String.fromCodePoint()
❌ String.prototype.anchor() deprecated API
❌ String.prototype.big() deprecated API
❌ String.prototype.blink() deprecated API
❌ String.prototype.bold() deprecated API
✅ String.prototype.charAt()
✅ String.prototype.charCodeAt()
〰️ String.prototype.codePointAt()
✅ String.prototype.concat() need to handle varags
✅ String.prototype.endsWith()
❌ String.prototype.fixed() deprecated API
❌ String.prototype.fontcolor() deprecated API
❌ String.prototype.fontsize() deprecated API
✅ String.prototype.includes()
✅ String.prototype.indexOf()
❌ String.prototype.italics() deprecated API
✅ String.prototype.lastIndexOf()
❌ String.prototype.link() deprecated API
〰️ String.prototype.localeCompare()
〰️ String.prototype.match()
〰️ String.prototype.normalize()
🔲 String.prototype.padEnd()
🔲 String.prototype.padStart()
❌ String.prototype.quote() deprecated API
✅ String.prototype.repeat()
🔲 String.prototype.replace()
🔲 String.prototype.search()
🔲 String.prototype.slice()
❌ String.prototype.small() deprecated API
🔲 String.prototype.split()
🔲 String.prototype.startsWith()
❌ String.prototype.strike() deprecated API
❌ String.prototype.sub() deprecated API
❌ String.prototype.substr() deprecated API
🔲 String.prototype.substring()
❌ String.prototype.sup() deprecated API
〰️ String.prototype.toLocaleLowerCase()
〰️ String.prototype.toLocaleUpperCase()
🔲 String.prototype.toLowerCase()
〰️ String.prototype.toSource()
🔲 String.prototype.toString()
🔲 String.prototype.toUpperCase()
🔲 String.prototype.trim()
🔲 String.prototype.trimEnd()
🔲 String.prototype.trimStart()
🔲 String.prototype.valueOf()
🔲 String.prototype@@iterator
〰️ String.raw()

Array

Properties

Progress Feature Notes
✅ Array.length
⬇️ Array.prototype
⬇️ Array.prototype[@@unscopables] We will not support with

Methods

Progress Feature Notes
🔲 Array.from()
🔲 Array.isArray()
❌ Array.observe() deprecated API
🔲 Array.of()
✅ Array.prototype.concat() Needs var-arg support
🔲 Array.prototype.copyWithin()
🔲 Array.prototype.entries()
🔲 Array.prototype.every()
🔲 Array.prototype.fill()
🔲 Array.prototype.filter()
🔲 Array.prototype.find()
🔲 Array.prototype.findIndex()
🔲 Array.prototype.flat()
🔲 Array.prototype.flatMap()
🔲 Array.prototype.forEach()
🔲 Array.prototype.includes()
✅ Array.prototype.indexOf()
🔲 Array.prototype.join()
🔲 Array.prototype.keys()
🔲 Array.prototype.lastIndexOf()
✅ Array.prototype.map() needs to pass in index and current value
🔲 Array.prototype.pop()
✅ Array.prototype.push()
🔲 Array.prototype.reduce()
🔲 Array.prototype.reduceRight()
✅ Array.prototype.reverse()
🔲 Array.prototype.shift()
🔲 Array.prototype.slice()
🔲 Array.prototype.some()
🔲 Array.prototype.sort()
🔲 Array.prototype.splice()
🔲 Array.prototype.toLocaleString()
🔲 Array.prototype.toSource()
🔲 Array.prototype.toString()
🔲 Array.prototype.unshift()
🔲 Array.prototype.values()
🔲 Array.prototype@@iterator
❌ Array.unobserve() deprecated API
🔲 get Array[@@species]