diff --git a/011.md b/011.md index fcd82a8..42466bb 100644 --- a/011.md +++ b/011.md @@ -6,7 +6,7 @@ Date: 2023-07-16 License: CC0-1.0 -URL: [```https://github.com/ssbc/sips/blob/master/XXX.md```](https://github.com/ssbc/sips/blob/master/XXX.md) +URL: [```https://github.com/ssbc/sips/blob/master/011.md```](https://github.com/ssbc/sips/blob/master/011.md) ## Abstract diff --git a/011/spec-fixtures.json b/011/spec-fixtures.json new file mode 100644 index 0000000..16ac73d --- /dev/null +++ b/011/spec-fixtures.json @@ -0,0 +1,135 @@ +[ + { + "name": "num literal: 100", + "json": "313030", + "binary": "2264000000", + "tinySSB": false + }, + { + "name": "num literal: 100", + "json": "313030", + "binary": "0a64", + "tinySSB": true + }, + { + "name": "num literal: 0", + "json": "30", + "binary": "2200000000", + "tinySSB": false + }, + { + "name": "num literal: 0", + "json": "30", + "binary": "0a00", + "tinySSB": true + }, + { + "name": "num literal: 1", + "json": "31", + "binary": "2201000000", + "tinySSB": false + }, + { + "name": "num literal: 1", + "json": "31", + "binary": "0a01", + "tinySSB": true + }, + { + "name": "num literal: -1", + "json": "2d31", + "binary": "22ffffffff", + "tinySSB": false + }, + { + "name": "num literal: -1", + "json": "2d31", + "binary": "22ffffffff", + "tinySSB": true + }, + { + "name": "double literal: 1.234", + "json": "312e323334", + "binary": "435839b4c876bef33f" + }, + { + "name": "bool literal: true", + "json": "74727565", + "binary": "0e01" + }, + { + "name": "bool literal: false", + "json": "66616c7365", + "binary": "0e00" + }, + { + "name": "literal: null", + "json": "6e756c6c", + "binary": "06" + }, + { + "name": "empty string", + "json": "2222", + "binary": "00" + }, + { + "name": "empty array []", + "json": "5b5d", + "binary": "04" + }, + { + "name": "empty object {}", + "json": "7b7d", + "binary": "05" + }, + { + "name": "array of numberse 1 to 9", + "json": "5b312c322c332c342c352c362c372c382c395d", + "binary": "ec02220100000022020000002203000000220400000022050000002206000000220700000022080000002209000000", + "tinySSB": false + }, + { + "name": "array of numberse 1 to 9", + "json": "5b312c322c332c342c352c362c372c382c395d", + "binary": "94010a010a020a030a040a050a060a070a080a09", + "tinySSB": true + }, + { + "name": "string: hello", + "json": "2268656c6c6f22", + "binary": "2868656c6c6f" + }, + { + "name": "string: möterhead", + "json": "226dc3b67465726865616422", + "binary": "506dc3b674657268656164" + }, + { + "name": "object with on key-value pair", + "json": "7b22666f6f223a747275657d", + "binary": "3518666f6f0e01" + }, + { + "name": "array with various types", + "json": "5b2d312c7b22666f6f223a747275657d2c7b2274797065223a22427566666572222c2264617461223a5b3232322c3137332c3139302c3233395d7d5d", + "binary": "ac0322ffffffff3518666f6f0e01bd022074797065304275666665722064617461a40122de00000022ad00000022be00000022ef000000", + "tinySSB": false + }, + { + "name": "array with various types", + "json": "5b2d312c7b22666f6f223a747275657d2c7b2274797065223a22427566666572222c2264617461223a5b3232322c3137332c3139302c3233395d7d5d", + "binary": "c40222ffffffff3518666f6f0e01d5012074797065304275666665722064617461440ade0aad0abe0aef", + "tinySSB": true + }, + { + "name": "package.json", + "json": "7b226e616d65223a2262697066222c226465736372697074696f6e223a2262696e61727920696e2d706c61636520666f726d6174222c2276657273696f6e223a22312e352e31222c22686f6d6570616765223a2268747470733a2f2f6769746875622e636f6d2f737362632f62697066222c227265706f7369746f7279223a7b2274797065223a22676974222c2275726c223a226769743a2f2f6769746875622e636f6d2f737362632f626970662e676974227d2c22646570656e64656e63696573223a7b22766172696e74223a225e352e302e30227d2c22646576446570656e64656e63696573223a7b2266616b6572223a225e352e352e31222c2274617065223a225e342e392e30227d2c2273637269707473223a7b2274657374223a226e6f646520746573742f696e6465782e6a73202626206e6f646520746573742f636f6d706172652e6a73202626206e6f646520746573742f66697874757265732e6a73227d2c22617574686f72223a22446f6d696e69632054617272203c646f6d696e69632e7461727240676d61696c2e636f6d3e2028687474703a2f2f646f6d696e6963746172722e636f6d29222c226c6963656e7365223a224d4954227d", + "binary": "dd18206e616d652062697066586465736372697074696f6eb00162696e61727920696e2d706c61636520666f726d61743876657273696f6e28312e352e3140686f6d6570616765e00168747470733a2f2f6769746875622e636f6d2f737362632f62697066507265706f7369746f7279ed022074797065186769741875726cf0016769743a2f2f6769746875622e636f6d2f737362632f626970662e67697460646570656e64656e636965737530766172696e74305e352e302e3078646576446570656e64656e63696573cd012866616b6572305e352e352e312074617065305e342e392e303873637269707473d504207465737498046e6f646520746573742f696e6465782e6a73202626206e6f646520746573742f636f6d706172652e6a73202626206e6f646520746573742f66697874757265732e6a7330617574686f72f003446f6d696e69632054617272203c646f6d696e69632e7461727240676d61696c2e636f6d3e2028687474703a2f2f646f6d696e6963746172722e636f6d29386c6963656e7365184d4954" + }, + { + "name": "{\"1\":true}", + "json": "7b2231223a747275657d", + "binary": "2508310e01" + } + ] + \ No newline at end of file