From e7e67e4bb9d9a83d76018fb4068228b116bdb380 Mon Sep 17 00:00:00 2001 From: Cubester Date: Sat, 3 May 2025 21:20:51 -0400 Subject: [PATCH] `feat`: Tables (currently broken) (scratch-parser) --- lib/sb3_definitions.json | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/lib/sb3_definitions.json b/lib/sb3_definitions.json index 1c37a14a..d9b3e692 100644 --- a/lib/sb3_definitions.json +++ b/lib/sb3_definitions.json @@ -128,6 +128,18 @@ ], "additionalItems": false }, + "table": { + "type": "array", + "items": [ + {"type":"string", "description": "name of the table"}, + { + "type": "array", + "description": "contents of the table", + "items": {"$ref":"#/definitions/scalarVal"} + } + ], + "additionalItems": false + }, "broadcast_message": { "type": "string", "description": "the message being broadcasted" @@ -212,10 +224,27 @@ "minItems": 3, "maxItems": 5 }, + "table_primitive": { + "type": "array", + "items": [ + { + "type": "number", + "enum": [14] + }, + {"type": "string", "description": "table name"}, + {"type": "string", "description": "table id"} + ], + "additionalItems": { + "type": "number" + }, + "minItems": 3, + "maxItems": 5 + }, "topLevelPrimitive": { "oneOf": [ {"$ref":"#/definitions/variable_primitive"}, - {"$ref":"#/definitions/list_primitive"} + {"$ref":"#/definitions/list_primitive"}, + {"$ref":"#/definitions/table_primitive"} ] }, "inputPrimitive": { @@ -225,7 +254,8 @@ {"$ref":"#/definitions/text_primitive"}, {"$ref":"#/definitions/broadcast_primitive"}, {"$ref":"#/definitions/variable_primitive"}, - {"$ref":"#/definitions/list_primitive"} + {"$ref":"#/definitions/list_primitive"}, + {"$ref":"#/definitions/table_primitive"} ] }, "block": { @@ -419,6 +449,10 @@ "type": "object", "additionalProperties": {"$ref":"#/definitions/list"} }, + "tables": { + "type": "object", + "additionalProperties": {"$ref":"#/definitions/table"} + }, "broadcasts": { "type": "object", "additionalProperties": {"$ref":"#/definitions/broadcast_message"}