ng2csv 0.5.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,22 +1,20 @@
1
1
  {
2
2
  "name": "ng2csv",
3
- "version": "0.5.0",
3
+ "version": "1.0.0",
4
+ "dependencies": {
5
+ "tslib": "^2.0.0"
6
+ },
4
7
  "peerDependencies": {
5
- "@angular/common": "^9.0.7",
6
- "@angular/core": "^9.0.7",
8
+ "@angular/common": "^11.0.0",
9
+ "@angular/core": "^11.0.0",
7
10
  "file-saver": "^2.0.0"
8
11
  },
9
12
  "main": "bundles/ng2csv.umd.js",
10
- "module": "fesm5/ng2csv.js",
13
+ "module": "fesm2015/ng2csv.js",
11
14
  "es2015": "fesm2015/ng2csv.js",
12
- "esm5": "esm5/ng2csv.js",
13
15
  "esm2015": "esm2015/ng2csv.js",
14
- "fesm5": "fesm5/ng2csv.js",
15
16
  "fesm2015": "fesm2015/ng2csv.js",
16
17
  "typings": "ng2csv.d.ts",
17
18
  "metadata": "ng2csv.metadata.json",
18
- "sideEffects": false,
19
- "dependencies": {
20
- "tslib": "^1.10.0"
21
- }
22
- }
19
+ "sideEffects": false
20
+ }
@@ -1,85 +0,0 @@
1
- import { __values } from "tslib";
2
- import { OrderedProjectionCsvRowMapper } from './ordered-projection-csv-row-mapper.class';
3
- var AutoCsvRowMapper = /** @class */ (function () {
4
- function AutoCsvRowMapper(data) {
5
- var e_1, _a;
6
- if (!data || data.length === 0) {
7
- throw new Error('Parameter \'data\' must be a non-empty array of objects.');
8
- }
9
- if (typeof data[0] !== 'object') {
10
- throw new Error('Parameter \'data\' must contain objects.');
11
- }
12
- var projections = [];
13
- var allKeys = this.getAllKeys(data);
14
- try {
15
- for (var allKeys_1 = __values(allKeys), allKeys_1_1 = allKeys_1.next(); !allKeys_1_1.done; allKeys_1_1 = allKeys_1.next()) {
16
- var key = allKeys_1_1.value;
17
- projections.push([
18
- key,
19
- this.createProjection(key)
20
- ]);
21
- }
22
- }
23
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
24
- finally {
25
- try {
26
- if (allKeys_1_1 && !allKeys_1_1.done && (_a = allKeys_1.return)) _a.call(allKeys_1);
27
- }
28
- finally { if (e_1) throw e_1.error; }
29
- }
30
- this.derivedCsvRowMapper = new OrderedProjectionCsvRowMapper(projections);
31
- }
32
- AutoCsvRowMapper.prototype.getColumnNames = function () {
33
- return this.derivedCsvRowMapper.getColumnNames();
34
- };
35
- AutoCsvRowMapper.prototype.map = function (obj) {
36
- return this.derivedCsvRowMapper.map(obj);
37
- };
38
- AutoCsvRowMapper.prototype.createProjection = function (property) {
39
- return function (x) {
40
- if (x.hasOwnProperty(property)) {
41
- var propertyValue = x[property];
42
- if (propertyValue === undefined || propertyValue === null) {
43
- return '';
44
- }
45
- return propertyValue.toString();
46
- }
47
- else {
48
- return '';
49
- }
50
- };
51
- };
52
- AutoCsvRowMapper.prototype.getAllKeys = function (objs) {
53
- var e_2, _a, e_3, _b;
54
- var allKeys = {};
55
- try {
56
- for (var objs_1 = __values(objs), objs_1_1 = objs_1.next(); !objs_1_1.done; objs_1_1 = objs_1.next()) {
57
- var obj = objs_1_1.value;
58
- try {
59
- for (var _c = (e_3 = void 0, __values(Object.keys(obj))), _d = _c.next(); !_d.done; _d = _c.next()) {
60
- var objectKey = _d.value;
61
- allKeys[objectKey] = 1;
62
- }
63
- }
64
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
65
- finally {
66
- try {
67
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
68
- }
69
- finally { if (e_3) throw e_3.error; }
70
- }
71
- }
72
- }
73
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
74
- finally {
75
- try {
76
- if (objs_1_1 && !objs_1_1.done && (_a = objs_1.return)) _a.call(objs_1);
77
- }
78
- finally { if (e_2) throw e_2.error; }
79
- }
80
- return Object.keys(allKeys);
81
- };
82
- return AutoCsvRowMapper;
83
- }());
84
- export { AutoCsvRowMapper };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1jc3Ytcm93LW1hcHBlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMmNzdi8iLCJzb3VyY2VzIjpbImxpYi9hdXRvLWNzdi1yb3ctbWFwcGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUUxRjtJQUlFLDBCQUFtQixJQUFTOztRQUMxQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQUMsQ0FBQztTQUMvRDtRQUVELElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsMENBQTBDLENBQzNDLENBQUM7U0FDSDtRQUVELElBQU0sV0FBVyxHQUF3QyxFQUFFLENBQUM7UUFFNUQsSUFBTSxPQUFPLEdBQWEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7WUFDaEQsS0FBa0IsSUFBQSxZQUFBLFNBQUEsT0FBTyxDQUFBLGdDQUFBLHFEQUFFO2dCQUF0QixJQUFNLEdBQUcsb0JBQUE7Z0JBQ1osV0FBVyxDQUFDLElBQUksQ0FBQztvQkFDZixHQUFHO29CQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7aUJBQzNCLENBQUMsQ0FBQzthQUNKOzs7Ozs7Ozs7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSw2QkFBNkIsQ0FDMUQsV0FBVyxDQUNaLENBQUM7SUFDSixDQUFDO0lBRU0seUNBQWMsR0FBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sOEJBQUcsR0FBVixVQUFXLEdBQU07UUFDZixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLDJDQUFnQixHQUF4QixVQUF5QixRQUFnQjtRQUN2QyxPQUFPLFVBQUMsQ0FBSTtZQUNWLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDOUIsSUFBTSxhQUFhLEdBQUksQ0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLGFBQWEsS0FBSyxTQUFTLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtvQkFDekQsT0FBTyxFQUFFLENBQUM7aUJBQ1g7Z0JBQ0QsT0FBTyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDakM7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxxQ0FBVSxHQUFsQixVQUFtQixJQUFTOztRQUMxQixJQUFNLE9BQU8sR0FBUSxFQUFFLENBQUM7O1lBRXhCLEtBQWtCLElBQUEsU0FBQSxTQUFBLElBQUksQ0FBQSwwQkFBQSw0Q0FBRTtnQkFBbkIsSUFBTSxHQUFHLGlCQUFBOztvQkFDWixLQUF3QixJQUFBLG9CQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQSxDQUFBLGdCQUFBLDRCQUFFO3dCQUFyQyxJQUFNLFNBQVMsV0FBQTt3QkFDbEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDeEI7Ozs7Ozs7OzthQUNGOzs7Ozs7Ozs7UUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQWhFRCxJQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDc3ZSb3dNYXBwZXIgfSBmcm9tICcuL2Nzdi1yb3ctbWFwcGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcmRlcmVkUHJvamVjdGlvbkNzdlJvd01hcHBlciB9IGZyb20gJy4vb3JkZXJlZC1wcm9qZWN0aW9uLWNzdi1yb3ctbWFwcGVyLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIEF1dG9Dc3ZSb3dNYXBwZXI8VD4gaW1wbGVtZW50cyBJQ3N2Um93TWFwcGVyPFQ+IHtcblxuICBwcml2YXRlIGRlcml2ZWRDc3ZSb3dNYXBwZXI6IE9yZGVyZWRQcm9qZWN0aW9uQ3N2Um93TWFwcGVyPFQ+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBUW10pIHtcbiAgICBpZiAoIWRhdGEgfHwgZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1BhcmFtZXRlciBcXCdkYXRhXFwnIG11c3QgYmUgYSBub24tZW1wdHkgYXJyYXkgb2Ygb2JqZWN0cy4nKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGRhdGFbMF0gIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdQYXJhbWV0ZXIgXFwnZGF0YVxcJyBtdXN0IGNvbnRhaW4gb2JqZWN0cy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plY3Rpb25zOiBBcnJheTxbc3RyaW5nLCAob2JqOiBUKSA9PiBzdHJpbmddPiA9IFtdO1xuXG4gICAgY29uc3QgYWxsS2V5czogc3RyaW5nW10gPSB0aGlzLmdldEFsbEtleXMoZGF0YSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgYWxsS2V5cykge1xuICAgICAgcHJvamVjdGlvbnMucHVzaChbXG4gICAgICAgIGtleSxcbiAgICAgICAgdGhpcy5jcmVhdGVQcm9qZWN0aW9uKGtleSlcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIHRoaXMuZGVyaXZlZENzdlJvd01hcHBlciA9IG5ldyBPcmRlcmVkUHJvamVjdGlvbkNzdlJvd01hcHBlcjxUPihcbiAgICAgIHByb2plY3Rpb25zXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZGVyaXZlZENzdlJvd01hcHBlci5nZXRDb2x1bW5OYW1lcygpO1xuICB9XG5cbiAgcHVibGljIG1hcChvYmo6IFQpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZGVyaXZlZENzdlJvd01hcHBlci5tYXAob2JqKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUHJvamVjdGlvbihwcm9wZXJ0eTogc3RyaW5nKTogKG9iajogVCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHg6IFQpID0+IHtcbiAgICAgIGlmICh4Lmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVZhbHVlID0gKHggYXMgYW55KVtwcm9wZXJ0eV07XG4gICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcGVydHlWYWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvcGVydHlWYWx1ZS50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEFsbEtleXMob2JqczogVFtdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGFsbEtleXM6IGFueSA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBvYmogb2Ygb2Jqcykge1xuICAgICAgZm9yIChjb25zdCBvYmplY3RLZXkgb2YgT2JqZWN0LmtleXMob2JqKSkge1xuICAgICAgICBhbGxLZXlzW29iamVjdEtleV0gPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhhbGxLZXlzKTtcbiAgfVxufVxuIl19
@@ -1,13 +0,0 @@
1
- var CsvConfiguration = /** @class */ (function () {
2
- function CsvConfiguration() {
3
- this.delimiter = ',';
4
- this.quote = '"';
5
- this.newLine = '\r\n';
6
- this.includeHeaderLine = true;
7
- this.outputValueForNull = '';
8
- this.outputValueForUndefined = '';
9
- }
10
- return CsvConfiguration;
11
- }());
12
- export { CsvConfiguration };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LWNvbmZpZ3VyYXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzJjc3YvIiwic291cmNlcyI6WyJsaWIvY3N2LWNvbmZpZ3VyYXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFBQTtRQUNTLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUNaLFlBQU8sR0FBRyxNQUFNLENBQUM7UUFDakIsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUFELHVCQUFDO0FBQUQsQ0FBQyxBQVBELElBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQ3N2Q29uZmlndXJhdGlvbiB7XG4gIHB1YmxpYyBkZWxpbWl0ZXIgPSAnLCc7XG4gIHB1YmxpYyBxdW90ZSA9ICdcIic7XG4gIHB1YmxpYyBuZXdMaW5lID0gJ1xcclxcbic7XG4gIHB1YmxpYyBpbmNsdWRlSGVhZGVyTGluZSA9IHRydWU7XG4gIHB1YmxpYyBvdXRwdXRWYWx1ZUZvck51bGwgPSAnJztcbiAgcHVibGljIG91dHB1dFZhbHVlRm9yVW5kZWZpbmVkID0gJyc7XG59XG4iXX0=
@@ -1 +0,0 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LXJvdy1tYXBwZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyY3N2LyIsInNvdXJjZXMiOlsibGliL2Nzdi1yb3ctbWFwcGVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJQ3N2Um93TWFwcGVyPFQ+IHtcbiAgZ2V0Q29sdW1uTmFtZXMoKTogc3RyaW5nW107XG4gIG1hcChvYmo6IFQpOiBzdHJpbmdbXTtcbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { NgModule } from '@angular/core';
3
- var Ng2CsvModule = /** @class */ (function () {
4
- function Ng2CsvModule() {
5
- }
6
- Ng2CsvModule = __decorate([
7
- NgModule({})
8
- ], Ng2CsvModule);
9
- return Ng2CsvModule;
10
- }());
11
- export { Ng2CsvModule };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyY3N2Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMmNzdi8iLCJzb3VyY2VzIjpbImxpYi9uZzJjc3YubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pDO0lBQUE7SUFBNEIsQ0FBQztJQUFoQixZQUFZO1FBRHhCLFFBQVEsQ0FBQyxFQUFFLENBQUM7T0FDQSxZQUFZLENBQUk7SUFBRCxtQkFBQztDQUFBLEFBQTdCLElBQTZCO1NBQWhCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTmcyQ3N2TW9kdWxlIHsgfVxuIl19
@@ -1,85 +0,0 @@
1
- import { __decorate, __values } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { saveAs } from 'file-saver';
4
- import { AutoCsvRowMapper } from './auto-csv-row-mapper.class';
5
- import { CsvConfiguration } from './csv-configuration.class';
6
- import * as i0 from "@angular/core";
7
- var Ng2CsvService = /** @class */ (function () {
8
- function Ng2CsvService() {
9
- }
10
- Ng2CsvService.prototype.download = function (data, filename, csvRowMapper, config) {
11
- if (config === void 0) { config = new CsvConfiguration(); }
12
- var csvData = this.convertToCsv(data, csvRowMapper, config);
13
- var mimeType = 'text/csv; header='
14
- + (config.includeHeaderLine ? 'present' : 'absent');
15
- var csvBlob = new Blob([csvData], { type: mimeType });
16
- saveAs(csvBlob, filename, true);
17
- };
18
- Ng2CsvService.prototype.convertToCsv = function (data, csvRowMapper, config) {
19
- var e_1, _a;
20
- var _this = this;
21
- if (config === void 0) { config = new CsvConfiguration(); }
22
- if (csvRowMapper === undefined) {
23
- csvRowMapper = new AutoCsvRowMapper(data);
24
- }
25
- var rows = [];
26
- if (config.includeHeaderLine) {
27
- var headerFieldSeparator = "" + config.quote + config.delimiter + config.quote;
28
- rows.push(config.quote
29
- + csvRowMapper.getColumnNames()
30
- .map(function (x) { return _this.escapeQuotes(x, config.quote); })
31
- .join(headerFieldSeparator)
32
- + config.quote);
33
- }
34
- try {
35
- for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
36
- var row = data_1_1.value;
37
- rows.push(csvRowMapper.map(row)
38
- .map(function (x) { return _this.mapNullOrUndefinedValues(x, config); })
39
- .map(function (x) { return _this.escapeRowValue(x, config); })
40
- .join(config.delimiter));
41
- }
42
- }
43
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
44
- finally {
45
- try {
46
- if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
47
- }
48
- finally { if (e_1) throw e_1.error; }
49
- }
50
- return rows.join(config.newLine);
51
- };
52
- Ng2CsvService.prototype.mapNullOrUndefinedValues = function (value, config) {
53
- switch (value) {
54
- case null: {
55
- return config.outputValueForNull;
56
- }
57
- case undefined: {
58
- return config.outputValueForUndefined;
59
- }
60
- default: {
61
- return value;
62
- }
63
- }
64
- };
65
- Ng2CsvService.prototype.escapeQuotes = function (value, quoteChar) {
66
- return value.replace(new RegExp(quoteChar.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), quoteChar + quoteChar);
67
- };
68
- Ng2CsvService.prototype.escapeRowValue = function (value, config) {
69
- if (value.indexOf(config.delimiter) > -1
70
- || value.indexOf(config.quote) > -1) {
71
- var escapedValue = this.escapeQuotes(value, config.quote);
72
- return "" + config.quote + escapedValue + config.quote;
73
- }
74
- return value;
75
- };
76
- Ng2CsvService.ɵprov = i0.ɵɵdefineInjectable({ factory: function Ng2CsvService_Factory() { return new Ng2CsvService(); }, token: Ng2CsvService, providedIn: "root" });
77
- Ng2CsvService = __decorate([
78
- Injectable({
79
- providedIn: 'root'
80
- })
81
- ], Ng2CsvService);
82
- return Ng2CsvService;
83
- }());
84
- export { Ng2CsvService };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyY3N2LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZzJjc3YvIiwic291cmNlcyI6WyJsaWIvbmcyY3N2LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNN0Q7SUFBQTtLQStFQztJQTlFUSxnQ0FBUSxHQUFmLFVBQ0ksSUFBUyxFQUNULFFBQWdCLEVBQ2hCLFlBQStCLEVBQy9CLE1BQWlEO1FBQWpELHVCQUFBLEVBQUEsYUFBK0IsZ0JBQWdCLEVBQUU7UUFDbkQsSUFBTSxPQUFPLEdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLElBQU0sUUFBUSxHQUFXLG1CQUFtQjtjQUN4QyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0RCxJQUFNLE9BQU8sR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLG9DQUFZLEdBQW5CLFVBQ0ksSUFBUyxFQUNULFlBQStCLEVBQy9CLE1BQWlEOztRQUhyRCxpQkE0QkM7UUF6QkcsdUJBQUEsRUFBQSxhQUErQixnQkFBZ0IsRUFBRTtRQUNuRCxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDOUIsWUFBWSxHQUFHLElBQUks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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBBdXRvQ3N2Um93TWFwcGVyIH0gZnJvbSAnLi9hdXRvLWNzdi1yb3ctbWFwcGVyLmNsYXNzJztcbmltcG9ydCB7IENzdkNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2Nzdi1jb25maWd1cmF0aW9uLmNsYXNzJztcbmltcG9ydCB7IElDc3ZSb3dNYXBwZXIgfSBmcm9tICcuL2Nzdi1yb3ctbWFwcGVyLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5nMkNzdlNlcnZpY2Uge1xuICBwdWJsaWMgZG93bmxvYWQ8VD4oXG4gICAgICBkYXRhOiBUW10sXG4gICAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgY3N2Um93TWFwcGVyPzogSUNzdlJvd01hcHBlcjxUPixcbiAgICAgIGNvbmZpZzogQ3N2Q29uZmlndXJhdGlvbiA9IG5ldyBDc3ZDb25maWd1cmF0aW9uKCkpOiB2b2lkIHtcbiAgICBjb25zdCBjc3ZEYXRhOiBzdHJpbmcgPSB0aGlzLmNvbnZlcnRUb0NzdihkYXRhLCBjc3ZSb3dNYXBwZXIsIGNvbmZpZyk7XG5cbiAgICBjb25zdCBtaW1lVHlwZTogc3RyaW5nID0gJ3RleHQvY3N2OyBoZWFkZXI9J1xuICAgICAgKyAoY29uZmlnLmluY2x1ZGVIZWFkZXJMaW5lID8gJ3ByZXNlbnQnIDogJ2Fic2VudCcpO1xuXG4gICAgY29uc3QgY3N2QmxvYjogQmxvYiA9IG5ldyBCbG9iKFtjc3ZEYXRhXSwgeyB0eXBlOiBtaW1lVHlwZSB9KTtcbiAgICBzYXZlQXMoY3N2QmxvYiwgZmlsZW5hbWUsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIGNvbnZlcnRUb0NzdjxUPihcbiAgICAgIGRhdGE6IFRbXSxcbiAgICAgIGNzdlJvd01hcHBlcj86IElDc3ZSb3dNYXBwZXI8VD4sXG4gICAgICBjb25maWc6IENzdkNvbmZpZ3VyYXRpb24gPSBuZXcgQ3N2Q29uZmlndXJhdGlvbigpKTogc3RyaW5nIHtcbiAgICBpZiAoY3N2Um93TWFwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNzdlJvd01hcHBlciA9IG5ldyBBdXRvQ3N2Um93TWFwcGVyKGRhdGEpO1xuICAgIH1cblxuICAgIGNvbnN0IHJvd3M6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoY29uZmlnLmluY2x1ZGVIZWFkZXJMaW5lKSB7XG4gICAgICBjb25zdCBoZWFkZXJGaWVsZFNlcGFyYXRvciA9XG4gICAgICAgIGAke2NvbmZpZy5xdW90ZX0ke2NvbmZpZy5kZWxpbWl0ZXJ9JHtjb25maWcucXVvdGV9YDtcbiAgICAgIHJvd3MucHVzaChjb25maWcucXVvdGVcbiAgICAgICAgKyBjc3ZSb3dNYXBwZXIuZ2V0Q29sdW1uTmFtZXMoKVxuICAgICAgICAgIC5tYXAoeCA9PiB0aGlzLmVzY2FwZVF1b3Rlcyh4LCBjb25maWcucXVvdGUpKVxuICAgICAgICAgIC5qb2luKGhlYWRlckZpZWxkU2VwYXJhdG9yKVxuICAgICAgICArIGNvbmZpZy5xdW90ZSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCByb3cgb2YgZGF0YSkge1xuICAgICAgcm93cy5wdXNoKGNzdlJvd01hcHBlci5tYXAocm93KVxuICAgICAgICAubWFwKHggPT4gdGhpcy5tYXBOdWxsT3JVbmRlZmluZWRWYWx1ZXMoeCwgY29uZmlnKSlcbiAgICAgICAgLm1hcCh4ID0+IHRoaXMuZXNjYXBlUm93VmFsdWUoeCwgY29uZmlnKSlcbiAgICAgICAgLmpvaW4oY29uZmlnLmRlbGltaXRlcikpO1xuICAgIH1cblxuICAgIHJldHVybiByb3dzLmpvaW4oY29uZmlnLm5ld0xpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBOdWxsT3JVbmRlZmluZWRWYWx1ZXMoXG4gICAgICB2YWx1ZTogc3RyaW5nLFxuICAgICAgY29uZmlnOiBDc3ZDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIG51bGw6IHtcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5vdXRwdXRWYWx1ZUZvck51bGw7XG4gICAgICB9XG4gICAgICBjYXNlIHVuZGVmaW5lZDoge1xuICAgICAgICByZXR1cm4gY29uZmlnLm91dHB1dFZhbHVlRm9yVW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlc2NhcGVRdW90ZXMoXG4gICAgICB2YWx1ZTogc3RyaW5nLFxuICAgICAgcXVvdGVDaGFyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKFxuICAgICAgbmV3IFJlZ0V4cChxdW90ZUNoYXIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKSwgJ2cnKSxcbiAgICAgIHF1b3RlQ2hhciArIHF1b3RlQ2hhcik7XG4gIH1cblxuICBwcml2YXRlIGVzY2FwZVJvd1ZhbHVlKFxuICAgICAgdmFsdWU6IHN0cmluZyxcbiAgICAgIGNvbmZpZzogQ3N2Q29uZmlndXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlLmluZGV4T2YoY29uZmlnLmRlbGltaXRlcikgPiAtMVxuICAgICAgICB8fCB2YWx1ZS5pbmRleE9mKGNvbmZpZy5xdW90ZSkgPiAtMSkge1xuICAgICAgY29uc3QgZXNjYXBlZFZhbHVlID0gdGhpcy5lc2NhcGVRdW90ZXModmFsdWUsIGNvbmZpZy5xdW90ZSk7XG4gICAgICByZXR1cm4gYCR7Y29uZmlnLnF1b3RlfSR7ZXNjYXBlZFZhbHVlfSR7Y29uZmlnLnF1b3RlfWA7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuIl19
@@ -1,14 +0,0 @@
1
- var OrderedProjectionCsvRowMapper = /** @class */ (function () {
2
- function OrderedProjectionCsvRowMapper(projections) {
3
- this.projections = projections;
4
- }
5
- OrderedProjectionCsvRowMapper.prototype.getColumnNames = function () {
6
- return this.projections.map(function (x) { return x[0]; });
7
- };
8
- OrderedProjectionCsvRowMapper.prototype.map = function (obj) {
9
- return this.projections.map(function (x) { return x[1](obj); });
10
- };
11
- return OrderedProjectionCsvRowMapper;
12
- }());
13
- export { OrderedProjectionCsvRowMapper };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJlZC1wcm9qZWN0aW9uLWNzdi1yb3ctbWFwcGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyY3N2LyIsInNvdXJjZXMiOlsibGliL29yZGVyZWQtcHJvamVjdGlvbi1jc3Ytcm93LW1hcHBlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtJQUtFLHVDQUNJLFdBQWdEO1FBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxzREFBYyxHQUFyQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUosQ0FBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLDJDQUFHLEdBQVYsVUFBVyxHQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBVCxDQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0gsb0NBQUM7QUFBRCxDQUFDLEFBakJELElBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNzdlJvd01hcHBlciB9IGZyb20gJy4vY3N2LXJvdy1tYXBwZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE9yZGVyZWRQcm9qZWN0aW9uQ3N2Um93TWFwcGVyPFQ+XG4gICAgaW1wbGVtZW50cyBJQ3N2Um93TWFwcGVyPFQ+IHtcblxuICBwcml2YXRlIHByb2plY3Rpb25zOiBBcnJheTxbc3RyaW5nLCAob2JqOiBUKSA9PiBzdHJpbmddPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICBwcm9qZWN0aW9uczogQXJyYXk8W3N0cmluZywgKG9iajogVCkgPT4gc3RyaW5nXT4pIHtcbiAgICB0aGlzLnByb2plY3Rpb25zID0gcHJvamVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29sdW1uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnByb2plY3Rpb25zLm1hcCh4ID0+IHhbMF0pO1xuICB9XG5cbiAgcHVibGljIG1hcChvYmo6IFQpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdGlvbnMubWFwKHggPT4geFsxXShvYmopKTtcbiAgfVxufVxuIl19
package/esm5/ng2csv.js DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyY3N2LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyY3N2LyIsInNvdXJjZXMiOlsibmcyY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,9 +0,0 @@
1
- /*
2
- * Public API Surface of ng2csv
3
- */
4
- export * from './lib/ng2csv.service';
5
- export * from './lib/ng2csv.module';
6
- export * from './lib/auto-csv-row-mapper.class';
7
- export * from './lib/csv-configuration.class';
8
- export * from './lib/ordered-projection-csv-row-mapper.class';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nMmNzdi8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nMmNzdlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25nMmNzdi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nMmNzdi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0by1jc3Ytcm93LW1hcHBlci5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jc3YtY29uZmlndXJhdGlvbi5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jc3Ytcm93LW1hcHBlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvb3JkZXJlZC1wcm9qZWN0aW9uLWNzdi1yb3ctbWFwcGVyLmNsYXNzJztcbiJdfQ==
package/fesm5/ng2csv.js DELETED
@@ -1,208 +0,0 @@
1
- import { __values, __decorate } from 'tslib';
2
- import { ɵɵdefineInjectable, Injectable, NgModule } from '@angular/core';
3
- import { saveAs } from 'file-saver';
4
-
5
- var OrderedProjectionCsvRowMapper = /** @class */ (function () {
6
- function OrderedProjectionCsvRowMapper(projections) {
7
- this.projections = projections;
8
- }
9
- OrderedProjectionCsvRowMapper.prototype.getColumnNames = function () {
10
- return this.projections.map(function (x) { return x[0]; });
11
- };
12
- OrderedProjectionCsvRowMapper.prototype.map = function (obj) {
13
- return this.projections.map(function (x) { return x[1](obj); });
14
- };
15
- return OrderedProjectionCsvRowMapper;
16
- }());
17
-
18
- var AutoCsvRowMapper = /** @class */ (function () {
19
- function AutoCsvRowMapper(data) {
20
- var e_1, _a;
21
- if (!data || data.length === 0) {
22
- throw new Error('Parameter \'data\' must be a non-empty array of objects.');
23
- }
24
- if (typeof data[0] !== 'object') {
25
- throw new Error('Parameter \'data\' must contain objects.');
26
- }
27
- var projections = [];
28
- var allKeys = this.getAllKeys(data);
29
- try {
30
- for (var allKeys_1 = __values(allKeys), allKeys_1_1 = allKeys_1.next(); !allKeys_1_1.done; allKeys_1_1 = allKeys_1.next()) {
31
- var key = allKeys_1_1.value;
32
- projections.push([
33
- key,
34
- this.createProjection(key)
35
- ]);
36
- }
37
- }
38
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
39
- finally {
40
- try {
41
- if (allKeys_1_1 && !allKeys_1_1.done && (_a = allKeys_1.return)) _a.call(allKeys_1);
42
- }
43
- finally { if (e_1) throw e_1.error; }
44
- }
45
- this.derivedCsvRowMapper = new OrderedProjectionCsvRowMapper(projections);
46
- }
47
- AutoCsvRowMapper.prototype.getColumnNames = function () {
48
- return this.derivedCsvRowMapper.getColumnNames();
49
- };
50
- AutoCsvRowMapper.prototype.map = function (obj) {
51
- return this.derivedCsvRowMapper.map(obj);
52
- };
53
- AutoCsvRowMapper.prototype.createProjection = function (property) {
54
- return function (x) {
55
- if (x.hasOwnProperty(property)) {
56
- var propertyValue = x[property];
57
- if (propertyValue === undefined || propertyValue === null) {
58
- return '';
59
- }
60
- return propertyValue.toString();
61
- }
62
- else {
63
- return '';
64
- }
65
- };
66
- };
67
- AutoCsvRowMapper.prototype.getAllKeys = function (objs) {
68
- var e_2, _a, e_3, _b;
69
- var allKeys = {};
70
- try {
71
- for (var objs_1 = __values(objs), objs_1_1 = objs_1.next(); !objs_1_1.done; objs_1_1 = objs_1.next()) {
72
- var obj = objs_1_1.value;
73
- try {
74
- for (var _c = (e_3 = void 0, __values(Object.keys(obj))), _d = _c.next(); !_d.done; _d = _c.next()) {
75
- var objectKey = _d.value;
76
- allKeys[objectKey] = 1;
77
- }
78
- }
79
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
80
- finally {
81
- try {
82
- if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
83
- }
84
- finally { if (e_3) throw e_3.error; }
85
- }
86
- }
87
- }
88
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
89
- finally {
90
- try {
91
- if (objs_1_1 && !objs_1_1.done && (_a = objs_1.return)) _a.call(objs_1);
92
- }
93
- finally { if (e_2) throw e_2.error; }
94
- }
95
- return Object.keys(allKeys);
96
- };
97
- return AutoCsvRowMapper;
98
- }());
99
-
100
- var CsvConfiguration = /** @class */ (function () {
101
- function CsvConfiguration() {
102
- this.delimiter = ',';
103
- this.quote = '"';
104
- this.newLine = '\r\n';
105
- this.includeHeaderLine = true;
106
- this.outputValueForNull = '';
107
- this.outputValueForUndefined = '';
108
- }
109
- return CsvConfiguration;
110
- }());
111
-
112
- var Ng2CsvService = /** @class */ (function () {
113
- function Ng2CsvService() {
114
- }
115
- Ng2CsvService.prototype.download = function (data, filename, csvRowMapper, config) {
116
- if (config === void 0) { config = new CsvConfiguration(); }
117
- var csvData = this.convertToCsv(data, csvRowMapper, config);
118
- var mimeType = 'text/csv; header='
119
- + (config.includeHeaderLine ? 'present' : 'absent');
120
- var csvBlob = new Blob([csvData], { type: mimeType });
121
- saveAs(csvBlob, filename, true);
122
- };
123
- Ng2CsvService.prototype.convertToCsv = function (data, csvRowMapper, config) {
124
- var e_1, _a;
125
- var _this = this;
126
- if (config === void 0) { config = new CsvConfiguration(); }
127
- if (csvRowMapper === undefined) {
128
- csvRowMapper = new AutoCsvRowMapper(data);
129
- }
130
- var rows = [];
131
- if (config.includeHeaderLine) {
132
- var headerFieldSeparator = "" + config.quote + config.delimiter + config.quote;
133
- rows.push(config.quote
134
- + csvRowMapper.getColumnNames()
135
- .map(function (x) { return _this.escapeQuotes(x, config.quote); })
136
- .join(headerFieldSeparator)
137
- + config.quote);
138
- }
139
- try {
140
- for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {
141
- var row = data_1_1.value;
142
- rows.push(csvRowMapper.map(row)
143
- .map(function (x) { return _this.mapNullOrUndefinedValues(x, config); })
144
- .map(function (x) { return _this.escapeRowValue(x, config); })
145
- .join(config.delimiter));
146
- }
147
- }
148
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
149
- finally {
150
- try {
151
- if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);
152
- }
153
- finally { if (e_1) throw e_1.error; }
154
- }
155
- return rows.join(config.newLine);
156
- };
157
- Ng2CsvService.prototype.mapNullOrUndefinedValues = function (value, config) {
158
- switch (value) {
159
- case null: {
160
- return config.outputValueForNull;
161
- }
162
- case undefined: {
163
- return config.outputValueForUndefined;
164
- }
165
- default: {
166
- return value;
167
- }
168
- }
169
- };
170
- Ng2CsvService.prototype.escapeQuotes = function (value, quoteChar) {
171
- return value.replace(new RegExp(quoteChar.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), quoteChar + quoteChar);
172
- };
173
- Ng2CsvService.prototype.escapeRowValue = function (value, config) {
174
- if (value.indexOf(config.delimiter) > -1
175
- || value.indexOf(config.quote) > -1) {
176
- var escapedValue = this.escapeQuotes(value, config.quote);
177
- return "" + config.quote + escapedValue + config.quote;
178
- }
179
- return value;
180
- };
181
- Ng2CsvService.ɵprov = ɵɵdefineInjectable({ factory: function Ng2CsvService_Factory() { return new Ng2CsvService(); }, token: Ng2CsvService, providedIn: "root" });
182
- Ng2CsvService = __decorate([
183
- Injectable({
184
- providedIn: 'root'
185
- })
186
- ], Ng2CsvService);
187
- return Ng2CsvService;
188
- }());
189
-
190
- var Ng2CsvModule = /** @class */ (function () {
191
- function Ng2CsvModule() {
192
- }
193
- Ng2CsvModule = __decorate([
194
- NgModule({})
195
- ], Ng2CsvModule);
196
- return Ng2CsvModule;
197
- }());
198
-
199
- /*
200
- * Public API Surface of ng2csv
201
- */
202
-
203
- /**
204
- * Generated bundle index. Do not edit.
205
- */
206
-
207
- export { AutoCsvRowMapper, CsvConfiguration, Ng2CsvModule, Ng2CsvService, OrderedProjectionCsvRowMapper };
208
- //# sourceMappingURL=ng2csv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ng2csv.js","sources":["ng://ng2csv/lib/ordered-projection-csv-row-mapper.class.ts","ng://ng2csv/lib/auto-csv-row-mapper.class.ts","ng://ng2csv/lib/csv-configuration.class.ts","ng://ng2csv/lib/ng2csv.service.ts","ng://ng2csv/lib/ng2csv.module.ts","ng://ng2csv/public-api.ts","ng://ng2csv/ng2csv.ts"],"sourcesContent":["import { ICsvRowMapper } from './csv-row-mapper.interface';\n\nexport class OrderedProjectionCsvRowMapper<T>\n implements ICsvRowMapper<T> {\n\n private projections: Array<[string, (obj: T) => string]>;\n\n public constructor(\n projections: Array<[string, (obj: T) => string]>) {\n this.projections = projections;\n }\n\n public getColumnNames(): string[] {\n return this.projections.map(x => x[0]);\n }\n\n public map(obj: T): string[] {\n return this.projections.map(x => x[1](obj));\n }\n}\n","import { ICsvRowMapper } from './csv-row-mapper.interface';\nimport { OrderedProjectionCsvRowMapper } from './ordered-projection-csv-row-mapper.class';\n\nexport class AutoCsvRowMapper<T> implements ICsvRowMapper<T> {\n\n private derivedCsvRowMapper: OrderedProjectionCsvRowMapper<T>;\n\n public constructor(data: T[]) {\n if (!data || data.length === 0) {\n throw new Error(\n 'Parameter \\'data\\' must be a non-empty array of objects.');\n }\n\n if (typeof data[0] !== 'object') {\n throw new Error(\n 'Parameter \\'data\\' must contain objects.'\n );\n }\n\n const projections: Array<[string, (obj: T) => string]> = [];\n\n const allKeys: string[] = this.getAllKeys(data);\n for (const key of allKeys) {\n projections.push([\n key,\n this.createProjection(key)\n ]);\n }\n\n this.derivedCsvRowMapper = new OrderedProjectionCsvRowMapper<T>(\n projections\n );\n }\n\n public getColumnNames(): string[] {\n return this.derivedCsvRowMapper.getColumnNames();\n }\n\n public map(obj: T): string[] {\n return this.derivedCsvRowMapper.map(obj);\n }\n\n private createProjection(property: string): (obj: T) => string {\n return (x: T) => {\n if (x.hasOwnProperty(property)) {\n const propertyValue = (x as any)[property];\n if (propertyValue === undefined || propertyValue === null) {\n return '';\n }\n return propertyValue.toString();\n } else {\n return '';\n }\n };\n }\n\n private getAllKeys(objs: T[]): string[] {\n const allKeys: any = {};\n\n for (const obj of objs) {\n for (const objectKey of Object.keys(obj)) {\n allKeys[objectKey] = 1;\n }\n }\n\n return Object.keys(allKeys);\n }\n}\n","export class CsvConfiguration {\n public delimiter = ',';\n public quote = '\"';\n public newLine = '\\r\\n';\n public includeHeaderLine = true;\n public outputValueForNull = '';\n public outputValueForUndefined = '';\n}\n","import { Injectable } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport { AutoCsvRowMapper } from './auto-csv-row-mapper.class';\nimport { CsvConfiguration } from './csv-configuration.class';\nimport { ICsvRowMapper } from './csv-row-mapper.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Ng2CsvService {\n public download<T>(\n data: T[],\n filename: string,\n csvRowMapper?: ICsvRowMapper<T>,\n config: CsvConfiguration = new CsvConfiguration()): void {\n const csvData: string = this.convertToCsv(data, csvRowMapper, config);\n\n const mimeType: string = 'text/csv; header='\n + (config.includeHeaderLine ? 'present' : 'absent');\n\n const csvBlob: Blob = new Blob([csvData], { type: mimeType });\n saveAs(csvBlob, filename, true);\n }\n\n public convertToCsv<T>(\n data: T[],\n csvRowMapper?: ICsvRowMapper<T>,\n config: CsvConfiguration = new CsvConfiguration()): string {\n if (csvRowMapper === undefined) {\n csvRowMapper = new AutoCsvRowMapper(data);\n }\n\n const rows: string[] = [];\n\n if (config.includeHeaderLine) {\n const headerFieldSeparator =\n `${config.quote}${config.delimiter}${config.quote}`;\n rows.push(config.quote\n + csvRowMapper.getColumnNames()\n .map(x => this.escapeQuotes(x, config.quote))\n .join(headerFieldSeparator)\n + config.quote);\n }\n\n for (const row of data) {\n rows.push(csvRowMapper.map(row)\n .map(x => this.mapNullOrUndefinedValues(x, config))\n .map(x => this.escapeRowValue(x, config))\n .join(config.delimiter));\n }\n\n return rows.join(config.newLine);\n }\n\n private mapNullOrUndefinedValues(\n value: string,\n config: CsvConfiguration): string {\n switch (value) {\n case null: {\n return config.outputValueForNull;\n }\n case undefined: {\n return config.outputValueForUndefined;\n }\n default: {\n return value;\n }\n }\n }\n\n private escapeQuotes(\n value: string,\n quoteChar: string): string {\n return value.replace(\n new RegExp(quoteChar.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g'),\n quoteChar + quoteChar);\n }\n\n private escapeRowValue(\n value: string,\n config: CsvConfiguration): string {\n if (value.indexOf(config.delimiter) > -1\n || value.indexOf(config.quote) > -1) {\n const escapedValue = this.escapeQuotes(value, config.quote);\n return `${config.quote}${escapedValue}${config.quote}`;\n }\n return value;\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({})\nexport class Ng2CsvModule { }\n","/*\n * Public API Surface of ng2csv\n */\n\nexport * from './lib/ng2csv.service';\nexport * from './lib/ng2csv.module';\nexport * from './lib/auto-csv-row-mapper.class';\nexport * from './lib/csv-configuration.class';\nexport * from './lib/csv-row-mapper.interface';\nexport * from './lib/ordered-projection-csv-row-mapper.class';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}