@scriptc/runtime 0.0.11 → 0.0.12
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/package.json +1 -1
- package/src/scr_assert.c +13 -13
- package/src/scr_async.c +5 -5
- package/src/scr_async_dyn.c +24 -24
- package/src/scr_bytes_io.c +5 -5
- package/src/scr_dc.c +8 -8
- package/src/scr_dgram.c +1 -1
- package/src/scr_dyn_handle.c +5 -5
- package/src/scr_dyn_invoke.c +15 -15
- package/src/scr_error.c +3 -3
- package/src/scr_events_emitter.c +1 -1
- package/src/scr_http.c +4 -4
- package/src/scr_http2.c +3 -3
- package/src/scr_inspect.c +3 -3
- package/src/scr_island.c +134 -25
- package/src/scr_json.c +103 -68
- package/src/scr_net.c +1 -1
- package/src/scr_qs.c +1 -1
- package/src/scr_runtime.h +144 -118
- package/src/scr_stream.c +4 -4
- package/src/scr_tls.c +3 -3
- package/src/scr_web.c +1 -1
package/src/scr_stream.c
CHANGED
|
@@ -786,7 +786,7 @@ static void scr_stream_resume_kick(ScrStream *s) {
|
|
|
786
786
|
* parameters implicitly-any: the compiler-emitted invoke thunks box the
|
|
787
787
|
* chunk/encoding/error into dyn, and the COMPLETION callback arrives as
|
|
788
788
|
* a callable dyn function whose glue lands here — arguments arrive as
|
|
789
|
-
* borrowed
|
|
789
|
+
* borrowed dyn values: the error is null/undefined (none), an
|
|
790
790
|
* error-shaped object ({message}), or a string; transform/flush data is
|
|
791
791
|
* bytes, a string, or absent. clo->caps[0] boxes the retained stream. */
|
|
792
792
|
|
|
@@ -870,7 +870,7 @@ ScrDyn *scr_stream_done_dyn_l(ScrClosure *clo, ScrDyn *const *args, size_t argc)
|
|
|
870
870
|
}
|
|
871
871
|
|
|
872
872
|
/* Checked-dynamic chunks (the JS lane's push/write of any-typed values):
|
|
873
|
-
* dispatch by
|
|
873
|
+
* dispatch by dyn tag — bytes copy out, strings convert utf8, null takes
|
|
874
874
|
* the null path (EOF for push; ERR_STREAM_NULL_VALUES for write), and
|
|
875
875
|
* anything else throws the write TypeError (Node would throw
|
|
876
876
|
* ERR_INVALID_ARG_TYPE — approximated by the same shape). Borrow d. */
|
|
@@ -1531,7 +1531,7 @@ void scr_stream_set_flush(ScrStream *s, ScrClosure *cb /*moves*/, ScrStreamPlain
|
|
|
1531
1531
|
* keys are ignored exactly like Node), and callback slots holding
|
|
1532
1532
|
* callable values (Node's `typeof === 'function'` guard — anything else
|
|
1533
1533
|
* leaves the slot to the prototype/fallback) bind as closures whose one
|
|
1534
|
-
* cap boxes the dyn callable; the invs below build the
|
|
1534
|
+
* cap boxes the dyn callable; the invs below build the dyn arguments the
|
|
1535
1535
|
* way the compiler-emitted dyn thunks do (chunk as Buffer-flavored bytes,
|
|
1536
1536
|
* encoding 'buffer', the error via the boundary encoding, the completion
|
|
1537
1537
|
* callback as a callable dyn over the *_done glue). Options that Node's
|
|
@@ -3038,7 +3038,7 @@ static void scr_stream_run_tick(ScrStreamTick *t) {
|
|
|
3038
3038
|
/* Fully closed: nothing calls the option callbacks again (Node's
|
|
3039
3039
|
* contract), so drop them here — this breaks the reference cycle
|
|
3040
3040
|
* a callback capturing its own stream forms, including the dyn-
|
|
3041
|
-
* options closures whose stream edge rides through a
|
|
3041
|
+
* options closures whose stream edge rides through a dyn function
|
|
3042
3042
|
* value the cycle collector cannot traverse. */
|
|
3043
3043
|
if (st->r.read_cb) { scr_closure_release(st->r.read_cb); st->r.read_cb = NULL; }
|
|
3044
3044
|
if (st->w.write_cb) { scr_closure_release(st->w.write_cb); st->w.write_cb = NULL; }
|
package/src/scr_tls.c
CHANGED
|
@@ -984,7 +984,7 @@ ScrHttpClientReq *scr_https_request(ScrStr *host /*borrowed*/, double port,
|
|
|
984
984
|
}
|
|
985
985
|
|
|
986
986
|
/* ── RUNTIME options records (the divergence-66 stance) ────────────────
|
|
987
|
-
* A non-literal options value — the checked-dynamic JS lane's
|
|
987
|
+
* A non-literal options value — the checked-dynamic JS lane's dyn record
|
|
988
988
|
* — reads its members at RUNTIME. Members the literal path lowers take
|
|
989
989
|
* the same lowering; members whose literal forms are compile fences
|
|
990
990
|
* become runtime gates that THROW the catchable fence instead of
|
|
@@ -1002,7 +1002,7 @@ static void scr_tls_opt_fence(const char *api, const char *key, const char *hint
|
|
|
1002
1002
|
scr_throw_error(SCR_ERR_ERROR, scr_jb_finish(&b));
|
|
1003
1003
|
}
|
|
1004
1004
|
|
|
1005
|
-
/* JS truthiness over the
|
|
1005
|
+
/* JS truthiness over the dyn kinds — Node reads requestCert /
|
|
1006
1006
|
* rejectUnauthorized through `if (options.x)`. */
|
|
1007
1007
|
static bool scr_tls_dyn_truthy(const ScrDyn *v) {
|
|
1008
1008
|
switch (v->kind) {
|
|
@@ -1219,7 +1219,7 @@ static bool scr_tls_opts_validate(const ScrDyn *opts) {
|
|
|
1219
1219
|
}
|
|
1220
1220
|
|
|
1221
1221
|
/* The server-options walk. Fills the cert/key out-params (+1 each) from a
|
|
1222
|
-
*
|
|
1222
|
+
* dyn options record; false = exception pending (partial results released). */
|
|
1223
1223
|
static bool scr_tls_srv_opts_walk(const ScrDyn *opts, const char *api, ScrBytes **cert_out,
|
|
1224
1224
|
ScrBytes **key_out) {
|
|
1225
1225
|
*cert_out = NULL;
|
package/src/scr_web.c
CHANGED
|
@@ -791,7 +791,7 @@ static const char web_prelude[] =
|
|
|
791
791
|
" [Symbol.iterator]() { return this.entries(); }\n"
|
|
792
792
|
" }\n"
|
|
793
793
|
"\n"
|
|
794
|
-
/* Event + EventTarget + CustomEvent — the
|
|
794
|
+
/* Event + EventTarget + CustomEvent — the dyn event plumbing Node
|
|
795
795
|
* exposes as globals since v15. Synchronous dispatch on one target
|
|
796
796
|
* (no tree, no phases — composedPath answers []), once/capture-shaped
|
|
797
797
|
* options accepted, handleEvent objects honored, dispatchEvent
|