Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
110 lines (98 loc) · 3.56 KB

File metadata and controls

110 lines (98 loc) · 3.56 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
/**
* @license
* Copyright 2022 The Emscripten Authors
* SPDX-License-Identifier: MIT
*/
addToLibrary({
// Backend support. wasmFS$backends will contain a mapping of backend IDs to
// the JS code that implements them. This is the JS side of the JSImpl* class
// in C++, together with the js_impl calls defined right after it.
$wasmFS$backends: {},
_wasmfs_jsimpl_alloc_file: (backend, file) => {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
return wasmFS$backends[backend].allocFile(file);
},
_wasmfs_jsimpl_free_file: (backend, file) => {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
return wasmFS$backends[backend].freeFile(file);
},
_wasmfs_jsimpl_write__i53abi: true,
_wasmfs_jsimpl_write: (backend, file, buffer, length, offset) => {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
if (!wasmFS$backends[backend].write) {
return -{{{ cDefs.EINVAL }}};
}
return wasmFS$backends[backend].write(file, buffer, length, offset);
},
_wasmfs_jsimpl_read__i53abi: true,
_wasmfs_jsimpl_read: (backend, file, buffer, length, offset) => {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
if (!wasmFS$backends[backend].read) {
return -{{{ cDefs.EINVAL }}};
}
return wasmFS$backends[backend].read(file, buffer, length, offset);
},
_wasmfs_jsimpl_get_size: (backend, file) => {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
return wasmFS$backends[backend].getSize(file);
},
// ProxiedAsyncJSImpl. Each function receives a function pointer and a
// parameter. We convert those into a convenient Promise API for the
// implementors of backends: the hooks we call should return Promises, which
// we then connect to the calling C++.
_wasmfs_jsimpl_async_alloc_file__deps: ['emscripten_proxy_finish'],
_wasmfs_jsimpl_async_alloc_file: async function(ctx, backend, file) {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
await wasmFS$backends[backend].allocFile(file);
_emscripten_proxy_finish(ctx);
},
_wasmfs_jsimpl_async_free_file__deps: ['emscripten_proxy_finish'],
_wasmfs_jsimpl_async_free_file: async function(ctx, backend, file) {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
await wasmFS$backends[backend].freeFile(file);
_emscripten_proxy_finish(ctx);
},
_wasmfs_jsimpl_async_write__i53abi: true,
_wasmfs_jsimpl_async_write__deps: ['emscripten_proxy_finish'],
_wasmfs_jsimpl_async_write: async function(ctx, backend, file, buffer, length, offset, result_p) {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
var result = await wasmFS$backends[backend].write(file, buffer, length, offset);
{{{ makeSetValue('result_p', 0, 'result', SIZE_TYPE) }}};
_emscripten_proxy_finish(ctx);
},
_wasmfs_jsimpl_async_read__i53abi: true,
_wasmfs_jsimpl_async_read__deps: ['emscripten_proxy_finish'],
_wasmfs_jsimpl_async_read: async function(ctx, backend, file, buffer, length, offset, result_p) {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
var result = await wasmFS$backends[backend].read(file, buffer, length, offset);
{{{ makeSetValue('result_p', 0, 'result', SIZE_TYPE) }}};
_emscripten_proxy_finish(ctx);
},
_wasmfs_jsimpl_async_get_size__deps: ['emscripten_proxy_finish'],
_wasmfs_jsimpl_async_get_size: async function(ctx, backend, file, size_p) {
#if ASSERTIONS
assert(wasmFS$backends[backend]);
#endif
var size = await wasmFS$backends[backend].getSize(file);
{{{ makeSetValue('size_p', 0, 'size', 'i64') }}};
_emscripten_proxy_finish(ctx);
},
});
Morty Proxy This is a proxified and sanitized view of the page, visit original site.