@2bttns/formatter
v1.2.4
Published
Convert JSON data into a format readable by the 2bttns Console.
Downloads
35
Readme
Game Object Formatter
Convert JSON data into a format readable by the 2bttns Console.
Usage
npx @2bttns/formatter
✔ What do you want to do? · Format data for 2bttns Console
✔ 📁 Enter the path of the input JSON file: · unformatted-data/genres.json
✔ 🔍 Select the path in JSON where the data to be converted is located: · genres
✔ ⭐️ Which key in your JSON corresponds to "id" with value type "string"?
👉 Enter "none" if none exists. · id
✔ ⭐️ Which key in your JSON corresponds to "name" with value type "string"?
👉 Enter "none" if none exists. · name
✔ ⭐️ Which key in your JSON corresponds to "description" with value type "string"?
👉 Enter "none" if none exists. · none
✔ ⭐️ Which key in your JSON corresponds to "tagIds" with value type "object"?
👉 Enter "none" if none exists. · none
✔ 📁 Enter the path where you want to save the output JSON file (e.g., /your/path/name/): · /Users/admin/Desktop/2bttns Company
✅ Output JSON file saved successfully! ✅
Format data for 2bttns Console
will guide you through mapping your JSON and generating a ready to upload file.
Get ready-to-upload json data
will download already formatted Game Objects available in the formatter.
# Ready to upload json data
? Select the JSON file you want to output from the /formatted-data folder: …
❯ ready-car-considerations.json
ready-chords.json
ready-indoorActivities.json
ready-outdoorActivities.json
Table of Contents
Warnin
The Tags section at the bottom of the output JSON is currently set to have empty strings for
id
,name
, anddescription
fields. As a result, a new Tag object will be generated in the Console.
Game Objects Model
The script converts any size JSON into the data model below.
Your JSON must contain a
name
equivalent field. These values are loaded as choices within your Game buttons.Fields not represented in the Game Objects model are ignored. See Example for more information.
const outputShape: OutputShape = {
gameObjects: [
{
id: '',
name: '',
description: '',
tagIds: []
}
],
tags: [
{
id: '',
name: '',
description: ''
}
]
};
Interface Type
interface GameObject {
id: string;
name: string;
description: string;
tagIds: string[];
[key: string]: any;
}
Example
Here's an example of the input JSON:
{
"chords": [
{
"name": "C Major",
"notes": ["C", "E", "G"]
},
{
"name": "C Minor",
"notes": ["C", "Eb", "G"]
},
{
"name": "D Major",
"notes": ["D", "F#", "A"]
},
...
]
}
And here's the resulting output JSON:
{
"gameObjects": [
{
"id": "cljgvm1w00000679s2l9a5zql",
"name": "C Major",
"description": "",
"tagIds": []
},
{
"id": "cljgvm1w10001679sdppzbk1p",
"name": "C Minor",
"description": "",
"tagIds": []
},
{
"id": "cljgvm1w10002679sda2j6i75",
"name": "D Major",
"description": "",
"tagIds": []
},
...
],
"tags": [
{
"id": "",
"name": "",
"description": ""
}
]
}
Upload to Console
Now your new json is ready to be uploaded.
- Locate your converted data inside
output
. - Open your Console
- Navigate to Game Objects
- Click Actions then Import from JSON
- Upload the
ready-for-upload.json
file and click Confirm.
Your Game Objects are now ready to be Tagged!
License
This project is licensed under the MIT License.