diff --git a/.eslintrc.js b/.eslintrc.js index fbd822507c..5d62513449 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -121,6 +121,59 @@ module.exports = { // https://eslint.org/docs/rules/rest-spread-spacing "rest-spread-spacing": ["error"], + // https://eslint.org/docs/rules/no-implicit-coercion + "no-implicit-coercion": "error", + //https://eslint.org/docs/rules/no-unneeded-ternary + "no-unneeded-ternary": "error", + // https://eslint.org/docs/rules/semi + "semi": ["error", "always"], + // https://eslint.org/docs/rules/no-multi-spaces + "no-multi-spaces": "error", + // https://eslint.org/docs/rules/key-spacing + "key-spacing": ["error", { + "afterColon": true + }], + // https://eslint.org/docs/rules/keyword-spacing + "keyword-spacing": ["error", { + "before": true, + "after": true + }], + // https://eslint.org/docs/rules/comma-spacing + // Also requires one line code fix + "comma-spacing": ["error", { + "after": true + }], + //https://eslint.org/docs/rules/no-whitespace-before-property + "no-whitespace-before-property": "error", + // https://eslint.org/docs/rules/object-curly-newline + "object-curly-newline": ["error", {"consistent": true, "multiline": true}], + // https://eslint.org/docs/rules/object-property-newline + "object-property-newline": "error", + // https://eslint.org/docs/rules/brace-style + "brace-style": "error", + // https://eslint.org/docs/rules/no-multiple-empty-lines + "no-multiple-empty-lines": ["error", {"max": 1}], + // https://eslint.org/docs/rules/operator-linebreak + "operator-linebreak": ["error", "before", {"overrides": {"=": "after"}}], + // https://eslint.org/docs/rules/padding-line-between-statements + "padding-line-between-statements":["error", { + "blankLine": "always", + "prev": "multiline-block-like", + "next": "*" + }, { + "blankLine": "always", + "prev": "*", + "next": "return" + }], + // https://eslint.org/docs/rules/space-infix-ops + "space-infix-ops": "error", + // https://eslint.org/docs/rules/space-unary-ops + "space-unary-ops": ["error", {"words": true, "nonwords": false}], + // https://eslint.org/docs/rules/arrow-spacing + "arrow-spacing": "error", + // https://eslint.org/docs/rules/semi-spacing + "semi-spacing": ["error", {"before": false, "after": true}], + "vue/html-indent": [ "error", 4, diff --git a/example/eventGenerator/bundle.js b/example/eventGenerator/bundle.js index f620b0559d..e11b1f7718 100644 --- a/example/eventGenerator/bundle.js +++ b/example/eventGenerator/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/eventGenerator", + name: "example/eventGenerator", definition: { "name": "Event Message Generator", "description": "For development use. Creates sample event message data that mimics a live data stream.", diff --git a/example/eventGenerator/src/EventTelemetry.js b/example/eventGenerator/src/EventTelemetry.js index 7c011cd2ef..f668c6c0e0 100644 --- a/example/eventGenerator/src/EventTelemetry.js +++ b/example/eventGenerator/src/EventTelemetry.js @@ -44,13 +44,14 @@ define( }; generatorData.getDomainValue = function (i, domain) { - return i * interval + - (domain !== 'delta' ? firstObservedTime : 0); + return i * interval + + (domain !== 'delta' ? firstObservedTime : 0); }; generatorData.getRangeValue = function (i, range) { var domainDelta = this.getDomainValue(i) - firstObservedTime, ind = i % messages.length; + return messages[ind] + " - [" + domainDelta.toString() + "]"; }; diff --git a/example/eventGenerator/src/EventTelemetryProvider.js b/example/eventGenerator/src/EventTelemetryProvider.js index 90a00a5881..424d35b1e1 100644 --- a/example/eventGenerator/src/EventTelemetryProvider.js +++ b/example/eventGenerator/src/EventTelemetryProvider.js @@ -57,6 +57,7 @@ define( results.forEach(function (result) { packaged[result.key] = result.telemetry; }); + // Format as expected (sources -> keys -> telemetry) return { eventGenerator: packaged }; } diff --git a/example/export/ExportTelemetryAsCSVAction.js b/example/export/ExportTelemetryAsCSVAction.js index abdfdecad7..b47f2a9337 100644 --- a/example/export/ExportTelemetryAsCSVAction.js +++ b/example/export/ExportTelemetryAsCSVAction.js @@ -76,13 +76,14 @@ define([], function () { copyRangesToRow(row, i); rows.push(row); } + exportService.exportCSV(rows, { headers: headers }); }); }; ExportTelemetryAsCSVAction.appliesTo = function (context) { - return context.domainObject && - context.domainObject.hasCapability("telemetry"); + return context.domainObject + && context.domainObject.hasCapability("telemetry"); }; return ExportTelemetryAsCSVAction; diff --git a/example/export/bundle.js b/example/export/bundle.js index 84acd71665..7f9e46b9ef 100644 --- a/example/export/bundle.js +++ b/example/export/bundle.js @@ -27,7 +27,7 @@ define([ "use strict"; return { - name:"example/export", + name: "example/export", definition: { "name": "Example of using CSV Export", "extensions": { diff --git a/example/forms/bundle.js b/example/forms/bundle.js index d705837135..c54568b55b 100644 --- a/example/forms/bundle.js +++ b/example/forms/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/forms", + name: "example/forms", definition: { "name": "Declarative Forms example", "sources": "src", diff --git a/example/forms/src/ExampleFormController.js b/example/forms/src/ExampleFormController.js index 1e0249bbad..726c8ae857 100644 --- a/example/forms/src/ExampleFormController.js +++ b/example/forms/src/ExampleFormController.js @@ -152,10 +152,22 @@ define( name: "Choose something", control: "select", options: [ - { name: "Hats", value: "hats" }, - { name: "Bats", value: "bats" }, - { name: "Cats", value: "cats" }, - { name: "Mats", value: "mats" } + { + name: "Hats", + value: "hats" + }, + { + name: "Bats", + value: "bats" + }, + { + name: "Cats", + value: "cats" + }, + { + name: "Mats", + value: "mats" + } ], key: "aChoice" }, @@ -164,10 +176,22 @@ define( control: "select", required: true, options: [ - { name: "Hats", value: "hats" }, - { name: "Bats", value: "bats" }, - { name: "Cats", value: "cats" }, - { name: "Mats", value: "mats" } + { + name: "Hats", + value: "hats" + }, + { + name: "Bats", + value: "bats" + }, + { + name: "Cats", + value: "cats" + }, + { + name: "Mats", + value: "mats" + } ], key: "aRequiredChoice" } diff --git a/example/generator/GeneratorMetadataProvider.js b/example/generator/GeneratorMetadataProvider.js index e3969600c3..fd85e7a5dc 100644 --- a/example/generator/GeneratorMetadataProvider.js +++ b/example/generator/GeneratorMetadataProvider.js @@ -108,7 +108,7 @@ define([ } ] } - } + }; function GeneratorMetadataProvider() { diff --git a/example/generator/GeneratorProvider.js b/example/generator/GeneratorProvider.js index 1de9d5bf60..eee51cd822 100644 --- a/example/generator/GeneratorProvider.js +++ b/example/generator/GeneratorProvider.js @@ -65,15 +65,19 @@ define([ if (domainObject.telemetry && domainObject.telemetry.hasOwnProperty(prop)) { workerRequest[prop] = domainObject.telemetry[prop]; } + if (request && request.hasOwnProperty(prop)) { workerRequest[prop] = request[prop]; } + if (!workerRequest.hasOwnProperty(prop)) { workerRequest[prop] = REQUEST_DEFAULTS[prop]; } + workerRequest[prop] = Number(workerRequest[prop]); }); workerRequest.name = domainObject.name; + return workerRequest; }; @@ -81,11 +85,13 @@ define([ var workerRequest = this.makeWorkerRequest(domainObject, request); workerRequest.start = request.start; workerRequest.end = request.end; + return this.workerInterface.request(workerRequest); }; GeneratorProvider.prototype.subscribe = function (domainObject, callback) { var workerRequest = this.makeWorkerRequest(domainObject, {}); + return this.workerInterface.subscribe(workerRequest, callback); }; diff --git a/example/generator/SinewaveLimitProvider.js b/example/generator/SinewaveLimitProvider.js index a7fbd2cb03..733cd816d4 100644 --- a/example/generator/SinewaveLimitProvider.js +++ b/example/generator/SinewaveLimitProvider.js @@ -78,12 +78,15 @@ define([ if (datum[range] > RED[range]) { return LIMITS.rh; } + if (datum[range] < -RED[range]) { return LIMITS.rl; } + if (datum[range] > YELLOW[range]) { return LIMITS.yh; } + if (datum[range] < -YELLOW[range]) { return LIMITS.yl; } diff --git a/example/generator/StateGeneratorProvider.js b/example/generator/StateGeneratorProvider.js index 09e6b7c79f..061119ea75 100644 --- a/example/generator/StateGeneratorProvider.js +++ b/example/generator/StateGeneratorProvider.js @@ -48,7 +48,7 @@ define([ var interval = setInterval(function () { var now = Date.now(); var datum = pointForTimestamp(now, duration, domainObject.name); - datum.value += ""; + datum.value = String(datum.value); callback(datum); }, duration); @@ -57,7 +57,6 @@ define([ }; }; - StateGeneratorProvider.prototype.supportsRequest = function (domainObject, options) { return domainObject.type === 'example.state-generator'; }; @@ -69,11 +68,13 @@ define([ if (options.strategy === 'latest' || options.size === 1) { start = end; } + var data = []; while (start <= end && data.length < 5000) { data.push(pointForTimestamp(start, duration, domainObject.name)); start += duration; } + return Promise.resolve(data); }; diff --git a/example/generator/WorkerInterface.js b/example/generator/WorkerInterface.js index a8af1dc7aa..b3d179cd7f 100644 --- a/example/generator/WorkerInterface.js +++ b/example/generator/WorkerInterface.js @@ -78,6 +78,7 @@ define([ } else { deferred.resolve(message.data); } + delete this.callbacks[messageId]; } @@ -101,8 +102,5 @@ define([ }.bind(this); }; - - - return WorkerInterface; }); diff --git a/example/generator/generatorWorker.js b/example/generator/generatorWorker.js index eda3cbc232..75936714e5 100644 --- a/example/generator/generatorWorker.js +++ b/example/generator/generatorWorker.js @@ -64,13 +64,14 @@ data: { name: data.name, utc: nextStep, - yesterday: nextStep - 60*60*24*1000, + yesterday: nextStep - 60 * 60 * 24 * 1000, sin: sin(nextStep, data.period, data.amplitude, data.offset, data.phase, data.randomness), cos: cos(nextStep, data.period, data.amplitude, data.offset, data.phase, data.randomness) } }); nextStep += step; } + return nextStep; } @@ -87,6 +88,7 @@ if (request.end === undefined) { request.end = Date.now(); } + if (request.start === undefined) { request.start = request.end - FIFTEEN_MINUTES; } @@ -110,11 +112,12 @@ data.push({ name: request.name, utc: nextStep, - yesterday: nextStep - 60*60*24*1000, + yesterday: nextStep - 60 * 60 * 24 * 1000, sin: sin(nextStep, period, amplitude, offset, phase, randomness), cos: cos(nextStep, period, amplitude, offset, phase, randomness) }); } + self.postMessage({ id: message.id, data: data @@ -122,13 +125,13 @@ } function cos(timestamp, period, amplitude, offset, phase, randomness) { - return amplitude * - Math.cos(phase + (timestamp / period / 1000 * Math.PI * 2)) + (amplitude * Math.random() * randomness) + offset; + return amplitude + * Math.cos(phase + (timestamp / period / 1000 * Math.PI * 2)) + (amplitude * Math.random() * randomness) + offset; } function sin(timestamp, period, amplitude, offset, phase, randomness) { - return amplitude * - Math.sin(phase + (timestamp / period / 1000 * Math.PI * 2)) + (amplitude * Math.random() * randomness) + offset; + return amplitude + * Math.sin(phase + (timestamp / period / 1000 * Math.PI * 2)) + (amplitude * Math.random() * randomness) + offset; } function sendError(error, message) { diff --git a/example/generator/plugin.js b/example/generator/plugin.js index a2b8f9c773..3813f0684c 100644 --- a/example/generator/plugin.js +++ b/example/generator/plugin.js @@ -56,7 +56,7 @@ define([ initialize: function (object) { object.telemetry = { duration: 5 - } + }; } }); diff --git a/example/identity/bundle.js b/example/identity/bundle.js index 44ed78d33f..fe24ab16e6 100644 --- a/example/identity/bundle.js +++ b/example/identity/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/identity", + name: "example/identity", definition: { "extensions": { "components": [ diff --git a/example/identity/src/ExampleIdentityService.js b/example/identity/src/ExampleIdentityService.js index 0d008e591b..4ce5a13d03 100644 --- a/example/identity/src/ExampleIdentityService.js +++ b/example/identity/src/ExampleIdentityService.js @@ -25,26 +25,30 @@ define( function () { "use strict"; - var DEFAULT_IDENTITY = { key: "user", name: "Example User" }, + var DEFAULT_IDENTITY = { + key: "user", + name: "Example User" + }, DIALOG_STRUCTURE = { name: "Identify Yourself", - sections: [{ rows: [ - { - name: "User ID", - control: "textfield", - key: "key", - required: true - }, - { - name: "Human name", - control: "textfield", - key: "name", - required: true - } - ]}] + sections: [{ + rows: [ + { + name: "User ID", + control: "textfield", + key: "key", + required: true + }, + { + name: "Human name", + control: "textfield", + key: "name", + required: true + } + ] + }] }; - /** * Example implementation of an identity service. This prompts the * user to enter a name and user ID; in a more realistic @@ -77,14 +81,14 @@ define( */ ExampleIdentityProvider.prototype.returnUser = function (user) { return this.user = user; - } + }; /** * @private */ ExampleIdentityProvider.prototype.returnUndefined = function () { return undefined; - } + }; return ExampleIdentityProvider; } diff --git a/example/imagery/plugin.js b/example/imagery/plugin.js index 63a351c985..35103b9e1d 100644 --- a/example/imagery/plugin.js +++ b/example/imagery/plugin.js @@ -85,28 +85,28 @@ define([ data.push(pointForTimestamp(start, domainObject.name)); start += 5000; } + return Promise.resolve(data); } }; var ladProvider = { supportsRequest: function (domainObject, options) { - return domainObject.type === 'example.imagery' && - options.strategy === 'latest'; + return domainObject.type === 'example.imagery' + && options.strategy === 'latest'; }, request: function (domainObject, options) { return Promise.resolve([pointForTimestamp(Date.now(), domainObject.name)]); } }; - return function install(openmct) { openmct.types.addType('example.imagery', { key: 'example.imagery', name: 'Example Imagery', cssClass: 'icon-image', - description: 'For development use. Creates example imagery ' + - 'data that mimics a live imagery stream.', + description: 'For development use. Creates example imagery ' + + 'data that mimics a live imagery stream.', creatable: true, initialize: function (object) { object.telemetry = { @@ -140,7 +140,7 @@ define([ } } ] - } + }; } }); diff --git a/example/mobile/bundle.js b/example/mobile/bundle.js index 8b5dd04988..abb378a68d 100644 --- a/example/mobile/bundle.js +++ b/example/mobile/bundle.js @@ -25,7 +25,7 @@ define([], function () { "use strict"; return { - name:"example/mobile", + name: "example/mobile", definition: { "name": "Mobile", "description": "Allows elements with pertinence to mobile usage and development", diff --git a/example/msl/bundle.js b/example/msl/bundle.js index 23a8f46d0b..d7902d09fa 100644 --- a/example/msl/bundle.js +++ b/example/msl/bundle.js @@ -31,14 +31,15 @@ define([ RemsTelemetryProvider ) { "use strict"; + return { - name:"example/msl", + name: "example/msl", definition: { - "name" : "Mars Science Laboratory Data Adapter", - "extensions" : { + "name": "Mars Science Laboratory Data Adapter", + "extensions": { "types": [ { - "name":"Mars Science Laboratory", + "name": "Mars Science Laboratory", "key": "msl.curiosity", "cssClass": "icon-object" }, @@ -89,7 +90,7 @@ define([ ], "services": [ { - "key":"rems.adapter", + "key": "rems.adapter", "implementation": RemsTelemetryServerAdapter, "depends": ["$http", "$log", "REMS_WS_URL"] } diff --git a/example/msl/src/MSLDataDictionary.js b/example/msl/src/MSLDataDictionary.js index f114dae36e..4cdb9b1450 100644 --- a/example/msl/src/MSLDataDictionary.js +++ b/example/msl/src/MSLDataDictionary.js @@ -38,7 +38,7 @@ define( "identifier": "msl", "instruments": [ { - "name":"rems", + "name": "rems", "identifier": "rems", "measurements": [ { diff --git a/example/msl/src/RemsTelemetryModelProvider.js b/example/msl/src/RemsTelemetryModelProvider.js index fdaaf8b52d..a64e555bad 100644 --- a/example/msl/src/RemsTelemetryModelProvider.js +++ b/example/msl/src/RemsTelemetryModelProvider.js @@ -81,6 +81,7 @@ define( (dictionary.instruments || []).forEach(function (instrument) { addInstrument(instrument, "msl:curiosity"); }); + return models; } @@ -90,6 +91,7 @@ define( } }; } + return RemsTelemetryModelProvider; } ); diff --git a/example/msl/src/RemsTelemetryProvider.js b/example/msl/src/RemsTelemetryProvider.js index bc13bf8803..9076ceaa70 100644 --- a/example/msl/src/RemsTelemetryProvider.js +++ b/example/msl/src/RemsTelemetryProvider.js @@ -74,6 +74,7 @@ define ( RemsTelemetryProvider.prototype.subscribe = function (callback, requests) { return function () {}; }; + RemsTelemetryProvider.prototype.unsubscribe = function (callback, requests) { return function () {}; }; diff --git a/example/msl/src/RemsTelemetrySeries.js b/example/msl/src/RemsTelemetrySeries.js index 5dcd47e3c9..d0dbf30c62 100644 --- a/example/msl/src/RemsTelemetrySeries.js +++ b/example/msl/src/RemsTelemetrySeries.js @@ -57,6 +57,7 @@ define( RemsTelemetrySeries.prototype.getPointCount = function () { return this.data.length; }; + /** * The domain value at the given index. The Rems telemetry data is * time ordered, so the domain value is the time stamp of each data diff --git a/example/msl/src/RemsTelemetryServerAdapter.js b/example/msl/src/RemsTelemetryServerAdapter.js index dce3669da7..9ff5fb08ef 100644 --- a/example/msl/src/RemsTelemetryServerAdapter.js +++ b/example/msl/src/RemsTelemetryServerAdapter.js @@ -95,28 +95,32 @@ define( }); } }); + return data; } function fallbackToLocal() { - self.$log.warn("Loading REMS data failed, probably due to" + - " cross origin policy. Falling back to local data"); + self.$log.warn("Loading REMS data failed, probably due to" + + " cross origin policy. Falling back to local data"); + return self.$http.get(self.localDataURI); } //Filter results to match request parameters function filterResults(results) { return results.filter(function (result) { - return result.date >= (request.start || Number.MIN_VALUE) && - result.date <= (request.end || Number.MAX_VALUE); + return result.date >= (request.start || Number.MIN_VALUE) + && result.date <= (request.end || Number.MAX_VALUE); }); } function packageAndResolve(results) { - return {id: id, values: results}; + return { + id: id, + values: results + }; } - return (this.promise = this.promise || this.$http.get(this.REMS_WS_URL)) .catch(fallbackToLocal) .then(processResponse) diff --git a/example/notifications/bundle.js b/example/notifications/bundle.js index ed9ef1b620..ca8df25686 100644 --- a/example/notifications/bundle.js +++ b/example/notifications/bundle.js @@ -39,7 +39,7 @@ define([ "use strict"; return { - name:"example/notifications", + name: "example/notifications", definition: { "extensions": { "templates": [ diff --git a/example/notifications/src/DialogLaunchController.js b/example/notifications/src/DialogLaunchController.js index 674f9a12ce..b705ed01ec 100644 --- a/example/notifications/src/DialogLaunchController.js +++ b/example/notifications/src/DialogLaunchController.js @@ -91,7 +91,6 @@ define( } }; - /* Demonstrates launching an error dialog */ @@ -132,9 +131,9 @@ define( var dialog, model = { title: "Info Dialog Example", - actionText: "This is an example of a blocking info" + - " dialog. This dialog can be used to draw the user's" + - " attention to an event.", + actionText: "This is an example of a blocking info" + + " dialog. This dialog can be used to draw the user's" + + " attention to an event.", severity: "info", primaryOption: { label: "OK", @@ -153,6 +152,7 @@ define( }; } + return DialogLaunchController; } ); diff --git a/example/notifications/src/DialogLaunchIndicator.js b/example/notifications/src/DialogLaunchIndicator.js index 8677b664fc..1549a48f19 100644 --- a/example/notifications/src/DialogLaunchIndicator.js +++ b/example/notifications/src/DialogLaunchIndicator.js @@ -42,9 +42,11 @@ define( DialogLaunchIndicator.prototype.getGlyphClass = function () { return 'ok'; }; + DialogLaunchIndicator.prototype.getText = function () { return "Launch test dialog"; }; + DialogLaunchIndicator.prototype.getDescription = function () { return "Launch test dialog"; }; diff --git a/example/notifications/src/NotificationLaunchController.js b/example/notifications/src/NotificationLaunchController.js index ae07f3fa62..b8d9b77f14 100644 --- a/example/notifications/src/NotificationLaunchController.js +++ b/example/notifications/src/NotificationLaunchController.js @@ -48,7 +48,8 @@ define( "Eros turpis, pulvinar turpis eros eu", "Lundium nascetur a, lectus montes ac, parturient in natoque, duis risus risus pulvinar pid rhoncus, habitasse auctor natoque!" ]; - return actionTexts[Math.floor(Math.random()*3)]; + + return actionTexts[Math.floor(Math.random() * 3)]; } /** @@ -61,6 +62,7 @@ define( severity: "error" }); }; + /** * Launch a new notification with a severity of 'Alert'. */ @@ -73,7 +75,6 @@ define( }); }; - /** * Launch a new notification with a progress bar that is updated * periodically, tracking an ongoing process. @@ -93,10 +94,10 @@ define( * @param notification */ function incrementProgress() { - progress = Math.min(100, Math.floor(progress + Math.random() * 30)) - let progressText = ["Estimated time" + - " remaining:" + - " about ", 60 - Math.floor((progress / 100) * 60), " seconds"].join(" "); + progress = Math.min(100, Math.floor(progress + Math.random() * 30)); + let progressText = ["Estimated time" + + " remaining:" + + " about ", 60 - Math.floor((progress / 100) * 60), " seconds"].join(" "); notification.progress(progress, progressText); if (progress < 100) { @@ -120,6 +121,7 @@ define( }; } + return NotificationLaunchController; } ); diff --git a/example/notifications/src/NotificationLaunchIndicator.js b/example/notifications/src/NotificationLaunchIndicator.js index 092353b491..5a530cdf26 100644 --- a/example/notifications/src/NotificationLaunchIndicator.js +++ b/example/notifications/src/NotificationLaunchIndicator.js @@ -42,9 +42,11 @@ define( NotificationLaunchIndicator.prototype.getGlyphClass = function () { return 'ok'; }; + NotificationLaunchIndicator.prototype.getText = function () { return "Launch notification"; }; + NotificationLaunchIndicator.prototype.getDescription = function () { return "Launch notification"; }; diff --git a/example/persistence/bundle.js b/example/persistence/bundle.js index 41bcd58f7c..726fde3f7e 100644 --- a/example/persistence/bundle.js +++ b/example/persistence/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/persistence", + name: "example/persistence", definition: { "extensions": { "components": [ diff --git a/example/persistence/src/BrowserPersistenceProvider.js b/example/persistence/src/BrowserPersistenceProvider.js index d850036067..6466228d4f 100644 --- a/example/persistence/src/BrowserPersistenceProvider.js +++ b/example/persistence/src/BrowserPersistenceProvider.js @@ -30,8 +30,6 @@ define( function () { 'use strict'; - - function BrowserPersistenceProvider($q, SPACE) { var spaces = SPACE ? [SPACE] : [], caches = {}, @@ -51,6 +49,7 @@ define( }, listObjects: function (space) { var cache = caches[space]; + return promises.as( cache ? Object.keys(cache) : null ); @@ -68,6 +67,7 @@ define( }, readObject: function (space, key) { var cache = caches[space]; + return promises.as( cache ? cache[key] : null ); diff --git a/example/policy/bundle.js b/example/policy/bundle.js index 79e4609f65..003a8cd945 100644 --- a/example/policy/bundle.js +++ b/example/policy/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/policy", + name: "example/policy", definition: { "name": "Example Policy", "description": "Provides an example of using policies to prohibit actions.", diff --git a/example/policy/src/ExamplePolicy.js b/example/policy/src/ExamplePolicy.js index aed9177d01..1987fa772d 100644 --- a/example/policy/src/ExamplePolicy.js +++ b/example/policy/src/ExamplePolicy.js @@ -37,6 +37,7 @@ define( model = (domainObject && domainObject.getModel()) || {}, name = model.name || "", metadata = action.getMetadata() || {}; + return metadata.key !== 'remove' || name.indexOf('foo') < 0; } }; diff --git a/example/profiling/bundle.js b/example/profiling/bundle.js index 46c265e65e..d1eafdfba9 100644 --- a/example/profiling/bundle.js +++ b/example/profiling/bundle.js @@ -31,7 +31,7 @@ define([ "use strict"; return { - name:"example/profiling", + name: "example/profiling", definition: { "extensions": { "indicators": [ diff --git a/example/scratchpad/bundle.js b/example/scratchpad/bundle.js index 7aa4727087..327d9720ce 100644 --- a/example/scratchpad/bundle.js +++ b/example/scratchpad/bundle.js @@ -29,7 +29,7 @@ define([ "use strict"; return { - name:"example/scratchpad", + name: "example/scratchpad", definition: { "extensions": { "roots": [ diff --git a/example/scratchpad/src/ScratchPersistenceProvider.js b/example/scratchpad/src/ScratchPersistenceProvider.js index 17826f4169..4384962d48 100644 --- a/example/scratchpad/src/ScratchPersistenceProvider.js +++ b/example/scratchpad/src/ScratchPersistenceProvider.js @@ -54,13 +54,14 @@ define( if (space === 'scratch') { this.table[key] = JSON.stringify(value); } + return this.$q.when(space === 'scratch'); }; ScratchPersistenceProvider.prototype.readObject = function (space, key) { return this.$q.when( - (space === 'scratch' && this.table[key]) ? - JSON.parse(this.table[key]) : undefined + (space === 'scratch' && this.table[key]) + ? JSON.parse(this.table[key]) : undefined ); }; @@ -68,6 +69,7 @@ define( if (space === 'scratch') { delete this.table[key]; } + return this.$q.when(space === 'scratch'); }; diff --git a/example/simpleVuePlugin/HelloWorld.vue b/example/simpleVuePlugin/HelloWorld.vue index 8737ec727a..305d31183d 100644 --- a/example/simpleVuePlugin/HelloWorld.vue +++ b/example/simpleVuePlugin/HelloWorld.vue @@ -7,9 +7,9 @@ export default { data() { return { msg: 'Hello world!' - } + }; } -} +};