Skip to content

Commit

Permalink
[eslint] add eslint
Browse files Browse the repository at this point in the history
  • Loading branch information
ljharb committed Oct 12, 2022
1 parent a0cf2fb commit 9bf7583
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 9 deletions.
20 changes: 20 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"root": true,

"extends": "@ljharb",

"rules": {
"consistent-return": 1,
"indent": [2, 4],
"sort-keys": 0,
},

"overrides": [
{
"files": "example/**",
"rules": {
"no-console": 0,
},
},
],
}
4 changes: 3 additions & 1 deletion example/defined.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
'use strict';

var defined = require('../');
var opts = { y : false, w : 4 };
var opts = { y: false, w: 4 };
var x = defined(opts.x, opts.y, opts.w, 8);
console.log(x);
8 changes: 6 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
module.exports = function () {
'use strict';

module.exports = function defined() {
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] !== undefined) return arguments[i];
if (typeof arguments[i] !== 'undefined') {
return arguments[i];
}
}
};
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@
"test": "test"
},
"devDependencies": {
"@ljharb/eslint-config": "^21.0.0",
"aud": "^2.0.1",
"eslint": "=8.8.0",
"tape": "^5.6.1"
},
"scripts": {
"lint": "eslint --ext=js,mjs .",
"pretest": "npm run lint",
"tests-only": "tape 'test/**/*.js'",
"test": "npm run tests-only",
"posttest": "aud --production"
Expand Down
12 changes: 7 additions & 5 deletions test/def.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
'use strict';

var defined = require('../');
var test = require('tape');

test('defined-or', function (t) {
var u = undefined;
var u = void undefined;

t.equal(defined(), u, 'empty arguments');
t.equal(defined(u), u, '1 undefined');
t.equal(defined(u, u), u, '2 undefined');
t.equal(defined(u, u, u, u), u, '4 undefineds');

t.equal(defined(undefined, false, true), false, 'false[0]');
t.equal(defined(false, true), false, 'false[1]');
t.equal(defined(undefined, 0, true), 0, 'zero[0]');
t.equal(defined(0, true), 0, 'zero[1]');

t.equal(defined(3, undefined, 4), 3, 'first arg');
t.equal(defined(undefined, 3, 4), 3, 'second arg');
t.equal(defined(undefined, undefined, 3), 3, 'third arg');

t.end();
});
4 changes: 3 additions & 1 deletion test/falsy.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use strict';

var test = require('tape');
var defined = require('../');

test('falsy', function (t) {
t.plan(1);
var opts = { y : false, w : 4 };
var opts = { y: false, w: 4 };
var x = defined(opts.x, opts.y, opts.w, 8);
t.equal(x, false);
});

0 comments on commit 9bf7583

Please sign in to comment.