Skip to content

Commit

Permalink
feat: replace fast-safe-stringify with safe-stable-stringify (#17251
Browse files Browse the repository at this point in the history
)
  • Loading branch information
RahulGautamSingh committed Aug 19, 2022
1 parent 629e563 commit f9b2f81
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 8 deletions.
20 changes: 20 additions & 0 deletions lib/util/clone.spec.ts
@@ -0,0 +1,20 @@
import { clone } from './clone';

describe('util/clone', () => {
const obj: any = {
name: 'object',
type: 'object',
isObject: true,
};

it('maintains same order', () => {
const res = clone(obj);
expect(Object.keys(res)).toEqual(Object.keys(obj));
});

it('assigns "[Circular]" to circular references', () => {
obj.circular = obj;
const res = clone(obj);
expect(res.circular).toBe('[Circular]');
});
});
8 changes: 6 additions & 2 deletions lib/util/clone.ts
@@ -1,5 +1,9 @@
import safeStringify from 'fast-safe-stringify';
import { configure } from 'safe-stable-stringify';

const stringify = configure({
deterministic: false,
});

export function clone<T>(input: T | null = null): T {
return JSON.parse(safeStringify(input));
return JSON.parse(stringify(input));
}
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -169,7 +169,6 @@
"emojibase": "6.1.0",
"emojibase-regex": "6.0.1",
"extract-zip": "2.0.1",
"fast-safe-stringify": "2.1.1",
"find-packages": "9.0.9",
"find-up": "5.0.0",
"fs-extra": "10.1.0",
Expand Down Expand Up @@ -204,6 +203,7 @@
"redis": "4.2.0",
"remark": "13.0.0",
"remark-github": "10.1.0",
"safe-stable-stringify": "2.3.1",
"semver": "7.3.7",
"semver-stable": "3.0.0",
"semver-utils": "1.1.4",
Expand Down
10 changes: 5 additions & 5 deletions yarn.lock
Expand Up @@ -4706,11 +4706,6 @@ fast-levenshtein@^2.0.6:
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==

fast-safe-stringify@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==

fast-xml-parser@3.19.0:
version "3.19.0"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01"
Expand Down Expand Up @@ -8461,6 +8456,11 @@ safe-json-stringify@~1:
resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd"
integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==

safe-stable-stringify@2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73"
integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==

"safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
Expand Down

0 comments on commit f9b2f81

Please sign in to comment.