Skip to content
This repository was archived by the owner on Jul 5, 2022. It is now read-only.

Commit 0a78343

Browse files
committed
fix: do not clone documents and never freeze them
1 parent 6fd37b5 commit 0a78343

14 files changed

Lines changed: 31 additions & 32 deletions

src/adapters/json/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,6 @@ export default function({dir, asserts = {}, transforms = {}}) {
214214
assert.ok(role)
215215
assert.ok(privilege)
216216

217-
document = _.clone(document)
218-
219217
return initialized
220218
.then(() => {
221219
document.attributes = attributes(document, user, resource, role, privilege)
@@ -227,7 +225,7 @@ export default function({dir, asserts = {}, transforms = {}}) {
227225
function transform(document, user, resource, role, privilege) {
228226
const transformed = _.map(transforms, (transform, name) => {
229227
const parameters = getTransformConfig(resource, name)
230-
return transform(_.cloneDeep(document), user, this, resource, role, privilege, parameters)
228+
return transform(document, user, this, resource, role, privilege, parameters)
231229
})
232230
return initialized
233231
.then(() => Promise.all(transformed))

test/fixtures/campaign.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export default Object.freeze({
1+
export default {
22
name: 'awesome campaign'
3-
})
3+
}

test/fixtures/campaign.jsonapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import campaignFixture from './campaign'
22

3-
export default Object.freeze({
3+
export default {
44
data: {
55
type: 'campaign',
66
attributes: campaignFixture
77
}
8-
})
8+
}

test/fixtures/component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default Object.freeze({})
1+
export default {}

test/fixtures/component.jsonapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import componentFixture from './component'
22

3-
export default Object.freeze({
3+
export default {
44
data: {
55
type: 'component',
66
attributes: componentFixture
77
}
8-
})
8+
}

test/fixtures/node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default Object.freeze({})
1+
export default {}

test/fixtures/node.jsonapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import nodeFixture from './node'
22

3-
export default Object.freeze({
3+
export default {
44
data: {
55
type: 'node',
66
attributes: nodeFixture
77
}
8-
})
8+
}

test/fixtures/project.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export default Object.freeze({
1+
export default {
22
id: '0683520a-8a00-4349-b057-93c8fd03f9bb',
33
name: 'awesome project'
4-
})
4+
}

test/fixtures/project.jsonapi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import projectFixture from './project'
22

3-
export default Object.freeze({
3+
export default {
44
data: {
55
type: 'project',
66
attributes: projectFixture
77
}
8-
})
8+
}

test/fixtures/transition.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
export default Object.freeze({
1+
export default {
22
type: 'next',
33
data: '{"target":"919796e7-43d0-4af7-be5c-d7f6a38c7f9b"}',
44
nodeId: '1eb21add-f7df-4641-8913-29cd19320595'
5-
})
5+
}

0 commit comments

Comments
 (0)