Hacemos un parser de JSON en TypeScript (y sin librerías) just for fun!
Si sabés TypeScript, esta es una gran forma de acercarte a la programación funcional.
En este primer video creamos un parser de null y booleano y aprovechamos para aprender un poco sobre map. En particular vemos:
0:00 ● ¿Por qué hacer un parser de JSON en TypeScript?
1:12 ● Cómo usar el repositorio (https://github.com/dggluz/ts-json-parser)
2:04 ● ¿Qué es un parser?
3:44 ● Definiendo JSON
6:07 ● Definiendo nuestro Parser
7:44 ● Primera aproximación al nullParser
8:59 ■ Parseando null al comienzo del string
11:30 ■ Devolviendo una tupla, con el texto que todavía no parseamos
15:05 ■ Contemplando los errores en tipo de retorno
17:03 ■ Maybe, Either, MayFail
18:43 ■ Implementando MayFail
26:00 ■ parserS
28:35 ■ Parser parametrizado en el tipo
30:00 ■ Refactor
33:46 ● mapParser
34:05 ■ Investigando el map de los arrays
37:12 ■ El tipo del map de los arrays
40:11 ■ Los tipos de mapTuplaS, de mapFunctionS y de mapMayFail
42:17 ■ Implementando mapTuplaS
44:03 ■ Implementando mapMayFail
48:08 ■ Implementando mapFunctionS
49:42 ■ Implementando mapParser
54:42 ● Constructor de JsonNull
57:08 ● booleanParser
57:46 ■ falseParser y trueParser
58:42 ■ Constructor de JsonBoolean
1:01:49 ■ Fix en parserS
1:02:58 ■ orP
1:08:06 ■ parserS: parser de strings literales
1:10:02 ● jsonParser
1:11:26 ● anyP
1:14:36 ■ Sobrecarga del tipo de anyP
Te recomiendo ver el video en 1.5x o 2x, pero frenando siempre que no entiendas algo. ;)
Podés bajarte el código de este video de acá: https://github.com/dggluz/ts-json-parser
El video "inspiración" (de Tsoding, haciendo un parser de JSON en haskell) es éste: • JSON Parser 100% From Scratch in Haskell (...
Perdón por la ubicación de la cámara! El software que usé para grabar no me dejó elegir la ubicación. Voy a intentar corregirlo para la próxima para que no tape la consola.
Y perdón por la cara de sueño, también lo voy a corregir para la próxima!