json-stream-analyzer
A library to analyze JSON streams and find structural issues in the stream's schema
Disclaimer
This tool is currently designed for internal use only. There is no guarantee on maintenance, or stability, of the API of the tool. It may change at any point, without warning, and without following proper semver.
Standard usage
import { SimpleTagModel } from '@algolia/json-stream-analyzer/models';
const model = new SimpleTagModel({
tag: (record) => record.objectID
});
const records = [
{
objectID: 1,
title: 'How to build a performant library?',
prices: {
hardcover: 52,
ebook: 10,
},
},
{
objectID: 3,
title: 'Mastering the art of example in 12 steps',
description:
'The description and prices.hardcover fields are missing in some records and prices.ebook has multiple types',
prices: {
ebook: '10$',
},
},
];
records.forEach(model.addToModel);
console.log(JSON.stringify(model.schema, null, 2));
const diagnostics = model.diagnose();
model.diagnoseRecord({
objectID: 1,
title: 'How to build a performant library?',
prices: {
hardcover: 52,
ebook: 10,
},
});