Skip to content

Commit b690edf

Browse files
committed
feat(@stdlib/assert): add isDateObject function,requested changes,stdlib-js#1337
1 parent 55e77d3 commit b690edf

File tree

10 files changed

+106
-100
lines changed

10 files changed

+106
-100
lines changed

lib/node_modules/@stdlib/assert/is-same-date-object/README.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ limitations under the License.
2020

2121
# isSameDateObject
2222

23-
> Test if two arguments are both Date objects and represent the same date object
23+
> Test if two arguments are both Date objects corresponding to the same date and time.
2424
2525
<section class="usage">
2626

@@ -32,15 +32,15 @@ var isSameDateObject = require( '@stdlib/assert/is-same-date-object' );
3232

3333
#### isSameDateObject( d1 , d2 )
3434

35-
Tests if two arguments are both valid date objects and both resolve to the same timestamp.
35+
Tests if two arguments are both Date objects corresponding to the same date and time.
3636

3737
```javascript
38-
var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
39-
var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
38+
var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
39+
var d2 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
4040
var bool = isSameDateObject( d1, d2 );
4141
// returns true
4242

43-
bool = isSameDateObject( d1, new Date(2023, 11, 31, 23, 59, 59, 78));
43+
bool = isSameDateObject( d1, new Date( 2023, 11, 31, 23, 59, 59, 78 ));
4444
// returns false
4545

4646
```
@@ -59,31 +59,31 @@ bool = isSameDateObject( d1, new Date(2023, 11, 31, 23, 59, 59, 78));
5959
```javascript
6060
var isSameDateObject = require( '@stdlib/assert/is-same-date-object' );
6161

62-
var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
63-
var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
62+
var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
63+
var d2 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
6464

6565
var bool = isSameDateObject( d1, d2 );
6666
// returns true
6767

68-
d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
69-
d2 = new Date(2024, 11, 31, 23, 59, 59, 78);
68+
d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
69+
d2 = new Date( 2024, 11, 31, 23, 59, 59, 78 );
7070

7171
bool = isSameDateObject( d1, d2 );
7272
// returns false
7373

7474
d1 = new Date(); // Current date and time
75-
d2 = new Date('2024-12-31T23:59:59.999'); // Date and time specified in ISO 8601 format
75+
d2 = new Date( '2024-12-31T23:59:59.999' ); // Date and time specified in ISO 8601 format
7676

77-
bool = isSameDateObject(d1, d2);
77+
bool = isSameDateObject( d1, d2 );
7878
// returns false
7979

80-
var d3 = new Date(2024, 11, 31); // Date specified using year, month, and day
81-
var d4 = new Date('December 31, 2024 23:59:59:999'); // Date and time specified in a readable format
80+
var d3 = new Date( 2024, 11, 31 ); // Date specified using year, month, and day
81+
var d4 = new Date( 'December 31, 2024 23:59:59:999' ); // Date and time specified in a readable format
8282

83-
bool = isSameDateObject(d1, d3);
83+
bool = isSameDateObject( d1, d3 );
8484
// returns false
8585

86-
bool = isSameDateObject(d2, d4);
86+
bool = isSameDateObject( d2, d4 );
8787
// returns true
8888
```
8989

lib/node_modules/@stdlib/assert/is-same-date-object/benchmark/benchmark.length.js

+23-21
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,31 @@
2020

2121
// MODULES //
2222

23-
const bench = require('@stdlib/bench');
24-
var pkg = require( './../package.json' ).name;
23+
var bench = require( '@stdlib/bench' );
2524
var isBoolean = require( '@stdlib/assert/is-boolean' ).isPrimitive;
25+
var pkg = require( './../package.json' ).name;
2626
var isSameDateObject = require( './../lib' );
2727

28-
//FUNCTIONS //
2928

