mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-02 00:25:34 +08:00
feat: add static async iteration parity (#328)
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
"tiers": {
|
||||
"static": {
|
||||
"replace-refusal": 73,
|
||||
"verify-gap": 2759,
|
||||
"audit-partial": 379,
|
||||
"verify-gap": 2756,
|
||||
"audit-partial": 382,
|
||||
"classify": 3,
|
||||
"implement": 89
|
||||
},
|
||||
@@ -80003,12 +80003,15 @@
|
||||
"priority": "high",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:stream",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:stream.readable",
|
||||
"tests": [
|
||||
"tests/corpus/1746-stream-for-await.ts",
|
||||
"tests/corpus/2861-readable-iterator-close.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
@@ -80102,12 +80105,15 @@
|
||||
"priority": "high",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:stream",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:stream.readable.iterator",
|
||||
"tests": [
|
||||
"tests/corpus/1746-stream-for-await.ts",
|
||||
"tests/corpus/2861-readable-iterator-close.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
@@ -102830,12 +102836,14 @@
|
||||
"priority": "high",
|
||||
"tiers": {
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"action": "verify-gap",
|
||||
"verification": "registry-gap",
|
||||
"confidence": "low",
|
||||
"source": "compiler-unmatched:webstreams",
|
||||
"tests": []
|
||||
"status": "partial",
|
||||
"action": "audit-partial",
|
||||
"verification": "test-backed",
|
||||
"confidence": "high",
|
||||
"source": "compiler-feature:webstreams.readableStream.values",
|
||||
"tests": [
|
||||
"tests/corpus/2862-web-readable-async-iteration.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
|
||||
@@ -1107,9 +1107,9 @@
|
||||
"apiEntries": 137,
|
||||
"static": {
|
||||
"supported": 0,
|
||||
"partial": 31,
|
||||
"partial": 33,
|
||||
"refused": 0,
|
||||
"not-implemented": 106,
|
||||
"not-implemented": 104,
|
||||
"by-design": 0,
|
||||
"unreviewed": 0,
|
||||
"not-applicable": 0
|
||||
@@ -1443,9 +1443,9 @@
|
||||
"apiEntries": 88,
|
||||
"static": {
|
||||
"supported": 0,
|
||||
"partial": 2,
|
||||
"partial": 3,
|
||||
"refused": 2,
|
||||
"not-implemented": 84,
|
||||
"not-implemented": 83,
|
||||
"by-design": 0,
|
||||
"unreviewed": 0,
|
||||
"not-applicable": 0
|
||||
@@ -93874,7 +93874,9 @@
|
||||
"tests": [
|
||||
"tests/corpus/1685-stream-readable-basics.ts",
|
||||
"tests/corpus/1688-stream-writable-basics.ts",
|
||||
"tests/corpus/1814-stream-pipeline.cjs"
|
||||
"tests/corpus/1746-stream-for-await.ts",
|
||||
"tests/corpus/1814-stream-pipeline.cjs",
|
||||
"tests/corpus/2861-readable-iterator-close.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
@@ -96610,8 +96612,12 @@
|
||||
"inherited": true
|
||||
},
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:stream"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:stream.readable",
|
||||
"tests": [
|
||||
"tests/corpus/1746-stream-for-await.ts",
|
||||
"tests/corpus/2861-readable-iterator-close.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
@@ -96691,8 +96697,12 @@
|
||||
"inherited": true
|
||||
},
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:stream"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:stream.readable.iterator",
|
||||
"tests": [
|
||||
"tests/corpus/1746-stream-for-await.ts",
|
||||
"tests/corpus/2861-readable-iterator-close.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
@@ -120156,6 +120166,7 @@
|
||||
"status": "partial",
|
||||
"evidence": "derived:descendants",
|
||||
"tests": [
|
||||
"tests/corpus/2862-web-readable-async-iteration.ts",
|
||||
"tests/harness/fetch-conformance.test.ts"
|
||||
]
|
||||
},
|
||||
@@ -120675,8 +120686,11 @@
|
||||
"inherited": true
|
||||
},
|
||||
"static": {
|
||||
"status": "not-implemented",
|
||||
"evidence": "compiler-unmatched:webstreams"
|
||||
"status": "partial",
|
||||
"evidence": "compiler-feature:webstreams.readableStream.values",
|
||||
"tests": [
|
||||
"tests/corpus/2862-web-readable-async-iteration.ts"
|
||||
]
|
||||
},
|
||||
"dynamic": {
|
||||
"status": "not-implemented",
|
||||
|
||||
@@ -596,6 +596,9 @@ function publicDetail(tier) {
|
||||
if (source.startsWith("compiler-feature:")) {
|
||||
if (tier.status === "not-applicable") return "Node configuration or documentation that does not map to a compiled program API.";
|
||||
if (tier.status === "not-implemented") return "Not implemented in scriptc's static module-loader subset yet.";
|
||||
if (source.startsWith("compiler-feature:stream.") || source.startsWith("compiler-feature:webstreams.")) {
|
||||
return "Implemented for the documented static async-iteration subset.";
|
||||
}
|
||||
return "Implemented for the documented scriptc module-loader subset.";
|
||||
}
|
||||
if (source.startsWith("compiler-chapter-policy:")) {
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
"syntax.await-using-declarations": ["tests/corpus/2842-await-using.ts"],
|
||||
"syntax.for-using-of": ["tests/corpus/2845-for-using-of.ts"],
|
||||
"syntax.finally-abrupt-completions": ["tests/corpus/2840-finally-completions.ts"],
|
||||
"syntax.for-await-readable-streams": ["tests/corpus/2861-readable-iterator-close.ts", "tests/corpus/2862-web-readable-async-iteration.ts"],
|
||||
"syntax.for-await-class-async-iterators": ["tests/corpus/2863-class-async-iterator.ts"],
|
||||
"node-builtin.assert": ["tests/corpus/1600-assert-passing.ts", "tests/corpus/1609-assert-async.ts"],
|
||||
"node-builtin.async_hooks": ["tests/corpus/2213-async-local-storage.cjs"],
|
||||
"node-builtin.buffer": ["tests/corpus/1402-buffer-encodings.ts", "tests/corpus/1660-buffer-read-write-num.ts"],
|
||||
@@ -54,7 +56,7 @@
|
||||
"node-builtin.process": ["tests/corpus/990-process-basics.ts", "tests/corpus/2314-process-introspection.ts"],
|
||||
"node-builtin.querystring": ["tests/corpus/957-builtins-namespace.ts"],
|
||||
"node-builtin.readline": ["tests/corpus/1475-readline-closed-stdin.ts"],
|
||||
"node-builtin.stream": ["tests/corpus/1685-stream-readable-basics.ts", "tests/corpus/1814-stream-pipeline.cjs", "tests/corpus/2629-stream-consumers.ts"],
|
||||
"node-builtin.stream": ["tests/corpus/1685-stream-readable-basics.ts", "tests/corpus/1746-stream-for-await.ts", "tests/corpus/1814-stream-pipeline.cjs", "tests/corpus/2629-stream-consumers.ts", "tests/corpus/2861-readable-iterator-close.ts"],
|
||||
"node-builtin.string_decoder": ["tests/corpus/1662-string-decoder-encodings.ts"],
|
||||
"node-builtin.test": ["tests/harness/node-test.test.ts"],
|
||||
"node-builtin.timers": ["tests/corpus/1804-timers-module.ts", "tests/corpus/2093-timers-promises.ts"],
|
||||
@@ -88,6 +90,8 @@
|
||||
{ "chapter": "fs", "signatures": ["`filehandle[Symbol.asyncDispose]()`"], "status": "partial", "evidence": ["tests/corpus/2844-node-disposable-resources.ts"] },
|
||||
{ "chapter": "readline", "signatures": ["`rl[Symbol.dispose]()`"], "status": "partial", "evidence": ["tests/corpus/2844-node-disposable-resources.ts"] },
|
||||
{ "chapter": "timers", "signatures": ["`immediate[Symbol.dispose]()`", "`timeout[Symbol.dispose]()`"], "status": "partial", "evidence": ["tests/corpus/2844-node-disposable-resources.ts"] },
|
||||
{ "chapter": "stream", "signatures": ["`readable[Symbol.asyncIterator]()`", "`readable.iterator([options])`"], "status": "partial", "evidence": ["tests/corpus/1746-stream-for-await.ts", "tests/corpus/2861-readable-iterator-close.ts"] },
|
||||
{ "chapter": "webstreams", "signatures": ["`readableStream.values([options])`"], "status": "partial", "evidence": ["tests/corpus/2862-web-readable-async-iteration.ts"] },
|
||||
{ "chapter": "typescript", "symbols": ["type"], "status": "supported", "evidence": ["tests/corpus/2702-type-import-link-static/main.ts", "tests/corpus/2703-type-import-link-static-reexport/main.ts", "tests/corpus/2704-type-import-link-static-success/main.ts", "tests/corpus/2707-type-import-link-static-default-reexport/main.ts", "tests/harness/errors.test.ts"] }
|
||||
],
|
||||
"dedicated": [
|
||||
|
||||
Reference in New Issue
Block a user