table 5.4.6 → 6.0.3

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.
Files changed (55) hide show
  1. package/README.md +2 -3
  2. package/dist/alignString.js +1 -1
  3. package/dist/alignString.js.flow +2 -2
  4. package/dist/alignString.js.map +1 -1
  5. package/dist/alignTableData.js +1 -1
  6. package/dist/alignTableData.js.flow +1 -1
  7. package/dist/alignTableData.js.map +1 -1
  8. package/dist/calculateCellWidthIndex.js.flow +1 -1
  9. package/dist/calculateCellWidthIndex.js.map +1 -1
  10. package/dist/calculateRowHeightIndex.js +1 -1
  11. package/dist/calculateRowHeightIndex.js.flow +1 -1
  12. package/dist/calculateRowHeightIndex.js.map +1 -1
  13. package/dist/createStream.js +12 -12
  14. package/dist/createStream.js.flow +13 -13
  15. package/dist/createStream.js.map +1 -1
  16. package/dist/drawBorder.js.flow +4 -4
  17. package/dist/drawBorder.js.map +1 -1
  18. package/dist/drawRow.js +1 -1
  19. package/dist/drawRow.js.flow +1 -1
  20. package/dist/drawRow.js.map +1 -1
  21. package/dist/drawTable.js +1 -1
  22. package/dist/drawTable.js.flow +2 -2
  23. package/dist/drawTable.js.map +1 -1
  24. package/dist/getBorderCharacters.js +1 -1
  25. package/dist/getBorderCharacters.js.flow +5 -5
  26. package/dist/getBorderCharacters.js.map +1 -1
  27. package/dist/index.js +8 -8
  28. package/dist/index.js.flow +2 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/makeConfig.js +9 -9
  31. package/dist/makeConfig.js.flow +9 -9
  32. package/dist/makeConfig.js.map +1 -1
  33. package/dist/makeStreamConfig.js +9 -9
  34. package/dist/makeStreamConfig.js.flow +10 -10
  35. package/dist/makeStreamConfig.js.map +1 -1
  36. package/dist/mapDataUsingRowHeightIndex.js +1 -1
  37. package/dist/mapDataUsingRowHeightIndex.js.flow +1 -1
  38. package/dist/mapDataUsingRowHeightIndex.js.map +1 -1
  39. package/dist/padTableData.js +1 -1
  40. package/dist/padTableData.js.flow +1 -1
  41. package/dist/padTableData.js.map +1 -1
  42. package/dist/table.js +10 -10
  43. package/dist/table.js.flow +7 -7
  44. package/dist/table.js.map +1 -1
  45. package/dist/truncateTableData.js +1 -1
  46. package/dist/truncateTableData.js.flow +2 -2
  47. package/dist/truncateTableData.js.map +1 -1
  48. package/dist/validateConfig.js +6 -4
  49. package/dist/validateConfig.js.flow +2 -2
  50. package/dist/validateConfig.js.map +1 -1
  51. package/dist/validateStreamConfig.js +7 -5
  52. package/dist/validateTableData.js +18 -31
  53. package/dist/validateTableData.js.flow +1 -1
  54. package/dist/validateTableData.js.map +1 -1
  55. package/package.json +27 -27
@@ -1,13 +1,13 @@
1
1
  import _ from 'lodash';
2
+ import calculateMaximumColumnWidthIndex from './calculateMaximumColumnWidthIndex';
2
3
  import getBorderCharacters from './getBorderCharacters';
3
4
  import validateConfig from './validateConfig';
4
- import calculateMaximumColumnWidthIndex from './calculateMaximumColumnWidthIndex';
5
5
 
6
6
  /**
7
7
  * Merges user provided border characters with the default border ("honeywell") characters.
8
8
  *
9
- * @param {Object} border
10
- * @returns {Object}
9
+ * @param {object} border
10
+ * @returns {object}
11
11
  */
12
12
  const makeBorder = (border = {}) => {
13
13
  return Object.assign({}, getBorderCharacters('honeywell'), border);
@@ -18,9 +18,9 @@ const makeBorder = (border = {}) => {
18
18
  * values for the missing configuration properties.
19
19
  *
20
20
  * @param {Array[]} rows
21
- * @param {Object} columns
22
- * @param {Object} columnDefault
23
- * @returns {Object}
21
+ * @param {object} columns
22
+ * @param {object} columnDefault
23
+ * @returns {object}
24
24
  */
25
25
  const makeColumns = (rows, columns = {}, columnDefault = {}) => {
26
26
  const maximumColumnWidthIndex = calculateMaximumColumnWidthIndex(rows);
@@ -36,7 +36,7 @@ const makeColumns = (rows, columns = {}, columnDefault = {}) => {
36
36
  paddingRight: 1,
37
37
  truncate: Infinity,
38
38
  width: maximumColumnWidthIndex[index],
39
- wrapWord: false
39
+ wrapWord: false,
40
40
  }, columnDefault, columns[index]);
41
41
  });
42
42
 
@@ -48,8 +48,8 @@ const makeColumns = (rows, columns = {}, columnDefault = {}) => {
48
48
  * using default values for the missing configuration properties.
49
49
  *
50
50
  * @param {Array[]} rows
51
- * @param {Object} userConfig
52
- * @returns {Object}
51
+ * @param {object} userConfig
52
+ * @returns {object}
53
53
  */
54
54
  export default (rows, userConfig = {}) => {
55
55
  validateConfig('config.json', userConfig);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/makeConfig.js"],"names":["makeBorder","border","Object","assign","makeColumns","rows","columns","columnDefault","maximumColumnWidthIndex","length","index","alignment","paddingLeft","paddingRight","truncate","Infinity","width","wrapWord","userConfig","config","drawHorizontalLine","singleLine","undefined"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;;;AAEA;;;;;;AAMA,MAAMA,UAAU,GAAG,CAACC,MAAM,GAAG,EAAV,KAAiB;AAClC,SAAOC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,kCAAoB,WAApB,CAAlB,EAAoDF,MAApD,CAAP;AACD,CAFD;AAIA;;;;;;;;;;;AASA,MAAMG,WAAW,GAAG,CAACC,IAAD,EAAOC,OAAO,GAAG,EAAjB,EAAqBC,aAAa,GAAG,EAArC,KAA4C;AAC9D,QAAMC,uBAAuB,GAAG,+CAAiCH,IAAjC,CAAhC;AAEA,uBAAQA,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAhB,EAAyBC,KAAD,IAAW;AACjC,QAAI,2BAAcJ,OAAO,CAACI,KAAD,CAArB,CAAJ,EAAmC;AACjCJ,MAAAA,OAAO,CAACI,KAAD,CAAP,GAAiB,EAAjB;AACD;;AAEDJ,IAAAA,OAAO,CAACI,KAAD,CAAP,GAAiBR,MAAM,CAACC,MAAP,CAAc;AAC7BQ,MAAAA,SAAS,EAAE,MADkB;AAE7BC,MAAAA,WAAW,EAAE,CAFgB;AAG7BC,MAAAA,YAAY,EAAE,CAHe;AAI7BC,MAAAA,QAAQ,EAAEC,QAJmB;AAK7BC,MAAAA,KAAK,EAAER,uBAAuB,CAACE,KAAD,CALD;AAM7BO,MAAAA,QAAQ,EAAE;AANmB,KAAd,EAOdV,aAPc,EAOCD,OAAO,CAACI,KAAD,CAPR,CAAjB;AAQD,GAbD;AAeA,SAAOJ,OAAP;AACD,CAnBD;AAqBA;;;;;;;;;;oBAQgBD,I,EAAMa,UAAU,GAAG,E,KAAO;AACxC,+BAAe,aAAf,EAA8BA,UAA9B;AAEA,QAAMC,MAAM,GAAG,yBAAYD,UAAZ,CAAf;AAEAC,EAAAA,MAAM,CAAClB,MAAP,GAAgBD,UAAU,CAACmB,MAAM,CAAClB,MAAR,CAA1B;AACAkB,EAAAA,MAAM,CAACb,OAAP,GAAiBF,WAAW,CAACC,IAAD,EAAOc,MAAM,CAACb,OAAd,EAAuBa,MAAM,CAACZ,aAA9B,CAA5B;;AAEA,MAAI,CAACY,MAAM,CAACC,kBAAZ,EAAgC;AAC9B;;;AAGAD,IAAAA,MAAM,CAACC,kBAAP,GAA4B,MAAM;AAChC,aAAO,IAAP;AACD,KAFD;AAGD;;AAED,MAAID,MAAM,CAACE,UAAP,KAAsBC,SAA1B,EAAqC;AACnCH,IAAAA,MAAM,CAACE,UAAP,GAAoB,KAApB;AACD;;AAED,SAAOF,MAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport getBorderCharacters from './getBorderCharacters';\nimport validateConfig from './validateConfig';\nimport calculateMaximumColumnWidthIndex from './calculateMaximumColumnWidthIndex';\n\n/**\n * Merges user provided border characters with the default border (\"honeywell\") characters.\n *\n * @param {Object} border\n * @returns {Object}\n */\nconst makeBorder = (border = {}) => {\n return Object.assign({}, getBorderCharacters('honeywell'), border);\n};\n\n/**\n * Creates a configuration for every column using default\n * values for the missing configuration properties.\n *\n * @param {Array[]} rows\n * @param {Object} columns\n * @param {Object} columnDefault\n * @returns {Object}\n */\nconst makeColumns = (rows, columns = {}, columnDefault = {}) => {\n const maximumColumnWidthIndex = calculateMaximumColumnWidthIndex(rows);\n\n _.times(rows[0].length, (index) => {\n if (_.isUndefined(columns[index])) {\n columns[index] = {};\n }\n\n columns[index] = Object.assign({\n alignment: 'left',\n paddingLeft: 1,\n paddingRight: 1,\n truncate: Infinity,\n width: maximumColumnWidthIndex[index],\n wrapWord: false\n }, columnDefault, columns[index]);\n });\n\n return columns;\n};\n\n/**\n * Makes a new configuration object out of the userConfig object\n * using default values for the missing configuration properties.\n *\n * @param {Array[]} rows\n * @param {Object} userConfig\n * @returns {Object}\n */\nexport default (rows, userConfig = {}) => {\n validateConfig('config.json', userConfig);\n\n const config = _.cloneDeep(userConfig);\n\n config.border = makeBorder(config.border);\n config.columns = makeColumns(rows, config.columns, config.columnDefault);\n\n if (!config.drawHorizontalLine) {\n /**\n * @returns {boolean}\n */\n config.drawHorizontalLine = () => {\n return true;\n };\n }\n\n if (config.singleLine === undefined) {\n config.singleLine = false;\n }\n\n return config;\n};\n"],"file":"makeConfig.js"}
