jstringify v0.0.3
jstringify
jstringify adalah utilitas JSON.stringify() JavaScript. Mendukung tipe data primitif, tipe data kompleks seperti array, object, Map, dan Set, serta menangani referensi siklik secara otomatis.
Instalasi
npm install jstringifyAPI
jstringify
Parameter
value(wajib):
Nilai yang akan dibuat.
Tipe:any.space(opsional):
Jumlah spasi untuk indentasi dalam format JSON-like. Nilai default adalah0(tidak ada indentasi).
Tipe:number.level(opsional):
Tingkat indentasi saat ini. Nilai ini digunakan secara internal oleh fungsi rekursif. Default adalah0.
Tipe:number.seen(opsional):
Set yang melacak referensi object yang telah diproses untuk mendeteksi siklus. Default adalahSetkosong.
Tipe:Set.
Fitur
Mendukung tipe data berikut:
nullstringnumberbooleanbigintDateSymbolfunctionMapSetArrayObject
Penanganan siklus referensi: Jika terdapat referensi siklik pada object, nilai
"[Circular]"akan dimasukkan.Indentasi fleksibel: Parameter
spacemenentukan jumlah spasi untuk indentasi yang menyerupai format JSON. Jikaspace = 0, hasilnya akan dalam satu baris tanpa spasi tambahan.Konversi property kompleks:
- Object diubah menjadi pasangan kunci-nilai.
- Map diubah menjadi format
{key:value}. - Set diubah menjadi format
[value1,value2,...].
writeFile
Parameter
filePath(wajib): Lokasi file tempat data akan ditulis.data(wajib): Object atau data yang akan ditulis ke file.space(opsional): Jumlah spasi untuk indentasi dalam file JSON (default:0).
readFile
Parameter
filePath(wajib): Lokasi file JSON yang akan dibaca.
Contoh Penggunaan
// esm
import { jstringify } from 'jstringify'
// commonjs
const { jstringify } = require('jstringify')
const file = './data.json'
const obj = {
name: 'Salman',
timestamp: new Date(),
largeNumber: 1234567890123456768n,
symbolKey: Symbol('unique'),
map: new Map([['key', 'value']]),
set: new Set([1, 2, 3]),
greet: () => 'Hello',
}
jstringify.writeFile(file, obj, 2)
console.log(jstringify.readFile(file))
console.log(jstringify(obj, 2))
const a = {}
const b = { a }
a.b = b
console.log(jstringify(a, 2))
const data = { nama: 'Salman' }
const data2 = { negara: 'Indonesia' }
data.tempat_tinggal = data2
console.log(jstringify(data, 2))Catatan: Tidak mendukung property non-enumerable atau getter.