diff --git a/tools/doc/type-parser.js b/tools/doc/type-parser.js index 652b87add5..405d3a869d 100644 --- a/tools/doc/type-parser.js +++ b/tools/doc/type-parser.js @@ -4,11 +4,16 @@ const jsDocUrl = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript/' + 'Reference/Global_Objects/'; const jsPrimitiveUrl = 'https://developer.mozilla.org/en-US/docs/Web/' + 'JavaScript/Data_structures'; -const jsPrimitives = [ - 'Number', 'String', 'Boolean', 'Null', 'Symbol' -]; +const jsPrimitives = { + 'Integer': 'Number', // this is for extending + 'Number': 'Number', + 'String': 'String', + 'Boolean': 'Boolean', + 'Null': 'Null', + 'Symbol': 'Symbol' +}; const jsGlobalTypes = [ - 'Error', 'Object', 'Function', 'Array', 'Uint8Array', + 'Error', 'Object', 'Function', 'Array', 'TypedArray', 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8ClampedArray', 'Float32Array', 'Float64Array', 'Date', 'RegExp', 'ArrayBuffer', 'DataView', 'Promise', 'EvalError', 'RangeError', @@ -38,8 +43,9 @@ module.exports = { typeText = typeText.trim(); if (typeText) { let typeUrl = null; - if (jsPrimitives.indexOf(typeText) !== -1) { - typeUrl = jsPrimitiveUrl + '#' + typeText + '_type'; + const primitive = jsPrimitives[typeText]; + if (primitive !== undefined) { + typeUrl = `${jsPrimitiveUrl}#${primitive}_type`; } else if (jsGlobalTypes.indexOf(typeText) !== -1) { typeUrl = jsDocUrl + typeText; } else if (typeMap[typeText]) {