Skip to content

Commit 703d20b

Browse files
committed
Use nullish coalescing in more places in the JS library. NFC
1 parent 57aeff1 commit 703d20b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+69
-70
lines changed

src/library.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,8 +1551,7 @@ addToLibrary({
15511551
var ret = getCompilerSetting(name);
15521552
if (typeof ret == 'number' || typeof ret == 'boolean') return ret;
15531553

1554-
if (!_emscripten_get_compiler_setting.cache) _emscripten_get_compiler_setting.cache = {};
1555-
var cache = _emscripten_get_compiler_setting.cache;
1554+
var cache = _emscripten_get_compiler_setting.cache ??= {};
15561555
var fullret = cache[name];
15571556
if (fullret) return fullret;
15581557
return cache[name] = stringToNewUTF8(ret);

src/library_fs.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ FS.staticInit();
6666
genericErrors: {},
6767
filesystems: null,
6868
syncFSRequests: 0, // we warn if there are multiple in flight at once
69-
69+
#if expectToReceiveOnModule('logReadFiles')
70+
readFiles: {},
71+
#endif
7072
#if ASSERTIONS
7173
ErrnoError: class extends Error {
7274
#else
@@ -1100,15 +1102,16 @@ FS.staticInit();
11001102
if (stream.stream_ops.open) {
11011103
stream.stream_ops.open(stream);
11021104
}
1105+
#if expectToReceiveOnModule('logReadFiles')
11031106
if (Module['logReadFiles'] && !(flags & {{{ cDefs.O_WRONLY}}})) {
1104-
if (!FS.readFiles) FS.readFiles = {};
11051107
if (!(path in FS.readFiles)) {
11061108
FS.readFiles[path] = 1;
11071109
#if FS_DEBUG
11081110
dbg(`FS.trackingDelegate error on read file: ${path}`);
11091111
#endif
11101112
}
11111113
}
1114+
#endif
11121115
#if FS_DEBUG
11131116
if (FS.trackingDelegate['onOpenFile']) {
11141117
FS.trackingDelegate['onOpenFile'](path, trackingFlags);
@@ -1588,7 +1591,7 @@ FS.staticInit();
15881591
createDevice(parent, name, input, output) {
15891592
var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name);
15901593
var mode = FS_getMode(!!input, !!output);
1591-
if (!FS.createDevice.major) FS.createDevice.major = 64;
1594+
FS.createDevice.major ??= 64;
15921595
var dev = FS.makedev(FS.createDevice.major++, 0);
15931596
// Create a fake device that a set of stream ops to emulate
15941597
// the old behavior.

src/library_html5.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ var LibraryHTML5 = {
253253
#if PTHREADS
254254
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
255255
#endif
256-
if (!JSEvents.keyEvent) JSEvents.keyEvent = _malloc({{{ C_STRUCTS.EmscriptenKeyboardEvent.__size__ }}});
256+
JSEvents.keyEvent ??= _malloc({{{ C_STRUCTS.EmscriptenKeyboardEvent.__size__ }}});
257257

258258
var keyEventHandlerFunc = (e) => {
259259
#if ASSERTIONS
@@ -507,7 +507,7 @@ var LibraryHTML5 = {
507507
#if PTHREADS
508508
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
509509
#endif
510-
if (!JSEvents.mouseEvent) JSEvents.mouseEvent = _malloc({{{ C_STRUCTS.EmscriptenMouseEvent.__size__ }}});
510+
JSEvents.mouseEvent ??= _malloc({{{ C_STRUCTS.EmscriptenMouseEvent.__size__ }}});
511511
target = findEventTarget(target);
512512

513513
var mouseEventHandlerFunc = (e = event) => {
@@ -598,7 +598,7 @@ var LibraryHTML5 = {
598598
#if PTHREADS
599599
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
600600
#endif
601-
if (!JSEvents.wheelEvent) JSEvents.wheelEvent = _malloc({{{ C_STRUCTS.EmscriptenWheelEvent.__size__ }}});
601+
JSEvents.wheelEvent ??= _malloc({{{ C_STRUCTS.EmscriptenWheelEvent.__size__ }}});
602602

603603
// The DOM Level 3 events spec event 'wheel'
604604
var wheelHandlerFunc = (e = event) => {
@@ -673,7 +673,7 @@ var LibraryHTML5 = {
673673
#if PTHREADS
674674
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
675675
#endif
676-
if (!JSEvents.uiEvent) JSEvents.uiEvent = _malloc({{{ C_STRUCTS.EmscriptenUiEvent.__size__ }}});
676+
JSEvents.uiEvent ??= _malloc({{{ C_STRUCTS.EmscriptenUiEvent.__size__ }}});
677677

678678
#if DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR
679679
target = findEventTarget(target);
@@ -745,7 +745,7 @@ var LibraryHTML5 = {
745745
#if PTHREADS
746746
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
747747
#endif
748-
if (!JSEvents.focusEvent) JSEvents.focusEvent = _malloc({{{ C_STRUCTS.EmscriptenFocusEvent.__size__ }}});
748+
JSEvents.focusEvent ??= _malloc({{{ C_STRUCTS.EmscriptenFocusEvent.__size__ }}});
749749

750750
var focusEventHandlerFunc = (e = event) => {
751751
var nodeName = JSEvents.getNodeNameForTarget(e.target);
@@ -809,7 +809,7 @@ var LibraryHTML5 = {
809809
#if PTHREADS
810810
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
811811
#endif
812-
if (!JSEvents.deviceOrientationEvent) JSEvents.deviceOrientationEvent = _malloc({{{ C_STRUCTS.EmscriptenDeviceOrientationEvent.__size__ }}});
812+
JSEvents.deviceOrientationEvent ??= _malloc({{{ C_STRUCTS.EmscriptenDeviceOrientationEvent.__size__ }}});
813813

814814
var deviceOrientationEventHandlerFunc = (e = event) => {
815815
fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent, e, target); // TODO: Thread-safety with respect to emscripten_get_deviceorientation_status()
@@ -879,7 +879,7 @@ var LibraryHTML5 = {
879879
#if PTHREADS
880880
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
881881
#endif
882-
if (!JSEvents.deviceMotionEvent) JSEvents.deviceMotionEvent = _malloc({{{ C_STRUCTS.EmscriptenDeviceMotionEvent.__size__ }}});
882+
JSEvents.deviceMotionEvent ??= _malloc({{{ C_STRUCTS.EmscriptenDeviceMotionEvent.__size__ }}});
883883

884884
var deviceMotionEventHandlerFunc = (e = event) => {
885885
fillDeviceMotionEventData(JSEvents.deviceMotionEvent, e, target); // TODO: Thread-safety with respect to emscripten_get_devicemotion_status()
@@ -962,7 +962,7 @@ var LibraryHTML5 = {
962962
#if PTHREADS
963963
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
964964
#endif
965-
if (!JSEvents.orientationChangeEvent) JSEvents.orientationChangeEvent = _malloc({{{ C_STRUCTS.EmscriptenOrientationChangeEvent.__size__ }}});
965+
JSEvents.orientationChangeEvent ??= _malloc({{{ C_STRUCTS.EmscriptenOrientationChangeEvent.__size__ }}});
966966

967967
var orientationChangeEventHandlerFunc = (e = event) => {
968968
#if PTHREADS
@@ -1074,7 +1074,7 @@ var LibraryHTML5 = {
10741074
#if PTHREADS
10751075
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
10761076
#endif
1077-
if (!JSEvents.fullscreenChangeEvent) JSEvents.fullscreenChangeEvent = _malloc({{{ C_STRUCTS.EmscriptenFullscreenChangeEvent.__size__ }}});
1077+
JSEvents.fullscreenChangeEvent ??= _malloc({{{ C_STRUCTS.EmscriptenFullscreenChangeEvent.__size__ }}});
10781078

10791079
var fullscreenChangeEventhandlerFunc = (e = event) => {
10801080
#if PTHREADS
@@ -1200,9 +1200,9 @@ var LibraryHTML5 = {
12001200

12011201
// If we are adding padding, must choose a background color or otherwise Chrome will give the
12021202
// padding a default white color. Do it only if user has not customized their own background color.
1203-
if (!target.style.backgroundColor) target.style.backgroundColor = 'black';
1203+
target.style.backgroundColor ||= 'black';
12041204
// IE11 does the same, but requires the color to be set in the document body.
1205-
if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11
1205+
document.body.style.backgroundColor ||= 'black'; // IE11
12061206
// Firefox always shows black letterboxes independent of style color.
12071207

12081208
target.style.width = cssWidth + 'px';
@@ -1421,7 +1421,7 @@ var LibraryHTML5 = {
14211421
$doRequestFullscreen: (target, strategy) => {
14221422
if (!JSEvents.fullscreenEnabled()) return {{{ cDefs.EMSCRIPTEN_RESULT_NOT_SUPPORTED }}};
14231423
#if !DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR
1424-
if (!target) target = '#canvas';
1424+
target ||= '#canvas';
14251425
#endif
14261426
target = findEventTarget(target);
14271427
if (!target) return {{{ cDefs.EMSCRIPTEN_RESULT_UNKNOWN_TARGET }}};
@@ -1604,7 +1604,7 @@ var LibraryHTML5 = {
16041604
#if PTHREADS
16051605
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
16061606
#endif
1607-
if (!JSEvents.pointerlockChangeEvent) JSEvents.pointerlockChangeEvent = _malloc({{{ C_STRUCTS.EmscriptenPointerlockChangeEvent.__size__ }}});
1607+
JSEvents.pointerlockChangeEvent ??= _malloc({{{ C_STRUCTS.EmscriptenPointerlockChangeEvent.__size__ }}});
16081608

16091609
var pointerlockChangeEventHandlerFunc = (e = event) => {
16101610
#if PTHREADS
@@ -1742,7 +1742,7 @@ var LibraryHTML5 = {
17421742
emscripten_request_pointerlock__deps: ['$JSEvents', '$requestPointerLock', '$findEventTarget'],
17431743
emscripten_request_pointerlock: (target, deferUntilInEventHandler) => {
17441744
#if !DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR
1745-
if (!target) target = '#canvas';
1745+
target ||= '#canvas';
17461746
#endif
17471747
target = findEventTarget(target);
17481748
if (!target) return {{{ cDefs.EMSCRIPTEN_RESULT_UNKNOWN_TARGET }}};
@@ -1833,7 +1833,7 @@ var LibraryHTML5 = {
18331833
#if PTHREADS
18341834
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
18351835
#endif
1836-
if (!JSEvents.visibilityChangeEvent) JSEvents.visibilityChangeEvent = _malloc({{{ C_STRUCTS.EmscriptenVisibilityChangeEvent.__size__ }}});
1836+
JSEvents.visibilityChangeEvent ??= _malloc({{{ C_STRUCTS.EmscriptenVisibilityChangeEvent.__size__ }}});
18371837

18381838
var visibilityChangeEventHandlerFunc = (e = event) => {
18391839
#if PTHREADS
@@ -1887,7 +1887,7 @@ var LibraryHTML5 = {
18871887
#if PTHREADS
18881888
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
18891889
#endif
1890-
if (!JSEvents.touchEvent) JSEvents.touchEvent = _malloc({{{ C_STRUCTS.EmscriptenTouchEvent.__size__ }}});
1890+
JSEvents.touchEvent ??= _malloc({{{ C_STRUCTS.EmscriptenTouchEvent.__size__ }}});
18911891

18921892
target = findEventTarget(target);
18931893

@@ -2035,7 +2035,7 @@ var LibraryHTML5 = {
20352035
#if PTHREADS
20362036
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
20372037
#endif
2038-
if (!JSEvents.gamepadEvent) JSEvents.gamepadEvent = _malloc({{{ C_STRUCTS.EmscriptenGamepadEvent.__size__ }}});
2038+
JSEvents.gamepadEvent ??= _malloc({{{ C_STRUCTS.EmscriptenGamepadEvent.__size__ }}});
20392039

20402040
var gamepadEventHandlerFunc = (e = event) => {
20412041
#if PTHREADS
@@ -2175,7 +2175,7 @@ var LibraryHTML5 = {
21752175
#if PTHREADS
21762176
targetThread = JSEvents.getTargetThreadForEventCallback(targetThread);
21772177
#endif
2178-
if (!JSEvents.batteryEvent) JSEvents.batteryEvent = _malloc({{{ C_STRUCTS.EmscriptenBatteryEvent.__size__ }}});
2178+
JSEvents.batteryEvent ??= _malloc({{{ C_STRUCTS.EmscriptenBatteryEvent.__size__ }}});
21792179

21802180
var batteryEventHandlerFunc = (e = event) => {
21812181
#if PTHREADS

src/library_html5_webgl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ var LibraryHtml5WebGL = {
382382
#endif
383383

384384
#if !DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR
385-
if (!target) target = Module['canvas'];
385+
target ||= Module['canvas'];
386386
#endif
387387

388388
var webGlEventHandlerFunc = (e = event) => {

src/library_lz4.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ addToLibrary({
2222
},
2323
loadPackage(pack, preloadPlugin) {
2424
LZ4.init();
25-
var compressedData = pack['compressedData'];
26-
if (!compressedData) compressedData = LZ4.codec.compressPackage(pack['data']);
25+
var compressedData = pack['compressedData'] || LZ4.codec.compressPackage(pack['data']);
2726
assert(compressedData['cachedIndexes'].length === compressedData['cachedChunks'].length);
2827
for (var i = 0; i < compressedData['cachedIndexes'].length; i++) {
2928
compressedData['cachedIndexes'][i] = -1;

src/library_sdl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2042,7 +2042,7 @@ var LibrarySDL = {
20422042
SDL.eventHandlerContext = userdata;
20432043

20442044
// All SDLEvents take the same amount of memory
2045-
if (!SDL.eventHandlerTemp) SDL.eventHandlerTemp = _malloc({{{ C_STRUCTS.SDL_KeyboardEvent.__size__ }}});
2045+
SDL.eventHandlerTemp ||= _malloc({{{ C_STRUCTS.SDL_KeyboardEvent.__size__ }}});
20462046
},
20472047

20482048
SDL_SetColors__proxy: 'sync',

src/library_stack_trace.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ var LibraryStackTrace = {
5858
lineno = parts[3];
5959
column = parts[4];
6060
} else {
61-
parts = newFirefoxRe.exec(line);
62-
if (!parts) parts = firefoxRe.exec(line);
61+
parts = newFirefoxRe.exec(line) || firefoxRe.exec(line);
6362
if (parts && parts.length >= 4) {
6463
symbolName = parts[1];
6564
file = parts[2];

src/library_wasmfs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ FS.init();
409409
}
410410
var path = PATH.join2(parent, name);
411411
var mode = FS_getMode(!!input, !!output);
412-
if (!FS.createDevice.major) FS.createDevice.major = 64;
412+
FS.createDevice.major ??= 64;
413413
var dev = FS.makedev(FS.createDevice.major++, 0);
414414
// Create a fake device with a set of stream ops to emulate
415415
// the old API's createDevice().

src/library_webgl.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ for (/**@suppress{duplicate}*/var i = 0; i <= {{{ GL_POOL_TEMP_BUFFERS_SIZE }}};
669669
},
670670

671671
hookWebGL: function(glCtx) {
672-
if (!glCtx) glCtx = this.detectWebGLContext();
672+
glCtx ??= this.detectWebGLContext();
673673
if (!glCtx) return;
674674
if (!((typeof WebGLRenderingContext != 'undefined' && glCtx instanceof WebGLRenderingContext)
675675
|| (typeof WebGL2RenderingContext != 'undefined' && glCtx instanceof WebGL2RenderingContext))) {
@@ -4161,8 +4161,7 @@ for (/**@suppress{duplicate}*/var i = 0; i <= {{{ GL_POOL_TEMP_BUFFERS_SIZE }}};
41614161
var mem = _malloc(length), binding = emscriptenWebGLGetBufferBinding(target);
41624162
if (!mem) return 0;
41634163

4164-
if (!GL.mappedBuffers[binding]) GL.mappedBuffers[binding] = {};
4165-
binding = GL.mappedBuffers[binding];
4164+
binding = GL.mappedBuffers[binding] ??= {};
41664165
binding.offset = offset;
41674166
binding.length = length;
41684167
binding.mem = mem;

src/library_workerfs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ addToLibrary({
1212
reader: null,
1313
mount(mount) {
1414
assert(ENVIRONMENT_IS_WORKER);
15-
if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
15+
WORKERFS.reader ??= new FileReaderSync();
1616
var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
1717
var createdParents = {};
1818
function ensureParent(path) {

0 commit comments

Comments
 (0)