json-brook 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/es/index.js +3 -1
- package/dist/lib/index.js +6 -2
- package/dist/types/index.d.ts +108 -1
- package/package.json +1 -1
- package/dist/es/internal.js +0 -564
- package/dist/es/type.js +0 -0
- package/dist/lib/internal.js +0 -592
- package/dist/lib/type.js +0 -18
- package/dist/types/internal-2ae957fd.d.ts +0 -108
- package/dist/types/internal.d.ts +0 -1
- package/dist/types/type.d.ts +0 -1
package/CHANGELOG.md
CHANGED
package/dist/es/index.js
CHANGED
package/dist/lib/index.js
CHANGED
|
@@ -20,7 +20,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
|
-
createJsonBrook: () => createJsonBrook
|
|
23
|
+
createJsonBrook: () => createJsonBrook,
|
|
24
|
+
createParser: () => createParser,
|
|
25
|
+
createTokenize: () => createTokenize
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(src_exports);
|
|
26
28
|
|
|
@@ -644,5 +646,7 @@ function createJsonBrook() {
|
|
|
644
646
|
}
|
|
645
647
|
// Annotate the CommonJS export names for ESM import in node:
|
|
646
648
|
0 && (module.exports = {
|
|
647
|
-
createJsonBrook
|
|
649
|
+
createJsonBrook,
|
|
650
|
+
createParser,
|
|
651
|
+
createTokenize
|
|
648
652
|
});
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,4 +4,111 @@ declare function createJsonBrook(): {
|
|
|
4
4
|
end: () => void;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
type SymbolValue = '{' | '}' | '[' | ']' | ':' | ',';
|
|
8
|
+
type SymbolToken = {
|
|
9
|
+
type: 'Symbol';
|
|
10
|
+
value: SymbolValue;
|
|
11
|
+
};
|
|
12
|
+
type KeywordValue = 'true' | 'false' | 'null';
|
|
13
|
+
type KeywordToken = {
|
|
14
|
+
type: 'Keyword';
|
|
15
|
+
value: boolean | null;
|
|
16
|
+
};
|
|
17
|
+
type KeywordCurrent = {
|
|
18
|
+
type: 'Keyword';
|
|
19
|
+
value: KeywordValue;
|
|
20
|
+
matchedIndex: number;
|
|
21
|
+
};
|
|
22
|
+
declare enum StringState {
|
|
23
|
+
Normal = 0,
|
|
24
|
+
Escape = 1
|
|
25
|
+
}
|
|
26
|
+
type StringToken = {
|
|
27
|
+
type: 'String';
|
|
28
|
+
value: string;
|
|
29
|
+
};
|
|
30
|
+
type StringCurrent = {
|
|
31
|
+
type: 'String';
|
|
32
|
+
state: StringState;
|
|
33
|
+
value: string;
|
|
34
|
+
escapeIndex: number;
|
|
35
|
+
};
|
|
36
|
+
declare enum NumberState {
|
|
37
|
+
Negative = 1,
|
|
38
|
+
Zero = 2,
|
|
39
|
+
Digit = 3,
|
|
40
|
+
Point = 4,
|
|
41
|
+
DigitFraction = 5,
|
|
42
|
+
Exp = 6,
|
|
43
|
+
ExpDigitOrSign = 7
|
|
44
|
+
}
|
|
45
|
+
type NumberToken = {
|
|
46
|
+
type: 'Number';
|
|
47
|
+
value: number;
|
|
48
|
+
};
|
|
49
|
+
type NumberCurrent = {
|
|
50
|
+
type: 'Number';
|
|
51
|
+
state: NumberState;
|
|
52
|
+
value: string;
|
|
53
|
+
passed: boolean;
|
|
54
|
+
};
|
|
55
|
+
type Token = SymbolToken | KeywordToken | StringToken | NumberToken;
|
|
56
|
+
declare function createTokenize(): {
|
|
57
|
+
write: (char: string) => Token | Token[] | null;
|
|
58
|
+
end: () => NumberToken | null;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
type RootNode = {
|
|
62
|
+
type: 'Root';
|
|
63
|
+
current: ObjectNode | ArrayNode | LiteralNode | null;
|
|
64
|
+
};
|
|
65
|
+
type LiteralNode = {
|
|
66
|
+
type: 'Literal';
|
|
67
|
+
value: string | number | boolean | null;
|
|
68
|
+
};
|
|
69
|
+
declare enum ArrayNodeState {
|
|
70
|
+
Start = 0,
|
|
71
|
+
Value = 1,
|
|
72
|
+
Comma = 2
|
|
73
|
+
}
|
|
74
|
+
type ArrayNode = {
|
|
75
|
+
type: 'Array';
|
|
76
|
+
children: (LiteralNode | ArrayNode | ObjectNode)[];
|
|
77
|
+
state: ArrayNodeState;
|
|
78
|
+
parent: RootNode | ArrayNode | PropertyNode;
|
|
79
|
+
current: ArrayNode | ObjectNode | null;
|
|
80
|
+
};
|
|
81
|
+
type IdentifierNode = {
|
|
82
|
+
type: 'Identifier';
|
|
83
|
+
value: string;
|
|
84
|
+
};
|
|
85
|
+
declare enum PropertyNodeState {
|
|
86
|
+
Key = 0,
|
|
87
|
+
Colon = 1,
|
|
88
|
+
Value = 2
|
|
89
|
+
}
|
|
90
|
+
type PropertyNode = {
|
|
91
|
+
type: 'Property';
|
|
92
|
+
key: IdentifierNode;
|
|
93
|
+
current: LiteralNode | ArrayNode | ObjectNode | null;
|
|
94
|
+
state: PropertyNodeState;
|
|
95
|
+
parent: ObjectNode;
|
|
96
|
+
};
|
|
97
|
+
declare enum ObjectNodeState {
|
|
98
|
+
Start = 0,
|
|
99
|
+
Property = 1,
|
|
100
|
+
Comma = 2
|
|
101
|
+
}
|
|
102
|
+
type ObjectNode = {
|
|
103
|
+
type: 'Object';
|
|
104
|
+
children: PropertyNode[];
|
|
105
|
+
state: ObjectNodeState;
|
|
106
|
+
parent: RootNode | ArrayNode | PropertyNode;
|
|
107
|
+
current: PropertyNode | null;
|
|
108
|
+
};
|
|
109
|
+
declare function createParser(): {
|
|
110
|
+
getRoot: () => LiteralNode | ArrayNode | ObjectNode | null;
|
|
111
|
+
write: (token: Token) => void;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export { type ArrayNode, ArrayNodeState, type IdentifierNode, type KeywordCurrent, type KeywordToken, type KeywordValue, type LiteralNode, type NumberCurrent, NumberState, type NumberToken, type ObjectNode, ObjectNodeState, type PropertyNode, PropertyNodeState, type RootNode, type StringCurrent, StringState, type StringToken, type SymbolToken, type SymbolValue, type Token, createJsonBrook, createParser, createTokenize };
|