table 6.0.2 → 6.0.6

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 (50) hide show
  1. package/README.md +3 -2
  2. package/dist/alignString.js +7 -3
  3. package/dist/alignString.js.flow +4 -3
  4. package/dist/alignString.js.map +1 -1
  5. package/dist/alignTableData.js.map +1 -1
  6. package/dist/calculateCellHeight.js +3 -1
  7. package/dist/calculateCellHeight.js.flow +2 -1
  8. package/dist/calculateCellHeight.js.map +1 -1
  9. package/dist/calculateCellWidthIndex.js.map +1 -1
  10. package/dist/calculateMaximumColumnWidthIndex.js.map +1 -1
  11. package/dist/calculateRowHeightIndex.js +9 -3
  12. package/dist/calculateRowHeightIndex.js.flow +4 -3
  13. package/dist/calculateRowHeightIndex.js.map +1 -1
  14. package/dist/createStream.js +4 -2
  15. package/dist/createStream.js.flow +3 -2
  16. package/dist/createStream.js.map +1 -1
  17. package/dist/drawBorder.js.map +1 -1
  18. package/dist/drawRow.js.map +1 -1
  19. package/dist/drawTable.js.map +1 -1
  20. package/dist/getBorderCharacters.js.map +1 -1
  21. package/dist/index.js +3 -3
  22. package/dist/makeConfig.js +11 -15
  23. package/dist/makeConfig.js.flow +6 -5
  24. package/dist/makeConfig.js.map +1 -1
  25. package/dist/makeStreamConfig.js +11 -15
  26. package/dist/makeStreamConfig.js.flow +6 -7
  27. package/dist/makeStreamConfig.js.map +1 -1
  28. package/dist/mapDataUsingRowHeightIndex.js +7 -6
  29. package/dist/mapDataUsingRowHeightIndex.js.flow +3 -3
  30. package/dist/mapDataUsingRowHeightIndex.js.map +1 -1
  31. package/dist/padTableData.js.map +1 -1
  32. package/dist/schemas/config.json +4 -98
  33. package/dist/schemas/shared.json +98 -0
  34. package/dist/schemas/streamConfig.json +4 -98
  35. package/dist/stringifyTableData.js.map +1 -1
  36. package/dist/table.js.map +1 -1
  37. package/dist/truncateTableData.js +7 -6
  38. package/dist/truncateTableData.js.flow +4 -4
  39. package/dist/truncateTableData.js.map +1 -1
  40. package/dist/validateConfig.js +40 -751
  41. package/dist/validateConfig.js.flow +4 -10
  42. package/dist/validateConfig.js.map +1 -1
  43. package/dist/validateTableData.js +11 -39
  44. package/dist/validateTableData.js.map +1 -1
  45. package/dist/validators.js +1472 -0
  46. package/dist/wrapCell.js.map +1 -1
  47. package/dist/wrapString.js.map +1 -1
  48. package/dist/wrapWord.js.map +1 -1
  49. package/package.json +22 -19
  50. package/dist/validateStreamConfig.js +0 -741
@@ -1,12 +1,5 @@
1
1
  // eslint-disable-next-line import/default
2
- import validateConfig from '../dist/validateConfig';
3
- // eslint-disable-next-line import/default
4
- import validateStreamConfig from '../dist/validateStreamConfig';
5
-
6
- const validate = {
7
- 'config.json': validateConfig,
8
- 'streamConfig.json': validateStreamConfig,
9
- };
2
+ import validators from '../dist/validators';
10
3
 
11
4
  /**
12
5
  * @param {string} schemaId
@@ -14,8 +7,9 @@ const validate = {
14
7
  * @returns {undefined}
15
8
  */
