From 3ec5f4c64be3d9388122320119a6ad6f0cad48d2 Mon Sep 17 00:00:00 2001 From: Dan Ryan Date: Fri, 6 May 2016 22:36:41 -0400 Subject: [PATCH 1/3] Make setDefault compatible with object type argument --- packages/reactive-dict/reactive-dict-tests.js | 12 +++++++++++ packages/reactive-dict/reactive-dict.js | 20 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/packages/reactive-dict/reactive-dict-tests.js b/packages/reactive-dict/reactive-dict-tests.js index 7c845cd0f4..f67530d011 100644 --- a/packages/reactive-dict/reactive-dict-tests.js +++ b/packages/reactive-dict/reactive-dict-tests.js @@ -16,6 +16,18 @@ Tinytest.add('ReactiveDict - setDefault', function (test) { dict.setDefault('D', undefined); test.equal(dict.all(), {A: 'blah', B: undefined, C: 'default', D: undefined}); + + dict = new ReactiveDict; + dict.set('A', 'blah'); + dict.set('B', undefined); + dict.setDefault({ + A: 'default', + B: 'defualt', + C: 'default', + D: undefined + }); + test.equal(dict.all(), {A: 'blah', B: undefined, + C: 'default', D: undefined}); }); Tinytest.add('ReactiveDict - all() works', function (test) { diff --git a/packages/reactive-dict/reactive-dict.js b/packages/reactive-dict/reactive-dict.js index a807898c1b..a4d4592a54 100644 --- a/packages/reactive-dict/reactive-dict.js +++ b/packages/reactive-dict/reactive-dict.js @@ -79,8 +79,18 @@ _.extend(ReactiveDict.prototype, { } }, - setDefault: function (key, value) { + setDefault: function (keyOrObject, value) { var self = this; + + if ((typeof keyOrObject === 'object') && (value === undefined)) { + // Called as `dict.setDefault({...})` + self._setDefaultObject(keyOrObject); + return; + } + // the input isn't an object, so it must be a key + // and we resume with the rest of the function + var key = keyOrObject; + if (! _.has(self.keys, key)) { self.set(key, value); } @@ -198,6 +208,14 @@ _.extend(ReactiveDict.prototype, { }); }, + _setDefaultObject: function (object) { + var self = this; + + _.each(object, function (value, key){ + self.setDefault(key, value); + }); + }, + _ensureKey: function (key) { var self = this; if (!(key in self.keyDeps)) { From 7435cd3a2a90c04c666dcbe7cdcbbb12d91005f2 Mon Sep 17 00:00:00 2001 From: Tom Coleman Date: Thu, 2 Jun 2016 13:05:41 +1000 Subject: [PATCH 2/3] Added note about PR#6180 to history --- History.md | 1 + 1 file changed, 1 insertion(+) diff --git a/History.md b/History.md index c88a49d785..ee57ac10a1 100644 --- a/History.md +++ b/History.md @@ -12,6 +12,7 @@ * Added support for `$eq` to Minimongo: https://github.com/meteor/meteor/pull/4235 * Insert a `Date` header into emails by default: https://github.com/meteor/meteor/pull/6916/files * `meteor test` now supports setting the bind address using `--port IP:PORT` the same as `meteor run` [PR #6964](https://github.com/meteor/meteor/pull/6964) [Issue #6961](https://github.com/meteor/meteor/issues/6961) +* `Meteor.apply` now takes a `noRetry` option to opt-out of automatically retrying non-idempotent methods on connection blips: [PR #6180](https://github.com/meteor/meteor/pull/6180) ## v1.3.2.3 From a8063e81f7ddb25c541af85c9b4b4d48fe890322 Mon Sep 17 00:00:00 2001 From: Wexpo Lyu Date: Fri, 3 Jun 2016 15:37:46 +0800 Subject: [PATCH 3/3] Use NPM_CONFIG_REGISTRY. --- tools/isobuild/meteor-npm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/isobuild/meteor-npm.js b/tools/isobuild/meteor-npm.js index 41260f919f..2f8b129f46 100644 --- a/tools/isobuild/meteor-npm.js +++ b/tools/isobuild/meteor-npm.js @@ -664,7 +664,7 @@ var installFromShrinkwrap = function (dir) { // dependencies. `npm install` times out after more than a minute. var ensureConnected = function () { try { - httpHelpers.getUrl("http://registry.npmjs.org"); + httpHelpers.getUrl(process.env.NPM_CONFIG_REGISTRY || "http://registry.npmjs.org"); } catch (e) { buildmessage.error("Can't install npm dependencies. " + "Are you connected to the internet?");