Skip to content

Commit 724c251

Browse files
committed
3.0.0-alpha.5
1 parent 4627b0e commit 724c251

9 files changed

+94
-59
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
##### 3.0.0-alpha.5 - 26 February 2016
2+
3+
- Couple of fixes
4+
15
##### 3.0.0-alpha.4 - 23 February 2016
26

37
- Improved find, destroy, and update methods

CONTRIBUTORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
#
55
# Names should be added to this file as:
66
# [commit count] Name <email address>
7-
62 Jason Dobry <[email protected]>
7+
63 Jason Dobry <[email protected]>

dist/js-data-localstorage.js

Lines changed: 40 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js-data-localstorage.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js-data-localstorage.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/js-data-localstorage.min.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

karma.start.js

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ TestRunner.init({
1717

1818
describe('relation functionality', function () {
1919
// will be available in js-data 3.0.0-alpha.15
20-
it.skip('nested create', function () {
20+
it('nested create', function () {
2121
return this.$$container.create('user', {
2222
name: 'John',
2323
profile: {
@@ -32,7 +32,6 @@ describe('relation functionality', function () {
3232
}
3333
]
3434
}, { with: ['profile', 'post', 'organization'] }).then(function (user) {
35-
console.log(JSON.stringify(user, null, 2))
3635
assert.isDefined(user)
3736
assert.isDefined(user.id)
3837
assert.isDefined(user.organization)
@@ -45,55 +44,38 @@ describe('relation functionality', function () {
4544
assert.isDefined(user.posts[0].id)
4645
})
4746
})
48-
it.skip('nested create many', function () {
49-
return this.$$container.create('user', [{
47+
it('nested create many', function () {
48+
return this.$$container.createMany('user', [{
5049
name: 'John',
5150
profile: {
5251
5352
},
5453
organization: {
5554
name: 'Company Inc'
56-
},
57-
posts: [
58-
{
59-
content: 'foo'
60-
}
61-
]
55+
}
6256
}, {
6357
name: 'Sally',
6458
profile: {
6559
6660
},
6761
organization: {
6862
name: 'Company Inc'
69-
},
70-
posts: [
71-
{
72-
content: 'foo'
73-
}
74-
]
75-
}], { with: ['profile', 'post'] }).then(function (users) {
76-
// console.log(JSON.stringify(users, null, 2))
63+
}
64+
}], { with: ['profile', 'organization'] }).then(function (users) {
7765
assert.isDefined(users[0])
7866
assert.isDefined(users[0].id)
7967
assert.isDefined(users[0].organization)
8068
assert.isDefined(users[0].organization.id)
8169
assert.equal(users[0].organizationId, users[0].organization.id)
8270
assert.isDefined(users[0].profile)
8371
assert.isDefined(users[0].profile.id)
84-
assert.isDefined(users[0].posts)
85-
assert.equal(users[0].posts.length, 1)
86-
assert.isDefined(users[0].posts[0].id)
8772
assert.isDefined(users[1])
8873
assert.isDefined(users[1].id)
8974
assert.isDefined(users[1].organization)
9075
assert.isDefined(users[1].organization.id)
9176
assert.equal(users[1].organizationId, users[1].organization.id)
9277
assert.isDefined(users[1].profile)
9378
assert.isDefined(users[1].profile.id)
94-
assert.isDefined(users[1].posts)
95-
assert.equal(users[1].posts.length, 1)
96-
assert.isDefined(users[1].posts[0].id)
9779
})
9880
})
9981
})

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "js-data-localstorage",
33
"description": "localStorage adapter for js-data.",
4-
"version": "3.0.0-alpha.4",
4+
"version": "3.0.0-alpha.5",
55
"homepage": "https://github.com/js-data/js-data-localstorage",
66
"repository": {
77
"type": "git",
@@ -59,9 +59,9 @@
5959
"babel-preset-es2015": "6.5.0",
6060
"chai": "3.5.0",
6161
"codacy-coverage": "1.1.3",
62-
"coveralls": "2.11.6",
62+
"coveralls": "2.11.8",
6363
"ink-docstrap": "1.1.2",
64-
"js-data-adapter-tests": "^2.0.0-alpha.6",
64+
"js-data-adapter-tests": "^2.0.0-alpha.7",
6565
"jsdoc": "3.4.0",
6666
"karma": "0.13.21",
6767
"karma-browserstack-launcher": "0.1.10",

src/index.js

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,15 @@ const DEFAULTS = {
116116
*/
117117
debug: false,
118118

119+
/**
120+
* TODO
121+
*
122+
* @name LocalStorageAdapter#returnDeletedIds
123+
* @type {boolean}
124+
* @default false
125+
*/
126+
returnDeletedIds: false,
127+
119128
/**
120129
* TODO
121130
*
@@ -393,6 +402,7 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
393402
destroy (mapper, id, opts) {
394403
const self = this
395404
opts || (opts = {})
405+
const returnDeletedIds = isUndefined(opts.returnDeletedIds) ? self.returnDeletedIds : !!opts.returnDeletedIds
396406

397407
return createTask(function (success, failure) {
398408
queueTask(function () {
@@ -415,13 +425,14 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
415425

416426
// afterDestroy lifecycle hook
417427
op = opts.op = 'afterDestroy'
418-
return resolve(self[op](mapper, id, opts, deleted ? id : undefined)).then(function (_id) {
428+
return resolve(self[op](mapper, id, opts, deleted && returnDeletedIds ? id : undefined)).then(function (_id) {
419429
// Allow for re-assignment from lifecycle hook
420-
id = isUndefined(_id) ? id : _id
421-
return opts.raw ? {
422-
data: deleted ? id : undefined,
430+
id = isUndefined(_id) && returnDeletedIds ? id : _id
431+
const result = {
432+
data: id,
423433
deleted
424-
} : deleted ? id : undefined
434+
}
435+
return self.getRaw(opts) ? result : result.data
425436
})
426437
}).then(success, failure)
427438
})
@@ -443,6 +454,7 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
443454
const self = this
444455
query || (query = {})
445456
opts || (opts = {})
457+
const returnDeletedIds = isUndefined(opts.returnDeletedIds) ? self.returnDeletedIds : !!opts.returnDeletedIds
446458

447459
return createTask(function (success, failure) {
448460
queueTask(function () {
@@ -453,7 +465,7 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
453465
op = opts.op = 'destroyAll'
454466
self.dbg(op, query, opts)
455467
// Find the records that are to be destroyed
456-
return self.findAll(mapper, query, opts)
468+
return self.findAll(mapper, query, { raw: false })
457469
}).then(function (records) {
458470
const idAttribute = mapper.idAttribute
459471
// Gather IDs of records to be destroyed
@@ -469,13 +481,14 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
469481

470482
// afterDestroyAll lifecycle hook
471483
op = opts.op = 'afterDestroyAll'
472-
return self[op](mapper, query, opts, ids).then(function (_ids) {
484+
return self[op](mapper, query, opts, returnDeletedIds ? ids : undefined).then(function (_ids) {
473485
// Allow for re-assignment from lifecycle hook
474-
ids = isUndefined(_ids) ? ids : _ids
475-
return opts.raw ? {
486+
ids = isUndefined(_ids) && returnDeletedIds ? ids : _ids
487+
const result = {
476488
data: ids,
477489
deleted: records.length
478-
} : ids
490+
}
491+
return self.getRaw(opts) ? result : result.data
479492
})
480493
}).then(success, failure)
481494
})
@@ -553,7 +566,7 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
553566
} else if (def.type === 'hasMany' && def.localKeys) {
554567
let localKeys = []
555568
let itemKeys = get(record, def.localKeys) || []
556-
itemKeys = Array.isArray(itemKeys) ? itemKeys : Object.keys(itemKeys)
569+
itemKeys = isArray(itemKeys) ? itemKeys : Object.keys(itemKeys)
557570
localKeys = localKeys.concat(itemKeys)
558571
task = self.findAll(relatedMapper, {
559572
where: {
@@ -683,7 +696,7 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
683696
records.forEach(function (item) {
684697
let itemKeys = get(item, def.localKeys) || []
685698
itemKeys = Array.isArray(itemKeys) ? itemKeys : Object.keys(itemKeys)
686-
localKeys = localKeys.concat(itemKeys || [])
699+
localKeys = localKeys.concat(itemKeys)
687700
})
688701
task = self.findAll(relatedMapper, {
689702
where: {
@@ -785,6 +798,17 @@ addHiddenPropsToTarget(LocalStorageAdapter.prototype, {
785798
return ids
786799
},
787800

801+
/**
802+
* TODO
803+
*
804+
* @name LocalStorageAdapter#getRaw
805+
* @method
806+
*/
807+
getRaw (opts) {
808+
opts || (opts = {})
809+
return !!(isUndefined(opts.raw) ? this.raw : opts.raw)
810+
},
811+
788812
/**
789813
* TODO
790814
*

0 commit comments

Comments
 (0)