Skip to content

Commit

Permalink
style: compluy with linting
Browse files Browse the repository at this point in the history
  • Loading branch information
buschtoens committed Aug 6, 2020
1 parent 7ac0833 commit 7073674
Show file tree
Hide file tree
Showing 28 changed files with 204 additions and 135 deletions.
7 changes: 4 additions & 3 deletions addon/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/* eslint-env node */

module.exports = {
root: true,
extends: '@clark/ember-typescript'
extends: '@clark/ember-typescript',
rules: {
'@typescript-eslint/no-invalid-this': 'off'
}
};
8 changes: 5 additions & 3 deletions addon/debounce.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { decoratorWithRequiredParams } from '@ember-decorators/utils/decorator';
import { debounceTask } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import { assert } from '@ember/debug';
import EmberObject from '@ember/object';

import { debounceTask } from 'ember-lifeline';

import hookDisposablesRunner from './hook-disposables-runner';
import privateAlias from './utils/private-alias';
import { Prototype } from './utils/type-helpers';

Expand All @@ -26,7 +28,7 @@ export default decoratorWithRequiredParams(function debounce<
key,
desc,
alias =>
function(this: InstanceType<typeof target.constructor>, ...args: any[]) {
function (this: InstanceType<typeof target.constructor>, ...args: any[]) {
return debounceTask(this, alias, ...args, wait, immediate);
}
);
Expand Down
13 changes: 8 additions & 5 deletions addon/disposable.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import { registerDisposable } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import { decoratorWithParams } from '@ember-decorators/utils/decorator';
import { assert } from '@ember/debug';
import { afterMethod } from 'patch-method';
import EmberObject from '@ember/object';

import { registerDisposable } from 'ember-lifeline';

import { afterMethod } from 'patch-method';

import hookDisposablesRunner from './hook-disposables-runner';
import { Prototype } from './utils/type-helpers';
import { decoratorWithParams } from '@ember-decorators/utils/decorator';

export default decoratorWithParams(function disposable<
Target extends Prototype<EmberObject>
Expand All @@ -20,7 +23,7 @@ export default decoratorWithParams(function disposable<

hookDisposablesRunner(target.constructor);

afterMethod(target.constructor, 'init', function() {
afterMethod(target.constructor, 'init', function () {
// `.bind` is required because ember-lifeline does not set the correct context
registerDisposable(this, desc.value.bind(this));
});
Expand Down
16 changes: 12 additions & 4 deletions addon/event-listener.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
import { decoratorWithRequiredParams } from '@ember-decorators/utils/decorator';
import { addEventListener } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import Component from '@ember/component';
import { assert } from '@ember/debug';
import EmberObject from '@ember/object';

import { addEventListener } from 'ember-lifeline';

import { afterMethod } from 'patch-method';
import Component from '@ember/component';

import hookDisposablesRunner from './hook-disposables-runner';
import { Prototype, Constructor } from './utils/type-helpers';

// eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-empty-function
function NOOP(): void {}

function collapseProto(target: Prototype<EmberObject>) {
// We must collapse the superclass prototype to make sure that the `actions`
// object will exist. Since collapsing doesn't generally happen until a class is
// instantiated, we have to do it manually.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
if (typeof target.constructor.proto === 'function') {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
target.constructor.proto();
}
Expand All @@ -29,6 +35,7 @@ export default decoratorWithRequiredParams(function eventListener<
[eventTarget, eventName, options]: [
EventTarget | ((this: Component, obj: Component) => EventTarget),
string,
// eslint-disable-next-line @typescript-eslint/ban-types
object?
]
): PropertyDescriptor {
Expand All @@ -45,9 +52,10 @@ export default decoratorWithRequiredParams(function eventListener<
typeof target.constructor.prototype.didInsertElement === 'function'
? 'didInsertElement'
: 'init',
function() {
function () {
addEventListener(
this,
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore https://github.com/ember-lifeline/ember-lifeline/pull/249
typeof eventTarget === 'function'
? eventTarget.call(this, this)
Expand Down
4 changes: 3 additions & 1 deletion addon/hook-disposables-runner.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import EmberObject from '@ember/object';

import { runDisposables } from 'ember-lifeline';

import { Constructor } from './utils/type-helpers';

const hookedWithDisposables = new WeakSet<Constructor<EmberObject>>();
Expand All @@ -16,7 +18,7 @@ export default function hookDisposablesRunner(
prototype,
'willDestroy'
);
prototype.willDestroy = function(...args: any[]) {
prototype.willDestroy = function (...args: any[]) {
runDisposables(this);
if (originalMethod) {
return originalMethod.value.apply(this, args);
Expand Down
6 changes: 4 additions & 2 deletions addon/later.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { decoratorWithRequiredParams } from '@ember-decorators/utils/decorator';
import { runTask } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import { assert } from '@ember/debug';
import EmberObject from '@ember/object';

import { runTask } from 'ember-lifeline';

import hookDisposablesRunner from './hook-disposables-runner';
import { Prototype } from './utils/type-helpers';

export default decoratorWithRequiredParams(function later<
Expand Down
6 changes: 4 additions & 2 deletions addon/schedule.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { decoratorWithRequiredParams } from '@ember-decorators/utils/decorator';
import { scheduleTask } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import { assert } from '@ember/debug';
import EmberObject from '@ember/object';

import { scheduleTask } from 'ember-lifeline';

import hookDisposablesRunner from './hook-disposables-runner';
import { Prototype } from './utils/type-helpers';

/**
Expand Down
8 changes: 5 additions & 3 deletions addon/throttle.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { decoratorWithRequiredParams } from '@ember-decorators/utils/decorator';
import { throttleTask } from 'ember-lifeline';
import hookDisposablesRunner from './hook-disposables-runner';
import { assert } from '@ember/debug';
import EmberObject from '@ember/object';

import { throttleTask } from 'ember-lifeline';

import hookDisposablesRunner from './hook-disposables-runner';
import privateAlias from './utils/private-alias';
import { Prototype } from './utils/type-helpers';

Expand All @@ -26,7 +28,7 @@ export default decoratorWithRequiredParams(function throttle<
key,
desc,
alias =>
function(this: InstanceType<typeof target.constructor>, ...args: any[]) {
function (this: InstanceType<typeof target.constructor>, ...args: any[]) {
return throttleTask(this, alias, ...args, spacing, immediate);
}
);
Expand Down
5 changes: 2 additions & 3 deletions addon/utils/private-alias.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
// eslint-disable-next-line @typescript-eslint/ban-types
export default function privateAlias<Target extends object>(
target: Target,
key: keyof Target,
desc: PropertyDescriptor,
makeValue: (alias: string) => any
): PropertyDescriptor {
const privateKey = `__${String(key)}-${Math.random()
.toString(36)
.slice(2)}`;
const privateKey = `__${String(key)}-${Math.random().toString(36).slice(2)}`;

Object.defineProperty(target, privateKey, {
...desc,
Expand Down
2 changes: 1 addition & 1 deletion config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const getChannelURL = require('ember-source-channel-url');

module.exports = function() {
module.exports = function () {
return Promise.all([
getChannelURL('release'),
getChannelURL('beta'),
Expand Down
2 changes: 1 addition & 1 deletion config/environment.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
'use strict';

module.exports = function(/* environment, appConfig */) {
module.exports = function (/* environment, appConfig */) {
return {};
};
2 changes: 1 addition & 1 deletion ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');

module.exports = function(defaults) {
module.exports = function (defaults) {
const app = new EmberAddon(defaults, {
// Add options here
});
Expand Down
7 changes: 4 additions & 3 deletions tests/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/* eslint-env node */

module.exports = {
root: true,
extends: '@clark/ember-typescript'
extends: '@clark/ember-typescript/test',
rules: {
'@typescript-eslint/no-invalid-this': 'off'
}
};
17 changes: 9 additions & 8 deletions tests/dummy/app/app.js → tests/dummy/app/app.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import Application from '@ember/application';
import Resolver from './resolver';

import loadInitializers from 'ember-load-initializers';

import config from './config/environment';
import Resolver from './resolver';

const App = Application.extend({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver
});
export default class App extends Application {
modulePrefix = config.modulePrefix;
podModulePrefix = config.podModulePrefix;
// eslint-disable-next-line @typescript-eslint/naming-convention
Resolver = Resolver;
}

loadInitializers(App, config.modulePrefix);

export default App;
File renamed without changes.
11 changes: 0 additions & 11 deletions tests/dummy/app/router.js

This file was deleted.

10 changes: 10 additions & 0 deletions tests/dummy/app/router.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import EmberRouter from '@ember/routing/router';

import config from './config/environment';

export default class Router extends EmberRouter {
location = config.locationType;
rootURL = config.rootURL;
}

Router.map(function () {});
2 changes: 1 addition & 1 deletion tests/dummy/config/environment.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

module.exports = function(environment) {
module.exports = function (environment) {
const ENV = {
modulePrefix: 'dummy',
environment,
Expand Down
4 changes: 2 additions & 2 deletions tests/helpers/in-run-loop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import { begin, end } from '@ember/runloop';
* @param {object} hooks QUnit Hooks
*/
export default function inRunLoop(hooks: NestedHooks): void {
hooks.beforeEach(function() {
hooks.beforeEach(function () {
begin();
});

hooks.afterEach(function() {
hooks.afterEach(function () {
end();
});
}
Expand Down
19 changes: 11 additions & 8 deletions tests/integration/event-listener-test.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, click } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
import { eventListener } from 'ember-lifeline-decorators';
import { setupRenderingTest } from 'ember-qunit';
import { module, test } from 'qunit';

import Component from '@ember/component';

module('@eventListener', function(hooks) {
import { eventListener } from 'ember-lifeline-decorators';

import hbs from 'htmlbars-inline-precompile';

module('@eventListener', function (hooks) {
setupRenderingTest(hooks);

test('it can be used on a component', async function(assert) {
test('it can be used on a component', async function (assert) {
assert.expect(1);

class TestComponent extends Component {
Expand All @@ -25,7 +28,7 @@ module('@eventListener', function(hooks) {
await click(this.element.querySelector('#test-component')!);
});

test('it accepts `this.element` as target', async function(assert) {
test('it accepts `this.element` as target', async function (assert) {
assert.expect(1);

class TestComponent extends Component {
Expand All @@ -42,7 +45,7 @@ module('@eventListener', function(hooks) {
await click(this.element.querySelector('#test-component')!);
});

test('it calls the callback after `didInsertElement`', async function(assert) {
test('it calls the callback after `didInsertElement`', async function (assert) {
assert.expect(1);

let didCall = false;
Expand Down
5 changes: 3 additions & 2 deletions tests/test-helper.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import Application from '../app';
import config from '../config/environment';
import { setApplication } from '@ember/test-helpers';
import { start } from 'ember-qunit';

import Application from '../app';
import config from '../config/environment';

setApplication(Application.create(config.APP));

start();
Loading

0 comments on commit 7073674

Please sign in to comment.