Skip to content

Latest commit

 

History

History
138 lines (118 loc) · 6.47 KB

feature_list.md

File metadata and controls

138 lines (118 loc) · 6.47 KB

Wasmnizer-ts feature list

Table column definition:

  • feature TypeScript keyword/type/syntax/concepts

  • WAMR Whether this feature is supported on WebAssembly Micro Runtime (WAMR)

  • chrome Whether this feature is supported on chrome browser

  • popularity The frequency of the feature used in TypeScript.

    • empty means less used, or not evaluated
    • ⭐ means frequently used by experienced TypeScript developers
    • ⭐⭐ means frequently used by both experienced and begging TypeScript developers

Primitives

feature WAMR chrome popularity
boolean ✔️ ✔️ ⭐⭐
number ✔️ ✔️ ⭐⭐
string ✔️ ✔️ ⭐⭐
string template ✔️ ✔️ ⭐⭐
bigint
symbol
feature WAMR chrome popularity
declaration ✔️ ✔️ ⭐⭐
inherit ✔️ ✔️ ⭐⭐
method overwrite ✔️ ✔️ ⭐⭐
static field/method ✔️ ✔️ ⭐⭐
field initializer ✔️ ✔️ ⭐⭐
visibility control ✔️ ✔️ ⭐⭐
getter/setter ✔️ ✔️
class as value
feature WAMR chrome popularity
closure ✔️ ✔️ ⭐⭐
optional parameter ✔️ ✔️ ⭐⭐
function default parameter ✔️ ✔️ ⭐⭐
method default parameter ✔️ ✔️ ⭐⭐
closure default parameter
destructor parameter ⭐⭐
rest parameter ✔️ ✔️
this binding
overload
feature WAMR chrome popularity
explicitly implemented interface ✔️ ✔️ ⭐⭐
implicitly implemented interface ✔️ ⭐⭐
readonly fields ✔️
function signature
indexed signature

Enum

feature WAMR chrome popularity
numeric enum ✔️ ✔️ ⭐⭐
string enum ✔️ ✔️ ⭐⭐
heterogeneous enum
feature WAMR chrome popularity note
console ✔️ ⭐⭐ only support log
Object
Function
JSON ✔️ ⭐⭐ fallback to dynamic
Date ✔️ ⭐⭐ fallback to dynamic
Math ✔️ ✔️ ⭐⭐ only support pow, max, min, sqrt, abs, ceil, floor
Number ⭐⭐
String ✔️ ✔️ ⭐⭐
Array ✔️ ⭐⭐
Map ✔️ ⭐⭐ fallback to dynamic
Set ✔️ fallback to dynamic
ArrayBuffer
RegExp
... others

Wasm runtime capabilities

feature WAMR chrome popularity note
exception handling ✔️ ⭐⭐
promise ✔️ ⭐⭐ fallback to dynamic
source debugging ✔️ ⭐⭐
AoT compilation
async/await ⭐⭐
import host API ✔️ ✔️ import host API
feature WAMR chrome popularity note
any ✔️ ✔️
unknown
never
assign static to any ✔️ ✔️
assign any to static ✔️ ✔️
property access ✔️ ✔️ ⭐⭐
prototype ✔️ ✔️
comparison ✔️
arithmetic operation ✔️ ✔️ ⭐⭐ only support number and string
mixed type ✔️ Box static object to any and add new property on it
dynamic function
eval

Type casting

feature WAMR chrome popularity note
static to static ✔️ ✔️ static type checking
static to dynamic ✔️ ✔️ always success
dynamic to static ✔️ ✔️ runtime type checking
dynamic to dynamic ✔️ ✔️ no check

Misc

feature WAMR chrome popularity note
typeof ✔️
instanceof ✔️ ✔️
toString ✔️ ⭐⭐
for ... of ✔️ ✔️ ⭐⭐
for ... in ⭐⭐
generic
module (static import) ✔️ ✔️ ⭐⭐
module (dynamic import)