@speleotica/frcsdata 4.0.0 → 4.0.1

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 (42) hide show
  1. package/FrcsPlotFile.js +5 -1
  2. package/FrcsPlotShot.js +5 -1
  3. package/FrcsShot.js +4 -5
  4. package/FrcsSurveyFile.js +5 -1
  5. package/FrcsTrip.js +5 -1
  6. package/FrcsTripSummary.js +5 -1
  7. package/FrcsTripSummaryFile.js +5 -1
  8. package/es/FrcsPlotFile.js +5 -1
  9. package/es/FrcsPlotShot.js +5 -1
  10. package/es/FrcsShot.js +5 -6
  11. package/es/FrcsSurveyFile.js +5 -1
  12. package/es/FrcsTrip.js +5 -1
  13. package/es/FrcsTripSummary.js +5 -1
  14. package/es/FrcsTripSummaryFile.js +5 -1
  15. package/es/formatFrcsShot.js +5 -19
  16. package/es/formatFrcsShot.spec.js +8 -17
  17. package/es/index.js +21 -33
  18. package/es/node/index.js +2 -10
  19. package/es/node/parseFrcsPlotFile.spec.js +1 -5
  20. package/es/node/parseFrcsSurveyFile.spec.js +2 -6
  21. package/es/node/parseFrcsTripSummaryFile.spec.js +1 -5
  22. package/es/parseFrcsPlotFile.js +1 -26
  23. package/es/parseFrcsSurveyFile.js +45 -95
  24. package/es/parseFrcsTripSummaryFile.js +1 -12
  25. package/es/string/index.js +2 -9
  26. package/es/string/parseFrcsPlotFile.spec.js +1 -5
  27. package/es/string/parseFrcsSurveyFile.spec.js +8 -14
  28. package/formatFrcsShot.js +5 -19
  29. package/formatFrcsShot.spec.js +4 -15
  30. package/index.js +20 -32
  31. package/node/index.js +1 -9
  32. package/node/parseFrcsPlotFile.spec.js +165 -180
  33. package/node/parseFrcsSurveyFile.spec.js +306 -321
  34. package/node/parseFrcsTripSummaryFile.spec.js +83 -106
  35. package/package.json +15 -15
  36. package/parseFrcsPlotFile.js +224 -318
  37. package/parseFrcsSurveyFile.js +411 -452
  38. package/parseFrcsTripSummaryFile.js +102 -142
  39. package/string/index.js +10 -27
  40. package/string/parseFrcsPlotFile.spec.js +165 -180
  41. package/string/parseFrcsSurveyFile.spec.js +598 -689
  42. package/yarn.lock +1285 -702
package/formatFrcsShot.js CHANGED
@@ -4,28 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = formatFrcsShot;
7
-
8
7
  var _FrcsShot = require("./FrcsShot");
9
-
10
8
  var _unitized = require("@speleotica/unitized");
11
-
12
9
  var STATION_WIDTH = 5;
13
10
  var EMPTY_STATION = ' '.repeat(STATION_WIDTH);
14
-
15
11
  function formatStation(station) {
16
12
  if (station.length > STATION_WIDTH) {
17
13
  throw new Error("station is too long: ".concat(station));
18
14
  }
19
-
20
15
  return station.padStart(STATION_WIDTH, ' ');
21
16
  }
22
-
23
17
  function trimZeroes(str) {
24
18
  var match = /(-?\d+)(\.[1-9]*)0+$/.exec(str);
25
19
  if (!match) return str;
26
20
  return match[2].length > 1 ? match[1] + match[2] : match[1];
27
21
  }
