From f715d96064cbb12e9cfa82894678b59067543662 Mon Sep 17 00:00:00 2001 From: Andreas Lubbe Date: Wed, 27 May 2020 07:13:00 +0200 Subject: [PATCH] Use rest args instead of slicing arguments --- lib/doc/row.js | 5 ++--- lib/doc/worksheet.js | 19 ++++++++----------- lib/stream/xlsx/worksheet-writer.js | 4 ++-- lib/utils/under-dash.js | 20 ++++++++------------ lib/xlsx/xform/comment/vml-textbox-xform.js | 3 +-- spec/utils/tools.js | 3 +-- 6 files changed, 22 insertions(+), 32 deletions(-) diff --git a/lib/doc/row.js b/lib/doc/row.js index 341875b2c..5602e610f 100644 --- a/lib/doc/row.js +++ b/lib/doc/row.js @@ -3,7 +3,7 @@ const _ = require('../utils/under-dash'); const Enums = require('./enums'); -const colCache = require('./../utils/col-cache'); +const colCache = require('../utils/col-cache'); const Cell = require('./cell'); class Row { @@ -74,8 +74,7 @@ class Row { } // remove cell(s) and shift all higher cells down by count - splice(start, count) { - const inserts = Array.prototype.slice.call(arguments, 2); + splice(start, count, ...inserts) { const nKeep = start + count; const nExpand = inserts.length - count; const nEnd = this._cells.length; diff --git a/lib/doc/worksheet.js b/lib/doc/worksheet.js index abb794477..c206be420 100644 --- a/lib/doc/worksheet.js +++ b/lib/doc/worksheet.js @@ -211,9 +211,7 @@ class Worksheet { return this._columns[c - 1]; } - spliceColumns(start, count) { - // each member of inserts is a column of data. - const inserts = Array.prototype.slice.call(arguments, 2); + spliceColumns(start, count, ...inserts) { const rows = this._rows; const nRows = rows.length; if (inserts.length > 0) { @@ -368,9 +366,8 @@ class Worksheet { } } - spliceRows(start, count) { + spliceRows(start, count, ...inserts) { // same problem as row.splice, except worse. - const inserts = Array.prototype.slice.call(arguments, 2); const nKeep = start + count; const nExpand = inserts.length - count; const nEnd = this._rows.length; @@ -476,13 +473,13 @@ class Worksheet { // Merge // convert the range defined by ['tl:br'], [tl,br] or [t,l,b,r] into a single 'merged' cell - mergeCells() { - const dimensions = new Range(Array.prototype.slice.call(arguments, 0)); // convert arguments into Array + mergeCells(...cells) { + const dimensions = new Range(cells); this._mergeCellsInternal(dimensions); } - mergeCellsWithoutStyle() { - const dimensions = new Range(Array.prototype.slice.call(arguments, 0)); // convert arguments into Array + mergeCellsWithoutStyle(...cells) { + const dimensions = new Range(cells); this._mergeCellsInternal(dimensions, true); } @@ -530,8 +527,8 @@ class Worksheet { // scan the range defined by ['tl:br'], [tl,br] or [t,l,b,r] and if any cell is part of a merge, // un-merge the group. Note this function can affect multiple merges and merge-blocks are // atomic - either they're all merged or all un-merged. - unMergeCells() { - const dimensions = new Range(Array.prototype.slice.call(arguments, 0)); // convert arguments into Array + unMergeCells(...cells) { + const dimensions = new Range(cells); // find any cells in that range and unmerge them for (let i = dimensions.top; i <= dimensions.bottom; i++) { diff --git a/lib/stream/xlsx/worksheet-writer.js b/lib/stream/xlsx/worksheet-writer.js index dd87029c0..47a199c62 100644 --- a/lib/stream/xlsx/worksheet-writer.js +++ b/lib/stream/xlsx/worksheet-writer.js @@ -420,9 +420,9 @@ class WorksheetWriter { return row.getCellEx(address); } - mergeCells() { + mergeCells(...cells) { // may fail if rows have been comitted - const dimensions = new Dimensions(Array.prototype.slice.call(arguments, 0)); // convert arguments into Array + const dimensions = new Dimensions(cells); // check cells aren't already merged this._merges.forEach(merge => { diff --git a/lib/utils/under-dash.js b/lib/utils/under-dash.js index e0d1b157f..47a12b0fb 100644 --- a/lib/utils/under-dash.js +++ b/lib/utils/under-dash.js @@ -3,7 +3,7 @@ const {toString} = Object.prototype; const _ = { each: function each(obj, cb) { if (obj) { - if (_.isArray(obj)) { + if (Array.isArray(obj)) { obj.forEach(cb); } else { Object.keys(obj).forEach(key => { @@ -15,7 +15,7 @@ const _ = { some: function some(obj, cb) { if (obj) { - if (_.isArray(obj)) { + if (Array.isArray(obj)) { return obj.some(cb); } return Object.keys(obj).some(key => cb(obj[key], key)); @@ -25,7 +25,7 @@ const _ = { every: function every(obj, cb) { if (obj) { - if (_.isArray(obj)) { + if (Array.isArray(obj)) { return obj.every(cb); } return Object.keys(obj).every(key => cb(obj[key], key)); @@ -35,7 +35,7 @@ const _ = { map: function map(obj, cb) { if (obj) { - if (_.isArray(obj)) { + if (Array.isArray(obj)) { return obj.map(cb); } return Object.keys(obj).map(key => cb(obj[key], key)); @@ -53,8 +53,8 @@ const _ = { isEqual: function isEqual(a, b) { const aType = typeof a; const bType = typeof b; - const aArray = _.isArray(a); - const bArray = _.isArray(b); + const aArray = Array.isArray(a); + const bArray = Array.isArray(b); if (aType !== bType) { return false; @@ -102,10 +102,6 @@ const _ = { return toString.call(val) === '[object Undefined]'; }, - isArray(val) { - return toString.call(val) === '[object Array]'; - }, - isObject(val) { return toString.call(val) === '[object Object]'; }, @@ -118,11 +114,11 @@ const _ = { function assignValue(val, key) { src = target[key]; - copyIsArray = _.isArray(val); + copyIsArray = Array.isArray(val); if (_.isObject(val) || copyIsArray) { if (copyIsArray) { copyIsArray = false; - clone = src && _.isArray(src) ? src : []; + clone = src && Array.isArray(src) ? src : []; } else { clone = src && _.isObject(src) ? src : {}; } diff --git a/lib/xlsx/xform/comment/vml-textbox-xform.js b/lib/xlsx/xform/comment/vml-textbox-xform.js index bf5155d6b..95f28d934 100644 --- a/lib/xlsx/xform/comment/vml-textbox-xform.js +++ b/lib/xlsx/xform/comment/vml-textbox-xform.js @@ -1,5 +1,4 @@ const BaseXform = require('../base-xform'); -const _ = require('../../../utils/under-dash'); class VmlTextboxXform extends BaseXform { get tag() { @@ -22,7 +21,7 @@ class VmlTextboxXform extends BaseXform { }; if (model && model.note) { let {inset} = model.note && model.note.margins; - if (_.isArray(inset)) { + if (Array.isArray(inset)) { inset = inset .map(margin => { return this.conversionUnit(margin, 10, 'mm'); diff --git a/spec/utils/tools.js b/spec/utils/tools.js index 0cc5ceede..face8d297 100644 --- a/spec/utils/tools.js +++ b/spec/utils/tools.js @@ -23,8 +23,7 @@ const tools = { return clone; }, - concatenateFormula() { - const args = Array.prototype.slice.call(arguments); + concatenateFormula(...args) { const values = args.map(value => `"${value}"`); return { formula: `CONCATENATE(${values.join(',')})`, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy