@mikrojs/native 0.6.0-pr-72.g464c29c → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CMakeLists.txt +3 -1
- package/include/mikrojs/mikrojs.h +2 -1
- package/include/mikrojs/private.h +3 -0
- package/package.json +4 -2
- package/prebuilds/darwin-arm64/mikrojs.napi.node +0 -0
- package/prebuilds/linux-arm64/mikrojs.napi.node +0 -0
- package/prebuilds/linux-x64/mikrojs.napi.node +0 -0
- package/runtime/ble/ble.ts +6 -8
- package/runtime/ble/types.ts +7 -14
- package/runtime/internal.d.ts +8 -2
- package/runtime/observable/lazy.ts +39 -0
- package/runtime/observable/native-observable.node-shim.ts +220 -0
- package/runtime/observable/observable.ts +1 -0
- package/runtime/observable/operators.ts +144 -0
- package/runtime/observable/types.ts +80 -0
- package/runtime/udp/types.ts +15 -2
- package/runtime/udp/udp.ts +45 -9
- package/runtime/wifi/types.ts +8 -17
- package/runtime/wifi/wifi.ts +7 -28
- package/src/mik_app_config.cpp +4 -1
- package/src/mik_observable.cpp +950 -0
- package/src/mik_repl.cpp +9 -4
- package/src/mikrojs.cpp +1 -0
package/src/mik_repl.cpp
CHANGED
|
@@ -104,7 +104,10 @@ bool mik__proto_read_exact(MIKReplTransport* transport, void* buf, size_t n) {
|
|
|
104
104
|
return false;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
/* Microtasks are deferred user JS: settling them re-enters .then
|
|
108
|
+
* handlers that can write to the transport (console.log → MSG_LOG)
|
|
109
|
+
* or touch the filesystem mid-deploy. Gate on pause too. */
|
|
110
|
+
if (repl_ctx && !repl_paused) {
|
|
108
111
|
mik__execute_jobs(repl_ctx);
|
|
109
112
|
}
|
|
110
113
|
/* A pumped job (e.g. the test runtime's __testFileDone) may
|
|
@@ -1109,12 +1112,14 @@ void MIK_ProtocolServeLoop(void) {
|
|
|
1109
1112
|
}
|
|
1110
1113
|
}
|
|
1111
1114
|
|
|
1112
|
-
/* Pump event loop between commands
|
|
1113
|
-
*
|
|
1115
|
+
/* Pump event loop between commands. Skip both timers/callbacks AND
|
|
1116
|
+
* microtasks when paused — draining microtasks runs user .then
|
|
1117
|
+
* handlers, which can interleave MSG_LOG output with deploy traffic
|
|
1118
|
+
* or race the staged-file swap. */
|
|
1114
1119
|
if (repl_mik_rt && !repl_paused) {
|
|
1115
1120
|
MIK_Loop(repl_mik_rt);
|
|
1116
1121
|
}
|
|
1117
|
-
if (ctx) {
|
|
1122
|
+
if (ctx && !repl_paused) {
|
|
1118
1123
|
mik__execute_jobs(ctx);
|
|
1119
1124
|
}
|
|
1120
1125
|
}
|
package/src/mikrojs.cpp
CHANGED
|
@@ -317,6 +317,7 @@ MIKRuntime* MIK_NewRuntimeInternal(MIKRunOptions* options) {
|
|
|
317
317
|
mik__result_init(ctx);
|
|
318
318
|
mik__cbor_init(ctx);
|
|
319
319
|
mik__udp_init(ctx);
|
|
320
|
+
mik__observable_init(ctx);
|
|
320
321
|
|
|
321
322
|
/* Native mikrojs modules (replace bytecode builtins) */
|
|
322
323
|
mik__inspect_register(ctx);
|