1
0
mirror of synced 2024-11-22 05:16:05 +03:00

Merge pull request #37 from cmath10/fix-blob-cloning

fix: Blob objects are no longer cloned
This commit is contained in:
Kruglov Kirill 2021-10-21 12:50:32 +03:00 committed by GitHub
commit 29975e3ddb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -9,7 +9,8 @@ const cloneInstance = <T>(original: T): T => {
* case of needing to unbind reactive watchers. * case of needing to unbind reactive watchers.
*/ */
export default function clone<T = unknown> (value: T): T { export default function clone<T = unknown> (value: T): T {
if (isScalar(value)) { // scalars & immutables
if (isScalar(value) || value instanceof Blob) {
return value return value
} }

View File

@ -76,4 +76,11 @@ describe('clone', () => {
expect(copy.sample.doSomething).toBeTruthy() expect(copy.sample.doSomething).toBeTruthy()
expect(copy.sample.doSomething).not.toThrow() expect(copy.sample.doSomething).not.toThrow()
}) })
test('does not create a copy of a blob', () => {
const blob = new Blob(['{"fieldA": "fieldA"}'], { type : 'application/json' })
const copy = clone(blob)
expect(blob === copy).toBeTruthy()
})
}) })