features.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. /**
  2. * @author Toru Nagashima
  3. * @copyright 2015 Toru Nagashima. All rights reserved.
  4. * See LICENSE file in root directory for full license.
  5. */
  6. "use strict"
  7. //------------------------------------------------------------------------------
  8. // Public Interface
  9. //------------------------------------------------------------------------------
  10. module.exports = {
  11. //--------------------------------------------------------------------------
  12. // Syntax
  13. //--------------------------------------------------------------------------
  14. "defaultParameters": {
  15. alias: ["syntax"],
  16. name: "Default parameters",
  17. node: "6.0.0",
  18. },
  19. "restParameters": {
  20. alias: ["syntax"],
  21. name: "Rest parameters",
  22. node: "6.0.0",
  23. },
  24. "spreadOperators": {
  25. alias: ["syntax"],
  26. name: "Spread operators",
  27. node: "5.0.0",
  28. },
  29. "objectLiteralExtensions": {
  30. alias: ["syntax"],
  31. name: "Object literal extensions",
  32. node: "4.0.0",
  33. },
  34. "objectPropertyShorthandOfGetSet": {
  35. alias: ["syntax", "objectLiteralExtensions"],
  36. name: "Property shorthand of 'get' and 'set'",
  37. node: "6.0.0",
  38. },
  39. "forOf": {
  40. alias: ["syntax"],
  41. name: "'for..of' loops",
  42. node: "0.12.0",
  43. },
  44. "binaryNumberLiterals": {
  45. alias: ["syntax"],
  46. name: "Binary number literals",
  47. node: "4.0.0",
  48. },
  49. "octalNumberLiterals": {
  50. alias: ["syntax"],
  51. name: "Octal number literals",
  52. node: "4.0.0",
  53. },
  54. "templateStrings": {
  55. alias: ["syntax"],
  56. name: "Template strings",
  57. node: "4.0.0",
  58. },
  59. "regexpY": {
  60. alias: ["syntax"],
  61. name: "RegExp 'y' flags",
  62. node: "6.0.0",
  63. },
  64. "regexpU": {
  65. alias: ["syntax"],
  66. name: "RegExp 'u' flags",
  67. node: "6.0.0",
  68. },
  69. "destructuring": {
  70. alias: ["syntax"],
  71. name: "Destructuring",
  72. node: "6.0.0",
  73. },
  74. "unicodeCodePointEscapes": {
  75. alias: ["syntax"],
  76. name: "Unicode code point escapes",
  77. node: "4.0.0",
  78. },
  79. "new.target": {
  80. alias: ["syntax"],
  81. name: "'new.target'",
  82. node: "5.0.0",
  83. },
  84. "const": {
  85. alias: ["syntax"],
  86. name: "'const' declarations",
  87. node: {
  88. sloppy: "6.0.0",
  89. strict: "4.0.0",
  90. },
  91. },
  92. "let": {
  93. alias: ["syntax"],
  94. name: "'let' declarations",
  95. node: {
  96. sloppy: "6.0.0",
  97. strict: "4.0.0",
  98. },
  99. },
  100. "blockScopedFunctions": {
  101. alias: ["syntax"],
  102. name: "Block-scoped functions",
  103. node: {
  104. sloppy: "6.0.0",
  105. strict: "4.0.0",
  106. },
  107. },
  108. "arrowFunctions": {
  109. alias: ["syntax"],
  110. name: "Arrow functions",
  111. node: "4.0.0",
  112. },
  113. "generatorFunctions": {
  114. alias: ["syntax"],
  115. name: "Generator functions",
  116. node: "4.0.0",
  117. },
  118. "classes": {
  119. alias: ["syntax"],
  120. name: "Classes",
  121. node: {
  122. sloppy: "6.0.0",
  123. strict: "4.0.0",
  124. },
  125. },
  126. "modules": {
  127. alias: ["syntax"],
  128. name: "Import and export declarations",
  129. node: null,
  130. },
  131. "exponentialOperators": {
  132. alias: ["syntax"],
  133. name: "Exponential operators (**)",
  134. node: "7.0.0",
  135. },
  136. "asyncAwait": {
  137. alias: ["syntax"],
  138. name: "Async functions",
  139. node: "7.6.0",
  140. },
  141. "trailingCommasInFunctions": {
  142. alias: ["syntax"],
  143. name: "Trailing commas in functions",
  144. node: "8.0.0",
  145. },
  146. //------------------------------------------
  147. "templateLiteralRevision": {
  148. alias: ["syntax"],
  149. name: "Illegal escape sequences in taggled templates",
  150. node: "9.0.0",
  151. },
  152. "regexpS": {
  153. alias: ["syntax"],
  154. name: "RegExp 's' flags",
  155. node: "9.0.0",
  156. },
  157. "regexpNamedCaptureGroups": {
  158. alias: ["syntax"],
  159. name: "RegExp named capture groups",
  160. node: "10.0.0",
  161. },
  162. "regexpLookbehind": {
  163. alias: ["syntax"],
  164. name: "RegExp lookbehind assertions",
  165. node: "9.0.0",
  166. },
  167. "regexpUnicodeProperties": {
  168. alias: ["syntax"],
  169. name: "RegExp Unicode property escapes",
  170. node: "10.0.0",
  171. },
  172. "restProperties": {
  173. alias: ["syntax"],
  174. name: "Rest properties",
  175. node: "8.3.0",
  176. },
  177. "spreadProperties": {
  178. alias: ["syntax"],
  179. name: "Spread properties",
  180. node: "8.3.0",
  181. },
  182. "asyncGenerators": {
  183. alias: ["syntax"],
  184. name: "Async generators",
  185. node: "10.0.0",
  186. },
  187. "forAwaitOf": {
  188. alias: ["syntax"],
  189. name: "for-await-of loops",
  190. node: "10.0.0",
  191. },
  192. //--------------------------------------------------------------------------
  193. // Runtime
  194. //--------------------------------------------------------------------------
  195. "Int8Array": {
  196. alias: ["runtime", "globalObjects", "typedArrays"],
  197. name: "'Int8Array'",
  198. singular: true,
  199. node: "0.12.0",
  200. },
  201. "Uint8Array": {
  202. alias: ["runtime", "globalObjects", "typedArrays"],
  203. name: "'Uint8Array'",
  204. singular: true,
  205. node: "0.12.0",
  206. },
  207. "Uint8ClampedArray": {
  208. alias: ["runtime", "globalObjects", "typedArrays"],
  209. name: "'Uint8ClampedArray'",
  210. singular: true,
  211. node: "0.12.0",
  212. },
  213. "Int16Array": {
  214. alias: ["runtime", "globalObjects", "typedArrays"],
  215. name: "'Int16Array'",
  216. singular: true,
  217. node: "0.12.0",
  218. },
  219. "Uint16Array": {
  220. alias: ["runtime", "globalObjects", "typedArrays"],
  221. name: "'Uint16Array'",
  222. singular: true,
  223. node: "0.12.0",
  224. },
  225. "Int32Array": {
  226. alias: ["runtime", "globalObjects", "typedArrays"],
  227. name: "'Int32Array'",
  228. singular: true,
  229. node: "0.12.0",
  230. },
  231. "Uint32Array": {
  232. alias: ["runtime", "globalObjects", "typedArrays"],
  233. name: "'Uint32Array'",
  234. singular: true,
  235. node: "0.12.0",
  236. },
  237. "Float32Array": {
  238. alias: ["runtime", "globalObjects", "typedArrays"],
  239. name: "'Float32Array'",
  240. singular: true,
  241. node: "0.12.0",
  242. },
  243. "Float64Array": {
  244. alias: ["runtime", "globalObjects", "typedArrays"],
  245. name: "'Float64Array'",
  246. singular: true,
  247. node: "0.12.0",
  248. },
  249. "DataView": {
  250. alias: ["runtime", "globalObjects", "typedArrays"],
  251. name: "'DataView'",
  252. singular: true,
  253. node: "0.12.0",
  254. },
  255. "Map": {
  256. alias: ["runtime", "globalObjects"],
  257. name: "'Map'",
  258. singular: true,
  259. node: "0.12.0",
  260. },
  261. "Set": {
  262. alias: ["runtime", "globalObjects"],
  263. name: "'Set'",
  264. singular: true,
  265. node: "0.12.0",
  266. },
  267. "WeakMap": {
  268. alias: ["runtime", "globalObjects"],
  269. name: "'WeakMap'",
  270. singular: true,
  271. node: "0.12.0",
  272. },
  273. "WeakSet": {
  274. alias: ["runtime", "globalObjects"],
  275. name: "'WeakSet'",
  276. singular: true,
  277. node: "0.12.0",
  278. },
  279. "Proxy": {
  280. alias: ["runtime", "globalObjects"],
  281. name: "'Proxy'",
  282. singular: true,
  283. node: "6.0.0",
  284. },
  285. "Reflect": {
  286. alias: ["runtime", "globalObjects"],
  287. name: "'Reflect'",
  288. singular: true,
  289. node: "6.0.0",
  290. },
  291. "Promise": {
  292. alias: ["runtime", "globalObjects"],
  293. name: "'Promise'",
  294. singular: true,
  295. node: "0.12.0",
  296. },
  297. "Symbol": {
  298. alias: ["runtime", "globalObjects"],
  299. name: "'Symbol'",
  300. singular: true,
  301. node: "0.12.0",
  302. },
  303. "SharedArrayBuffer": {
  304. alias: ["runtime", "globalObjects"],
  305. name: "'SharedArrayBuffer'",
  306. singular: true,
  307. node: "9.0.0",
  308. },
  309. "Atomics": {
  310. alias: ["runtime", "globalObjects"],
  311. name: "'Atomics'",
  312. singular: true,
  313. node: "9.0.0",
  314. },
  315. "Object.assign": {
  316. alias: ["runtime", "staticMethods", "Object.*"],
  317. name: "'Object.assign'",
  318. singular: true,
  319. node: "4.0.0",
  320. },
  321. "Object.is": {
  322. alias: ["runtime", "staticMethods", "Object.*"],
  323. name: "'Object.is'",
  324. singular: true,
  325. node: "0.12.0",
  326. },
  327. "Object.getOwnPropertySymbols": {
  328. alias: ["runtime", "staticMethods", "Object.*"],
  329. name: "'Object.getOwnPropertySymbols'",
  330. singular: true,
  331. node: "0.12.0",
  332. },
  333. "Object.setPrototypeOf": {
  334. alias: ["runtime", "staticMethods", "Object.*"],
  335. name: "'Object.setPrototypeOf'",
  336. singular: true,
  337. node: "0.12.0",
  338. },
  339. "Object.values": {
  340. alias: ["runtime", "staticMethods", "Object.*"],
  341. name: "'Object.values'",
  342. singular: true,
  343. node: "7.0.0",
  344. },
  345. "Object.entries": {
  346. alias: ["runtime", "staticMethods", "Object.*"],
  347. name: "'Object.entries'",
  348. singular: true,
  349. node: "7.0.0",
  350. },
  351. "Object.getOwnPropertyDescriptors": {
  352. alias: ["runtime", "staticMethods", "Object.*"],
  353. name: "'Object.getOwnPropertyDescriptors'",
  354. singular: true,
  355. node: "7.0.0",
  356. },
  357. "String.raw": {
  358. alias: ["runtime", "staticMethods", "String.*"],
  359. name: "'String.raw'",
  360. singular: true,
  361. node: "4.0.0",
  362. },
  363. "String.fromCodePoint": {
  364. alias: ["runtime", "staticMethods", "String.*"],
  365. name: "'String.fromCodePoint'",
  366. singular: true,
  367. node: "4.0.0",
  368. },
  369. "Array.from": {
  370. alias: ["runtime", "staticMethods", "Array.*"],
  371. name: "'Array.from'",
  372. singular: true,
  373. node: "4.0.0",
  374. },
  375. "Array.of": {
  376. alias: ["runtime", "staticMethods", "Array.*"],
  377. name: "'Array.of'",
  378. singular: true,
  379. node: "4.0.0",
  380. },
  381. "Number.isFinite": {
  382. alias: ["runtime", "staticMethods", "Number.*"],
  383. name: "'Number.isFinite'",
  384. singular: true,
  385. node: "0.10.0",
  386. },
  387. "Number.isInteger": {
  388. alias: ["runtime", "staticMethods", "Number.*"],
  389. name: "'Number.isInteger'",
  390. singular: true,
  391. node: "0.12.0",
  392. },
  393. "Number.isSafeInteger": {
  394. alias: ["runtime", "staticMethods", "Number.*"],
  395. name: "'Number.isSafeInteger'",
  396. singular: true,
  397. node: "0.12.0",
  398. },
  399. "Number.isNaN": {
  400. alias: ["runtime", "staticMethods", "Number.*"],
  401. name: "'Number.isNaN'",
  402. singular: true,
  403. node: "0.10.0",
  404. },
  405. "Number.EPSILON": {
  406. alias: ["runtime", "staticMethods", "Number.*"],
  407. name: "'Number.EPSILON'",
  408. singular: true,
  409. node: "0.12.0",
  410. },
  411. "Number.MIN_SAFE_INTEGER": {
  412. alias: ["runtime", "staticMethods", "Number.*"],
  413. name: "'Number.MIN_SAFE_INTEGER'",
  414. singular: true,
  415. node: "0.12.0",
  416. },
  417. "Number.MAX_SAFE_INTEGER": {
  418. alias: ["runtime", "staticMethods", "Number.*"],
  419. name: "'Number.MAX_SAFE_INTEGER'",
  420. singular: true,
  421. node: "0.12.0",
  422. },
  423. "Math.clz32": {
  424. alias: ["runtime", "staticMethods", "Math.*"],
  425. name: "'Math.clz32'",
  426. singular: true,
  427. node: "0.12.0",
  428. },
  429. "Math.imul": {
  430. alias: ["runtime", "staticMethods", "Math.*"],
  431. name: "'Math.imul'",
  432. singular: true,
  433. node: "0.12.0",
  434. },
  435. "Math.sign": {
  436. alias: ["runtime", "staticMethods", "Math.*"],
  437. name: "'Math.sign'",
  438. singular: true,
  439. node: "0.12.0",
  440. },
  441. "Math.log10": {
  442. alias: ["runtime", "staticMethods", "Math.*"],
  443. name: "'Math.log10'",
  444. singular: true,
  445. node: "0.12.0",
  446. },
  447. "Math.log2": {
  448. alias: ["runtime", "staticMethods", "Math.*"],
  449. name: "'Math.log2'",
  450. singular: true,
  451. node: "0.12.0",
  452. },
  453. "Math.log1p": {
  454. alias: ["runtime", "staticMethods", "Math.*"],
  455. name: "'Math.log1p'",
  456. singular: true,
  457. node: "0.12.0",
  458. },
  459. "Math.expm1": {
  460. alias: ["runtime", "staticMethods", "Math.*"],
  461. name: "'Math.expm1'",
  462. singular: true,
  463. node: "0.12.0",
  464. },
  465. "Math.cosh": {
  466. alias: ["runtime", "staticMethods", "Math.*"],
  467. name: "'Math.cosh'",
  468. singular: true,
  469. node: "0.12.0",
  470. },
  471. "Math.sinh": {
  472. alias: ["runtime", "staticMethods", "Math.*"],
  473. name: "'Math.sinh'",
  474. singular: true,
  475. node: "0.12.0",
  476. },
  477. "Math.tanh": {
  478. alias: ["runtime", "staticMethods", "Math.*"],
  479. name: "'Math.tanh'",
  480. singular: true,
  481. node: "0.12.0",
  482. },
  483. "Math.acosh": {
  484. alias: ["runtime", "staticMethods", "Math.*"],
  485. name: "'Math.acosh'",
  486. singular: true,
  487. node: "0.12.0",
  488. },
  489. "Math.asinh": {
  490. alias: ["runtime", "staticMethods", "Math.*"],
  491. name: "'Math.asinh'",
  492. singular: true,
  493. node: "0.12.0",
  494. },
  495. "Math.atanh": {
  496. alias: ["runtime", "staticMethods", "Math.*"],
  497. name: "'Math.atanh'",
  498. singular: true,
  499. node: "0.12.0",
  500. },
  501. "Math.trunc": {
  502. alias: ["runtime", "staticMethods", "Math.*"],
  503. name: "'Math.trunc'",
  504. singular: true,
  505. node: "0.12.0",
  506. },
  507. "Math.fround": {
  508. alias: ["runtime", "staticMethods", "Math.*"],
  509. name: "'Math.fround'",
  510. singular: true,
  511. node: "0.12.0",
  512. },
  513. "Math.cbrt": {
  514. alias: ["runtime", "staticMethods", "Math.*"],
  515. name: "'Math.cbrt'",
  516. singular: true,
  517. node: "0.12.0",
  518. },
  519. "Math.hypot": {
  520. alias: ["runtime", "staticMethods", "Math.*"],
  521. name: "'Math.hypot'",
  522. singular: true,
  523. node: "0.12.0",
  524. },
  525. "Symbol.hasInstance": {
  526. alias: ["runtime", "staticMethods", "Symbol.*"],
  527. name: "'Symbol.hasInstance'",
  528. singular: true,
  529. node: "6.5.0",
  530. },
  531. "Symbol.isConcatSpreadablec": {
  532. alias: ["runtime", "staticMethods", "Symbol.*"],
  533. name: "'Symbol.isConcatSpreadablec'",
  534. singular: true,
  535. node: "6.0.0",
  536. },
  537. "Symbol.iterator": {
  538. alias: ["runtime", "staticMethods", "Symbol.*"],
  539. name: "'Symbol.iterator'",
  540. singular: true,
  541. node: "0.12.0",
  542. },
  543. "Symbol.species": {
  544. alias: ["runtime", "staticMethods", "Symbol.*"],
  545. name: "'Symbol.species'",
  546. singular: true,
  547. node: "6.5.0",
  548. },
  549. "Symbol.replace": {
  550. alias: ["runtime", "staticMethods", "Symbol.*"],
  551. name: "'Symbol.replace'",
  552. singular: true,
  553. node: "6.0.0",
  554. },
  555. "Symbol.search": {
  556. alias: ["runtime", "staticMethods", "Symbol.*"],
  557. name: "'Symbol.search'",
  558. singular: true,
  559. node: "6.0.0",
  560. },
  561. "Symbol.split": {
  562. alias: ["runtime", "staticMethods", "Symbol.*"],
  563. name: "'Symbol.split'",
  564. singular: true,
  565. node: "6.0.0",
  566. },
  567. "Symbol.match": {
  568. alias: ["runtime", "staticMethods", "Symbol.*"],
  569. name: "'Symbol.match'",
  570. singular: true,
  571. node: "6.0.0",
  572. },
  573. "Symbol.toPrimitive": {
  574. alias: ["runtime", "staticMethods", "Symbol.*"],
  575. name: "'Symbol.toPrimitive'",
  576. singular: true,
  577. node: "6.0.0",
  578. },
  579. "Symbol.toStringTag": {
  580. alias: ["runtime", "staticMethods", "Symbol.*"],
  581. name: "'Symbol.toStringTag'",
  582. singular: true,
  583. node: "6.0.0",
  584. },
  585. "Symbol.unscopables": {
  586. alias: ["runtime", "staticMethods", "Symbol.*"],
  587. name: "'Symbol.unscopables'",
  588. singular: true,
  589. node: "4.0.0",
  590. },
  591. "Atomics.add": {
  592. alias: ["runtime", "staticMethods", "Atomics.*"],
  593. name: "'Atomics.add'",
  594. singular: true,
  595. node: "9.0.0",
  596. },
  597. "Atomics.and": {
  598. alias: ["runtime", "staticMethods", "Atomics.*"],
  599. name: "'Atomics.and'",
  600. singular: true,
  601. node: "9.0.0",
  602. },
  603. "Atomics.compareExchange": {
  604. alias: ["runtime", "staticMethods", "Atomics.*"],
  605. name: "'Atomics.compareExchange'",
  606. singular: true,
  607. node: "9.0.0",
  608. },
  609. "Atomics.exchange": {
  610. alias: ["runtime", "staticMethods", "Atomics.*"],
  611. name: "'Atomics.exchange'",
  612. singular: true,
  613. node: "9.0.0",
  614. },
  615. "Atomics.wait": {
  616. alias: ["runtime", "staticMethods", "Atomics.*"],
  617. name: "'Atomics.wait'",
  618. singular: true,
  619. node: "9.0.0",
  620. },
  621. "Atomics.wake": {
  622. alias: ["runtime", "staticMethods", "Atomics.*"],
  623. name: "'Atomics.wake'",
  624. singular: true,
  625. node: "9.0.0",
  626. },
  627. "Atomics.isLockFree": {
  628. alias: ["runtime", "staticMethods", "Atomics.*"],
  629. name: "'Atomics.isLockFree'",
  630. singular: true,
  631. node: "9.0.0",
  632. },
  633. "Atomics.load": {
  634. alias: ["runtime", "staticMethods", "Atomics.*"],
  635. name: "'Atomics.load'",
  636. singular: true,
  637. node: "9.0.0",
  638. },
  639. "Atomics.or": {
  640. alias: ["runtime", "staticMethods", "Atomics.*"],
  641. name: "'Atomics.or'",
  642. singular: true,
  643. node: "9.0.0",
  644. },
  645. "Atomics.store": {
  646. alias: ["runtime", "staticMethods", "Atomics.*"],
  647. name: "'Atomics.store'",
  648. singular: true,
  649. node: "9.0.0",
  650. },
  651. "Atomics.sub": {
  652. alias: ["runtime", "staticMethods", "Atomics.*"],
  653. name: "'Atomics.sub'",
  654. singular: true,
  655. node: "9.0.0",
  656. },
  657. "Atomics.xor": {
  658. alias: ["runtime", "staticMethods", "Atomics.*"],
  659. name: "'Atomics.xor'",
  660. singular: true,
  661. node: "9.0.0",
  662. },
  663. "extendsArray": {
  664. alias: ["runtime", "extends"],
  665. name: "Subclassing of 'Array'",
  666. singular: true,
  667. node: "6.0.0",
  668. },
  669. "extendsRegExp": {
  670. alias: ["runtime", "extends"],
  671. name: "Subclassing of 'RegExp'",
  672. singular: true,
  673. node: "5.0.0",
  674. },
  675. "extendsFunction": {
  676. alias: ["runtime", "extends"],
  677. name: "Subclassing of 'Function'",
  678. singular: true,
  679. node: "6.0.0",
  680. },
  681. "extendsPromise": {
  682. alias: ["runtime", "extends"],
  683. name: "Subclassing of 'Promise'",
  684. singular: true,
  685. node: "5.0.0",
  686. },
  687. "extendsBoolean": {
  688. alias: ["runtime", "extends"],
  689. name: "Subclassing of 'Boolean'",
  690. singular: true,
  691. node: "4.0.0",
  692. },
  693. "extendsNumber": {
  694. alias: ["runtime", "extends"],
  695. name: "Subclassing of 'Number'",
  696. singular: true,
  697. node: "4.0.0",
  698. },
  699. "extendsString": {
  700. alias: ["runtime", "extends"],
  701. name: "Subclassing of 'String'",
  702. singular: true,
  703. node: "4.0.0",
  704. },
  705. "extendsMap": {
  706. alias: ["runtime", "extends"],
  707. name: "Subclassing of 'Map'",
  708. singular: true,
  709. node: "4.0.0",
  710. },
  711. "extendsSet": {
  712. alias: ["runtime", "extends"],
  713. name: "Subclassing of 'Set'",
  714. singular: true,
  715. node: "4.0.0",
  716. },
  717. "extendsNull": {
  718. alias: ["runtime", "extends"],
  719. name: "'extends null'",
  720. singular: true,
  721. node: null,
  722. },
  723. }