-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: edge case when separator is whitespace and there are whitespaces…
… within the objects
- Loading branch information
1 parent
ef9a919
commit 818578f
Showing
17 changed files
with
170 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,4 +10,4 @@ export { | |
TokenParserMode, | ||
type StackElement, | ||
TokenType, | ||
} from "https://deno.land/x/[email protected].19/index.ts"; | ||
} from "https://deno.land/x/[email protected].20/index.ts"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ import { | |
type TransformOptions, | ||
type TransformCallback, | ||
} from "stream"; | ||
import { JSONParser, type JSONParserOptions } from "https://deno.land/x/[email protected].19/index.ts"; | ||
import { JSONParser, type JSONParserOptions } from "https://deno.land/x/[email protected].20/index.ts"; | ||
|
||
export default class JSONParserTransform extends Transform { | ||
private jsonParser: JSONParser; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,7 @@ import { | |
} from "stream"; | ||
import Tokenizer, { | ||
type TokenizerOptions, | ||
} from "https://deno.land/x/[email protected].19/tokenizer.ts"; | ||
} from "https://deno.land/x/[email protected].20/tokenizer.ts"; | ||
|
||
export default class TokenizerTransform extends Transform { | ||
private tokenizer: Tokenizer; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ import { | |
type TransformOptions, | ||
type TransformCallback, | ||
} from "stream"; | ||
import { TokenParser, type TokenParserOptions } from "https://deno.land/x/[email protected].19/index.ts"; | ||
import { TokenParser, type TokenParserOptions } from "https://deno.land/x/[email protected].20/index.ts"; | ||
|
||
export default class TokenParserTransform extends Transform { | ||
private tokenParser: TokenParser; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ Fast dependency-free library to parse a JSON stream using utf-8 encoding in Node | |
*tldr;* | ||
|
||
```javascript | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const parser = new JSONParser(); | ||
parser.onValue = ({ value }) => { /* process data */ }; | ||
|
@@ -52,7 +52,7 @@ If you are targeting browsers or systems in which these might be missing, you ne | |
A JSON compliant tokenizer that parses a utf-8 stream into JSON tokens | ||
|
||
```javascript | ||
import { Tokenizer } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { Tokenizer } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const tokenizer = new Tokenizer(opts); | ||
``` | ||
|
@@ -165,7 +165,7 @@ A drop-in replacement of `JSONparse` (with few ~~breaking changes~~ improvements | |
|
||
|
||
```javascript | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const parser = new JSONParser(); | ||
``` | ||
|
@@ -225,7 +225,7 @@ You push data using the `write` method which takes a string or an array-like obj | |
You can subscribe to the resulting data using the | ||
|
||
```javascript | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const parser = new JSONParser({ stringBufferSize: undefined, paths: ['$'] }); | ||
parser.onValue = console.log; | ||
|
@@ -243,7 +243,7 @@ parser.write('"');// logs "Hello world!" | |
Write is always a synchronous operation so any error during the parsing of the stream will be thrown during the write operation. After an error, the parser can't continue parsing. | ||
|
||
```javascript | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const parser = new JSONParser({ stringBufferSize: undefined }); | ||
parser.onValue = console.log; | ||
|
@@ -258,7 +258,7 @@ try { | |
You can also handle errors using callbacks: | ||
|
||
```javascript | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const parser = new JSONParser({ stringBufferSize: undefined }); | ||
parser.onValue = console.log; | ||
|
@@ -296,7 +296,7 @@ Imagine an endpoint that send a large amount of JSON objects one after the other | |
Imagine an endpoint that send a large amount of JSON objects one after the other (`[{"id":1},{"id":2},{"id":3},...]`). | ||
|
||
```js | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const jsonparser = new JSONParser({ stringBufferSize: undefined, paths: ['$.*'] }); | ||
jsonparser.onValue = ({ value, key, parent, stack }) => { | ||
|
@@ -317,7 +317,7 @@ Imagine an endpoint that send a large amount of JSON objects one after the other | |
Imagine an endpoint that send a large amount of JSON objects one after the other (`"Once upon a midnight <...>"`). | ||
|
||
```js | ||
import { JSONParser } from "https://deno.land/x/[email protected].19/index.ts";/ | ||
import { JSONParser } from "https://deno.land/x/[email protected].20/index.ts";/ | ||
|
||
const jsonparser = new JSONParser({ emitPartialTokens: true, emitPartialValues: true }); | ||
jsonparser.onValue = ({ value, key, parent, stack, partial }) => { | ||
|
@@ -366,7 +366,7 @@ jsonparser.onValue = (value, key, parent, stack) => { | |
|
||
## License | ||
|
||
See [LICENSE.md]. | ||
See [LICENSE.md](../../LICENSE). | ||
|
||
[npm-version-badge]: https://badge.fury.io/js/@streamparser%2Fjson.svg | ||
[npm-badge-url]: https://www.npmjs.com/package/@streamparser/json | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,4 +10,4 @@ export { | |
TokenParserMode, | ||
type StackElement, | ||
TokenType, | ||
} from "https://deno.land/x/[email protected].19/index.ts"; | ||
} from "https://deno.land/x/[email protected].20/index.ts"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
import { JSONParser, type JSONParserOptions } from "https://deno.land/x/[email protected].19/index.ts"; | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].19/utils/types/parsedElementInfo.ts"; | ||
import { JSONParser, type JSONParserOptions } from "https://deno.land/x/[email protected].20/index.ts"; | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].20/utils/types/parsedElementInfo.ts"; | ||
import { cloneParsedElementInfo } from "./utils.ts"; | ||
|
||
class JSONParserTransformer | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
import Tokenizer, { | ||
type TokenizerOptions, | ||
} from "https://deno.land/x/[email protected].19/tokenizer.ts"; | ||
import type { ParsedTokenInfo } from "https://deno.land/x/[email protected].19/utils/types/parsedTokenInfo.ts"; | ||
} from "https://deno.land/x/[email protected].20/tokenizer.ts"; | ||
import type { ParsedTokenInfo } from "https://deno.land/x/[email protected].20/utils/types/parsedTokenInfo.ts"; | ||
|
||
class TokenizerTransformer | ||
extends Tokenizer | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
import { TokenParser, type TokenParserOptions } from "https://deno.land/x/[email protected].19/index.ts"; | ||
import type { ParsedTokenInfo } from "https://deno.land/x/[email protected].19/utils/types/parsedTokenInfo.ts"; | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].19/utils/types/parsedElementInfo.ts"; | ||
import { TokenParser, type TokenParserOptions } from "https://deno.land/x/[email protected].20/index.ts"; | ||
import type { ParsedTokenInfo } from "https://deno.land/x/[email protected].20/utils/types/parsedTokenInfo.ts"; | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].20/utils/types/parsedElementInfo.ts"; | ||
import { cloneParsedElementInfo } from "./utils.ts"; | ||
|
||
class TokenParserTransformer | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].19/utils/types/parsedElementInfo.ts"; | ||
import type { ParsedElementInfo } from "https://deno.land/x/[email protected].20/utils/types/parsedElementInfo.ts"; | ||
|
||
export function cloneParsedElementInfo( | ||
parsedElementInfo: ParsedElementInfo, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters