Make all fields readonly for wasm
This commit is contained in:
parent
1ceebeb5c7
commit
1637d4ed1b
|
|
@ -166,12 +166,12 @@ export function renderDts(wasmBytes: Uint8Array, meta?: Map<string, ExportMeta>)
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'// Auto-generated by wasmPlugin. Do not edit.',
|
'// Auto-generated by wasmPlugin. Do not edit.',
|
||||||
'declare const _: {',
|
'declare const _: Readonly<{',
|
||||||
...fns.map(([name, sig]) => ` ${name}: ${tsSignature(sig, meta?.get(name))};`),
|
...fns.map(([name, sig]) => ` ${name}: ${tsSignature(sig, meta?.get(name))};`),
|
||||||
' memory: WebAssembly.Memory;',
|
' memory: WebAssembly.Memory;',
|
||||||
' table: WebAssembly.Table;',
|
' table: WebAssembly.Table;',
|
||||||
' readonly data: DataView;',
|
' data: DataView;',
|
||||||
'};',
|
'}>;',
|
||||||
'export default _;',
|
'export default _;',
|
||||||
'',
|
'',
|
||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
|
||||||
|
|
@ -2,31 +2,31 @@
|
||||||
// After a build, a sibling `${file}.d.ts` with concrete export names takes precedence.
|
// After a build, a sibling `${file}.d.ts` with concrete export names takes precedence.
|
||||||
|
|
||||||
declare module '*.cpp' {
|
declare module '*.cpp' {
|
||||||
const _: {
|
const _: Readonly<{
|
||||||
memory: WebAssembly.Memory;
|
memory: WebAssembly.Memory;
|
||||||
table: WebAssembly.Table;
|
table: WebAssembly.Table;
|
||||||
readonly data: DataView;
|
data: DataView;
|
||||||
[fn: string]: unknown;
|
[fn: string]: unknown;
|
||||||
};
|
}>;
|
||||||
export default _;
|
export default _;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module '*.c' {
|
declare module '*.c' {
|
||||||
const _: {
|
const _: Readonly<{
|
||||||
memory: WebAssembly.Memory;
|
memory: WebAssembly.Memory;
|
||||||
table: WebAssembly.Table;
|
table: WebAssembly.Table;
|
||||||
readonly data: DataView;
|
data: DataView;
|
||||||
[fn: string]: unknown;
|
[fn: string]: unknown;
|
||||||
};
|
}>;
|
||||||
export default _;
|
export default _;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module '*.wasm' {
|
declare module '*.wasm' {
|
||||||
const _: {
|
const _: Readonly<{
|
||||||
memory: WebAssembly.Memory;
|
memory: WebAssembly.Memory;
|
||||||
table?: WebAssembly.Table;
|
table?: WebAssembly.Table;
|
||||||
data: DataView;
|
data: DataView;
|
||||||
[fn: string]: unknown;
|
[fn: string]: unknown;
|
||||||
};
|
}>;
|
||||||
export default _;
|
export default _;
|
||||||
}
|
}
|
||||||
|
|
@ -6,17 +6,17 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <vec2.h>
|
#include <vec2.h>
|
||||||
|
|
||||||
#define TYPE_EMPTY 0
|
typedef enum : uint8_t {
|
||||||
#define TYPE_CIRCLE 1
|
TYPE_EMPTY = 0,
|
||||||
#define TYPE_PLANE 2
|
TYPE_CIRCLE = 1,
|
||||||
|
TYPE_PLANE = 2,
|
||||||
#define rb_get(idx) (rigid_bodies + (idx))
|
} body_type;
|
||||||
|
|
||||||
////////// Types
|
////////// Types
|
||||||
|
|
||||||
typedef struct rigid_body_t {
|
typedef struct {
|
||||||
// Public
|
// Public
|
||||||
uint8_t type;
|
body_type type;
|
||||||
uint8_t reserved[3];
|
uint8_t reserved[3];
|
||||||
vec2 pos;
|
vec2 pos;
|
||||||
vec2 vel;
|
vec2 vel;
|
||||||
|
|
@ -51,6 +51,10 @@ static rigid_body_collision_callback_t rigid_body_collision_callback = NULL;
|
||||||
|
|
||||||
////////// Functions
|
////////// Functions
|
||||||
|
|
||||||
|
inline static rigid_body* rb_get(rigid_body_index idx) {
|
||||||
|
return (rigid_bodies + (idx));
|
||||||
|
}
|
||||||
|
|
||||||
JS_EXPORT rigid_body* rigid_body_get(rigid_body_index idx) {
|
JS_EXPORT rigid_body* rigid_body_get(rigid_body_index idx) {
|
||||||
return rb_get(idx);
|
return rb_get(idx);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue