Skip to content

Commit eccc13f

Browse files
committed
Update docs and clean-up
1 parent 429422b commit eccc13f

File tree

10 files changed

+159
-194
lines changed

10 files changed

+159
-194
lines changed

lib/node_modules/@stdlib/regexp/reviver/README.md

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ limitations under the License.
2020

2121
# reviveRegExp
2222

23-
> Revive a JSON-serialized [regular expression][regexp].
23+
> Revive a JSON-serialized [regular expression][mdn-regexp].
2424
2525
<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. -->
2626

@@ -42,16 +42,18 @@ var reviveRegExp = require( '@stdlib/regexp/reviver' );
4242

4343
#### reviveRegExp( key, value )
4444

45-
Revives a JSON-serialized [regular expression][regexp].
45+
Revives a JSON-serialized [regular expression][mdn-regexp].
4646

4747
```javascript
48+
var parseJSON = require( '@stdlib/utils/parse-json' );
49+
4850
var str = '{"type":"RegExp","pattern":"ab+c","flags":""}';
4951

50-
var regex = JSON.parse( str, reviveRegExp );
52+
var re = parseJSON( str, reviveRegExp );
5153
// returns <RegExp>
5254
```
5355

54-
For details on the JSON serialization format, see [regexp-to-json][@stdlib/regexp/to-json].
56+
For details on the JSON serialization format, see [`@stdlib/regexp/to-json`][@stdlib/regexp/to-json].
5557

5658
</section>
5759

