Skip to content

Latest commit

 

History

History
205 lines (187 loc) · 9 KB

ROADMAP.md

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]