- x in someSet → someSet.has(x) - x in someMap.keys → someMap.has(x) - x notIn someMap.keys → !someMap.has(x) - m[k] → m.get(k) for Map state variables - s.size() → s.size (property, not method) - Track Map-typed state variables via mapVarNames for accurate .get() translation - Thread mapVarNames through emitAction and rewriteExpr All 41 tests passing. TigerBeetleLedger now generates correct TypeScript with .get() for Map access and .has() for Set membership. Part of M0.1: Fix TS generator bugs (speckl#18)
113 lines
No EOL
2.5 KiB
JSON
113 lines
No EOL
2.5 KiB
JSON
{
|
|
"@context": [
|
|
"https://spdx.github.io/spdx-v3/spdx-context.jsonld",
|
|
{
|
|
"speckl": "https://speckl.scoble.me/ns/v0.2#"
|
|
}
|
|
],
|
|
"@type": "spdx:Document",
|
|
"spdx": {
|
|
"@id": "spdx:RetryHandler",
|
|
"@type": "spdx:Snippet",
|
|
"name": "RetryHandler",
|
|
"spdxVersion": "3.0.1",
|
|
"dataLicense": "CC0-1.0",
|
|
"creationInfo": {
|
|
"created": "2026-05-10T05:07:15.426Z",
|
|
"createdBy": [
|
|
"Organization: Speckl",
|
|
"tool: speckl-compile-0.2.0"
|
|
]
|
|
},
|
|
"annotations": [
|
|
{
|
|
"@type": "spdx:Annotation",
|
|
"annotationType": "spdx:REVIEW",
|
|
"annotator": {
|
|
"@type": "spdx:Tool",
|
|
"name": "speckl-compile"
|
|
},
|
|
"timestamp": "2026-05-10T05:07:15.427Z",
|
|
"comment": "Review type: manual"
|
|
}
|
|
]
|
|
},
|
|
"builtBy": [],
|
|
"relationships": [
|
|
{
|
|
"from": {
|
|
"@id": "spdx:RetryHandler"
|
|
},
|
|
"to": {
|
|
"@id": "spdx:speck:FaultHandler"
|
|
},
|
|
"relationshipType": "spdx:derivesFrom"
|
|
},
|
|
{
|
|
"from": {
|
|
"@id": "spdx:RetryHandler"
|
|
},
|
|
"to": {
|
|
"@id": "spdx:requirement:RESILIENCE-REQ-01"
|
|
},
|
|
"relationshipType": "speckl:satisfies",
|
|
"additionalProperties": [
|
|
{
|
|
"name": "speckl:clause",
|
|
"value": "3.1.2"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"from": {
|
|
"@id": "spdx:RetryHandler"
|
|
},
|
|
"to": {
|
|
"@id": "spdx:requirement:RESILIENCE-REQ-02"
|
|
},
|
|
"relationshipType": "speckl:satisfies"
|
|
},
|
|
{
|
|
"from": {
|
|
"@id": "spdx:RetryHandler"
|
|
},
|
|
"to": {
|
|
"@id": "spdx:agent:Scott Scoble"
|
|
},
|
|
"relationshipType": "spdx:wasAttributedTo"
|
|
},
|
|
{
|
|
"from": {
|
|
"@id": "spdx:RetryHandler"
|
|
},
|
|
"to": {
|
|
"@id": "spdx:source:architecture_review:AR-2024-0215"
|
|
},
|
|
"relationshipType": "spdx:wasInformedBy"
|
|
}
|
|
],
|
|
"elements": [
|
|
{
|
|
"@type": "spdx:Requirement",
|
|
"@id": "spdx:requirement:RESILIENCE-REQ-01",
|
|
"name": "RESILIENCE-REQ-01"
|
|
},
|
|
{
|
|
"@type": "spdx:Requirement",
|
|
"@id": "spdx:requirement:RESILIENCE-REQ-02",
|
|
"name": "RESILIENCE-REQ-02"
|
|
},
|
|
{
|
|
"@type": "spdx:Person",
|
|
"@id": "spdx:agent:Scott Scoble",
|
|
"name": "Scott Scoble",
|
|
"email": "scott@scoble.me"
|
|
},
|
|
{
|
|
"@type": "spdx:Activity",
|
|
"@id": "spdx:source:architecture_review:AR-2024-0215",
|
|
"name": "architecture_review - AR-2024-0215",
|
|
"type": "architecture_review"
|
|
}
|
|
]
|
|
} |