@@ -64,26 +66,20 @@ For details on the JSON serialization format, see [regexp-to-json][@stdlib/regex
6466
## Examples
6567

6668
```javascript
67-
var regex2json = require( '@stdlib/regexp/to-json' );
69+
var parseJSON = require( '@stdlib/utils/parse-json' );
70+
var regexp2json = require( '@stdlib/regexp/to-json' );
6871
var reviveRegExp = require( '@stdlib/regexp/reviver' );
6972

70-
var regex = /ab+c/;
71-
var json = regex2json( regex );
72-
/* returns
73-
{
74-
'type': 'RegExp',
75-
'pattern': 'ab+c',
76-
'flags': ''
77-
}
78-
*/
73+
var re1 = /ab+c/;
74+
var json = regexp2json( re1 );
7975

8076
var str = JSON.stringify( json );
8177
// returns '{"type":"RegExp","pattern":"ab+c","flags":""}'
8278

83-
var regex2 = JSON.parse( str, reviveRegExp );
79+
var re2 = parseJSON( str, reviveRegExp );
8480
// returns <RegExp>
8581

86-
var bool = ( String( regex ) === String( regex2 ) );
82+
var bool = ( re1.toString() === re2.toString() );
8783
// returns true
8884
```
8985

@@ -111,14 +107,10 @@ var bool = ( String( regex ) === String( regex2 ) );
111107

112108
<section class="links">
113109

114-
<!-- <related-links> -->
115-
116-
[regexp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
110+
[mdn-regexp]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
117111

118112
[@stdlib/regexp/to-json]: https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/regexp/to-json
119113

120-
<!-- </related-links> -->
121-
122114
</section>
123115

124116
<!-- /.links -->

lib/node_modules/@stdlib/regexp/reviver/benchmark/benchmark.js

Lines changed: 13 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -22,59 +22,30 @@
2222

2323
var bench = require( '@stdlib/bench' );
2424
var parseJSON = require( '@stdlib/utils/parse-json' );
25-
var regex2json = require( '@stdlib/regexp/to-json' );
25+
var regexp2json = require( '@stdlib/regexp/to-json' );
2626
var pkg = require( './../package.json' ).name;
2727
var reviver = require( './../lib' );
2828

2929

30-
// MAIN //
30+
// VARIABLES //
3131

32-
bench( pkg, function benchmark( b ) {
33-
var values;
34-
var json;
35-
var o;
36-
var i;
32+
var VALUES = [
33+
JSON.stringify( regexp2json( /beep/ ) ),
34+
JSON.stringify( regexp2json( /boop/ ) ),
35+
JSON.stringify( regexp2json( /.*/ ) ),
36+
JSON.stringify( regexp2json( /ab+c/ ) )
37+
];
3738

38-
values = [
39-
/beep/,
40-
/boop/,
41-
/.*/,
42-
/ab+c/
43-
];
4439

45-
b.tic();
46-
for ( i = 0; i < b.iterations; i++ ) {
47-
json = JSON.stringify( regex2json( values[ i%values.length ] ) );
48-
o = parseJSON( json, reviver );
49-
if ( typeof o !== 'object' ) {
50-
b.fail( 'should return an object' );
51-
}
52-
}
53-
b.toc();
54-
if ( typeof o !== 'object' ) {
55-
b.fail( 'should return an object' );
56-
}
57-
b.pass( 'benchmark finished' );
58-
b.end();
59-
});
40+
// MAIN //
6041

61-
bench( pkg+'::no_reviver', function benchmark( b ) {
62-
var values;
63-
var json;
42+
bench( pkg+'::parse', function benchmark( b ) {
6443
var o;
6544
var i;
6645

67-
values = [
68-
/beep/,
69-
/boop/,
70-
/.*/,
71-
/ab+c/
72-
];
73-
7446
b.tic();
7547
for ( i = 0; i < b.iterations; i++ ) {
76-
json = JSON.stringify( regex2json( values[ i%values.length ] ) );
77-
o = parseJSON( json );
48+
o = parseJSON( VALUES[ i%VALUES.length ], reviver );
7849
if ( typeof o !== 'object' ) {
7950
b.fail( 'should return an object' );
8051
}
@@ -87,23 +58,13 @@ bench( pkg+'::no_reviver', function benchmark( b ) {
8758
b.end();
8859
});
8960

90-
bench( pkg+'::no_reviver,built-in', function benchmark( b ) {
91-
var values;
92-
var json;
61+
bench( pkg+'::parse,no_reviver', function benchmark( b ) {
9362
var o;
9463
var i;
9564

96-
values = [
97-
/beep/,
98-
/boop/,
99-
/.*/,
100-
/ab+c/
101-
];
102-
10365
b.tic();
10466
for ( i = 0; i < b.iterations; i++ ) {
105-
json = JSON.stringify( regex2json( values[ i%values.length ] ) );
106-
o = JSON.parse( json );
67+
o = parseJSON( VALUES[ i%VALUES.length ] );
10768
if ( typeof o !== 'object' ) {
10869
b.fail( 'should return an object' );
10970
}

lib/node_modules/@stdlib/regexp/reviver/docs/repl.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
{{alias}}( key, value )
23
Revives a JSON-serialized regular expression.
34

@@ -17,7 +18,7 @@
1718
Examples
1819
--------
1920
> var str = '{"type":"RegExp","pattern":"ab+c","flags":""}';
20-
> var err = JSON.parse( str, {{alias}} )
21+
> var v = {{alias:@stdlib/utils/parse-json}}( str, {{alias}} )
2122
<RegExp>
2223

2324
See Also

lib/node_modules/@stdlib/regexp/reviver/docs/types/index.d.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,23 @@
2323
*
2424
* @param key - key
2525
* @param value - value
26-
* @returns value or regular expression
26+
* @returns value
2727
*
2828
* @example
29+
* var parseJSON = require( `@stdlib/utils/parse-json` );
30+
*
2931
* var str = '{"type":"RegExp","pattern":"ab+c","flags":""}';
30-
* var regex = JSON.parse( str, reviver );
32+
*
33+
* var re = parseJSON( str, reviver );
3134
* // returns <RegExp>
35+
*
36+
* @example
37+
* var parseJSON = require( `@stdlib/utils/parse-json` );
38+
*
39+
* var str = '{"beep":"boop"}';
40+
*
41+
* var o = parseJSON( str, reviver );
42+
* // returns { 'beep': 'boop' }
3243
*/
3344
declare function reviver( key: string, value: any ): any;
3445

lib/node_modules/@stdlib/regexp/reviver/docs/types/test.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,19 @@ import reviver = require( './index' );
2323

2424
// The function can be used to revive a serialized object...
2525
{
26-
JSON.parse( '{"type":"RegExp","pattern":"ab+c","flags":""}', reviver ); // $ExpectType any
26+
const o = {
27+
'type': 'RegExp',
28+
'pattern': 'ab+c',
29+
'flags': ''
30+
};
31+
reviver( 'foo', o ); // $ExpectType any
32+
reviver( 'foo', 4 ); // $ExpectType any
33+
reviver( 'foo', 'beep' ); // $ExpectType any
34+
reviver( 'foo', true ); // $ExpectType any
35+
reviver( 'foo', [] ); // $ExpectType any
2736
}
2837

29-
// The function does not compile if provided a first argument that is not a string...
38+
// The compiler throws an error if the function is provided a first argument that is not a string...
3039
{
3140
reviver( true, 1 ); // $ExpectError
3241
reviver( false, 1 ); // $ExpectError
@@ -38,7 +47,7 @@ import reviver = require( './index' );
3847
reviver( ( x: number ): number => x, 1 ); // $ExpectError
3948
}
4049

41-
// The function does not compile if provided insufficient arguments...
50+
// The compiler throws an error if the function is provided insufficient arguments...
4251
{
4352
reviver(); // $ExpectError
4453
reviver( 'beep' ); // $ExpectError

lib/node_modules/@stdlib/regexp/reviver/examples/index.js

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,18 @@
1818

1919
'use strict';
2020

21-
var regex2json = require( '@stdlib/regexp/to-json' );
21+
var parseJSON = require( '@stdlib/utils/parse-json' );
22+
var regexp2json = require( '@stdlib/regexp/to-json' );
2223
var reviveRegExp = require( './../lib' );
2324

24-
var regex = /ab+c/;
25-
var json = regex2json( regex );
26-
/* returns
27-
{
28-
'type': 'RegExp',
29-
'pattern': 'ab+c',
30-
'flags': ''
31-
}
32-
*/
25+
var re1 = /ab+c/;
26+
var json = regexp2json( re1 );
3327

3428
var str = JSON.stringify( json );
3529
// returns '{"type":"RegExp","pattern":"ab+c","flags":""}'
3630

37-
var regex2 = JSON.parse( str, reviveRegExp );
31+
var re2 = parseJSON( str, reviveRegExp );
3832
// returns <RegExp>
3933

40-
console.log( String( regex ) === String( regex2 ) );
34+
console.log( re1.toString() === re2.toString() );
4135
// => true

lib/node_modules/@stdlib/regexp/reviver/lib/index.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@
2424
* @module @stdlib/regexp/reviver
2525
*
2626
* @example
27+
* var parseJSON = require( '@stdlib/utils/parse-json' );
2728
* var reviver = require( '@stdlib/regexp/reviver' );
2829
*
2930
* var str = '{"type":"RegExp","pattern":"ab+c","flags":""}';
30-
* var err = JSON.parse( str, reviver );
31+
*
32+
* var re = parseJSON( str, reviver );
3133
* // returns <RegExp>
3234
*/
3335

3436
// MODULES //
3537

36-
var reviver = require( './main.js' );
38+
var main = require( './main.js' );
3739

3840

3941
// EXPORTS //
4042

41-
module.exports = reviver;
43+
module.exports = main;

lib/node_modules/@stdlib/regexp/reviver/lib/main.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,18 @@
2525
*
2626
* @param {string} key - key
2727
* @param {*} value - value
28-
* @returns {RegExp} regular expression
28+
* @returns {(*|RegExp)} regular expression
2929
*
3030
* @example
31+
* var parseJSON = require( '@stdlib/utils/parse-json' );
32+
*
3133
* var str = '{"type":"RegExp","pattern":"ab+c","flags":""}';
32-
* var err = JSON.parse( str, reviver );
34+
*
35+
* var re = parseJSON( str, reviver );
3336
* // returns <RegExp>
3437
*/
3538
function reviver( key, value ) {
36-
if ( value && value.pattern && value.type === 'RegExp' ) {
39+
if ( value && value.type === 'RegExp' && value.pattern ) {
3740
return new RegExp( value.pattern, value.flags );
3841
}
3942
return value;

0 commit comments

Comments
 (0)