@replyke/core 6.0.0-beta.7 → 6.0.0-beta.9
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/dist/cjs/hooks/comments/useCommentSectionData.js +4 -1
- package/dist/cjs/hooks/comments/useCommentSectionData.js.map +1 -1
- package/dist/cjs/hooks/useStableObject.d.ts +11 -0
- package/dist/cjs/hooks/useStableObject.js +26 -0
- package/dist/cjs/hooks/useStableObject.js.map +1 -0
- package/dist/cjs/interfaces/models/Connection.d.ts +2 -1
- package/dist/cjs/utils/objectComparison.d.ts +8 -0
- package/dist/cjs/utils/objectComparison.js +63 -0
- package/dist/cjs/utils/objectComparison.js.map +1 -0
- package/dist/esm/hooks/comments/useCommentSectionData.js +4 -1
- package/dist/esm/hooks/comments/useCommentSectionData.js.map +1 -1
- package/dist/esm/hooks/useStableObject.d.ts +11 -0
- package/dist/esm/hooks/useStableObject.js +23 -0
- package/dist/esm/hooks/useStableObject.js.map +1 -0
- package/dist/esm/interfaces/models/Connection.d.ts +2 -1
- package/dist/esm/utils/objectComparison.d.ts +8 -0
- package/dist/esm/utils/objectComparison.js +59 -0
- package/dist/esm/utils/objectComparison.js.map +1 -0
- package/package.json +1 -1
|
@@ -60,9 +60,12 @@ var useFetchComment_1 = __importDefault(require("./useFetchComment"));
|
|
|
60
60
|
var user_1 = require("../user");
|
|
61
61
|
var entities_1 = require("../entities");
|
|
62
62
|
var isUUID_1 = require("../../utils/isUUID");
|
|
63
|
+
var useStableObject_1 = require("../useStableObject");
|
|
63
64
|
function useCommentSectionData(props) {
|
|
64
65
|
var _this = this;
|
|
65
|
-
var entityProp = props.entity, entityId = props.entityId, foreignId = props.foreignId, shortId = props.shortId, createIfNotFound = props.createIfNotFound, _a = props.defaultSortBy, defaultSortBy = _a === void 0 ? "top" : _a, _b = props.limit, limit = _b === void 0 ? 15 : _b, _c = props.callbacks,
|
|
66
|
+
var entityProp = props.entity, entityId = props.entityId, foreignId = props.foreignId, shortId = props.shortId, createIfNotFound = props.createIfNotFound, _a = props.defaultSortBy, defaultSortBy = _a === void 0 ? "top" : _a, _b = props.limit, limit = _b === void 0 ? 15 : _b, _c = props.callbacks, callbacksProp = _c === void 0 ? {} : _c, highlightedCommentId = props.highlightedCommentId;
|
|
67
|
+
// Stabilize callbacks reference to prevent unnecessary re-renders
|
|
68
|
+
var callbacks = (0, useStableObject_1.useStableObject)(callbacksProp);
|
|
66
69
|
var _d = (0, entities_1.useEntity)(), entityFromContext = _d.entity, setContextEntity = _d.setEntity;
|
|
67
70
|
var _e = (0, react_1.useState)(entityProp !== null && entityProp !== void 0 ? entityProp : entityFromContext), entity = _e[0], setEntity = _e[1];
|
|
68
71
|
var user = (0, user_1.useUser)().user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCommentSectionData.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useCommentSectionData.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiE;AAMjE,wEAAkD;AAElD,uDAAsD;AACtD,wEAAkD;AAClD,wEAAkD;AAClD,0EAAoD;AACpD,sEAAgD;AAChD,gCAAkC;AAGlC,wCAKqB;AACrB,6CAA4C;
|
|
1
|
+
{"version":3,"file":"useCommentSectionData.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useCommentSectionData.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that returns a stable reference to an object that only changes
|
|
3
|
+
* when the content of the object actually changes (deep comparison).
|
|
4
|
+
*
|
|
5
|
+
* This is useful for preventing unnecessary re-renders when objects are
|
|
6
|
+
* recreated with the same content on every render.
|
|
7
|
+
*
|
|
8
|
+
* @param obj - The object to stabilize
|
|
9
|
+
* @returns A stable reference to the object
|
|
10
|
+
*/
|
|
11
|
+
export declare function useStableObject<T extends Record<string, any> | undefined>(obj: T): T;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStableObject = useStableObject;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var objectComparison_1 = require("../utils/objectComparison");
|
|
6
|
+
/**
|
|
7
|
+
* Hook that returns a stable reference to an object that only changes
|
|
8
|
+
* when the content of the object actually changes (deep comparison).
|
|
9
|
+
*
|
|
10
|
+
* This is useful for preventing unnecessary re-renders when objects are
|
|
11
|
+
* recreated with the same content on every render.
|
|
12
|
+
*
|
|
13
|
+
* @param obj - The object to stabilize
|
|
14
|
+
* @returns A stable reference to the object
|
|
15
|
+
*/
|
|
16
|
+
function useStableObject(obj) {
|
|
17
|
+
var ref = (0, react_1.useRef)(obj);
|
|
18
|
+
// If the new object is deeply equal to the previous one, return the previous reference
|
|
19
|
+
if ((0, objectComparison_1.deepEqual)(ref.current, obj)) {
|
|
20
|
+
return ref.current;
|
|
21
|
+
}
|
|
22
|
+
// Otherwise, update the ref and return the new object
|
|
23
|
+
ref.current = obj;
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=useStableObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStableObject.js","sourceRoot":"","sources":["../../../src/hooks/useStableObject.ts"],"names":[],"mappings":";;AAaA,0CAaC;AA1BD,+BAA+B;AAC/B,8DAAsD;AAEtD;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAC7B,GAAM;IAEN,IAAM,GAAG,GAAG,IAAA,cAAM,EAAI,GAAG,CAAC,CAAC;IAE3B,uFAAuF;IACvF,IAAI,IAAA,4BAAS,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,sDAAsD;IACtD,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs deep equality check for nested objects and arrays
|
|
3
|
+
*/
|
|
4
|
+
export declare function deepEqual(obj1: any, obj2: any): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Performs shallow equality check for objects
|
|
7
|
+
*/
|
|
8
|
+
export declare function shallowEqual(obj1: any, obj2: any): boolean;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deepEqual = deepEqual;
|
|
4
|
+
exports.shallowEqual = shallowEqual;
|
|
5
|
+
/**
|
|
6
|
+
* Performs deep equality check for nested objects and arrays
|
|
7
|
+
*/
|
|
8
|
+
function deepEqual(obj1, obj2) {
|
|
9
|
+
if (obj1 === obj2) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (obj1 == null || obj2 == null) {
|
|
13
|
+
return obj1 === obj2;
|
|
14
|
+
}
|
|
15
|
+
if (typeof obj1 !== typeof obj2) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (typeof obj1 !== "object") {
|
|
19
|
+
return obj1 === obj2;
|
|
20
|
+
}
|
|
21
|
+
if (Array.isArray(obj1) !== Array.isArray(obj2)) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
var keys1 = Object.keys(obj1);
|
|
25
|
+
var keys2 = Object.keys(obj2);
|
|
26
|
+
if (keys1.length !== keys2.length) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
for (var _i = 0, keys1_1 = keys1; _i < keys1_1.length; _i++) {
|
|
30
|
+
var key = keys1_1[_i];
|
|
31
|
+
if (!(key in obj2)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (!deepEqual(obj1[key], obj2[key])) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Performs shallow equality check for objects
|
|
42
|
+
*/
|
|
43
|
+
function shallowEqual(obj1, obj2) {
|
|
44
|
+
if (obj1 === obj2) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
if (!obj1 || !obj2 || typeof obj1 !== "object" || typeof obj2 !== "object") {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
var keys1 = Object.keys(obj1);
|
|
51
|
+
var keys2 = Object.keys(obj2);
|
|
52
|
+
if (keys1.length !== keys2.length) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
for (var _i = 0, keys1_2 = keys1; _i < keys1_2.length; _i++) {
|
|
56
|
+
var key = keys1_2[_i];
|
|
57
|
+
if (!(key in obj2) || obj1[key] !== obj2[key]) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=objectComparison.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectComparison.js","sourceRoot":"","sources":["../../../src/utils/objectComparison.ts"],"names":[],"mappings":";;AAGA,8BAsCC;AAKD,oCAuBC;AArED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAS,EAAE,IAAS;IAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAkB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAArB,IAAM,GAAG,cAAA;QACZ,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAS,EAAE,IAAS;IAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAkB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAArB,IAAM,GAAG,cAAA;QACZ,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -55,9 +55,12 @@ import useFetchComment from "./useFetchComment";
|
|
|
55
55
|
import { useUser } from "../user";
|
|
56
56
|
import { useEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, } from "../entities";
|
|
57
57
|
import { isUUID } from "../../utils/isUUID";
|
|
58
|
+
import { useStableObject } from "../useStableObject";
|
|
58
59
|
function useCommentSectionData(props) {
|
|
59
60
|
var _this = this;
|
|
60
|
-
var entityProp = props.entity, entityId = props.entityId, foreignId = props.foreignId, shortId = props.shortId, createIfNotFound = props.createIfNotFound, _a = props.defaultSortBy, defaultSortBy = _a === void 0 ? "top" : _a, _b = props.limit, limit = _b === void 0 ? 15 : _b, _c = props.callbacks,
|
|
61
|
+
var entityProp = props.entity, entityId = props.entityId, foreignId = props.foreignId, shortId = props.shortId, createIfNotFound = props.createIfNotFound, _a = props.defaultSortBy, defaultSortBy = _a === void 0 ? "top" : _a, _b = props.limit, limit = _b === void 0 ? 15 : _b, _c = props.callbacks, callbacksProp = _c === void 0 ? {} : _c, highlightedCommentId = props.highlightedCommentId;
|
|
62
|
+
// Stabilize callbacks reference to prevent unnecessary re-renders
|
|
63
|
+
var callbacks = useStableObject(callbacksProp);
|
|
61
64
|
var _d = useEntity(), entityFromContext = _d.entity, setContextEntity = _d.setEntity;
|
|
62
65
|
var _e = useState(entityProp !== null && entityProp !== void 0 ? entityProp : entityFromContext), entity = _e[0], setEntity = _e[1];
|
|
63
66
|
var user = useUser().user;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCommentSectionData.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useCommentSectionData.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,cAAc,EACd,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useCommentSectionData.js","sourceRoot":"","sources":["../../../../src/hooks/comments/useCommentSectionData.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that returns a stable reference to an object that only changes
|
|
3
|
+
* when the content of the object actually changes (deep comparison).
|
|
4
|
+
*
|
|
5
|
+
* This is useful for preventing unnecessary re-renders when objects are
|
|
6
|
+
* recreated with the same content on every render.
|
|
7
|
+
*
|
|
8
|
+
* @param obj - The object to stabilize
|
|
9
|
+
* @returns A stable reference to the object
|
|
10
|
+
*/
|
|
11
|
+
export declare function useStableObject<T extends Record<string, any> | undefined>(obj: T): T;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
import { deepEqual } from "../utils/objectComparison";
|
|
3
|
+
/**
|
|
4
|
+
* Hook that returns a stable reference to an object that only changes
|
|
5
|
+
* when the content of the object actually changes (deep comparison).
|
|
6
|
+
*
|
|
7
|
+
* This is useful for preventing unnecessary re-renders when objects are
|
|
8
|
+
* recreated with the same content on every render.
|
|
9
|
+
*
|
|
10
|
+
* @param obj - The object to stabilize
|
|
11
|
+
* @returns A stable reference to the object
|
|
12
|
+
*/
|
|
13
|
+
export function useStableObject(obj) {
|
|
14
|
+
var ref = useRef(obj);
|
|
15
|
+
// If the new object is deeply equal to the previous one, return the previous reference
|
|
16
|
+
if (deepEqual(ref.current, obj)) {
|
|
17
|
+
return ref.current;
|
|
18
|
+
}
|
|
19
|
+
// Otherwise, update the ref and return the new object
|
|
20
|
+
ref.current = obj;
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useStableObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStableObject.js","sourceRoot":"","sources":["../../../src/hooks/useStableObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAM;IAEN,IAAM,GAAG,GAAG,MAAM,CAAI,GAAG,CAAC,CAAC;IAE3B,uFAAuF;IACvF,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,sDAAsD;IACtD,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs deep equality check for nested objects and arrays
|
|
3
|
+
*/
|
|
4
|
+
export declare function deepEqual(obj1: any, obj2: any): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Performs shallow equality check for objects
|
|
7
|
+
*/
|
|
8
|
+
export declare function shallowEqual(obj1: any, obj2: any): boolean;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performs deep equality check for nested objects and arrays
|
|
3
|
+
*/
|
|
4
|
+
export function deepEqual(obj1, obj2) {
|
|
5
|
+
if (obj1 === obj2) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (obj1 == null || obj2 == null) {
|
|
9
|
+
return obj1 === obj2;
|
|
10
|
+
}
|
|
11
|
+
if (typeof obj1 !== typeof obj2) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (typeof obj1 !== "object") {
|
|
15
|
+
return obj1 === obj2;
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(obj1) !== Array.isArray(obj2)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
var keys1 = Object.keys(obj1);
|
|
21
|
+
var keys2 = Object.keys(obj2);
|
|
22
|
+
if (keys1.length !== keys2.length) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
for (var _i = 0, keys1_1 = keys1; _i < keys1_1.length; _i++) {
|
|
26
|
+
var key = keys1_1[_i];
|
|
27
|
+
if (!(key in obj2)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
if (!deepEqual(obj1[key], obj2[key])) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Performs shallow equality check for objects
|
|
38
|
+
*/
|
|
39
|
+
export function shallowEqual(obj1, obj2) {
|
|
40
|
+
if (obj1 === obj2) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
if (!obj1 || !obj2 || typeof obj1 !== "object" || typeof obj2 !== "object") {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
var keys1 = Object.keys(obj1);
|
|
47
|
+
var keys2 = Object.keys(obj2);
|
|
48
|
+
if (keys1.length !== keys2.length) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
for (var _i = 0, keys1_2 = keys1; _i < keys1_2.length; _i++) {
|
|
52
|
+
var key = keys1_2[_i];
|
|
53
|
+
if (!(key in obj2) || obj1[key] !== obj2[key]) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=objectComparison.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectComparison.js","sourceRoot":"","sources":["../../../src/utils/objectComparison.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAS,EAAE,IAAS;IAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjC,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,KAAK,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAkB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAArB,IAAM,GAAG,cAAA;QACZ,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAS,EAAE,IAAS;IAC/C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAkB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE,CAAC;QAArB,IAAM,GAAG,cAAA;QACZ,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|