28
-
29
22
  var formatNumber = function formatNumber(width) {
30
23
  return function (num) {
31
24
  if (num == null || !Number.isFinite(num)) return ' '.repeat(width);
@@ -35,7 +28,6 @@ var formatNumber = function formatNumber(width) {
35
28
  return trimZeroes(num.toFixed(2 - formatted.length + width)).padStart(width, ' ');
36
29
  };
37
30
  };
38
-
39
31
  var LRUD_WIDTH = 3;
40
32
  var formatLrud = formatNumber(LRUD_WIDTH);
41
33
  var DISTANCE_WIDTH = 6;
@@ -50,37 +42,31 @@ var formatInclination = formatNumber(INCLINATION_WIDTH);
50
42
  var formatVerticalDistance = formatNumber(INCLINATION_WIDTH);
51
43
  var FEET_WIDTH = 4;
52
44
  var EMPTY_FEET = ' '.repeat(FEET_WIDTH);
53
-
54
45
  function formatFeet(distance) {
55
46
  if (!distance) return EMPTY_FEET;
56
47
  return formatNumber(FEET_WIDTH)(Math.trunc(distance.get(_unitized.Length.feet)));
57
48
  }
58
-
59
49
  var INCHES_WIDTH = 3;
60
50
  var EMPTY_INCHES = ' '.repeat(INCHES_WIDTH);
61
-
62
51
  function formatInches(distance) {
63
52
  if (!distance) return EMPTY_INCHES;
64
53
  return formatNumber(INCHES_WIDTH)(Math.round(distance.get(_unitized.Length.inches) % 12));
65
54
  }
66
-
67
55
  function formatFrcsShot(shot, header) {
68
56
  var _shot$frontsightAzimu, _shot$backsightAzimut, _shot$frontsightIncli, _shot$verticalDistanc, _shot$backsightInclin, _shot$toLruds, _shot$toLruds$left, _shot$toLruds2, _shot$toLruds2$right, _shot$toLruds3, _shot$toLruds3$up, _shot$toLruds4, _shot$toLruds4$down;
69
-
70
57
  var azimuthUnit = header.azimuthUnit,
71
- inclinationUnit = header.inclinationUnit;
58
+ inclinationUnit = header.inclinationUnit;
72
59
  var distanceUnit = header.distanceUnit;
73
60
  var inches = distanceUnit === _unitized.Length.inches;
74
61
  if (inches) distanceUnit = _unitized.Length.feet;
75
-
76
62
  if (!shot.to) {
77
63
  var _shot$fromLruds, _shot$fromLruds$left, _shot$fromLruds2, _shot$fromLruds2$righ, _shot$fromLruds3, _shot$fromLruds3$up, _shot$fromLruds4, _shot$fromLruds4$down;
78
-
79
- return [formatStation(shot.from), EMPTY_STATION, EMPTY_DISTANCE, ' ', // kind
80
- ' ', // exclude
64
+ return [formatStation(shot.from), EMPTY_STATION, EMPTY_DISTANCE, ' ',
65
+ // kind
66
+ ' ',
67
+ // exclude
81
68
  EMPTY_AZIMUTH, EMPTY_AZIMUTH, EMPTY_INCLINATION, EMPTY_INCLINATION, formatLrud((_shot$fromLruds = shot.fromLruds) === null || _shot$fromLruds === void 0 ? void 0 : (_shot$fromLruds$left = _shot$fromLruds.left) === null || _shot$fromLruds$left === void 0 ? void 0 : _shot$fromLruds$left.get(distanceUnit)), formatLrud((_shot$fromLruds2 = shot.fromLruds) === null || _shot$fromLruds2 === void 0 ? void 0 : (_shot$fromLruds2$righ = _shot$fromLruds2.right) === null || _shot$fromLruds2$righ === void 0 ? void 0 : _shot$fromLruds2$righ.get(distanceUnit)), formatLrud((_shot$fromLruds3 = shot.fromLruds) === null || _shot$fromLruds3 === void 0 ? void 0 : (_shot$fromLruds3$up = _shot$fromLruds3.up) === null || _shot$fromLruds3$up === void 0 ? void 0 : _shot$fromLruds3$up.get(distanceUnit)), formatLrud((_shot$fromLruds4 = shot.fromLruds) === null || _shot$fromLruds4 === void 0 ? void 0 : (_shot$fromLruds4$down = _shot$fromLruds4.down) === null || _shot$fromLruds4$down === void 0 ? void 0 : _shot$fromLruds4$down.get(distanceUnit))].join('');
82
69
  }
83
-
84
70
  var distColumnValue = shot.kind === _FrcsShot.FrcsShotKind.Horizontal ? shot.horizontalDistance : shot.distance;
85
71
  return [formatStation(shot.to), formatStation(shot.from), inches ? formatFeet(distColumnValue) : formatDistance(distColumnValue === null || distColumnValue === void 0 ? void 0 : distColumnValue.get(distanceUnit)), inches ? formatInches(distColumnValue) : shot.kind, inches ? shot.kind : shot.excludeDistance ? '*' : ' ', formatAzimuth((_shot$frontsightAzimu = shot.frontsightAzimuth) === null || _shot$frontsightAzimu === void 0 ? void 0 : _shot$frontsightAzimu.get(azimuthUnit)), formatAzimuth((_shot$backsightAzimut = shot.backsightAzimuth) === null || _shot$backsightAzimut === void 0 ? void 0 : _shot$backsightAzimut.get(azimuthUnit)), shot.kind === _FrcsShot.FrcsShotKind.Normal ? formatInclination((_shot$frontsightIncli = shot.frontsightInclination) === null || _shot$frontsightIncli === void 0 ? void 0 : _shot$frontsightIncli.get(inclinationUnit)) : formatVerticalDistance((_shot$verticalDistanc = shot.verticalDistance) === null || _shot$verticalDistanc === void 0 ? void 0 : _shot$verticalDistanc.get(distanceUnit)), shot.kind === _FrcsShot.FrcsShotKind.Normal ? formatInclination((_shot$backsightInclin = shot.backsightInclination) === null || _shot$backsightInclin === void 0 ? void 0 : _shot$backsightInclin.get(inclinationUnit)) : EMPTY_INCLINATION, formatLrud((_shot$toLruds = shot.toLruds) === null || _shot$toLruds === void 0 ? void 0 : (_shot$toLruds$left = _shot$toLruds.left) === null || _shot$toLruds$left === void 0 ? void 0 : _shot$toLruds$left.get(distanceUnit)), formatLrud((_shot$toLruds2 = shot.toLruds) === null || _shot$toLruds2 === void 0 ? void 0 : (_shot$toLruds2$right = _shot$toLruds2.right) === null || _shot$toLruds2$right === void 0 ? void 0 : _shot$toLruds2$right.get(distanceUnit)), formatLrud((_shot$toLruds3 = shot.toLruds) === null || _shot$toLruds3 === void 0 ? void 0 : (_shot$toLruds3$up = _shot$toLruds3.up) === null || _shot$toLruds3$up === void 0 ? void 0 : _shot$toLruds3$up.get(distanceUnit)), formatLrud((_shot$toLruds4 = shot.toLruds) === null || _shot$toLruds4 === void 0 ? void 0 : (_shot$toLruds4$down = _shot$toLruds4.down) === null || _shot$toLruds4$down === void 0 ? void 0 : _shot$toLruds4$down.get(distanceUnit))].join('');
86
72
  }
@@ -1,23 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
5
  var _mocha = require("mocha");
8
-
9
6
  var _chai = require("chai");
10
-
11
7
  var _formatFrcsShot = _interopRequireDefault(require("./formatFrcsShot"));
12
-
13
8
  var _unitized = require("@speleotica/unitized");
14
-
15
9
  var _FrcsShot = require("./FrcsShot");
16
-
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
18
-
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
-
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
12
  (0, _mocha.describe)("formatFrcsShot", function () {
22
13
  var defaultHeader = {
23
14
  name: 'Foo',
@@ -27,14 +18,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
18
  backsightAzimuthCorrected: true,
28
19
  backsightInclinationCorrected: true
29
20
  };
30
-
31
21
  function testCase(desc, shot, expected) {
32
22
  var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultHeader;
33
23
  (0, _mocha.it)(desc, function () {
34
24
  (0, _chai.expect)((0, _formatFrcsShot["default"])(shot, header)).to.equal(expected);
35
25
  });
36
26
  }
37
-
38
27
  testCase('normal shot', {
39
28
  kind: _FrcsShot.FrcsShotKind.Normal,
40
29
  to: 'PDF28',
@@ -116,7 +105,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
116
105
  up: _unitized.Unitize.feet(5),
117
106
  down: _unitized.Unitize.feet(4)
118
107
  }
119
- }, ' A27 A26 16 10H 345 163 -1 0 3 5 4', _objectSpread({}, defaultHeader, {
108
+ }, ' A27 A26 16 10H 345 163 -1 0 3 5 4', _objectSpread(_objectSpread({}, defaultHeader), {}, {
120
109
  distanceUnit: _unitized.Length.inches
121
110
  }));
122
111
  testCase('diagonal feet and inches shot', {
@@ -133,7 +122,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
133
122
  up: _unitized.Unitize.feet(5),
134
123
  down: _unitized.Unitize.feet(4)
135
124
  }
136
- }, ' A27 A26 16 10D 345 163 -1 0 3 5 4', _objectSpread({}, defaultHeader, {
125
+ }, ' A27 A26 16 10D 345 163 -1 0 3 5 4', _objectSpread(_objectSpread({}, defaultHeader), {}, {
137
126
  distanceUnit: _unitized.Length.inches
138
127
  }));
139
128
  testCase('lrud-only shot', {
package/index.js CHANGED
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- Object.defineProperty(exports, "FrcsTrip", {
7
+ Object.defineProperty(exports, "FrcsPlotFile", {
9
8
  enumerable: true,
10
9
  get: function get() {
11
- return _FrcsTrip.FrcsTrip;
10
+ return _FrcsPlotFile.FrcsPlotFile;
12
11
  }
13
12
  });
14
- Object.defineProperty(exports, "FrcsTripHeader", {
13
+ Object.defineProperty(exports, "FrcsPlotShot", {
15
14
  enumerable: true,
16
15
  get: function get() {
17
- return _FrcsTrip.FrcsTripHeader;
16
+ return _FrcsPlotShot.FrcsPlotShot;
18
17
  }
19
18
  });
20
19
  Object.defineProperty(exports, "FrcsShot", {
@@ -35,73 +34,62 @@ Object.defineProperty(exports, "FrcsSurveyFile", {
35
34
  return _FrcsSurveyFile.FrcsSurveyFile;
36
35
  }
37
36
  });
38
- Object.defineProperty(exports, "parseFrcsSurveyFile", {
37
+ Object.defineProperty(exports, "FrcsTrip", {
39
38
  enumerable: true,
40
39
  get: function get() {
41
- return _parseFrcsSurveyFile["default"];
40
+ return _FrcsTrip.FrcsTrip;
42
41
  }
43
42
  });
44
- Object.defineProperty(exports, "FrcsPlotShot", {
43
+ Object.defineProperty(exports, "FrcsTripHeader", {
45
44
  enumerable: true,
46
45
  get: function get() {
47
- return _FrcsPlotShot.FrcsPlotShot;
46
+ return _FrcsTrip.FrcsTripHeader;
48
47
  }
49
48
  });
50
- Object.defineProperty(exports, "FrcsPlotFile", {
49
+ Object.defineProperty(exports, "FrcsTripSummary", {
51
50
  enumerable: true,
52
51
  get: function get() {
53
- return _FrcsPlotFile.FrcsPlotFile;
52
+ return _FrcsTripSummary.FrcsTripSummary;
54
53
  }
55
54
  });
56
- Object.defineProperty(exports, "parseFrcsPlotFile", {
55
+ Object.defineProperty(exports, "FrcsTripSummaryFile", {
57
56
  enumerable: true,
58
57
  get: function get() {
59
- return _parseFrcsPlotFile["default"];
58
+ return _FrcsTripSummaryFile.FrcsTripSummaryFile;
60
59
  }
61
60
  });
62
- Object.defineProperty(exports, "FrcsTripSummary", {
61
+ Object.defineProperty(exports, "formatFrcsShot", {
63
62
  enumerable: true,
64
63
  get: function get() {
65
- return _FrcsTripSummary.FrcsTripSummary;
64
+ return _formatFrcsShot["default"];
66
65
  }
67
66
  });
68
- Object.defineProperty(exports, "FrcsTripSummaryFile", {
67
+ Object.defineProperty(exports, "parseFrcsPlotFile", {
69
68
  enumerable: true,
70
69
  get: function get() {
71
- return _FrcsTripSummaryFile.FrcsTripSummaryFile;
70
+ return _parseFrcsPlotFile["default"];
72
71
  }
73
72
  });
74
- Object.defineProperty(exports, "parseFrcsTripSummaryFile", {
73
+ Object.defineProperty(exports, "parseFrcsSurveyFile", {
75
74
  enumerable: true,
76
75
  get: function get() {
77
- return _parseFrcsTripSummaryFile["default"];
76
+ return _parseFrcsSurveyFile["default"];
78
77
  }
79
78
  });
80
- Object.defineProperty(exports, "formatFrcsShot", {
79
+ Object.defineProperty(exports, "parseFrcsTripSummaryFile", {
81
80
  enumerable: true,
82
81
  get: function get() {
83
- return _formatFrcsShot["default"];
82
+ return _parseFrcsTripSummaryFile["default"];
84
83
  }
85
84
  });
86
-
87
85
  var _FrcsTrip = require("./FrcsTrip");
88
-
89
86
  var _FrcsShot = require("./FrcsShot");
90
-
91
87
  var _FrcsSurveyFile = require("./FrcsSurveyFile");
92
-
93
88
  var _parseFrcsSurveyFile = _interopRequireDefault(require("./parseFrcsSurveyFile"));
94
-
95
89
  var _FrcsPlotShot = require("./FrcsPlotShot");
96
-
97
90
  var _FrcsPlotFile = require("./FrcsPlotFile");
98
-
99
91
  var _parseFrcsPlotFile = _interopRequireDefault(require("./parseFrcsPlotFile"));
100
-
101
92
  var _FrcsTripSummary = require("./FrcsTripSummary");
102
-
103
93
  var _FrcsTripSummaryFile = require("./FrcsTripSummaryFile");
104
-
105
94
  var _parseFrcsTripSummaryFile = _interopRequireDefault(require("./parseFrcsTripSummaryFile"));
106
-
107
95
  var _formatFrcsShot = _interopRequireDefault(require("./formatFrcsShot"));
package/node/index.js CHANGED
@@ -1,28 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.parseFrcsTripSummaryFile = exports.parseFrcsPlotFile = exports.parseFrcsSurveyFile = void 0;
9
-
7
+ exports.parseFrcsTripSummaryFile = exports.parseFrcsSurveyFile = exports.parseFrcsPlotFile = void 0;
10
8
  var _fs = _interopRequireDefault(require("fs"));
11
-
12
9
  var _readline = _interopRequireDefault(require("readline"));
13
-
14
10
  var _parseFrcsSurveyFile2 = _interopRequireDefault(require("../parseFrcsSurveyFile"));
15
-
16
11
  var _parseFrcsPlotFile2 = _interopRequireDefault(require("../parseFrcsPlotFile"));
17
-
18
12
  var _parseFrcsTripSummaryFile2 = _interopRequireDefault(require("../parseFrcsTripSummaryFile"));
19
-
20
13
  var convert = function convert(fn) {
21
14
  return function (file) {
22
15
  return fn(file, _readline["default"].createInterface(_fs["default"].createReadStream(file)));
23
16
  };
24
17
  };
25
-
26
18
  var parseFrcsSurveyFile = convert(_parseFrcsSurveyFile2["default"]);
27
19
  exports.parseFrcsSurveyFile = parseFrcsSurveyFile;
28
20
  var parseFrcsPlotFile = convert(_parseFrcsPlotFile2["default"]);