2.1.0 • Published 5 years ago
json-to-ast v2.1.0
JSON AST parser
Install
> npm install json-to-ast
Usage
const parse = require('json-to-ast');
const settings = {
// Appends location information. Default is <true>
loc: true,
// Appends source information to node’s location. Default is <null>
source: 'data.json'
};
parse('{"a": 1}', settings);
Output
{
type: 'Object',
children: [
{
type: 'Property',
key: {
type: 'Identifier',
value: 'a',
raw: '"a"',
loc: {
start: { line: 1, column: 2, offset: 1 },
end: { line: 1, column: 5, offset: 4 },
source: 'data.json'
}
},
value: {
type: 'Literal',
value: 1,
raw: '1',
loc: {
start: { line: 1, column: 7, offset: 6 },
end: { line: 1, column: 8, offset: 7 },
source: 'data.json'
}
},
loc: {
start: { line: 1, column: 2, offset: 1 },
end: { line: 1, column: 8, offset: 7 },
source: 'data.json'
}
}
],
loc: {
start: { line: 1, column: 1, offset: 0 },
end: { line: 1, column: 9, offset: 8 },
source: 'data.json'
}
}
Node types
Object:
{
type: 'Object',
children: <Property>[],
loc?: Object
}
Property:
{
type: 'Property',
key: <Identifier>,
value: Object | Array | <Literal>,
loc?: Object
}
Identifier:
{
type: 'Identifier',
value: string,
raw: string,
loc?: Object
}
Array:
{
type: 'Array',
children: (Object | Array | <Literal>)[],
loc?: Object
}
Literal:
{
type: 'Literal',
value: string | number | boolean | null,
raw: string,
loc?: Object
}
AST explorer
Try it online on astexplorer.net
License
MIT
0.0.1
5 years ago
2.1.0
5 years ago
2.0.7
5 years ago
2.0.6
5 years ago
2.0.5
6 years ago
2.0.4
6 years ago
2.0.3
6 years ago
2.0.2
7 years ago
2.0.1
7 years ago
2.0.0
7 years ago
2.0.0-alpha1.3
7 years ago
2.0.0-alpha1.2
7 years ago
2.0.0-alpha1.1
7 years ago
2.0.0-alpha1
7 years ago
1.2.15
7 years ago
1.2.14
7 years ago
1.2.13
8 years ago
1.2.12
8 years ago
1.2.11
8 years ago
1.2.10
8 years ago
1.2.8
8 years ago
1.2.4
8 years ago
1.2.1
8 years ago
1.2.0
8 years ago
1.1.0
8 years ago
1.0.290
8 years ago
1.0.281
8 years ago
1.0.280
8 years ago
1.0.270
8 years ago
1.0.260
8 years ago
1.0.255
8 years ago
1.0.250
8 years ago
1.0.247
8 years ago
1.0.246
8 years ago
1.0.245
8 years ago
1.0.244
8 years ago
1.0.243
8 years ago
1.0.242
8 years ago
1.0.241
8 years ago
1.0.24
8 years ago
1.0.23
8 years ago
1.0.22
8 years ago
1.0.2
8 years ago
1.0.1
8 years ago
1.0.0
8 years ago