mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 11:52:19 +00:00
Merge branch 'main' into builtin-task
This commit is contained in:
commit
f61b303a59
82 changed files with 2661 additions and 5699 deletions
|
@ -1,18 +0,0 @@
|
|||
app "test"
|
||||
imports [TotallyNotJson]
|
||||
provides [main] to "./platform"
|
||||
|
||||
HelloWorld := {} implements [Encoding {toEncoder}]
|
||||
|
||||
toEncoder = \@HelloWorld {} ->
|
||||
Encode.custom \bytes, fmt ->
|
||||
bytes
|
||||
|> Encode.appendWith (Encode.string "Hello, World!\n") fmt
|
||||
|
||||
f =
|
||||
when Str.fromUtf8 (Encode.toBytes (@HelloWorld {}) TotallyNotJson.json) is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
||||
main = f
|
||||
# ^ Str
|
|
@ -0,0 +1,66 @@
|
|||
app "test"
|
||||
imports []
|
||||
provides [main] to "./platform"
|
||||
|
||||
OnlyStrEncoder := {} implements [Encode.EncoderFormatting {
|
||||
u8: encodeU8,
|
||||
u16: encodeU16,
|
||||
u32: encodeU32,
|
||||
u64: encodeU64,
|
||||
u128: encodeU128,
|
||||
i8: encodeI8,
|
||||
i16: encodeI16,
|
||||
i32: encodeI32,
|
||||
i64: encodeI64,
|
||||
i128: encodeI128,
|
||||
f32: encodeF32,
|
||||
f64: encodeF64,
|
||||
dec: encodeDec,
|
||||
bool: encodeBool,
|
||||
string: encodeString,
|
||||
list: encodeList,
|
||||
record: encodeRecord,
|
||||
tuple: encodeTuple,
|
||||
tag: encodeTag,
|
||||
}]
|
||||
|
||||
encodeNothing = Encode.custom \bytes, @OnlyStrEncoder {} -> bytes
|
||||
encodeU8 = \_n -> encodeNothing
|
||||
encodeU16 = \_n -> encodeNothing
|
||||
encodeU32 = \_n -> encodeNothing
|
||||
encodeU64 = \_n -> encodeNothing
|
||||
encodeU128 = \_n -> encodeNothing
|
||||
encodeI8 = \_n -> encodeNothing
|
||||
encodeI16 = \_n -> encodeNothing
|
||||
encodeI32 = \_n -> encodeNothing
|
||||
encodeI64 = \_n -> encodeNothing
|
||||
encodeI128 = \_n -> encodeNothing
|
||||
encodeF32 = \_n -> encodeNothing
|
||||
encodeF64 = \_n -> encodeNothing
|
||||
encodeDec = \_n -> encodeNothing
|
||||
encodeBool = \_b -> encodeNothing
|
||||
encodeString = \str -> Encode.custom \bytes, @OnlyStrEncoder {} -> List.concat bytes (Str.toUtf8 str)
|
||||
encodeList : List elem, (elem -> Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeList = \_lst, _encodeElem -> encodeNothing
|
||||
encodeRecord : List {key: Str, value: Encoder OnlyStrEncoder} -> Encoder OnlyStrEncoder
|
||||
encodeRecord = \_fields -> encodeNothing
|
||||
encodeTuple : List (Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeTuple = \_elems -> encodeNothing
|
||||
encodeTag : Str, List (Encoder OnlyStrEncoder) -> Encoder OnlyStrEncoder
|
||||
encodeTag = \_name, _payload -> encodeNothing
|
||||
|
||||
|
||||
HelloWorld := {} implements [Encoding {toEncoder}]
|
||||
|
||||
toEncoder = \@HelloWorld {} ->
|
||||
Encode.custom \bytes, fmt ->
|
||||
bytes
|
||||
|> Encode.appendWith (Encode.string "Hello, World!\n") fmt
|
||||
|
||||
f =
|
||||
when Str.fromUtf8 (Encode.toBytes (@HelloWorld {}) (@OnlyStrEncoder {})) is
|
||||
Ok s -> s
|
||||
_ -> "<bad>"
|
||||
|
||||
main = f
|
||||
# ^ Str
|
Loading…
Add table
Add a link
Reference in a new issue