30-
bench('isSameDateObject', function benchmark(b) {
31-
var date1 = new Date();
32-
var date2 = new Date();
33-
var bool;
34-
b.tic();
35-
for (var i = 0; i < b.iterations; i++) {
36-
date2.setMilliseconds(i); // Change the date slightly each iteration
37-
bool = isSameDateObject(date1, date2);
38-
if (typeof bool !== 'boolean') {
39-
b.fail('should return a boolean');
40-
}
41-
}
42-
b.toc();
43-
if (!isBoolean(bool)) {
44-
b.fail('should return a boolean');
45-
}
46-
b.pass('benchmark finished');
47-
b.end();
29+
// FUNCTIONS //
30+
31+
bench( pkg + '', function benchmark( b ) {
32+
var date1 = new Date();
33+
var date2 = new Date();
34+
var bool;
35+
var i;
36+
b.tic();
37+
for ( i = 0; i < b.iterations; i++ ) {
38+
date2.setMilliseconds( i ); // Change the date slightly each iteration
39+
bool = isSameDateObject( date1, date2 );
40+
if ( typeof bool !== 'boolean' ) {
41+
b.fail( 'should return a boolean' );
42+
}
43+
}
44+
b.toc();
45+
if ( !isBoolean(bool) ) {
46+
b.fail( 'should return a boolean' );
47+
}
48+
b.pass( 'benchmark finished' );
49+
b.end();
4850
});
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,35 @@
11

22
{{alias}}( d1, d2 )
3-
Tests if two arguments are both Date objects and resolve to the same timestamp.
3+
Tests if two arguments are both Date objects corresponding
4+
to the same date and time.
45

56
Parameters
67
----------
78
d1:any
89
First input value.
10+
911
d2:any
1012
Second input value.
1113

1214
Returns
1315
-------
1416
bool: boolean
15-
Boolean indicating whether two arguments are both Date objects and resolve to the same timestamp
17+
Boolean indicating whether both Date objects correspond
18+
to the same date and time.
1619

1720
Examples
1821
--------
19-
>var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
20-
>var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
21-
>var bool = {{alias}}( d1, d2 );
22+
>var d1 = new Date(2024, 11, 31, 23, 59, 59, 999)
23+
>var d2 = new Date(2024, 11, 31, 23, 59, 59, 999)
24+
>var bool = {{alias}}( d1, d2 )
2225
true
2326

24-
>var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
25-
>var d2 = new Date(2024, 11, 31, 23, 59, 59, 78);
26-
>var bool = {{alias}}( d1, d2 );
27+
>var d1 = new Date(2024, 11, 31, 23, 59, 59, 999)
28+
>var d2 = new Date(2024, 11, 31, 23, 59, 59, 78)
29+
>var bool = {{alias}}( d1, d2 )
2730
false
31+
2832

2933
See Also
30-
--------
34+
--------
35+

lib/node_modules/@stdlib/assert/is-same-date-object/docs/types/index.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
// TypeScript Version: 4.1
2020

2121
/**
22-
* Tests if two arguments are both Date Objects and resolve to the same timestamp.
22+
* Tests if two arguments are both Date objects corresponding to the same date and time.
2323
*
2424
*
2525
* @param d1 - first input value
2626
* @param d2 - second input value
27-
* @returns boolean indicating whether two arguments resolve to the same timestamp
27+
* @returns boolean indicating whether both are Date objects corresponding to the same date and time.
2828
*
2929
* @example
3030
* var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);

lib/node_modules/@stdlib/assert/is-same-date-object/docs/types/test.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@
1616
* limitations under the License.
1717
*/
1818

19-
import isSameDateObject = require('./index');
19+
import isSameDateObject = require( './index' );
2020

2121

2222
// TESTS //
2323

2424
// The function returns a boolean...
2525
{
26-
isSameDateObject(new Date(), new Date()); // $ExpectType boolean
27-
isSameDateObject(null, null); // $ExpectType boolean
28-
isSameDateObject('beep', 'boop'); // $ExpectType boolean
26+
isSameDateObject( new Date(), new Date() ); // $ExpectType boolean
27+
isSameDateObject( null, null ); // $ExpectType boolean
28+
isSameDateObject( 'beep', 'boop' ); // $ExpectType boolean
2929
}
3030

3131
// The compiler throws an error if the function is provided an unsupported number of arguments...
3232
{
33-
isSameDateObject(); // $ExpectError
34-
isSameDateObject(new Date()); // $ExpectError
35-
isSameDateObject('beep', 'beep', new Date()); // $ExpectError
33+
isSameDateObject(); // $ExpectError
34+
isSameDateObject( new Date() ); // $ExpectError
35+
isSameDateObject( 'beep', 'beep', new Date() ); // $ExpectError
3636
}

lib/node_modules/@stdlib/assert/is-same-date-object/examples/index.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,34 @@
2020

2121
var isSameDateObject = require( './../lib' );
2222

23-
var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
24-
var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
23+
var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
24+
var d2 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
2525

2626
var bool = isSameDateObject( d1, d2 );
2727
console.log( bool );
2828
// => true
2929

30-
d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
31-
d2 = new Date(2024, 11, 31, 23, 59, 59, 78);
30+
d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
31+
d2 = new Date( 2024, 11, 31, 23, 59, 59, 78 );
3232

3333
bool = isSameDateObject( d1, d2 );
3434
console.log( bool );
3535
// => false
3636

3737
d1 = new Date(); // Current date and time
38-
d2 = new Date('2024-12-31T23:59:59.999'); // Date and time specified in ISO 8601 format
38+
d2 = new Date( '2024-12-31T23:59:59.999' ); // Date and time specified in ISO 8601 format
3939

40-
var bool1 = isSameDateObject(d1, d2);
40+
var bool1 = isSameDateObject( d1, d2 );
4141
console.log(bool1);
4242
// => false
4343

44-
var d3 = new Date(2024, 11, 31); // Date specified using year, month, and day
45-
var d4 = new Date('December 31, 2024 23:59:59:999'); // Date and time specified in a readable format
44+
var d3 = new Date( 2024, 11, 31 ); // Date specified using year, month, and day
45+
var d4 = new Date( 'December 31, 2024 23:59:59:999' ); // Date and time specified in a readable format
4646

47-
var bool2 = isSameDateObject(d1, d3);
48-
console.log(bool2);
47+
var bool2 = isSameDateObject( d1, d3 );
48+
console.log( bool2 );
4949
// => false
5050

51-
var bool3 = isSameDateObject(d2, d4);
52-
console.log(bool3);
51+
var bool3 = isSameDateObject( d2, d4 );
52+
console.log( bool3 );
5353
// => true

lib/node_modules/@stdlib/assert/is-same-date-object/lib/index.js

+7-6
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,25 @@
1919
'use strict';
2020

2121
/**
22-
* Test if two arguments are both date objects and resolve to the same timestamp.
22+
* Test if two arguments are both Date objects corresponding to the same date and time.
2323
*
2424
* @module @stdlib/assert/is-same-date-object
2525
*
2626
* @example
2727
* var isSameDateObject = require( '@stdlib/assert/is-same-date-object' );
2828
*
29-
* var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
30-
* var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
29+
* var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
30+
* var d2 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
3131
*
3232
* var bool = isSameDateObject( d1, d2 );
3333
* // returns true
3434
35+
*
3536
* @example
3637
* var isSameDateObject = require( '@stdlib/assert/is-same-date-object' );
3738
*
38-
* var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
39-
* var d2 = new Date(2024, 11, 31, 23, 59, 59, 78);
39+
* var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
40+
* var d2 = new Date( 2024, 11, 31, 23, 59, 59, 78 );
4041
*
4142
* var bool = isSameDateObject( d1, d2 );
4243
* // returns false
@@ -49,4 +50,4 @@ var main = require( './main.js' );
4950

5051
// EXPORTS //
5152

52-
module.exports = main;
53+
module.exports = main;

lib/node_modules/@stdlib/assert/is-same-date-object/lib/main.js

+13-15
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
* limitations under the License.
1717
*/
1818

19-
2019
'use strict';
2120

2221
// MODULES //
@@ -27,35 +26,34 @@ var isDateObject = require( '@stdlib/assert/is-date-object' );
2726
// MAIN //
2827

2928
/**
30-
* Tests if two arguments are both Date objects and resolve to the same timestamp.
29+
* Tests if two arguments are both Date objects corresponding to the same date and time.
3130
*
32-
* @param {*} d1 - first value
33-
* @param {*} d2 - second value
34-
* @returns {boolean} boolean result
31+
* @param {*} d1 - first value
32+
* @param {*} d2 - second value
33+
* @returns {boolean} boolean result
3534
*
3635
* @example
37-
* var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
38-
* var d2 = new Date(2024, 11, 31, 23, 59, 59, 999);
36+
* var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
37+
* var d2 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
3938
* var bool = isSameDateObject( d1, d2 );
4039
* // returns true
4140
41+
*
4242
* @example
43-
* var d1 = new Date(2024, 11, 31, 23, 59, 59, 999);
44-
* var d2 = new Date(2024, 11, 31, 23, 59, 59, 78);
43+
* var d1 = new Date( 2024, 11, 31, 23, 59, 59, 999 );
44+
* var d2 = new Date( 2024, 11, 31, 23, 59, 59, 78 );
4545
* var bool = isSameDateObject( d1, d2 );
4646
* // returns false
4747
*/
4848
function isSameDateObject( d1, d2 ) {
49-
if ( !isDateObject(d1) || !isDateObject(d2) ) {
50-
return false;
51-
}
49+
if ( !isDateObject( d1 ) || !isDateObject( d2 ) ) {
50+
return false;
51+
}
5252

53-
return d1.getTime() === d2.getTime();
54-
53+
return d1.getTime() === d2.getTime();
5554
}
5655

5756

5857
// EXPORTS //
5958

6059
module.exports = isSameDateObject;
61-

lib/node_modules/@stdlib/assert/is-same-date-object/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@stdlib/assert/is-same-date-object",
33
"version": "0.0.0",
4-
"description": "Test if two arguments are both Date objects and resolve to the same timestamp.",
4+
"description": "Test if two arguments are both Date objects corresponding to the same date and time",
55
"license": "Apache-2.0",
66
"author": {
77
"name": "The Stdlib Authors",

0 commit comments

Comments
 (0)