41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
var nota = this
|
|
|
|
var json = use('json')
|
|
|
|
var encode = nota.encode
|
|
|
|
function nota_tostring()
|
|
{
|
|
return json.encode(nota.decode(this))
|
|
}
|
|
|
|
var nota_obj = {
|
|
toString: nota_tostring
|
|
}
|
|
|
|
nota.encode = function(obj, replacer)
|
|
{
|
|
var result = encode(obj,replacer)
|
|
result.toString = nota_tostring
|
|
return result
|
|
}
|
|
|
|
nota.encode[cell.DOC] = `Convert a JavaScript value into a NOTA-encoded ArrayBuffer.
|
|
|
|
This function serializes JavaScript values (such as numbers, strings, booleans, arrays, objects, or ArrayBuffers) into the NOTA binary format. The resulting ArrayBuffer can be stored or transmitted and later decoded back into a JavaScript value.
|
|
|
|
:param value: The JavaScript value to encode (e.g., number, string, boolean, array, object, or ArrayBuffer).
|
|
:return: An ArrayBuffer containing the NOTA-encoded data.
|
|
:throws: An error if no argument is provided.
|
|
`
|
|
|
|
nota.decode[cell.DOC] = `Decode a NOTA-encoded ArrayBuffer into a JavaScript value.
|
|
|
|
This function deserializes a NOTA-formatted ArrayBuffer into its corresponding JavaScript representation, such as a number, string, boolean, array, object, or ArrayBuffer. If the input is invalid or empty, it returns null.
|
|
|
|
:param buffer: An ArrayBuffer containing NOTA-encoded data to decode.
|
|
:return: The decoded JavaScript value (e.g., number, string, boolean, array, object, or ArrayBuffer), or null if no argument is provided.
|
|
`
|
|
|
|
return nota
|