Accepted subset
Generated
Everything the compiler accepts, listed from the compiler's own tables by scripts/gen-subset.ts (the page is docs/SUBSET.md). A test fails if this list and the compiler disagree, so it cannot go stale. Anything not listed is rejected with a clear error; each error code is explained in the error reference.
Next: Error codes · CLI.
Accepted syntax (AST node kinds)
ArrayLiteralExpressionArrayTypeArrowFunctionAsyncKeywordAwaitExpressionBinaryExpressionBindingElementBlockBooleanKeywordBreakStatementCallExpressionCaseBlockCaseClauseCatchClauseClassDeclarationConditionalExpressionConstructorContinueStatementDefaultClauseDefaultKeywordElementAccessExpressionEndOfFileTokenExportAssignmentExportDeclarationExportKeywordExportSpecifierExpressionStatementExpressionWithTypeArgumentsFalseKeywordFirstLiteralTokenFirstNodeFirstStatementFirstTemplateTokenForOfStatementForStatementFunctionDeclarationFunctionExpressionFunctionTypeHeritageClauseIdentifierIfStatementImportClauseImportDeclarationImportSpecifierInstanceOfKeywordInterfaceDeclarationLiteralTypeMethodDeclarationMethodSignatureNamedExportsNamedImportsNamespaceImportNewExpressionNonNullExpressionNullKeywordNumberKeywordObjectBindingPatternObjectLiteralExpressionOverrideKeywordParameterParenthesizedExpressionParenthesizedTypePostfixUnaryExpressionPrefixUnaryExpressionPropertyAccessExpressionPropertyAssignmentPropertyDeclarationPropertySignatureReturnStatementShorthandPropertyAssignmentSourceFileSpreadAssignmentSpreadElementStringKeywordStringLiteralSuperKeywordSwitchStatementTemplateExpressionTemplateSpanThisKeywordThrowStatementTrueKeywordTryStatementTypeAliasDeclarationTypeLiteralTypeOfExpressionTypeParameterTypeReferenceUndefinedKeywordUnionTypeVariableDeclarationVariableDeclarationListVoidKeywordWhileStatement
Supported binary operators
!==%%=&&&**=++=--=//=<<<<=====>>=>>>>>??^instanceof|||
Supported unary operators
!+++---~
Supported string methods
atcharAtcharCodeAtconcatendsWithincludesindexOflastIndexOfpadEndpadStartrepeatreplacereplaceAllslicesplitstartsWithsubstrsubstringtoLowerCasetoUpperCasetrimtrimEndtrimStart
Supported array methods
atconcateveryfilterfindfindIndexflatflatMapforEachincludesindexOfjoinmappoppushreducereverseshiftslicesomesort
Supported Map methods
cleardeleteforEachgethaskeyssetvalues
Supported Set methods
addcleardeleteforEachhaskeysvalues
Supported namespace statics
Array:isArrayDate:nowMath:abs,ceil,clz32,floor,fround,hypot,imul,max,min,pow,round,sign,sqrt,truncNumber:isFinite,isInteger,isNaNObject:keys,valuesPromise:all,resolve
Rejection codes
| Code | Rule |
|---|---|
CS1000 | NOT_IN_SUBSET |
CS1201 | ANY_TYPE |
CS1202 | ENUM |
CS1203 | EQEQ |
CS1204 | NON_NULL_ASSERTION |
CS1205 | AS_ANY |
CS1206 | DELETE |
CS1207 | INDEX_SIGNATURE |
CS1208 | DECORATOR |
CS1209 | NAMESPACE |
CS1210 | WITH |
CS1211 | EVAL_OR_FUNCTION_CTOR |
CS1212 | VAR |
CS1213 | REGEX |
CS1214 | JSON_API |
CS1215 | DATE_API |
CS1216 | STRING_UNICODE_OP |
CS1217 | PARAM_FORM |
CS1218 | UNINIT_VAR |
CS1220 | STDLIB_STATIC |
CS1221 | NUMBER_METHOD |
CS1222 | COLLECTION_METHOD |
CS1223 | STRING_METHOD |
CS1224 | ARRAY_METHOD |
CS1225 | OBJECT_METHOD |
CS1226 | MODULE_FORM |
CS1227 | DUPLICATE_CLASS |
CS1228 | TDZ_MODULE_VAR |
CS1229 | ARGV_FORM |
CS1230 | RECURSIVE_TYPE |
CS1231 | TIMER_ASYNC_CALLBACK |
CS1232 | FN_DECL_AS_VALUE |
CS1233 | UNREPRESENTABLE_TYPE |
CS1234 | OPAQUE_HANDLE_USE |
CS1235 | PROPERTY_ADD |
CS1236 | LAYOUT_LIMIT |
CS1237 | METHOD_REPRESENTATION |
CS1238 | UNRENDERABLE_VALUE |
CS1239 | VALUE_OPERATION |
CS1240 | REPRESENTATION_MISMATCH |
CS1241 | STALE_NARROWING |
CS1242 | GENERIC_TYPE_ARGUMENT |
CS1243 | TYPE_COMPUTATION |
CS1244 | CONSTRUCTOR_TYPE |
CS1246 | BUILTIN_AS_VALUE |
CS1247 | THROWN_VALUE |
CS1248 | CAUGHT_VALUE_USE |
CS1249 | HOST_CALL_FORM |
CS1250 | SELF_INIT_CAPTURE |