@nu-art/ts-common 0.200.5 → 0.200.7

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.
@@ -10,6 +10,10 @@ import { Readable } from 'stream';
10
10
  type Config = {
11
11
  options: Options;
12
12
  };
13
+ export type ReadOptions<T extends Partial<StringMap> = {}> = {
14
+ columnsToProps?: ReadPropsMap<T>;
15
+ mapValues?: (header: string, value: string, index: number) => any;
16
+ };
13
17
  export type ReadPropsMap<K extends TS_Object = TS_Object> = {
14
18
  [s: string]: keyof K;
15
19
  };
@@ -23,9 +27,9 @@ declare class CSVModule_Class extends Module<Config> {
23
27
  static createExporter(options: Options): ExportToCsv;
24
28
  export<T>(items: T[], returnCsv?: boolean): any;
25
29
  saveToFile<T extends TS_Object>(outputFile: string, items: T[], columnsToProps?: WritePropsMap<T>): Promise<void>;
26
- readCsvFromFile<T extends Partial<StringMap>>(inputFile: string, columnsToProps?: ReadPropsMap<T>): Promise<T[]>;
27
- readCsvFromBuffer<T extends Partial<StringMap>>(buffer: Buffer, columnsToProps?: ReadPropsMap<T>): Promise<T[]>;
28
- readCsvFromStream<T extends Partial<StringMap>>(stream: Readable, columnsToProps?: ReadPropsMap<T>): Promise<T[]>;
30
+ readCsvFromFile<T extends Partial<StringMap>>(inputFile: string, readOptions?: ReadOptions): Promise<T[]>;
31
+ readCsvFromBuffer<T extends Partial<StringMap>>(buffer: Buffer, readOptions?: ReadOptions): Promise<T[]>;
32
+ readCsvFromStream<T extends Partial<StringMap>>(stream: Readable, readOptions?: ReadOptions): Promise<T[]>;
29
33
  private createReadParserOptions;
30
34
  }
31
35
  export declare const CSVModule: CSVModule_Class;
@@ -116,32 +116,33 @@ var CSVModule_Class = /** @class */ (function (_super) {
116
116
  });
117
117
  });
118
118
  };
119
- CSVModule_Class.prototype.readCsvFromFile = function (inputFile, columnsToProps) {
119
+ CSVModule_Class.prototype.readCsvFromFile = function (inputFile, readOptions) {
120
120
  return __awaiter(this, void 0, void 0, function () {
121
121
  var stream;
122
122
  return __generator(this, function (_a) {
123
123
  stream = (0, fs_1.createReadStream)(inputFile, { encoding: 'utf8' });
124
- return [2 /*return*/, this.readCsvFromStream(stream, columnsToProps)];
124
+ return [2 /*return*/, this.readCsvFromStream(stream, readOptions)];
125
125
  });
126
126
  });
127
127
  };
128
- CSVModule_Class.prototype.readCsvFromBuffer = function (buffer, columnsToProps) {
128
+ CSVModule_Class.prototype.readCsvFromBuffer = function (buffer, readOptions) {
129
129
  return __awaiter(this, void 0, void 0, function () {
130
130
  var stream;
131
131
  return __generator(this, function (_a) {
132
132
  stream = stream_1.Readable.from(buffer.toString('utf-8'), { encoding: 'utf8' });
133
- return [2 /*return*/, this.readCsvFromStream(stream, columnsToProps)];
133
+ return [2 /*return*/, this.readCsvFromStream(stream, readOptions)];
134
134
  });
135
135
  });
136
136
  };
137
- CSVModule_Class.prototype.readCsvFromStream = function (stream, columnsToProps) {
137
+ CSVModule_Class.prototype.readCsvFromStream = function (stream, readOptions) {
138
+ if (readOptions === void 0) { readOptions = {}; }
138
139
  return __awaiter(this, void 0, void 0, function () {
139
140
  var _this = this;
140
141
  return __generator(this, function (_a) {
141
142
  return [2 /*return*/, new Promise(function (resolve, reject) {
142
143
  var results = [];
143
144
  stream
144
- .pipe(csvParser(_this.createReadParserOptions(columnsToProps)))
145
+ .pipe(csvParser(_this.createReadParserOptions(readOptions)))
145
146
  .on('data', function (instance) {
146
147
  delete instance['undefined'];
147
148
  results.push(instance);
@@ -152,11 +153,17 @@ var CSVModule_Class = /** @class */ (function (_super) {
152
153
  });
153
154
  });
154
155
  };
155
- CSVModule_Class.prototype.createReadParserOptions = function (columnsToProps) {
156
+ CSVModule_Class.prototype.createReadParserOptions = function (readOptions) {
156
157
  return {
157
158
  mapHeaders: function (args) {
158
- return (columnsToProps === null || columnsToProps === void 0 ? void 0 : columnsToProps[args.header]) || args.header;
159
- }
159
+ var _a, _b;
160
+ return (_b = (_a = readOptions.columnsToProps) === null || _a === void 0 ? void 0 : _a[args.header]) !== null && _b !== void 0 ? _b : args.header;
161
+ },
162
+ mapValues: function (args) {
163
+ var _a;
164
+ var mapValues = (_a = readOptions.mapValues) === null || _a === void 0 ? void 0 : _a.call(readOptions, args.header, args.value, args.index);
165
+ return mapValues !== null && mapValues !== void 0 ? mapValues : args.value;
166
+ },
160
167
  };
161
168
  };
162
169
  return CSVModule_Class;
@@ -1 +1 @@
1
- {"version":3,"file":"CSVModule.js","sourceRoot":"","sources":["../../src/main/modules/CSVModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CSVModule.js","sourceRoot":"","sources":["../../src/main/modules/CSVModule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/ts-common",
3
- "version": "0.200.5",
3
+ "version": "0.200.7",
4
4
  "description": "js and ts infra",
5
5
  "keywords": [
6
6
  "TacB0sS",