├── .github └── workflows │ └── ci.yml ├── .gitignore ├── DESIGN.md ├── LICENSE ├── README.md ├── bench-optimized.dhall ├── bench-optimized.mjs ├── bench.dhall ├── bench ├── Codec │ └── Benchmarks │ │ ├── DecodeADTs.purs │ │ ├── DecodeArrayOfInts.purs │ │ ├── Decoders │ │ ├── Benchmark.purs │ │ ├── EitherErrA.purs │ │ ├── EitherListStringA.purs │ │ ├── EitherStringA.purs │ │ └── MaybeA.purs │ │ ├── EncodeArrayOfInts.purs │ │ └── Utils.purs ├── Main.purs ├── README.md └── results │ ├── decode--approaches--array-of-ints_optimized.json │ ├── decode--approaches--array-of-ints_optimized.svg │ ├── decode--approaches--array-of-ints_unoptimized.json │ ├── decode--approaches--array-of-ints_unoptimized.svg │ ├── decode--array-of-ints_optimized.json │ ├── decode--array-of-ints_optimized.svg │ ├── decode--array-of-ints_unoptimized.json │ ├── decode--array-of-ints_unoptimized.svg │ ├── decode--minute-changes--array-of-ints_optimized.json │ ├── decode--minute-changes--array-of-ints_optimized.svg │ ├── decode--minute-changes--array-of-ints_unoptimized.json │ ├── decode--minute-changes--array-of-ints_unoptimized.svg │ ├── decode--nested-adt_optimized.json │ ├── decode--nested-adt_optimized.svg │ ├── decode--nested-adt_unoptimized.json │ ├── decode--nested-adt_unoptimized.svg │ ├── encode--array-of-ints_optimized.json │ ├── encode--array-of-ints_optimized.svg │ ├── encode--array-of-ints_unoptimized.json │ └── encode--array-of-ints_unoptimized.svg ├── package.json ├── packages.dhall ├── snapshots.dhall ├── snapshots ├── Snapshot │ ├── FromRecordInlines-snapshot.js │ ├── FromRecordInlines.purs │ ├── FromRecordNInlines-snapshot.js │ ├── FromRecordNInlines.purs │ ├── ToRecordInlines-snapshot.js │ ├── ToRecordInlines.purs │ ├── ToRecordNInlines-snapshot.js │ └── ToRecordNInlines.purs └── Test │ └── Snapshot.purs ├── spago.dhall ├── src └── Codec │ └── Json │ └── Unidirectional │ ├── Value.purs │ └── Value │ └── SortRowList.purs ├── test.dhall └── test ├── Test ├── Codec │ └── Json │ │ └── Unidirectional │ │ └── Value.purs └── Main.purs └── test-output.txt /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/.gitignore -------------------------------------------------------------------------------- /DESIGN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/DESIGN.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/README.md -------------------------------------------------------------------------------- /bench-optimized.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench-optimized.dhall -------------------------------------------------------------------------------- /bench-optimized.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench-optimized.mjs -------------------------------------------------------------------------------- /bench.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench.dhall -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/DecodeADTs.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/DecodeADTs.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/DecodeArrayOfInts.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/DecodeArrayOfInts.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Decoders/Benchmark.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Decoders/Benchmark.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Decoders/EitherErrA.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Decoders/EitherErrA.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Decoders/EitherListStringA.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Decoders/EitherListStringA.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Decoders/EitherStringA.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Decoders/EitherStringA.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Decoders/MaybeA.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Decoders/MaybeA.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/EncodeArrayOfInts.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/EncodeArrayOfInts.purs -------------------------------------------------------------------------------- /bench/Codec/Benchmarks/Utils.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Codec/Benchmarks/Utils.purs -------------------------------------------------------------------------------- /bench/Main.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/Main.purs -------------------------------------------------------------------------------- /bench/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/README.md -------------------------------------------------------------------------------- /bench/results/decode--approaches--array-of-ints_optimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--approaches--array-of-ints_optimized.json -------------------------------------------------------------------------------- /bench/results/decode--approaches--array-of-ints_optimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--approaches--array-of-ints_optimized.svg -------------------------------------------------------------------------------- /bench/results/decode--approaches--array-of-ints_unoptimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--approaches--array-of-ints_unoptimized.json -------------------------------------------------------------------------------- /bench/results/decode--approaches--array-of-ints_unoptimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--approaches--array-of-ints_unoptimized.svg -------------------------------------------------------------------------------- /bench/results/decode--array-of-ints_optimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--array-of-ints_optimized.json -------------------------------------------------------------------------------- /bench/results/decode--array-of-ints_optimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--array-of-ints_optimized.svg -------------------------------------------------------------------------------- /bench/results/decode--array-of-ints_unoptimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--array-of-ints_unoptimized.json -------------------------------------------------------------------------------- /bench/results/decode--array-of-ints_unoptimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--array-of-ints_unoptimized.svg -------------------------------------------------------------------------------- /bench/results/decode--minute-changes--array-of-ints_optimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--minute-changes--array-of-ints_optimized.json -------------------------------------------------------------------------------- /bench/results/decode--minute-changes--array-of-ints_optimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--minute-changes--array-of-ints_optimized.svg -------------------------------------------------------------------------------- /bench/results/decode--minute-changes--array-of-ints_unoptimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--minute-changes--array-of-ints_unoptimized.json -------------------------------------------------------------------------------- /bench/results/decode--minute-changes--array-of-ints_unoptimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--minute-changes--array-of-ints_unoptimized.svg -------------------------------------------------------------------------------- /bench/results/decode--nested-adt_optimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--nested-adt_optimized.json -------------------------------------------------------------------------------- /bench/results/decode--nested-adt_optimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--nested-adt_optimized.svg -------------------------------------------------------------------------------- /bench/results/decode--nested-adt_unoptimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--nested-adt_unoptimized.json -------------------------------------------------------------------------------- /bench/results/decode--nested-adt_unoptimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/decode--nested-adt_unoptimized.svg -------------------------------------------------------------------------------- /bench/results/encode--array-of-ints_optimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/encode--array-of-ints_optimized.json -------------------------------------------------------------------------------- /bench/results/encode--array-of-ints_optimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/encode--array-of-ints_optimized.svg -------------------------------------------------------------------------------- /bench/results/encode--array-of-ints_unoptimized.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/encode--array-of-ints_unoptimized.json -------------------------------------------------------------------------------- /bench/results/encode--array-of-ints_unoptimized.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/bench/results/encode--array-of-ints_unoptimized.svg -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/package.json -------------------------------------------------------------------------------- /packages.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/packages.dhall -------------------------------------------------------------------------------- /snapshots.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots.dhall -------------------------------------------------------------------------------- /snapshots/Snapshot/FromRecordInlines-snapshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/FromRecordInlines-snapshot.js -------------------------------------------------------------------------------- /snapshots/Snapshot/FromRecordInlines.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/FromRecordInlines.purs -------------------------------------------------------------------------------- /snapshots/Snapshot/FromRecordNInlines-snapshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/FromRecordNInlines-snapshot.js -------------------------------------------------------------------------------- /snapshots/Snapshot/FromRecordNInlines.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/FromRecordNInlines.purs -------------------------------------------------------------------------------- /snapshots/Snapshot/ToRecordInlines-snapshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/ToRecordInlines-snapshot.js -------------------------------------------------------------------------------- /snapshots/Snapshot/ToRecordInlines.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/ToRecordInlines.purs -------------------------------------------------------------------------------- /snapshots/Snapshot/ToRecordNInlines-snapshot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/ToRecordNInlines-snapshot.js -------------------------------------------------------------------------------- /snapshots/Snapshot/ToRecordNInlines.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Snapshot/ToRecordNInlines.purs -------------------------------------------------------------------------------- /snapshots/Test/Snapshot.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/snapshots/Test/Snapshot.purs -------------------------------------------------------------------------------- /spago.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/spago.dhall -------------------------------------------------------------------------------- /src/Codec/Json/Unidirectional/Value.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/src/Codec/Json/Unidirectional/Value.purs -------------------------------------------------------------------------------- /src/Codec/Json/Unidirectional/Value/SortRowList.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/src/Codec/Json/Unidirectional/Value/SortRowList.purs -------------------------------------------------------------------------------- /test.dhall: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/test.dhall -------------------------------------------------------------------------------- /test/Test/Codec/Json/Unidirectional/Value.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/test/Test/Codec/Json/Unidirectional/Value.purs -------------------------------------------------------------------------------- /test/Test/Main.purs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/test/Test/Main.purs -------------------------------------------------------------------------------- /test/test-output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JordanMartinez/purescript-json-codecs/HEAD/test/test-output.txt --------------------------------------------------------------------------------