Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 135x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 172x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 581x 172x 172x 581x 581x 581x 581x 581x 581x 581x 581x 172x 581x 581x 581x 581x 581x 581x 581x 581x 172x 172x 581x 581x 581x 581x 581x 581x 581x 581x | 'use strict'; const { ObjectDefineProperty, globalThis, } = primordials; const { defineOperation, exposeInterface, lazyDOMExceptionClass, } = require('internal/util'); const config = internalBinding('config'); // Override global console from the one provided by the VM // to the one implemented by Node.js // https://console.spec.whatwg.org/#console-namespace exposeNamespace(globalThis, 'console', createGlobalConsole(globalThis.console)); const { URL, URLSearchParams } = require('internal/url'); // https://url.spec.whatwg.org/#url exposeInterface(globalThis, 'URL', URL); // https://url.spec.whatwg.org/#urlsearchparams exposeInterface(globalThis, 'URLSearchParams', URLSearchParams); exposeGetterAndSetter(globalThis, 'DOMException', lazyDOMExceptionClass, (value) => { exposeInterface(globalThis, 'DOMException', value); }); const { TextEncoder, TextDecoder } = require('internal/encoding'); // https://encoding.spec.whatwg.org/#textencoder exposeInterface(globalThis, 'TextEncoder', TextEncoder); // https://encoding.spec.whatwg.org/#textdecoder exposeInterface(globalThis, 'TextDecoder', TextDecoder); const { AbortController, AbortSignal, } = require('internal/abort_controller'); exposeInterface(globalThis, 'AbortController', AbortController); exposeInterface(globalThis, 'AbortSignal', AbortSignal); const { EventTarget, Event, } = require('internal/event_target'); exposeInterface(globalThis, 'EventTarget', EventTarget); exposeInterface(globalThis, 'Event', Event); const { MessageChannel, MessagePort, MessageEvent, } = require('internal/worker/io'); exposeInterface(globalThis, 'MessageChannel', MessageChannel); exposeInterface(globalThis, 'MessagePort', MessagePort); exposeInterface(globalThis, 'MessageEvent', MessageEvent); // https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope const timers = require('timers'); defineOperation(globalThis, 'clearInterval', timers.clearInterval); defineOperation(globalThis, 'clearTimeout', timers.clearTimeout); defineOperation(globalThis, 'setInterval', timers.setInterval); defineOperation(globalThis, 'setTimeout', timers.setTimeout); // https://www.w3.org/TR/hr-time-2/#the-performance-attribute defineReplacableAttribute(globalThis, 'performance', require('perf_hooks').performance); function createGlobalConsole(consoleFromVM) { const consoleFromNode = require('internal/console/global'); if (config.hasInspector) { const inspector = require('internal/util/inspector'); // This will be exposed by `require('inspector').console` later. inspector.consoleFromVM = consoleFromVM; // TODO(joyeecheung): postpone this until the first time inspector // is activated. inspector.wrapConsole(consoleFromNode, consoleFromVM); const { setConsoleExtensionInstaller } = internalBinding('inspector'); // Setup inspector command line API. setConsoleExtensionInstaller(inspector.installConsoleExtensions); } return consoleFromNode; } // https://heycam.github.io/webidl/#es-namespaces function exposeNamespace(target, name, namespaceObject) { ObjectDefineProperty(target, name, { writable: true, enumerable: false, configurable: true, value: namespaceObject }); } function exposeGetterAndSetter(target, name, getter, setter = undefined) { ObjectDefineProperty(target, name, { enumerable: false, configurable: true, get: getter, set: setter, }); } // https://heycam.github.io/webidl/#Replaceable function defineReplacableAttribute(target, name, value) { ObjectDefineProperty(target, name, { writable: true, enumerable: true, configurable: true, value, }); } |