16
9
  export default (schemaId, config = {}) => {
17
- if (!validate[schemaId](config)) {
18
- const errors = validate[schemaId].errors.map((error) => {
10
+ const validate = validators[schemaId];
11
+ if (!validate(config)) {
12
+ const errors = validate.errors.map((error) => {
19
13
  return {
20
14
  dataPath: error.dataPath,
21
15
  message: error.message,
@@ -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":["schemaId","config","validate","validators","errors","map","error","dataPath","message","params","schemaPath","console","log","Error"],"mappings":";;;;;;;AACA;;;;AADA;;AAGA;AACA;AACA;AACA;AACA;wBACgBA,Q,EAAUC,MAAM,GAAG,E,KAAO;AACxC,QAAMC,QAAQ,GAAGC,oBAAWH,QAAX,CAAjB;;AACA,MAAI,CAACE,QAAQ,CAACD,MAAD,CAAb,EAAuB;AACrB,UAAMG,MAAM,GAAGF,QAAQ,CAACE,MAAT,CAAgBC,GAAhB,CAAqBC,KAAD,IAAW;AAC5C,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,EAAsBX,MAAtB;AACAU,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 validators from '../dist/validators';\n\n/**\n * @param {string} schemaId\n * @param {formatData~config} config\n * @returns {undefined}\n */\nexport default (schemaId, config = {}) => {\n const validate = validators[schemaId];\n if (!validate(config)) {\n const errors = validate.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"}
@@ -5,12 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
9
-
10
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
-
12
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
-
14
8
  /**
15
9
  * @typedef {string} cell
16
10
  */
@@ -38,43 +32,21 @@ const validateTableData = rows => {
38
32
 
39
33
  const columnNumber = rows[0].length;
40
34
 
41
- var _iterator = _createForOfIteratorHelper(rows),
42
- _step;
43
-
44
- try {
45
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
46
- const cells = _step.value;
47
-
48
- if (!Array.isArray(cells)) {
49
- throw new TypeError('Table row data must be an array.');
50
- }
51
-
52
- if (cells.length !== columnNumber) {
53
- throw new Error('Table must have a consistent number of cells.');
54
- }
55
-
56
- var _iterator2 = _createForOfIteratorHelper(cells),
57
- _step2;
35
+ for (const cells of rows) {
36
+ if (!Array.isArray(cells)) {
37
+ throw new TypeError('Table row data must be an array.');
38
+ }
58
39
 
59
- try {
60
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
61
- const cell = _step2.value;
40
+ if (cells.length !== columnNumber) {
41
+ throw new Error('Table must have a consistent number of cells.');
42
+ }
62
43
 
63
- // eslint-disable-next-line no-control-regex
64
- if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test(cell)) {
65
- throw new Error('Table data must not contain control characters.');
66
- }
67
- }
68
- } catch (err) {
69
- _iterator2.e(err);
70
- } finally {
71
- _iterator2.f();
44
+ for (const cell of cells) {
45
+ // eslint-disable-next-line no-control-regex
46
+ if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test(cell)) {
47
+ throw new Error('Table data must not contain control characters.');
72
48
  }
73
49
  }
74
- } catch (err) {
75
- _iterator.e(err);
76
- } finally {
77
- _iterator.f();
78
50
  }
79
51
  };
80
52
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/validateTableData.js"],"names":["rows","Array","isArray","TypeError","length","Error","columnNumber","cells","cell","test"],"mappings":";;;;;;;;;;;;;AAAA;;;;AAIA;;;;AAIA;;;;0BAIgBA,I,IAAS;AACvB,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B;AACxB,UAAM,IAAIG,SAAJ,CAAc,8BAAd,CAAN;AACD;;AAED,MAAIH,IAAI,CAACI,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAM,IAAIC,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,MAAIL,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIC,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAED,QAAMC,YAAY,GAAGN,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAA7B;;AAbuB,6CAeHJ,IAfG;AAAA;;AAAA;AAevB,wDAA0B;AAAA,YAAfO,KAAe;;AACxB,UAAI,CAACN,KAAK,CAACC,OAAN,CAAcK,KAAd,CAAL,EAA2B;AACzB,cAAM,IAAIJ,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,UAAII,KAAK,CAACH,MAAN,KAAiBE,YAArB,EAAmC;AACjC,cAAM,IAAID,KAAJ,CAAU,+CAAV,CAAN;AACD;;AAPuB,kDASLE,KATK;AAAA;;AAAA;AASxB,+DAA0B;AAAA,gBAAfC,IAAe;;AACxB;AACA,cAAI,2CAA2CC,IAA3C,CAAgDD,IAAhD,CAAJ,EAA2D;AACzD,kBAAM,IAAIH,KAAJ,CAAU,iDAAV,CAAN;AACD;AACF;AAduB;AAAA;AAAA;AAAA;AAAA;AAezB;AA9BsB;AAAA;AAAA;AAAA;AAAA;AA+BxB,C","sourcesContent":["/**\n * @typedef {string} cell\n */\n\n/**\n * @typedef {cell[]} validateData~column\n */\n\n/**\n * @param {column[]} rows\n * @returns {undefined}\n */\nexport default (rows) => {\n if (!Array.isArray(rows)) {\n throw new TypeError('Table data must be an array.');\n }\n\n if (rows.length === 0) {\n throw new Error('Table must define at least one row.');\n }\n\n if (rows[0].length === 0) {\n throw new Error('Table must define at least one column.');\n }\n\n const columnNumber = rows[0].length;\n\n for (const cells of rows) {\n if (!Array.isArray(cells)) {\n throw new TypeError('Table row data must be an array.');\n }\n\n if (cells.length !== columnNumber) {\n throw new Error('Table must have a consistent number of cells.');\n }\n\n for (const cell of cells) {\n // eslint-disable-next-line no-control-regex\n if (/[\\u0001-\\u0006\\u0008\\u0009\\u000B-\\u001A]/.test(cell)) {\n throw new Error('Table data must not contain control characters.');\n }\n }\n }\n};\n"],"file":"validateTableData.js"}
1
+ {"version":3,"sources":["../src/validateTableData.js"],"names":["rows","Array","isArray","TypeError","length","Error","columnNumber","cells","cell","test"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;0BACgBA,I,IAAS;AACvB,MAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B;AACxB,UAAM,IAAIG,SAAJ,CAAc,8BAAd,CAAN;AACD;;AAED,MAAIH,IAAI,CAACI,MAAL,KAAgB,CAApB,EAAuB;AACrB,UAAM,IAAIC,KAAJ,CAAU,qCAAV,CAAN;AACD;;AAED,MAAIL,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIC,KAAJ,CAAU,wCAAV,CAAN;AACD;;AAED,QAAMC,YAAY,GAAGN,IAAI,CAAC,CAAD,CAAJ,CAAQI,MAA7B;;AAEA,OAAK,MAAMG,KAAX,IAAoBP,IAApB,EAA0B;AACxB,QAAI,CAACC,KAAK,CAACC,OAAN,CAAcK,KAAd,CAAL,EAA2B;AACzB,YAAM,IAAIJ,SAAJ,CAAc,kCAAd,CAAN;AACD;;AAED,QAAII,KAAK,CAACH,MAAN,KAAiBE,YAArB,EAAmC;AACjC,YAAM,IAAID,KAAJ,CAAU,+CAAV,CAAN;AACD;;AAED,SAAK,MAAMG,IAAX,IAAmBD,KAAnB,EAA0B;AACxB;AACA,UAAI,2CAA2CE,IAA3C,CAAgDD,IAAhD,CAAJ,EAA2D;AACzD,cAAM,IAAIH,KAAJ,CAAU,iDAAV,CAAN;AACD;AACF;AACF;AACF,C","sourcesContent":["/**\n * @typedef {string} cell\n */\n\n/**\n * @typedef {cell[]} validateData~column\n */\n\n/**\n * @param {column[]} rows\n * @returns {undefined}\n */\nexport default (rows) => {\n if (!Array.isArray(rows)) {\n throw new TypeError('Table data must be an array.');\n }\n\n if (rows.length === 0) {\n throw new Error('Table must define at least one row.');\n }\n\n if (rows[0].length === 0) {\n throw new Error('Table must define at least one column.');\n }\n\n const columnNumber = rows[0].length;\n\n for (const cells of rows) {\n if (!Array.isArray(cells)) {\n throw new TypeError('Table row data must be an array.');\n }\n\n if (cells.length !== columnNumber) {\n throw new Error('Table must have a consistent number of cells.');\n }\n\n for (const cell of cells) {\n // eslint-disable-next-line no-control-regex\n if (/[\\u0001-\\u0006\\u0008\\u0009\\u000B-\\u001A]/.test(cell)) {\n throw new Error('Table data must not contain control characters.');\n }\n }\n }\n};\n"],"file":"validateTableData.js"}