1
+ {"version":3,"sources":["../src/makeConfig.js"],"names":["makeBorder","border","Object","assign","makeColumns","rows","columns","columnDefault","maximumColumnWidthIndex","length","index","alignment","paddingLeft","paddingRight","truncate","Infinity","width","wrapWord","userConfig","config","drawHorizontalLine","singleLine","undefined"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;;;AAEA;;;;;;AAMA,MAAMA,UAAU,GAAG,CAACC,MAAM,GAAG,EAAV,KAAiB;AAClC,SAAOC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,kCAAoB,WAApB,CAAlB,EAAoDF,MAApD,CAAP;AACD,CAFD;AAIA;;;;;;;;;;;AASA,MAAMG,WAAW,GAAG,CAACC,IAAD,EAAOC,OAAO,GAAG,EAAjB,EAAqBC,aAAa,GAAG,EAArC,KAA4C;AAC9D,QAAMC,uBAAuB,GAAG,+CAAiCH,IAAjC,CAAhC;AAEA,uBAAQA,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAhB,EAAyBC,KAAD,IAAW;AACjC,QAAI,2BAAcJ,OAAO,CAACI,KAAD,CAArB,CAAJ,EAAmC;AACjCJ,MAAAA,OAAO,CAACI,KAAD,CAAP,GAAiB,EAAjB;AACD;;AAEDJ,IAAAA,OAAO,CAACI,KAAD,CAAP,GAAiBR,MAAM,CAACC,MAAP,CAAc;AAC7BQ,MAAAA,SAAS,EAAE,MADkB;AAE7BC,MAAAA,WAAW,EAAE,CAFgB;AAG7BC,MAAAA,YAAY,EAAE,CAHe;AAI7BC,MAAAA,QAAQ,EAAEC,QAJmB;AAK7BC,MAAAA,KAAK,EAAER,uBAAuB,CAACE,KAAD,CALD;AAM7BO,MAAAA,QAAQ,EAAE;AANmB,KAAd,EAOdV,aAPc,EAOCD,OAAO,CAACI,KAAD,CAPR,CAAjB;AAQD,GAbD;AAeA,SAAOJ,OAAP;AACD,CAnBD;AAqBA;;;;;;;;;;oBAQgBD,I,EAAMa,UAAU,GAAG,E,KAAO;AACxC,+BAAe,aAAf,EAA8BA,UAA9B;AAEA,QAAMC,MAAM,GAAG,yBAAYD,UAAZ,CAAf;AAEAC,EAAAA,MAAM,CAAClB,MAAP,GAAgBD,UAAU,CAACmB,MAAM,CAAClB,MAAR,CAA1B;AACAkB,EAAAA,MAAM,CAACb,OAAP,GAAiBF,WAAW,CAACC,IAAD,EAAOc,MAAM,CAACb,OAAd,EAAuBa,MAAM,CAACZ,aAA9B,CAA5B;;AAEA,MAAI,CAACY,MAAM,CAACC,kBAAZ,EAAgC;AAC9B;;;AAGAD,IAAAA,MAAM,CAACC,kBAAP,GAA4B,MAAM;AAChC,aAAO,IAAP;AACD,KAFD;AAGD;;AAED,MAAID,MAAM,CAACE,UAAP,KAAsBC,SAA1B,EAAqC;AACnCH,IAAAA,MAAM,CAACE,UAAP,GAAoB,KAApB;AACD;;AAED,SAAOF,MAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport calculateMaximumColumnWidthIndex from './calculateMaximumColumnWidthIndex';\nimport getBorderCharacters from './getBorderCharacters';\nimport validateConfig from './validateConfig';\n\n/**\n * Merges user provided border characters with the default border (\"honeywell\") characters.\n *\n * @param {object} border\n * @returns {object}\n */\nconst makeBorder = (border = {}) => {\n return Object.assign({}, getBorderCharacters('honeywell'), border);\n};\n\n/**\n * Creates a configuration for every column using default\n * values for the missing configuration properties.\n *\n * @param {Array[]} rows\n * @param {object} columns\n * @param {object} columnDefault\n * @returns {object}\n */\nconst makeColumns = (rows, columns = {}, columnDefault = {}) => {\n const maximumColumnWidthIndex = calculateMaximumColumnWidthIndex(rows);\n\n _.times(rows[0].length, (index) => {\n if (_.isUndefined(columns[index])) {\n columns[index] = {};\n }\n\n columns[index] = Object.assign({\n alignment: 'left',\n paddingLeft: 1,\n paddingRight: 1,\n truncate: Infinity,\n width: maximumColumnWidthIndex[index],\n wrapWord: false,\n }, columnDefault, columns[index]);\n });\n\n return columns;\n};\n\n/**\n * Makes a new configuration object out of the userConfig object\n * using default values for the missing configuration properties.\n *\n * @param {Array[]} rows\n * @param {object} userConfig\n * @returns {object}\n */\nexport default (rows, userConfig = {}) => {\n validateConfig('config.json', userConfig);\n\n const config = _.cloneDeep(userConfig);\n\n config.border = makeBorder(config.border);\n config.columns = makeColumns(rows, config.columns, config.columnDefault);\n\n if (!config.drawHorizontalLine) {\n /**\n * @returns {boolean}\n */\n config.drawHorizontalLine = () => {\n return true;\n };\n }\n\n if (config.singleLine === undefined) {\n config.singleLine = false;\n }\n\n return config;\n};\n"],"file":"makeConfig.js"}
@@ -20,8 +20,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
20
20
  /**
21
21
  * Merges user provided border characters with the default border ("honeywell") characters.
22
22
  *
23
- * @param {Object} border
24
- * @returns {Object}
23
+ * @param {object} border
24
+ * @returns {object}
25
25
  */
26
26
  const makeBorder = (border = {}) => {
27
27
  return Object.assign({}, (0, _getBorderCharacters.default)('honeywell'), border);
@@ -31,9 +31,9 @@ const makeBorder = (border = {}) => {
31
31
  * values for the missing configuration properties.
32
32
  *
33
33
  * @param {number} columnCount
34
- * @param {Object} columns
35
- * @param {Object} columnDefault
36
- * @returns {Object}
34
+ * @param {object} columns
35
+ * @param {object} columnDefault
36
+ * @returns {object}
37
37
  */
38
38
 
39
39
 
@@ -54,7 +54,7 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
54
54
  return columns;
55
55
  };
56
56
  /**
57
- * @typedef {Object} columnConfig
57
+ * @typedef {object} columnConfig
58
58
  * @property {string} alignment
59
59
  * @property {number} width
60
60
  * @property {number} truncate
@@ -63,9 +63,9 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
63
63
  */
64
64
 
65
65
  /**
66
- * @typedef {Object} streamConfig
66
+ * @typedef {object} streamConfig
67
67
  * @property {columnConfig} columnDefault
68
- * @property {Object} border
68
+ * @property {object} border
69
69
  * @property {columnConfig[]}
70
70
  * @property {number} columnCount Number of columns in the table (required).
71
71
  */
@@ -75,7 +75,7 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
75
75
  * using default values for the missing configuration properties.
76
76
  *
77
77
  * @param {streamConfig} userConfig
78
- * @returns {Object}
78
+ * @returns {object}
79
79
  */
80
80
 
81
81
 
@@ -5,8 +5,8 @@ import validateConfig from './validateConfig';
5
5
  /**
6
6
  * Merges user provided border characters with the default border ("honeywell") characters.
7
7
  *
8
- * @param {Object} border
9
- * @returns {Object}
8
+ * @param {object} border
9
+ * @returns {object}
10
10
  */
11
11
  const makeBorder = (border = {}) => {
12
12
  return Object.assign({}, getBorderCharacters('honeywell'), border);
@@ -17,9 +17,9 @@ const makeBorder = (border = {}) => {
17
17
  * values for the missing configuration properties.
18
18
  *
19
19
  * @param {number} columnCount
20
- * @param {Object} columns
21
- * @param {Object} columnDefault
22
- * @returns {Object}
20
+ * @param {object} columns
21
+ * @param {object} columnDefault
22
+ * @returns {object}
23
23
  */
24
24
  const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
25
25
  _.times(columnCount, (index) => {
@@ -32,7 +32,7 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
32
32
  paddingLeft: 1,
33
33
  paddingRight: 1,
34
34
  truncate: Infinity,
35
- wrapWord: false
35
+ wrapWord: false,
36
36
  }, columnDefault, columns[index]);
37
37
  });
38
38
 
@@ -40,7 +40,7 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
40
40
  };
41
41
 
42
42
  /**
43
- * @typedef {Object} columnConfig
43
+ * @typedef {object} columnConfig
44
44
  * @property {string} alignment
45
45
  * @property {number} width
46
46
  * @property {number} truncate
@@ -49,9 +49,9 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
49
49
  */
50
50
 
51
51
  /**
52
- * @typedef {Object} streamConfig
52
+ * @typedef {object} streamConfig
53
53
  * @property {columnConfig} columnDefault
54
- * @property {Object} border
54
+ * @property {object} border
55
55
  * @property {columnConfig[]}
56
56
  * @property {number} columnCount Number of columns in the table (required).
57
57
  */
@@ -61,7 +61,7 @@ const makeColumns = (columnCount, columns = {}, columnDefault = {}) => {
61
61
  * using default values for the missing configuration properties.
62
62
  *
63
63
  * @param {streamConfig} userConfig
64
- * @returns {Object}
64
+ * @returns {object}
65
65
  */
66
66
  export default (userConfig = {}) => {
67
67
  validateConfig('streamConfig.json', userConfig);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/makeStreamConfig.js"],"names":["makeBorder","border","Object","assign","makeColumns","columnCount","columns","columnDefault","index","alignment","paddingLeft","paddingRight","truncate","Infinity","wrapWord","userConfig","config","width","Error"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;;;AAEA;;;;;;AAMA,MAAMA,UAAU,GAAG,CAACC,MAAM,GAAG,EAAV,KAAiB;AAClC,SAAOC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,kCAAoB,WAApB,CAAlB,EAAoDF,MAApD,CAAP;AACD,CAFD;AAIA;;;;;;;;;;;AASA,MAAMG,WAAW,GAAG,CAACC,WAAD,EAAcC,OAAO,GAAG,EAAxB,EAA4BC,aAAa,GAAG,EAA5C,KAAmD;AACrE,uBAAQF,WAAR,EAAsBG,KAAD,IAAW;AAC9B,QAAI,2BAAcF,OAAO,CAACE,KAAD,CAArB,CAAJ,EAAmC;AACjCF,MAAAA,OAAO,CAACE,KAAD,CAAP,GAAiB,EAAjB;AACD;;AAEDF,IAAAA,OAAO,CAACE,KAAD,CAAP,GAAiBN,MAAM,CAACC,MAAP,CAAc;AAC7BM,MAAAA,SAAS,EAAE,MADkB;AAE7BC,MAAAA,WAAW,EAAE,CAFgB;AAG7BC,MAAAA,YAAY,EAAE,CAHe;AAI7BC,MAAAA,QAAQ,EAAEC,QAJmB;AAK7BC,MAAAA,QAAQ,EAAE;AALmB,KAAd,EAMdP,aANc,EAMCD,OAAO,CAACE,KAAD,CANR,CAAjB;AAOD,GAZD;AAcA,SAAOF,OAAP;AACD,CAhBD;AAkBA;;;;;;;;;AASA;;;;;;;;AAQA;;;;;;;;;0BAOgBS,UAAU,GAAG,E,KAAO;AAClC,+BAAe,mBAAf,EAAoCA,UAApC;AAEA,QAAMC,MAAM,GAAG,yBAAYD,UAAZ,CAAf;;AAEA,MAAI,CAACC,MAAM,CAACT,aAAR,IAAyB,CAACS,MAAM,CAACT,aAAP,CAAqBU,KAAnD,EAA0D;AACxD,UAAM,IAAIC,KAAJ,CAAU,iEAAV,CAAN;AACD;;AAED,MAAI,CAACF,MAAM,CAACX,WAAZ,EAAyB;AACvB,UAAM,IAAIa,KAAJ,CAAU,kCAAV,CAAN;AACD;;AAEDF,EAAAA,MAAM,CAACf,MAAP,GAAgBD,UAAU,CAACgB,MAAM,CAACf,MAAR,CAA1B;AACAe,EAAAA,MAAM,CAACV,OAAP,GAAiBF,WAAW,CAACY,MAAM,CAACX,WAAR,EAAqBW,MAAM,CAACV,OAA5B,EAAqCU,MAAM,CAACT,aAA5C,CAA5B;AAEA,SAAOS,MAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport getBorderCharacters from './getBorderCharacters';\nimport validateConfig from './validateConfig';\n\n/**\n * Merges user provided border characters with the default border (\"honeywell\") characters.\n *\n * @param {Object} border\n * @returns {Object}\n */\nconst makeBorder = (border = {}) => {\n return Object.assign({}, getBorderCharacters('honeywell'), border);\n};\n\n/**\n * Creates a configuration for every column using default\n * values for the missing configuration properties.\n *\n * @param {number} columnCount\n * @param {Object} columns\n * @param {Object} columnDefault\n * @returns {Object}\n */\nconst makeColumns = (columnCount, columns = {}, columnDefault = {}) => {\n _.times(columnCount, (index) => {\n if (_.isUndefined(columns[index])) {\n columns[index] = {};\n }\n\n columns[index] = Object.assign({\n alignment: 'left',\n paddingLeft: 1,\n paddingRight: 1,\n truncate: Infinity,\n wrapWord: false\n }, columnDefault, columns[index]);\n });\n\n return columns;\n};\n\n/**\n * @typedef {Object} columnConfig\n * @property {string} alignment\n * @property {number} width\n * @property {number} truncate\n * @property {number} paddingLeft\n * @property {number} paddingRight\n */\n\n/**\n * @typedef {Object} streamConfig\n * @property {columnConfig} columnDefault\n * @property {Object} border\n * @property {columnConfig[]}\n * @property {number} columnCount Number of columns in the table (required).\n */\n\n/**\n * Makes a new configuration object out of the userConfig object\n * using default values for the missing configuration properties.\n *\n * @param {streamConfig} userConfig\n * @returns {Object}\n */\nexport default (userConfig = {}) => {\n validateConfig('streamConfig.json', userConfig);\n\n const config = _.cloneDeep(userConfig);\n\n if (!config.columnDefault || !config.columnDefault.width) {\n throw new Error('Must provide config.columnDefault.width when creating a stream.');\n }\n\n if (!config.columnCount) {\n throw new Error('Must provide config.columnCount.');\n }\n\n config.border = makeBorder(config.border);\n config.columns = makeColumns(config.columnCount, config.columns, config.columnDefault);\n\n return config;\n};\n"],"file":"makeStreamConfig.js"}
1
+ {"version":3,"sources":["../src/makeStreamConfig.js"],"names":["makeBorder","border","Object","assign","makeColumns","columnCount","columns","columnDefault","index","alignment","paddingLeft","paddingRight","truncate","Infinity","wrapWord","userConfig","config","width","Error"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;;;AAEA;;;;;;AAMA,MAAMA,UAAU,GAAG,CAACC,MAAM,GAAG,EAAV,KAAiB;AAClC,SAAOC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,kCAAoB,WAApB,CAAlB,EAAoDF,MAApD,CAAP;AACD,CAFD;AAIA;;;;;;;;;;;AASA,MAAMG,WAAW,GAAG,CAACC,WAAD,EAAcC,OAAO,GAAG,EAAxB,EAA4BC,aAAa,GAAG,EAA5C,KAAmD;AACrE,uBAAQF,WAAR,EAAsBG,KAAD,IAAW;AAC9B,QAAI,2BAAcF,OAAO,CAACE,KAAD,CAArB,CAAJ,EAAmC;AACjCF,MAAAA,OAAO,CAACE,KAAD,CAAP,GAAiB,EAAjB;AACD;;AAEDF,IAAAA,OAAO,CAACE,KAAD,CAAP,GAAiBN,MAAM,CAACC,MAAP,CAAc;AAC7BM,MAAAA,SAAS,EAAE,MADkB;AAE7BC,MAAAA,WAAW,EAAE,CAFgB;AAG7BC,MAAAA,YAAY,EAAE,CAHe;AAI7BC,MAAAA,QAAQ,EAAEC,QAJmB;AAK7BC,MAAAA,QAAQ,EAAE;AALmB,KAAd,EAMdP,aANc,EAMCD,OAAO,CAACE,KAAD,CANR,CAAjB;AAOD,GAZD;AAcA,SAAOF,OAAP;AACD,CAhBD;AAkBA;;;;;;;;;AASA;;;;;;;;AAQA;;;;;;;;;0BAOgBS,UAAU,GAAG,E,KAAO;AAClC,+BAAe,mBAAf,EAAoCA,UAApC;AAEA,QAAMC,MAAM,GAAG,yBAAYD,UAAZ,CAAf;;AAEA,MAAI,CAACC,MAAM,CAACT,aAAR,IAAyB,CAACS,MAAM,CAACT,aAAP,CAAqBU,KAAnD,EAA0D;AACxD,UAAM,IAAIC,KAAJ,CAAU,iEAAV,CAAN;AACD;;AAED,MAAI,CAACF,MAAM,CAACX,WAAZ,EAAyB;AACvB,UAAM,IAAIa,KAAJ,CAAU,kCAAV,CAAN;AACD;;AAEDF,EAAAA,MAAM,CAACf,MAAP,GAAgBD,UAAU,CAACgB,MAAM,CAACf,MAAR,CAA1B;AACAe,EAAAA,MAAM,CAACV,OAAP,GAAiBF,WAAW,CAACY,MAAM,CAACX,WAAR,EAAqBW,MAAM,CAACV,OAA5B,EAAqCU,MAAM,CAACT,aAA5C,CAA5B;AAEA,SAAOS,MAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport getBorderCharacters from './getBorderCharacters';\nimport validateConfig from './validateConfig';\n\n/**\n * Merges user provided border characters with the default border (\"honeywell\") characters.\n *\n * @param {object} border\n * @returns {object}\n */\nconst makeBorder = (border = {}) => {\n return Object.assign({}, getBorderCharacters('honeywell'), border);\n};\n\n/**\n * Creates a configuration for every column using default\n * values for the missing configuration properties.\n *\n * @param {number} columnCount\n * @param {object} columns\n * @param {object} columnDefault\n * @returns {object}\n */\nconst makeColumns = (columnCount, columns = {}, columnDefault = {}) => {\n _.times(columnCount, (index) => {\n if (_.isUndefined(columns[index])) {\n columns[index] = {};\n }\n\n columns[index] = Object.assign({\n alignment: 'left',\n paddingLeft: 1,\n paddingRight: 1,\n truncate: Infinity,\n wrapWord: false,\n }, columnDefault, columns[index]);\n });\n\n return columns;\n};\n\n/**\n * @typedef {object} columnConfig\n * @property {string} alignment\n * @property {number} width\n * @property {number} truncate\n * @property {number} paddingLeft\n * @property {number} paddingRight\n */\n\n/**\n * @typedef {object} streamConfig\n * @property {columnConfig} columnDefault\n * @property {object} border\n * @property {columnConfig[]}\n * @property {number} columnCount Number of columns in the table (required).\n */\n\n/**\n * Makes a new configuration object out of the userConfig object\n * using default values for the missing configuration properties.\n *\n * @param {streamConfig} userConfig\n * @returns {object}\n */\nexport default (userConfig = {}) => {\n validateConfig('streamConfig.json', userConfig);\n\n const config = _.cloneDeep(userConfig);\n\n if (!config.columnDefault || !config.columnDefault.width) {\n throw new Error('Must provide config.columnDefault.width when creating a stream.');\n }\n\n if (!config.columnCount) {\n throw new Error('Must provide config.columnCount.');\n }\n\n config.border = makeBorder(config.border);\n config.columns = makeColumns(config.columnCount, config.columns, config.columnDefault);\n\n return config;\n};\n"],"file":"makeStreamConfig.js"}
@@ -16,7 +16,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
16
16
  /**
17
17
  * @param {Array} unmappedRows
18
18
  * @param {number[]} rowHeightIndex
19
- * @param {Object} config
19
+ * @param {object} config
20
20
  * @returns {Array}
21
21
  */
22
22
  const mapDataUsingRowHeightIndex = (unmappedRows, rowHeightIndex, config) => {
@@ -4,7 +4,7 @@ import wrapCell from './wrapCell';
4
4
  /**
5
5
  * @param {Array} unmappedRows
6
6
  * @param {number[]} rowHeightIndex
7
- * @param {Object} config
7
+ * @param {object} config
8
8
  * @returns {Array}
9
9
  */
10
10
  export default (unmappedRows, rowHeightIndex, config) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mapDataUsingRowHeightIndex.js"],"names":["unmappedRows","rowHeightIndex","config","tableWidth","length","mappedRows","map","cells","index0","rowHeight","Array","fill","forEach","value","index1","cellLines","columns","width","wrapWord","cellLine","index2"],"mappings":";;;;;;;;;;;AACA;;;;AAEA;;;;;;oCAMgBA,Y,EAAcC,c,EAAgBC,M,KAAW;AACvD,QAAMC,UAAU,GAAGH,YAAY,CAAC,CAAD,CAAZ,CAAgBI,MAAnC;AAEA,QAAMC,UAAU,GAAGL,YAAY,CAACM,GAAb,CAAiB,CAACC,KAAD,EAAQC,MAAR,KAAmB;AACrD,UAAMC,SAAS,GAAG,qBAAQR,cAAc,CAACO,MAAD,CAAtB,EAAgC,MAAM;AACtD,aAAO,IAAIE,KAAJ,CAAUP,UAAV,EAAsBQ,IAAtB,CAA2B,EAA3B,CAAP;AACD,KAFiB,CAAlB,CADqD,CAKrD;AACA;AACA;;AAEAJ,IAAAA,KAAK,CAACK,OAAN,CAAc,CAACC,KAAD,EAAQC,MAAR,KAAmB;AAC/B,YAAMC,SAAS,GAAG,uBAASF,KAAT,EAAgBX,MAAM,CAACc,OAAP,CAAeF,MAAf,EAAuBG,KAAvC,EAA8Cf,MAAM,CAACc,OAAP,CAAeF,MAAf,EAAuBI,QAArE,CAAlB;AAEAH,MAAAA,SAAS,CAACH,OAAV,CAAkB,CAACO,QAAD,EAAWC,MAAX,KAAsB;AACtCX,QAAAA,SAAS,CAACW,MAAD,CAAT,CAAkBN,MAAlB,IAA4BK,QAA5B;AACD,OAFD;AAGD,KAND;AAQA,WAAOV,SAAP;AACD,GAlBkB,CAAnB;AAoBA,SAAO,uBAAUJ,UAAV,CAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport wrapCell from './wrapCell';\n\n/**\n * @param {Array} unmappedRows\n * @param {number[]} rowHeightIndex\n * @param {Object} config\n * @returns {Array}\n */\nexport default (unmappedRows, rowHeightIndex, config) => {\n const tableWidth = unmappedRows[0].length;\n\n const mappedRows = unmappedRows.map((cells, index0) => {\n const rowHeight = _.times(rowHeightIndex[index0], () => {\n return new Array(tableWidth).fill('');\n });\n\n // rowHeight\n // [{row index within rowSaw; index2}]\n // [{cell index within a virtual row; index1}]\n\n cells.forEach((value, index1) => {\n const cellLines = wrapCell(value, config.columns[index1].width, config.columns[index1].wrapWord);\n\n cellLines.forEach((cellLine, index2) => {\n rowHeight[index2][index1] = cellLine;\n });\n });\n\n return rowHeight;\n });\n\n return _.flatten(mappedRows);\n};\n"],"file":"mapDataUsingRowHeightIndex.js"}
1
+ {"version":3,"sources":["../src/mapDataUsingRowHeightIndex.js"],"names":["unmappedRows","rowHeightIndex","config","tableWidth","length","mappedRows","map","cells","index0","rowHeight","Array","fill","forEach","value","index1","cellLines","columns","width","wrapWord","cellLine","index2"],"mappings":";;;;;;;;;;;AACA;;;;AAEA;;;;;;oCAMgBA,Y,EAAcC,c,EAAgBC,M,KAAW;AACvD,QAAMC,UAAU,GAAGH,YAAY,CAAC,CAAD,CAAZ,CAAgBI,MAAnC;AAEA,QAAMC,UAAU,GAAGL,YAAY,CAACM,GAAb,CAAiB,CAACC,KAAD,EAAQC,MAAR,KAAmB;AACrD,UAAMC,SAAS,GAAG,qBAAQR,cAAc,CAACO,MAAD,CAAtB,EAAgC,MAAM;AACtD,aAAO,IAAIE,KAAJ,CAAUP,UAAV,EAAsBQ,IAAtB,CAA2B,EAA3B,CAAP;AACD,KAFiB,CAAlB,CADqD,CAKrD;AACA;AACA;;AAEAJ,IAAAA,KAAK,CAACK,OAAN,CAAc,CAACC,KAAD,EAAQC,MAAR,KAAmB;AAC/B,YAAMC,SAAS,GAAG,uBAASF,KAAT,EAAgBX,MAAM,CAACc,OAAP,CAAeF,MAAf,EAAuBG,KAAvC,EAA8Cf,MAAM,CAACc,OAAP,CAAeF,MAAf,EAAuBI,QAArE,CAAlB;AAEAH,MAAAA,SAAS,CAACH,OAAV,CAAkB,CAACO,QAAD,EAAWC,MAAX,KAAsB;AACtCX,QAAAA,SAAS,CAACW,MAAD,CAAT,CAAkBN,MAAlB,IAA4BK,QAA5B;AACD,OAFD;AAGD,KAND;AAQA,WAAOV,SAAP;AACD,GAlBkB,CAAnB;AAoBA,SAAO,uBAAUJ,UAAV,CAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport wrapCell from './wrapCell';\n\n/**\n * @param {Array} unmappedRows\n * @param {number[]} rowHeightIndex\n * @param {object} config\n * @returns {Array}\n */\nexport default (unmappedRows, rowHeightIndex, config) => {\n const tableWidth = unmappedRows[0].length;\n\n const mappedRows = unmappedRows.map((cells, index0) => {\n const rowHeight = _.times(rowHeightIndex[index0], () => {\n return new Array(tableWidth).fill('');\n });\n\n // rowHeight\n // [{row index within rowSaw; index2}]\n // [{cell index within a virtual row; index1}]\n\n cells.forEach((value, index1) => {\n const cellLines = wrapCell(value, config.columns[index1].width, config.columns[index1].wrapWord);\n\n cellLines.forEach((cellLine, index2) => {\n rowHeight[index2][index1] = cellLine;\n });\n });\n\n return rowHeight;\n });\n\n return _.flatten(mappedRows);\n};\n"],"file":"mapDataUsingRowHeightIndex.js"}
@@ -7,7 +7,7 @@ exports.default = void 0;
7
7
 
8
8
  /**
9
9
  * @param {table~row[]} rows
10
- * @param {Object} config
10
+ * @param {object} config
11
11
  * @returns {table~row[]}
12
12
  */
13
13
  const padTableData = (rows, config) => {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @param {table~row[]} rows
3
- * @param {Object} config
3
+ * @param {object} config
4
4
  * @returns {table~row[]}
5
5
  */
6
6
  export default (rows, config) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/padTableData.js"],"names":["rows","config","map","cells","value","index1","column","columns","repeat","paddingLeft","paddingRight"],"mappings":";;;;;;;AAAA;;;;;sBAKgBA,I,EAAMC,M,KAAW;AAC/B,SAAOD,IAAI,CAACE,GAAL,CAAUC,KAAD,IAAW;AACzB,WAAOA,KAAK,CAACD,GAAN,CAAU,CAACE,KAAD,EAAQC,MAAR,KAAmB;AAClC,YAAMC,MAAM,GAAGL,MAAM,CAACM,OAAP,CAAeF,MAAf,CAAf;AAEA,aAAO,IAAIG,MAAJ,CAAWF,MAAM,CAACG,WAAlB,IAAiCL,KAAjC,GAAyC,IAAII,MAAJ,CAAWF,MAAM,CAACI,YAAlB,CAAhD;AACD,KAJM,CAAP;AAKD,GANM,CAAP;AAOD,C","sourcesContent":["/**\n * @param {table~row[]} rows\n * @param {Object} config\n * @returns {table~row[]}\n */\nexport default (rows, config) => {\n return rows.map((cells) => {\n return cells.map((value, index1) => {\n const column = config.columns[index1];\n\n return ' '.repeat(column.paddingLeft) + value + ' '.repeat(column.paddingRight);\n });\n });\n};\n"],"file":"padTableData.js"}
1
+ {"version":3,"sources":["../src/padTableData.js"],"names":["rows","config","map","cells","value","index1","column","columns","repeat","paddingLeft","paddingRight"],"mappings":";;;;;;;AAAA;;;;;sBAKgBA,I,EAAMC,M,KAAW;AAC/B,SAAOD,IAAI,CAACE,GAAL,CAAUC,KAAD,IAAW;AACzB,WAAOA,KAAK,CAACD,GAAN,CAAU,CAACE,KAAD,EAAQC,MAAR,KAAmB;AAClC,YAAMC,MAAM,GAAGL,MAAM,CAACM,OAAP,CAAeF,MAAf,CAAf;AAEA,aAAO,IAAIG,MAAJ,CAAWF,MAAM,CAACG,WAAlB,IAAiCL,KAAjC,GAAyC,IAAII,MAAJ,CAAWF,MAAM,CAACI,YAAlB,CAAhD;AACD,KAJM,CAAP;AAKD,GANM,CAAP;AAOD,C","sourcesContent":["/**\n * @param {table~row[]} rows\n * @param {object} config\n * @returns {table~row[]}\n */\nexport default (rows, config) => {\n return rows.map((cells) => {\n return cells.map((value, index1) => {\n const column = config.columns[index1];\n\n return ' '.repeat(column.paddingLeft) + value + ' '.repeat(column.paddingRight);\n });\n });\n};\n"],"file":"padTableData.js"}
package/dist/table.js CHANGED
@@ -5,26 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _drawTable = _interopRequireDefault(require("./drawTable"));
8
+ var _alignTableData = _interopRequireDefault(require("./alignTableData"));
9
9
 
10
10
  var _calculateCellWidthIndex = _interopRequireDefault(require("./calculateCellWidthIndex"));
11
11
 
12
- var _makeConfig = _interopRequireDefault(require("./makeConfig"));
13
-
14
12
  var _calculateRowHeightIndex = _interopRequireDefault(require("./calculateRowHeightIndex"));
15
13
 
16
- var _mapDataUsingRowHeightIndex = _interopRequireDefault(require("./mapDataUsingRowHeightIndex"));
14
+ var _drawTable = _interopRequireDefault(require("./drawTable"));
17
15
 
18
- var _alignTableData = _interopRequireDefault(require("./alignTableData"));
16
+ var _makeConfig = _interopRequireDefault(require("./makeConfig"));
19
17
 
20
- var _padTableData = _interopRequireDefault(require("./padTableData"));
18
+ var _mapDataUsingRowHeightIndex = _interopRequireDefault(require("./mapDataUsingRowHeightIndex"));
21
19
 
22
- var _validateTableData = _interopRequireDefault(require("./validateTableData"));
20
+ var _padTableData = _interopRequireDefault(require("./padTableData"));
23
21
 
24
22
  var _stringifyTableData = _interopRequireDefault(require("./stringifyTableData"));
25
23
 
26
24
  var _truncateTableData = _interopRequireDefault(require("./truncateTableData"));
27
25
 
26
+ var _validateTableData = _interopRequireDefault(require("./validateTableData"));
27
+
28
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
29
 
30
30
  /**
@@ -36,7 +36,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
36
36
  */
37
37
 
38
38
  /**
39
- * @typedef {Object} table~columns
39
+ * @typedef {object} table~columns
40
40
  * @property {string} alignment Cell content alignment (enum: left, center, right) (default: left).
41
41
  * @property {number} width Column width (default: auto).
42
42
  * @property {number} truncate Number of characters are which the content will be truncated (default: Infinity).
@@ -46,7 +46,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
46
46
  */
47
47
 
48
48
  /**
49
- * @typedef {Object} table~border
49
+ * @typedef {object} table~border
50
50
  * @property {string} topBody
51
51
  * @property {string} topJoin
52
52
  * @property {string} topLeft
@@ -76,7 +76,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
76
76
  */
77
77
 
78
78
  /**
79
- * @typedef {Object} table~config
79
+ * @typedef {object} table~config
80
80
  * @property {table~border} border
81
81
  * @property {table~columns[]} columns Column specific configuration.
82
82
  * @property {table~columns} columnDefault Default values for all columns. Column specific settings overwrite the default values.
@@ -1,13 +1,13 @@
1
- import drawTable from './drawTable';
1
+ import alignTableData from './alignTableData';
2
2
  import calculateCellWidthIndex from './calculateCellWidthIndex';
3
- import makeConfig from './makeConfig';
4
3
  import calculateRowHeightIndex from './calculateRowHeightIndex';
4
+ import drawTable from './drawTable';
5
+ import makeConfig from './makeConfig';
5
6
  import mapDataUsingRowHeightIndex from './mapDataUsingRowHeightIndex';
6
- import alignTableData from './alignTableData';
7
7
  import padTableData from './padTableData';
8
- import validateTableData from './validateTableData';
9
8
  import stringifyTableData from './stringifyTableData';
10
9
  import truncateTableData from './truncateTableData';
10
+ import validateTableData from './validateTableData';
11
11
 
12
12
  /**
13
13
  * @typedef {string} table~cell
@@ -18,7 +18,7 @@ import truncateTableData from './truncateTableData';
18
18
  */
19
19
 
20
20
  /**
21
- * @typedef {Object} table~columns
21
+ * @typedef {object} table~columns
22
22
  * @property {string} alignment Cell content alignment (enum: left, center, right) (default: left).
23
23
  * @property {number} width Column width (default: auto).
24
24
  * @property {number} truncate Number of characters are which the content will be truncated (default: Infinity).
@@ -28,7 +28,7 @@ import truncateTableData from './truncateTableData';
28
28
  */
29
29
 
30
30
  /**
31
- * @typedef {Object} table~border
31
+ * @typedef {object} table~border
32
32
  * @property {string} topBody
33
33
  * @property {string} topJoin
34
34
  * @property {string} topLeft
@@ -58,7 +58,7 @@ import truncateTableData from './truncateTableData';
58
58
  */
59
59
 
60
60
  /**
61
- * @typedef {Object} table~config
61
+ * @typedef {object} table~config
62
62
  * @property {table~border} border
63
63
  * @property {table~columns[]} columns Column specific configuration.
64
64
  * @property {table~columns} columnDefault Default values for all columns. Column specific settings overwrite the default values.
package/dist/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/table.js"],"names":["data","userConfig","rows","config","rowHeightIndex","cellWidthIndex","border","drawHorizontalLine","singleLine"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;;;;AAIA;;;;AAIA;;;;;;;;;;AAUA;;;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;AAWA;;;;;;;;;AASA;;;;;;;eAOgBA,I,EAAMC,UAAU,GAAG,E,KAAO;AACxC,MAAIC,IAAJ;AAEA,kCAAkBF,IAAlB;AAEAE,EAAAA,IAAI,GAAG,iCAAmBF,IAAnB,CAAP;AAEA,QAAMG,MAAM,GAAG,yBAAWD,IAAX,EAAiBD,UAAjB,CAAf;AAEAC,EAAAA,IAAI,GAAG,gCAAkBF,IAAlB,EAAwBG,MAAxB,CAAP;AAEA,QAAMC,cAAc,GAAG,sCAAwBF,IAAxB,EAA8BC,MAA9B,CAAvB;AAEAD,EAAAA,IAAI,GAAG,yCAA2BA,IAA3B,EAAiCE,cAAjC,EAAiDD,MAAjD,CAAP;AACAD,EAAAA,IAAI,GAAG,6BAAeA,IAAf,EAAqBC,MAArB,CAAP;AACAD,EAAAA,IAAI,GAAG,2BAAaA,IAAb,EAAmBC,MAAnB,CAAP;AAEA,QAAME,cAAc,GAAG,sCAAwBH,IAAI,CAAC,CAAD,CAA5B,CAAvB;AAEA,SAAO,wBAAUA,IAAV,EAAgBC,MAAM,CAACG,MAAvB,EAA+BD,cAA/B,EAA+CD,cAA/C,EAA+DD,MAAM,CAACI,kBAAtE,EAA0FJ,MAAM,CAACK,UAAjG,CAAP;AACD,C","sourcesContent":["import drawTable from './drawTable';\nimport calculateCellWidthIndex from './calculateCellWidthIndex';\nimport makeConfig from './makeConfig';\nimport calculateRowHeightIndex from './calculateRowHeightIndex';\nimport mapDataUsingRowHeightIndex from './mapDataUsingRowHeightIndex';\nimport alignTableData from './alignTableData';\nimport padTableData from './padTableData';\nimport validateTableData from './validateTableData';\nimport stringifyTableData from './stringifyTableData';\nimport truncateTableData from './truncateTableData';\n\n/**\n * @typedef {string} table~cell\n */\n\n/**\n * @typedef {table~cell[]} table~row\n */\n\n/**\n * @typedef {Object} table~columns\n * @property {string} alignment Cell content alignment (enum: left, center, right) (default: left).\n * @property {number} width Column width (default: auto).\n * @property {number} truncate Number of characters are which the content will be truncated (default: Infinity).\n * @property {boolean} wrapWord When true the text is broken at the nearest space or one of the special characters\n * @property {number} paddingLeft Cell content padding width left (default: 1).\n * @property {number} paddingRight Cell content padding width right (default: 1).\n */\n\n/**\n * @typedef {Object} table~border\n * @property {string} topBody\n * @property {string} topJoin\n * @property {string} topLeft\n * @property {string} topRight\n * @property {string} bottomBody\n * @property {string} bottomJoin\n * @property {string} bottomLeft\n * @property {string} bottomRight\n * @property {string} bodyLeft\n * @property {string} bodyRight\n * @property {string} bodyJoin\n * @property {string} joinBody\n * @property {string} joinLeft\n * @property {string} joinRight\n * @property {string} joinJoin\n */\n\n/**\n * Used to tell whether to draw a horizontal line.\n * This callback is called for each non-content line of the table.\n * The default behavior is to always return true.\n *\n * @typedef {Function} drawHorizontalLine\n * @param {number} index\n * @param {number} size\n * @returns {boolean}\n */\n\n/**\n * @typedef {Object} table~config\n * @property {table~border} border\n * @property {table~columns[]} columns Column specific configuration.\n * @property {table~columns} columnDefault Default values for all columns. Column specific settings overwrite the default values.\n * @property {table~drawHorizontalLine} drawHorizontalLine\n * @property {table~singleLine} singleLine Horizontal lines inside the table are not drawn.\n */\n\n/**\n * Generates a text table.\n *\n * @param {table~row[]} data\n * @param {table~config} userConfig\n * @returns {string}\n */\nexport default (data, userConfig = {}) => {\n let rows;\n\n validateTableData(data);\n\n rows = stringifyTableData(data);\n\n const config = makeConfig(rows, userConfig);\n\n rows = truncateTableData(data, config);\n\n const rowHeightIndex = calculateRowHeightIndex(rows, config);\n\n rows = mapDataUsingRowHeightIndex(rows, rowHeightIndex, config);\n rows = alignTableData(rows, config);\n rows = padTableData(rows, config);\n\n const cellWidthIndex = calculateCellWidthIndex(rows[0]);\n\n return drawTable(rows, config.border, cellWidthIndex, rowHeightIndex, config.drawHorizontalLine, config.singleLine);\n};\n"],"file":"table.js"}
1
+ {"version":3,"sources":["../src/table.js"],"names":["data","userConfig","rows","config","rowHeightIndex","cellWidthIndex","border","drawHorizontalLine","singleLine"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;;;;AAIA;;;;AAIA;;;;;;;;;;AAUA;;;;;;;;;;;;;;;;;;;AAmBA;;;;;;;;;;;AAWA;;;;;;;;;AASA;;;;;;;eAOgBA,I,EAAMC,UAAU,GAAG,E,KAAO;AACxC,MAAIC,IAAJ;AAEA,kCAAkBF,IAAlB;AAEAE,EAAAA,IAAI,GAAG,iCAAmBF,IAAnB,CAAP;AAEA,QAAMG,MAAM,GAAG,yBAAWD,IAAX,EAAiBD,UAAjB,CAAf;AAEAC,EAAAA,IAAI,GAAG,gCAAkBF,IAAlB,EAAwBG,MAAxB,CAAP;AAEA,QAAMC,cAAc,GAAG,sCAAwBF,IAAxB,EAA8BC,MAA9B,CAAvB;AAEAD,EAAAA,IAAI,GAAG,yCAA2BA,IAA3B,EAAiCE,cAAjC,EAAiDD,MAAjD,CAAP;AACAD,EAAAA,IAAI,GAAG,6BAAeA,IAAf,EAAqBC,MAArB,CAAP;AACAD,EAAAA,IAAI,GAAG,2BAAaA,IAAb,EAAmBC,MAAnB,CAAP;AAEA,QAAME,cAAc,GAAG,sCAAwBH,IAAI,CAAC,CAAD,CAA5B,CAAvB;AAEA,SAAO,wBAAUA,IAAV,EAAgBC,MAAM,CAACG,MAAvB,EAA+BD,cAA/B,EAA+CD,cAA/C,EAA+DD,MAAM,CAACI,kBAAtE,EAA0FJ,MAAM,CAACK,UAAjG,CAAP;AACD,C","sourcesContent":["import alignTableData from './alignTableData';\nimport calculateCellWidthIndex from './calculateCellWidthIndex';\nimport calculateRowHeightIndex from './calculateRowHeightIndex';\nimport drawTable from './drawTable';\nimport makeConfig from './makeConfig';\nimport mapDataUsingRowHeightIndex from './mapDataUsingRowHeightIndex';\nimport padTableData from './padTableData';\nimport stringifyTableData from './stringifyTableData';\nimport truncateTableData from './truncateTableData';\nimport validateTableData from './validateTableData';\n\n/**\n * @typedef {string} table~cell\n */\n\n/**\n * @typedef {table~cell[]} table~row\n */\n\n/**\n * @typedef {object} table~columns\n * @property {string} alignment Cell content alignment (enum: left, center, right) (default: left).\n * @property {number} width Column width (default: auto).\n * @property {number} truncate Number of characters are which the content will be truncated (default: Infinity).\n * @property {boolean} wrapWord When true the text is broken at the nearest space or one of the special characters\n * @property {number} paddingLeft Cell content padding width left (default: 1).\n * @property {number} paddingRight Cell content padding width right (default: 1).\n */\n\n/**\n * @typedef {object} table~border\n * @property {string} topBody\n * @property {string} topJoin\n * @property {string} topLeft\n * @property {string} topRight\n * @property {string} bottomBody\n * @property {string} bottomJoin\n * @property {string} bottomLeft\n * @property {string} bottomRight\n * @property {string} bodyLeft\n * @property {string} bodyRight\n * @property {string} bodyJoin\n * @property {string} joinBody\n * @property {string} joinLeft\n * @property {string} joinRight\n * @property {string} joinJoin\n */\n\n/**\n * Used to tell whether to draw a horizontal line.\n * This callback is called for each non-content line of the table.\n * The default behavior is to always return true.\n *\n * @typedef {Function} drawHorizontalLine\n * @param {number} index\n * @param {number} size\n * @returns {boolean}\n */\n\n/**\n * @typedef {object} table~config\n * @property {table~border} border\n * @property {table~columns[]} columns Column specific configuration.\n * @property {table~columns} columnDefault Default values for all columns. Column specific settings overwrite the default values.\n * @property {table~drawHorizontalLine} drawHorizontalLine\n * @property {table~singleLine} singleLine Horizontal lines inside the table are not drawn.\n */\n\n/**\n * Generates a text table.\n *\n * @param {table~row[]} data\n * @param {table~config} userConfig\n * @returns {string}\n */\nexport default (data, userConfig = {}) => {\n let rows;\n\n validateTableData(data);\n\n rows = stringifyTableData(data);\n\n const config = makeConfig(rows, userConfig);\n\n rows = truncateTableData(data, config);\n\n const rowHeightIndex = calculateRowHeightIndex(rows, config);\n\n rows = mapDataUsingRowHeightIndex(rows, rowHeightIndex, config);\n rows = alignTableData(rows, config);\n rows = padTableData(rows, config);\n\n const cellWidthIndex = calculateCellWidthIndex(rows[0]);\n\n return drawTable(rows, config.border, cellWidthIndex, rowHeightIndex, config.drawHorizontalLine, config.singleLine);\n};\n"],"file":"table.js"}
@@ -12,7 +12,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
12
12
  /**
13
13
  * @todo Make it work with ASCII content.
14
14
  * @param {table~row[]} rows
15
- * @param {Object} config
15
+ * @param {object} config
16
16
  * @returns {table~row[]}
17
17
  */
18
18
  const truncateTableData = (rows, config) => {
@@ -3,14 +3,14 @@ import _ from 'lodash';
3
3
  /**
4
4
  * @todo Make it work with ASCII content.
5
5
  * @param {table~row[]} rows
6
- * @param {Object} config
6
+ * @param {object} config
7
7
  * @returns {table~row[]}
8
8
  */
9
9
  export default (rows, config) => {
10
10
  return rows.map((cells) => {
11
11
  return cells.map((content, index) => {
12
12
  return _.truncate(content, {
13
- length: config.columns[index].truncate
13
+ length: config.columns[index].truncate,
14
14
  });
15
15
  });
16
16
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/truncateTableData.js"],"names":["rows","config","map","cells","content","index","length","columns","truncate"],"mappings":";;;;;;;;;;;AAEA;;;;;;2BAMgBA,I,EAAMC,M,KAAW;AAC/B,SAAOD,IAAI,CAACE,GAAL,CAAUC,KAAD,IAAW;AACzB,WAAOA,KAAK,CAACD,GAAN,CAAU,CAACE,OAAD,EAAUC,KAAV,KAAoB;AACnC,aAAO,wBAAWD,OAAX,EAAoB;AACzBE,QAAAA,MAAM,EAAEL,MAAM,CAACM,OAAP,CAAeF,KAAf,EAAsBG;AADL,OAApB,CAAP;AAGD,KAJM,CAAP;AAKD,GANM,CAAP;AAOD,C","sourcesContent":["import _ from 'lodash';\n\n/**\n * @todo Make it work with ASCII content.\n * @param {table~row[]} rows\n * @param {Object} config\n * @returns {table~row[]}\n */\nexport default (rows, config) => {\n return rows.map((cells) => {\n return cells.map((content, index) => {\n return _.truncate(content, {\n length: config.columns[index].truncate\n });\n });\n });\n};\n"],"file":"truncateTableData.js"}
1
+ {"version":3,"sources":["../src/truncateTableData.js"],"names":["rows","config","map","cells","content","index","length","columns","truncate"],"mappings":";;;;;;;;;;;AAEA;;;;;;2BAMgBA,I,EAAMC,M,KAAW;AAC/B,SAAOD,IAAI,CAACE,GAAL,CAAUC,KAAD,IAAW;AACzB,WAAOA,KAAK,CAACD,GAAN,CAAU,CAACE,OAAD,EAAUC,KAAV,KAAoB;AACnC,aAAO,wBAAWD,OAAX,EAAoB;AACzBE,QAAAA,MAAM,EAAEL,MAAM,CAACM,OAAP,CAAeF,KAAf,EAAsBG;AADL,OAApB,CAAP;AAGD,KAJM,CAAP;AAKD,GANM,CAAP;AAOD,C","sourcesContent":["import _ from 'lodash';\n\n/**\n * @todo Make it work with ASCII content.\n * @param {table~row[]} rows\n * @param {object} config\n * @returns {table~row[]}\n */\nexport default (rows, config) => {\n return rows.map((cells) => {\n return cells.map((content, index) => {\n return _.truncate(content, {\n length: config.columns[index].truncate,\n });\n });\n });\n};\n"],"file":"truncateTableData.js"}
@@ -243,6 +243,7 @@ var validate = (function() {
243
243
  'use strict';
244
244
  var vErrors = null;
245
245
  var errors = 0;
246
+ if (rootData === undefined) rootData = data;
246
247
  if (typeof data !== "string") {
247
248
  var err = {
248
249
  keyword: 'type',
@@ -340,6 +341,7 @@ var validate = (function() {
340
341
  'use strict';
341
342
  var vErrors = null;
342
343
  var errors = 0;
344
+ if (rootData === undefined) rootData = data;
343
345
  if ((data && typeof data === "object" && !Array.isArray(data))) {
344
346
  var errs__0 = errors;
345
347
  var valid1 = true;
@@ -403,7 +405,7 @@ var validate = (function() {
403
405
  }
404
406
  if (data.width !== undefined) {
405
407
  var errs_1 = errors;
406
- if (typeof data.width !== "number") {
408
+ if ((typeof data.width !== "number")) {
407
409
  var err = {
408
410
  keyword: 'type',
409
411
  dataPath: (dataPath || '') + '.width',
@@ -439,7 +441,7 @@ var validate = (function() {
439
441
  }
440
442
  if (data.truncate !== undefined) {
441
443
  var errs_1 = errors;
442
- if (typeof data.truncate !== "number") {
444
+ if ((typeof data.truncate !== "number")) {
443
445
  var err = {
444
446
  keyword: 'type',
445
447
  dataPath: (dataPath || '') + '.truncate',
@@ -457,7 +459,7 @@ var validate = (function() {
457
459
  }
458
460
  if (data.paddingLeft !== undefined) {
459
461
  var errs_1 = errors;
460
- if (typeof data.paddingLeft !== "number") {
462
+ if ((typeof data.paddingLeft !== "number")) {
461
463
  var err = {
462
464
  keyword: 'type',
463
465
  dataPath: (dataPath || '') + '.paddingLeft',
@@ -475,7 +477,7 @@ var validate = (function() {
475
477
  }
476
478
  if (data.paddingRight !== undefined) {
477
479
  var errs_1 = errors;
478
- if (typeof data.paddingRight !== "number") {
480
+ if ((typeof data.paddingRight !== "number")) {
479
481
  var err = {
480
482
  keyword: 'type',
481
483
  dataPath: (dataPath || '') + '.paddingRight',
@@ -5,7 +5,7 @@ import validateStreamConfig from '../dist/validateStreamConfig';
5
5
 
6
6
  const validate = {
7
7
  'config.json': validateConfig,
8
- 'streamConfig.json': validateStreamConfig
8
+ 'streamConfig.json': validateStreamConfig,
9
9
  };
10
10
 
11
11
  /**
@@ -20,7 +20,7 @@ export default (schemaId, config = {}) => {
20
20
  dataPath: error.dataPath,
21
21
  message: error.message,
22
22
  params: error.params,
23
- schemaPath: error.schemaPath
23
+ schemaPath: error.schemaPath,
24
24
  };
25
25
  });
26
26
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/validateConfig.js"],"names":["validate","validateConfig","validateStreamConfig","schemaId","config","errors","map","error","dataPath","message","params","schemaPath","console","log","Error"],"mappings":";;;;;;;AACA;;AAEA;;;;AAHA;AAEA;AAGA,MAAMA,QAAQ,GAAG;AACf,iBAAeC,uBADA;AAEf,uBAAqBC;AAFN,CAAjB;AAKA;;;;;;yBAKgBC,Q,EAAUC,MAAM,GAAG,E,KAAO;AACxC,MAAI,CAACJ,QAAQ,CAACG,QAAD,CAAR,CAAmBC,MAAnB,CAAL,EAAiC;AAC/B,UAAMC,MAAM,GAAGL,QAAQ,CAACG,QAAD,CAAR,CAAmBE,MAAnB,CAA0BC,GAA1B,CAA+BC,KAAD,IAAW;AACtD,aAAO;AACLC,QAAAA,QAAQ,EAAED,KAAK,CAACC,QADX;AAELC,QAAAA,OAAO,EAAEF,KAAK,CAACE,OAFV;AAGLC,QAAAA,MAAM,EAAEH,KAAK,CAACG,MAHT;AAILC,QAAAA,UAAU,EAAEJ,KAAK,CAACI;AAJb,OAAP;AAMD,KAPc,CAAf;AASA;;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,QAAZ,EAAsBT,MAAtB;AACAQ,IAAAA,OAAO,CAACC,GAAR,CAAY,QAAZ,EAAsBR,MAAtB;AACA;;AAEA,UAAM,IAAIS,KAAJ,CAAU,iBAAV,CAAN;AACD;AACF,C","sourcesContent":["// eslint-disable-next-line import/default\nimport validateConfig from '../dist/validateConfig';\n// eslint-disable-next-line import/default\nimport validateStreamConfig from '../dist/validateStreamConfig';\n\nconst validate = {\n 'config.json': validateConfig,\n 'streamConfig.json': validateStreamConfig\n};\n\n/**\n * @param {string} schemaId\n * @param {formatData~config} config\n * @returns {undefined}\n */\nexport default (schemaId, config = {}) => {\n if (!validate[schemaId](config)) {\n const errors = validate[schemaId].errors.map((error) => {\n return {\n dataPath: error.dataPath,\n message: error.message,\n params: error.params,\n schemaPath: error.schemaPath\n };\n });\n\n /* eslint-disable no-console */\n console.log('config', config);\n console.log('errors', errors);\n /* eslint-enable no-console */\n\n throw new Error('Invalid config.');\n }\n};\n"],"file":"validateConfig.js"}
1
+ {"version":3,"sources":["../src/validateConfig.js"],"names":["validate","validateConfig","validateStreamConfig","schemaId","config","errors","map","error","dataPath","message","params","schemaPath","console","log","Error"],"mappings":";;;;;;;AACA;;AAEA;;;;AAHA;AAEA;AAGA,MAAMA,QAAQ,GAAG;AACf,iBAAeC,uBADA;AAEf,uBAAqBC;AAFN,CAAjB;AAKA;;;;;;yBAKgBC,Q,EAAUC,MAAM,GAAG,E,KAAO;AACxC,MAAI,CAACJ,QAAQ,CAACG,QAAD,CAAR,CAAmBC,MAAnB,CAAL,EAAiC;AAC/B,UAAMC,MAAM,GAAGL,QAAQ,CAACG,QAAD,CAAR,CAAmBE,MAAnB,CAA0BC,GAA1B,CAA+BC,KAAD,IAAW;AACtD,aAAO;AACLC,QAAAA,QAAQ,EAAED,KAAK,CAACC,QADX;AAELC,QAAAA,OAAO,EAAEF,KAAK,CAACE,OAFV;AAGLC,QAAAA,MAAM,EAAEH,KAAK,CAACG,MAHT;AAILC,QAAAA,UAAU,EAAEJ,KAAK,CAACI;AAJb,OAAP;AAMD,KAPc,CAAf;AASA;;AACAC,IAAAA,OAAO,CAACC,GAAR,CAAY,QAAZ,EAAsBT,MAAtB;AACAQ,IAAAA,OAAO,CAACC,GAAR,CAAY,QAAZ,EAAsBR,MAAtB;AACA;;AAEA,UAAM,IAAIS,KAAJ,CAAU,iBAAV,CAAN;AACD;AACF,C","sourcesContent":["// eslint-disable-next-line import/default\nimport validateConfig from '../dist/validateConfig';\n// eslint-disable-next-line import/default\nimport validateStreamConfig from '../dist/validateStreamConfig';\n\nconst validate = {\n 'config.json': validateConfig,\n 'streamConfig.json': validateStreamConfig,\n};\n\n/**\n * @param {string} schemaId\n * @param {formatData~config} config\n * @returns {undefined}\n */\nexport default (schemaId, config = {}) => {\n if (!validate[schemaId](config)) {\n const errors = validate[schemaId].errors.map((error) => {\n return {\n dataPath: error.dataPath,\n message: error.message,\n params: error.params,\n schemaPath: error.schemaPath,\n };\n });\n\n /* eslint-disable no-console */\n console.log('config', config);\n console.log('errors', errors);\n /* eslint-enable no-console */\n\n throw new Error('Invalid config.');\n }\n};\n"],"file":"validateConfig.js"}
@@ -243,6 +243,7 @@ var validate = (function() {
243
243
  'use strict';
244
244
  var vErrors = null;
245
245
  var errors = 0;
246
+ if (rootData === undefined) rootData = data;
246
247
  if (typeof data !== "string") {
247
248
  var err = {
248
249
  keyword: 'type',
@@ -340,6 +341,7 @@ var validate = (function() {
340
341
  'use strict';
341
342
  var vErrors = null;
342
343
  var errors = 0;
344
+ if (rootData === undefined) rootData = data;
343
345
  if ((data && typeof data === "object" && !Array.isArray(data))) {
344
346
  var errs__0 = errors;
345
347
  var valid1 = true;
@@ -403,7 +405,7 @@ var validate = (function() {
403
405
  }
404
406
  if (data.width !== undefined) {
405
407
  var errs_1 = errors;
406
- if (typeof data.width !== "number") {
408
+ if ((typeof data.width !== "number")) {
407
409
  var err = {
408
410
  keyword: 'type',
409
411
  dataPath: (dataPath || '') + '.width',
@@ -439,7 +441,7 @@ var validate = (function() {
439
441
  }
440
442
  if (data.truncate !== undefined) {
441
443
  var errs_1 = errors;
442
- if (typeof data.truncate !== "number") {
444
+ if ((typeof data.truncate !== "number")) {
443
445
  var err = {
444
446
  keyword: 'type',
445
447
  dataPath: (dataPath || '') + '.truncate',
@@ -457,7 +459,7 @@ var validate = (function() {
457
459
  }
458
460
  if (data.paddingLeft !== undefined) {
459
461
  var errs_1 = errors;
460
- if (typeof data.paddingLeft !== "number") {
462
+ if ((typeof data.paddingLeft !== "number")) {
461
463
  var err = {
462
464
  keyword: 'type',
463
465
  dataPath: (dataPath || '') + '.paddingLeft',
@@ -475,7 +477,7 @@ var validate = (function() {
475
477
  }
476
478
  if (data.paddingRight !== undefined) {
477
479
  var errs_1 = errors;
478
- if (typeof data.paddingRight !== "number") {
480
+ if ((typeof data.paddingRight !== "number")) {
479
481
  var err = {
480
482
  keyword: 'type',
481
483
  dataPath: (dataPath || '') + '.paddingRight',
@@ -591,7 +593,7 @@ var validate = (function() {
591
593
  }
592
594
  if (data.columnCount !== undefined) {
593
595
  var errs_1 = errors;
594
- if (typeof data.columnCount !== "number") {
596
+ if ((typeof data.columnCount !== "number")) {
595
597
  var err = {
596
598
  keyword: 'type',
597
599
  dataPath: (dataPath || '') + '.columnCount',