New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-data-export

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-data-export - npm Package Compare versions

Comparing version 0.2.0 to 0.3.1

CHANGELOG.md

6

dist/components/ExcelFile.js

@@ -87,3 +87,7 @@ "use strict";

_react2.default.Children.forEach(this.props.children, function (sheet) {
wb.Sheets[sheet.props.name] = (0, _DataUtil.excelSheetFromAoA)(_this2.createSheetData(sheet));
if (typeof sheet.props.dataSet === 'undefined' || sheet.props.dataSet.length === 0) {
wb.Sheets[sheet.props.name] = (0, _DataUtil.excelSheetFromAoA)(_this2.createSheetData(sheet));
} else {
wb.Sheets[sheet.props.name] = (0, _DataUtil.excelSheetFromDataSet)(sheet.props.dataSet);
}
});

@@ -90,0 +94,0 @@

@@ -50,2 +50,4 @@ "use strict";

name: _propTypes2.default.string.isRequired,
data: _propTypes2.default.arrayOf(_propTypes2.default.object),
dataSet: _propTypes2.default.arrayOf(_propTypes2.default.object),
value: _propTypes2.default.oneOfType([_propTypes2.default.array, _propTypes2.default.func]).isRequired,

@@ -52,0 +54,0 @@ children: _propTypes2.default.arrayOf(function (propValue, key) {

16

dist/index.js
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ExcelColumn = exports.ExcelSheet = undefined;
var _ExcelFile = require("./components/ExcelFile");

@@ -17,6 +22,7 @@

module.exports = {
ExcelFile: _ExcelFile2.default,
ExcelSheet: _ExcelSheet2.default,
ExcelColumn: _ExcelColumn2.default
};
_ExcelFile2.default.ExcelSheet = _ExcelSheet2.default;
_ExcelFile2.default.ExcelColumn = _ExcelColumn2.default;
exports.default = _ExcelFile2.default;
exports.ExcelSheet = _ExcelSheet2.default;
exports.ExcelColumn = _ExcelColumn2.default;

@@ -6,3 +6,3 @@ 'use strict';

});
exports.excelSheetFromAoA = exports.dateToNumber = exports.strToArrBuffer = undefined;
exports.excelSheetFromDataSet = exports.excelSheetFromAoA = exports.dateToNumber = exports.strToArrBuffer = undefined;

@@ -36,2 +36,93 @@ var _xlsx = require('xlsx');

var excelSheetFromDataSet = function excelSheetFromDataSet(dataSet) {
/*
Assuming the structure of dataset
{
xSteps?: number; //How many cells to skips from left
ySteps?: number; //How many rows to skips from last data
columns: [array | string]
data: [array_of_array | string|boolean|number]
}
*/
if (dataSet === undefined || dataSet.length === 0) {
return {};
}
var ws = {};
var range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } };
var rowCount = 0;
dataSet.forEach(function (dataSetItem) {
var columns = dataSetItem.columns;
var xSteps = typeof dataSetItem.xSteps === 'number' ? dataSetItem.xSteps : 0;
var ySteps = typeof dataSetItem.ySteps === 'number' ? dataSetItem.ySteps : 0;
var data = dataSetItem.data;
if (dataSet === undefined || dataSet.length === 0) {
return;
}
rowCount += ySteps;
if (columns.length >= 0) {
columns.forEach(function (col, index) {
var cellRef = _xlsx2.default.utils.encode_cell({ c: xSteps + index, r: rowCount });
fixRange(range, 0, 0, rowCount, xSteps, ySteps);
getCell(col, cellRef, ws);
});
rowCount += 1;
}
for (var R = 0; R != data.length; ++R, rowCount++) {
for (var C = 0; C != data[R].length; ++C) {
var cellRef = _xlsx2.default.utils.encode_cell({ c: C + xSteps, r: rowCount });
fixRange(range, R, C, rowCount, xSteps, ySteps);
getCell(data[R][C], cellRef, ws);
}
}
});
if (range.s.c < 10000000) {
ws['!ref'] = _xlsx2.default.utils.encode_range(range);
}
return ws;
};
function getCell(v, cellRef, ws) {
var cell = { v: v };
if (cell.v === null) {
return;
}
if (typeof cell.v === 'number') {
cell.t = 'n';
} else if (typeof cell.v === 'boolean') {
cell.t = 'b';
} else if (cell.v instanceof Date) {
cell.t = 'n';cell.z = _xlsx2.default.SSF._table[14];
cell.v = dateToNumber(cell.v);
} else {
cell.t = 's';
}
ws[cellRef] = cell;
}
function fixRange(range, R, C, rowCount, xSteps, ySteps) {
if (range.s.r > R + rowCount) {
range.s.r = R + rowCount;
}
if (range.s.c > C + xSteps) {
range.s.c = C + xSteps;
}
if (range.e.r < R + rowCount) {
range.e.r = R + rowCount;
}
if (range.e.c < C + xSteps) {
range.e.c = C + xSteps;
}
}
var excelSheetFromAoA = function excelSheetFromAoA(data) {

@@ -70,3 +161,4 @@ var ws = {};

} else if (cell.v instanceof Date) {
cell.t = 'n';cell.z = _xlsx2.default.SSF._table[14];
cell.t = 'n';
cell.z = _xlsx2.default.SSF._table[14];
cell.v = dateToNumber(cell.v);

@@ -90,2 +182,3 @@ } else {

exports.dateToNumber = dateToNumber;
exports.excelSheetFromAoA = excelSheetFromAoA;
exports.excelSheetFromAoA = excelSheetFromAoA;
exports.excelSheetFromDataSet = excelSheetFromDataSet;
{
"name": "react-data-export",
"version": "0.2.0",
"version": "0.3.1",
"main": "dist/index.js",

@@ -29,3 +29,3 @@ "description": "A set of tools to export dataset from react to different formats.",

"babel-preset-react": "6.24.1",
"babel-register": "^6.26.0",
"babel-register": "6.26.0",
"cross-env": "5.1.0",

@@ -41,5 +41,7 @@ "eslint": "4.8.0",

"react": "16.0.0",
"react-dom": "16.0.0"
"react-dom": "16.0.0",
"standard-version": "4.2.0"
},
"scripts": {
"release": "standard-version",
"test": "mocha ./test/unit --reporter=spec --full-trace",

@@ -46,0 +48,0 @@ "test:coverage": "nyc npm t",

@@ -0,0 +0,0 @@ # React-Data-Export

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc