Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

is-shallow-equal: Convert to ESM #26833

Merged
merged 6 commits into from
Nov 13, 2020
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions packages/is-shallow-equal/.eslintrc.json

This file was deleted.

8 changes: 6 additions & 2 deletions packages/is-shallow-equal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,15 @@
"url": "https://github.com/WordPress/gutenberg/issues"
},
"files": [
"lib",
"build",
"build-module",
"build-types",
"src",
"*.md"
],
"main": "lib/index.js",
"main": "build/index.js",
"module": "build-module/index.js",
"react-native": "src/index",
"types": "build-types",
"sideEffects": false,
"dependencies": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
'use strict';

/**
* Returns true if the two arrays are shallow equal, or false otherwise.
*
Expand All @@ -8,9 +6,7 @@
*
* @return {boolean} Whether the two arrays are shallow equal.
*/
function isShallowEqualArrays( a, b ) {
var i;

export default function isShallowEqualArrays( a, b ) {
if ( a === b ) {
return true;
}
Expand All @@ -19,13 +15,11 @@ function isShallowEqualArrays( a, b ) {
return false;
}

for ( i = 0; i < a.length; i++ ) {
for ( let i = 0, len = a.length; i < len; i++ ) {
if ( a[ i ] !== b[ i ] ) {
return false;
}
}

return true;
}

module.exports = isShallowEqualArrays;
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
'use strict';

/**
* Internal dependencies;
* Internal dependencies
*/
var isShallowEqualObjects = require( './objects' );
var isShallowEqualArrays = require( './arrays' );
import isShallowEqualObjects from './objects';
import isShallowEqualArrays from './arrays';

var isArray = Array.isArray;
export { default as isShallowEqualObjects } from './objects';
export { default as isShallowEqualArrays } from './arrays';

/**
* @typedef {Record<string, any>} ComparableObject
Expand All @@ -21,18 +20,14 @@ var isArray = Array.isArray;
*
* @return {boolean} Whether the two values are shallow equal.
*/
function isShallowEqual( a, b ) {
export default function isShallowEqual( a, b ) {
if ( a && b ) {
if ( a.constructor === Object && b.constructor === Object ) {
return isShallowEqualObjects( a, b );
} else if ( isArray( a ) && isArray( b ) ) {
} else if ( Array.isArray( a ) && Array.isArray( b ) ) {
return isShallowEqualArrays( a, b );
}
}

return a === b;
}

module.exports = isShallowEqual;
module.exports.isShallowEqualObjects = isShallowEqualObjects;
module.exports.isShallowEqualArrays = isShallowEqualArrays;
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
'use strict';

var keys = Object.keys;

/**
* Returns true if the two objects are shallow equal, or false otherwise.
*
Expand All @@ -10,25 +6,23 @@ var keys = Object.keys;
*
* @return {boolean} Whether the two objects are shallow equal.
*/
function isShallowEqualObjects( a, b ) {
var aKeys, bKeys, i, key, aValue;

export default function isShallowEqualObjects( a, b ) {
if ( a === b ) {
return true;
}

aKeys = keys( a );
bKeys = keys( b );
const aKeys = Object.keys( a );
const bKeys = Object.keys( b );

if ( aKeys.length !== bKeys.length ) {
return false;
}

i = 0;
let i = 0;

while ( i < aKeys.length ) {
key = aKeys[ i ];
aValue = a[ key ];
const key = aKeys[ i ];
const aValue = a[ key ];

if (
// In iterating only the keys of the first object after verifying
Expand All @@ -47,5 +41,3 @@ function isShallowEqualObjects( a, b ) {

return true;
}

module.exports = isShallowEqualObjects;
2 changes: 1 addition & 1 deletion packages/is-shallow-equal/test/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import isShallowEqual, {
isShallowEqualArrays,
isShallowEqualObjects,
} from '..';
} from '../src';

describe( 'isShallowEqual', () => {
it( 'returns false if of different types', () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/is-shallow-equal/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"rootDir": "lib",
"rootDir": "src",
"declarationDir": "build-types"
},
"include": [ "lib/**/*" ]
"include": [ "src/**/*" ]
}