Skip to content

Instantly share code, notes, and snippets.

@mathjazz
Last active December 18, 2017 16:02
Show Gist options
  • Select an option

  • Save mathjazz/faa372dab5beb50e2b5e3ecb4d7a0d1f to your computer and use it in GitHub Desktop.

Select an option

Save mathjazz/faa372dab5beb50e2b5e3ecb4d7a0d1f to your computer and use it in GitHub Desktop.
A few examples of FTL Messages represented as JSONified ASTs
# Example 1:
{
"comment": null,
"span": {
"start": 0,
"end": 42,
"type": "Span"
},
"tags": [],
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 8,
"end": 42,
"type": "Span"
},
"value": "O lokalizaciji12saasdasdasd3asd123"
}],
"span": {
"start": 8,
"end": 42,
"type": "Span"
}
},
"annotations": [],
"attributes": [],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 5,
"type": "Span"
},
"name": "title"
}
}
# Example 2:
{
"comment": null,
"span": {
"start": 0,
"end": 219,
"type": "Span"
},
"tags": [],
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 28,
"end": 219,
"type": "Span"
},
"value": "1Your participation in Firefox Test Pilot means\n123Your participation in Firefox Test Pilot means\n2a lot! Please check out our other experiments,\n3and stay tuned for more to come!"
}],
"span": {
"start": 23,
"end": 219,
"type": "Span"
}
},
"annotations": [],
"attributes": [],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 21,
"type": "Span"
},
"name": "feedbackUninstallCopy"
}
}
# Example 3:
{
"comment": null,
"span": {
"start": 0,
"end": 38,
"type": "Span"
},
"tags": [],
"value": null,
"annotations": [],
"attributes": [{
"type": "Attribute",
"span": {
"start": 20,
"end": 38,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 21,
"end": 32,
"type": "Span"
},
"name": "placeholder"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 35,
"end": 38,
"type": "Span"
},
"value": "123"
}],
"span": {
"start": 35,
"end": 38,
"type": "Span"
}
}
}],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 15,
"type": "Span"
},
"name": "emailOptInInput"
}
}
# Example 4:
{
"comment": null,
"span": {
"start": 0,
"end": 45,
"type": "Span"
},
"tags": [],
"value": null,
"annotations": [],
"attributes": [{
"type": "Attribute",
"span": {
"start": 14,
"end": 26,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 15,
"end": 20,
"type": "Span"
},
"name": "label"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 23,
"end": 26,
"type": "Span"
},
"value": "123"
}],
"span": {
"start": 23,
"end": 26,
"type": "Span"
}
}
}, {
"type": "Attribute",
"span": {
"start": 31,
"end": 45,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 32,
"end": 41,
"type": "Span"
},
"name": "accesskey"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 44,
"end": 45,
"type": "Span"
},
"value": "1"
}],
"span": {
"start": 44,
"end": 45,
"type": "Span"
}
}
}],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 9,
"type": "Span"
},
"name": "file-menu"
}
}
# Example 5:
{
"comment": null,
"span": {
"start": 0,
"end": 123,
"type": "Span"
},
"tags": [],
"value": {
"type": "Pattern",
"elements": [{
"span": {
"start": 21,
"end": 123,
"type": "Span"
},
"expression": {
"span": {
"start": 22,
"end": 122,
"type": "Span"
},
"variants": [{
"default": false,
"type": "Variant",
"span": {
"start": 39,
"end": 52,
"type": "Span"
},
"key": {
"type": "Symbol",
"span": {
"start": 40,
"end": 43,
"type": "Span"
},
"name": "one"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 45,
"end": 52,
"type": "Span"
},
"value": "asda123"
}],
"span": {
"start": 45,
"end": 52,
"type": "Span"
}
}
}, {
"default": false,
"type": "Variant",
"span": {
"start": 61,
"end": 73,
"type": "Span"
},
"key": {
"type": "Symbol",
"span": {
"start": 62,
"end": 65,
"type": "Span"
},
"name": "two"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 67,
"end": 73,
"type": "Span"
},
"value": "dasdas"
}],
"span": {
"start": 67,
"end": 73,
"type": "Span"
}
}
}, {
"default": false,
"type": "Variant",
"span": {
"start": 82,
"end": 94,
"type": "Span"
},
"key": {
"type": "Symbol",
"span": {
"start": 83,
"end": 86,
"type": "Span"
},
"name": "few"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 88,
"end": 94,
"type": "Span"
},
"value": "adsasd"
}],
"span": {
"start": 88,
"end": 94,
"type": "Span"
}
}
}, {
"default": true,
"type": "Variant",
"span": {
"start": 102,
"end": 117,
"type": "Span"
},
"key": {
"type": "Symbol",
"span": {
"start": 104,
"end": 109,
"type": "Span"
},
"name": "other"
},
"value": {
"type": "Pattern",
"elements": [{
"type": "TextElement",
"span": {
"start": 111,
"end": 117,
"type": "Span"
},
"value": "adsdas"
}],
"span": {
"start": 111,
"end": 117,
"type": "Span"
}
}
}],
"expression": {
"type": "ExternalArgument",
"span": {
"start": 23,
"end": 27,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 24,
"end": 27,
"type": "Span"
},
"name": "num"
}
},
"type": "SelectExpression"
},
"type": "Placeable"
}],
"span": {
"start": 21,
"end": 123,
"type": "Span"
}
},
"annotations": [],
"attributes": [],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 18,
"type": "Span"
},
"name": "delete-all-message"
}
}
# Example 6:
{
"comment": null,
"span": {
"start": 0,
"end": 124,
"type": "Span"
},
"tags": [],
"value": {
"type": "Pattern",
"elements": [{
"span": {
"start": 22,
"end": 108,
"type": "Span"
},
"expression": {
"span": {
"start": 24,
"end": 106,
"type": "Span"
},
"args": [{
"type": "StringExpression",
"span": {
"start": 29,
"end": 55,
"type": "Span"
},
"value": "Nadgradite123 Firefox123"
}, {
"type": "NamedArgument",
"span": {
"start": 57,
"end": 105,
"type": "Span"
},
"name": {
"type": "Identifier",
"span": {
"start": 57,
"end": 62,
"type": "Span"
},
"name": "title"
},
"val": {
"type": "StringExpression",
"span": {
"start": 64,
"end": 105,
"type": "Span"
},
"value": "Nova razli\u010dica Firefoxa je na voljo123!"
}
}],
"callee": {
"type": "Function",
"span": null,
"name": "LINK"
},
"type": "CallExpression"
},
"type": "Placeable"
}, {
"type": "TextElement",
"span": {
"start": 108,
"end": 124,
"type": "Span"
},
"value": "\nza za\u010detek."
}],
"span": {
"start": 17,
"end": 124,
"type": "Span"
}
},
"annotations": [],
"attributes": [],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 15,
"type": "Span"
},
"name": "warning-upgrade"
}
}
# Example 7:
{
"comment": null,
"span": {
"start": 0,
"end": 64,
"type": "Span"
},
"tags": [],
"value": null,
"annotations": [],
"attributes": [{
"type": "Attribute",
"span": {
"start": 34,
"end": 64,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 35,
"end": 40,
"type": "Span"
},
"name": "label"
},
"value": {
"type": "Pattern",
"elements": [{
"span": {
"start": 43,
"end": 51,
"type": "Span"
},
"expression": {
"type": "ExternalArgument",
"span": {
"start": 45,
"end": 49,
"type": "Span"
},
"id": {
"type": "Identifier",
"span": {
"start": 46,
"end": 49,
"type": "Span"
},
"name": "num"
}
},
"type": "Placeable"
}, {
"type": "TextElement",
"span": {
"start": 51,
"end": 64,
"type": "Span"
},
"value": " (123default)"
}],
"span": {
"start": 43,
"end": 64,
"type": "Span"
}
}
}],
"type": "Message",
"id": {
"type": "Identifier",
"span": {
"start": 0,
"end": 29,
"type": "Span"
},
"name": "default-content-process-count"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment