Hello there, this is my weekly report about my work. In this report, I will show what I did this past week. I will also show what I intend to do in the next week. let’s get started.
That’s what is done
- I finished writing jsondecode function on my repository. The function now passes all the tests in the test suite. The function now decodes:
- null values in non-numeric arrays
- null values in numeric arrays
- Boolean values
- Numeric values
- String values
- Array of booleans
- Array of numbers
- Array of strings
- JSON objects
- Array of objects — Same field names
- Array of objects — Different field names
- Array — elements that are of different data types
How to compile and run tests on the code
Right now, the code is treated as an external *.oct file. The integration of the code into Octave’s build system will be done at the end of the project. This is how to compile it:
- “cd” into “libinterp/corefcn” in your Octave’s code base directory
- run “mkoctfile” command using the file name (jsondecode.cc) as an argument
Octave test files are provided for each function. You can run the one that tests jsondecode in the “libinterp/corefcn” directory by running this command:
The log file “log.txt” in “test/json” in your Octave’s code base directory will have the data of the failed tests.
What I intend to do
- Add the “ReplacementStyle” and “Prefix” options for the function.
- Put the final touches on jsondecode function after taking feedback from the community.
- Start writing jsonencode.
That’s it for this week. See you next one.