@speleotica/frcsdata 4.2.0 → 4.3.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.
- package/FrcsPlotFile.d.ts +1 -0
- package/FrcsPlotFile.d.ts.map +1 -0
- package/FrcsPlotFile.js +2 -1
- package/FrcsPlotFile.js.map +1 -0
- package/FrcsPlotShot.d.ts +1 -0
- package/FrcsPlotShot.d.ts.map +1 -0
- package/FrcsPlotShot.js +2 -1
- package/FrcsPlotShot.js.map +1 -0
- package/FrcsShot.d.ts +1 -0
- package/FrcsShot.d.ts.map +1 -0
- package/FrcsShot.js +2 -1
- package/FrcsShot.js.map +1 -0
- package/FrcsSurveyFile.d.ts +20 -0
- package/FrcsSurveyFile.d.ts.map +1 -0
- package/FrcsSurveyFile.js +20 -1
- package/FrcsSurveyFile.js.map +1 -0
- package/FrcsTrip.d.ts +1 -0
- package/FrcsTrip.d.ts.map +1 -0
- package/FrcsTrip.js +2 -1
- package/FrcsTrip.js.map +1 -0
- package/FrcsTripSummary.d.ts +1 -0
- package/FrcsTripSummary.d.ts.map +1 -0
- package/FrcsTripSummary.js +2 -1
- package/FrcsTripSummary.js.map +1 -0
- package/FrcsTripSummaryFile.d.ts +1 -0
- package/FrcsTripSummaryFile.d.ts.map +1 -0
- package/FrcsTripSummaryFile.js +2 -1
- package/FrcsTripSummaryFile.js.map +1 -0
- package/formatFrcsShot.d.ts +8 -2
- package/formatFrcsShot.d.ts.map +1 -0
- package/formatFrcsShot.js +85 -62
- package/formatFrcsShot.js.map +1 -0
- package/formatFrcsSurveyFile.d.ts +3 -0
- package/formatFrcsSurveyFile.d.ts.map +1 -0
- package/formatFrcsSurveyFile.js +165 -0
- package/formatFrcsSurveyFile.js.map +1 -0
- package/index.d.ts +3 -1
- package/index.d.ts.map +1 -0
- package/index.js +9 -1
- package/index.js.map +1 -0
- package/node/index.d.ts +2 -1
- package/node/index.d.ts.map +1 -0
- package/node/index.js +6 -2
- package/node/index.js.map +1 -0
- package/package.json +6 -3
- package/parseFrcsPlotFile.d.ts +1 -0
- package/parseFrcsPlotFile.d.ts.map +1 -0
- package/parseFrcsPlotFile.js +2 -1
- package/parseFrcsPlotFile.js.map +1 -0
- package/parseFrcsSurveyFile.d.ts +50 -46
- package/parseFrcsSurveyFile.d.ts.map +1 -0
- package/parseFrcsSurveyFile.js +281 -172
- package/parseFrcsSurveyFile.js.map +1 -0
- package/parseFrcsTripSummaryFile.d.ts +1 -0
- package/parseFrcsTripSummaryFile.d.ts.map +1 -0
- package/parseFrcsTripSummaryFile.js +2 -1
- package/parseFrcsTripSummaryFile.js.map +1 -0
- package/src/FrcsPlotFile.ts +9 -0
- package/src/FrcsPlotShot.ts +18 -0
- package/src/FrcsShot.ts +56 -0
- package/src/FrcsSurveyFile.ts +47 -0
- package/src/FrcsTrip.ts +25 -0
- package/src/FrcsTripSummary.ts +14 -0
- package/src/FrcsTripSummaryFile.ts +7 -0
- package/src/formatFrcsShot.ts +168 -0
- package/src/formatFrcsSurveyFile.ts +97 -0
- package/src/index.ts +29 -0
- package/src/node/index.ts +20 -0
- package/src/parseFrcsPlotFile.ts +168 -0
- package/src/parseFrcsSurveyFile.ts +788 -0
- package/src/parseFrcsTripSummaryFile.ts +76 -0
- package/src/string/index.ts +21 -0
- package/src/web/index.ts +119 -0
- package/string/index.d.ts +2 -1
- package/string/index.d.ts.map +1 -0
- package/string/index.js +6 -2
- package/string/index.js.map +1 -0
- package/web/index.d.ts +5 -4
- package/web/index.d.ts.map +1 -0
- package/web/index.js +15 -6
- package/web/index.js.map +1 -0
package/FrcsPlotFile.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsPlotFile.d.ts","sourceRoot":"","sources":["src/FrcsPlotFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACnC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;CACzC,CAAA"}
|
package/FrcsPlotFile.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsPlotFile.js","names":[],"sources":["src/FrcsPlotFile.ts"],"sourcesContent":["import { UnitizedNumber, Length } from '@speleotica/unitized'\nimport { FrcsPlotShot } from './FrcsPlotShot'\nimport { SegmentParseError } from 'parse-segment'\n\nexport type FrcsPlotFile = {\n totalLength: UnitizedNumber<Length>\n shots: Array<FrcsPlotShot>\n errors?: Array<SegmentParseError> | null\n}\n"],"mappings":"","ignoreList":[]}
|
package/FrcsPlotShot.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsPlotShot.d.ts","sourceRoot":"","sources":["src/FrcsPlotShot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAChC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACjC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACnC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACpC,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACrC,EAAE,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAA"}
|
package/FrcsPlotShot.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsPlotShot.js","names":[],"sources":["src/FrcsPlotShot.ts"],"sourcesContent":["import { UnitizedNumber, Length } from '@speleotica/unitized'\n\nexport type FrcsPlotShot = {\n toName: string\n isSurface?: boolean | null\n fromNumber: number\n toNumber: number\n easting: UnitizedNumber<Length>\n northing: UnitizedNumber<Length>\n elevation: UnitizedNumber<Length>\n leftEasting: UnitizedNumber<Length>\n leftNorthing: UnitizedNumber<Length>\n rightEasting: UnitizedNumber<Length>\n rightNorthing: UnitizedNumber<Length>\n up: UnitizedNumber<Length>\n down: UnitizedNumber<Length>\n tripNumber?: number | null\n}\n"],"mappings":"","ignoreList":[]}
|
package/FrcsShot.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsShot.d.ts","sourceRoot":"","sources":["src/FrcsShot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,oBAAY,YAAY;IACtB,MAAM,MAAM;IACZ,UAAU,MAAM;IAChB,QAAQ,MAAM;CACf;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAChC,kBAAkB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAClD,gBAAgB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAChD,iBAAiB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAChD,qBAAqB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IACpD,gBAAgB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC/C,oBAAoB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IACnD;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACpC,KAAK,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACrC,EAAE,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAClC,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;KACrC,CAAA;IACD;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACpC,KAAK,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QACrC,EAAE,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAClC,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;KACrC,CAAA;IACD,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG;QAAE,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,CAAA;CAC5C,CAAA"}
|
package/FrcsShot.js
CHANGED
package/FrcsShot.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsShot.js","names":["FrcsShotKind","exports"],"sources":["src/FrcsShot.ts"],"sourcesContent":["import { UnitizedNumber, Length, Angle } from '@speleotica/unitized'\nimport { FrcsUnits } from './FrcsTrip'\n\nexport enum FrcsShotKind {\n Normal = ' ',\n Horizontal = 'H',\n Diagonal = 'D',\n}\n\nexport type FrcsShot = {\n /**\n * Name of from station\n */\n from: string\n /**\n * Name of to station\n */\n to?: string | null\n kind: FrcsShotKind\n distance: UnitizedNumber<Length>\n horizontalDistance?: UnitizedNumber<Length> | null\n verticalDistance?: UnitizedNumber<Length> | null\n frontsightAzimuth?: UnitizedNumber<Angle> | null\n frontsightInclination?: UnitizedNumber<Angle> | null\n backsightAzimuth?: UnitizedNumber<Angle> | null\n backsightInclination?: UnitizedNumber<Angle> | null\n /**\n * LRUDs at from station\n */\n fromLruds?: {\n left?: UnitizedNumber<Length> | null\n right?: UnitizedNumber<Length> | null\n up?: UnitizedNumber<Length> | null\n down?: UnitizedNumber<Length> | null\n }\n /**\n * LRUDs at to station\n */\n toLruds?: {\n left?: UnitizedNumber<Length> | null\n right?: UnitizedNumber<Length> | null\n up?: UnitizedNumber<Length> | null\n down?: UnitizedNumber<Length> | null\n }\n excludeDistance?: boolean | null\n isSplay?: boolean | null\n comment?: string | null\n /**\n * In the edge case that the surveyors changed measurement units or\n * corrected/uncorrected backsights in the middle of a trip, the measurements\n * will be normalized to the initial trip settings, and this field will contain\n * the actual values recorded, verbatim. The first shot of the group with\n * changed units will include the changed units.\n */\n recorded?: FrcsShot & { units?: FrcsUnits }\n}\n"],"mappings":";;;;;;IAGYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
package/FrcsSurveyFile.d.ts
CHANGED
|
@@ -2,8 +2,28 @@ import { FrcsTrip } from './FrcsTrip';
|
|
|
2
2
|
import { SegmentParseError } from 'parse-segment';
|
|
3
3
|
export type FrcsSurveyFile = {
|
|
4
4
|
cave?: string | null;
|
|
5
|
+
columns?: FrcsShotColumnConfig;
|
|
5
6
|
location?: string | null;
|
|
6
7
|
comment?: string | null;
|
|
7
8
|
trips: Array<FrcsTrip>;
|
|
8
9
|
errors?: Array<SegmentParseError> | null;
|
|
9
10
|
};
|
|
11
|
+
export type FrcsShotColumnConfig = {
|
|
12
|
+
toStation: number;
|
|
13
|
+
fromStation: number;
|
|
14
|
+
distance: number;
|
|
15
|
+
distanceFeet: number;
|
|
16
|
+
distanceInches: number;
|
|
17
|
+
kind: number;
|
|
18
|
+
exclude: number;
|
|
19
|
+
frontsightAzimuth: number;
|
|
20
|
+
backsightAzimuth: number;
|
|
21
|
+
frontsightInclination: number;
|
|
22
|
+
backsightInclination: number;
|
|
23
|
+
left: number;
|
|
24
|
+
right: number;
|
|
25
|
+
up: number;
|
|
26
|
+
down: number;
|
|
27
|
+
};
|
|
28
|
+
export declare const defaultFrcsShotColumnConfig: FrcsShotColumnConfig;
|
|
29
|
+
//# sourceMappingURL=FrcsSurveyFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsSurveyFile.d.ts","sourceRoot":"","sources":["src/FrcsSurveyFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IACtB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAgBzC,CAAA"}
|
package/FrcsSurveyFile.js
CHANGED
|
@@ -2,4 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
|
-
});
|
|
5
|
+
});
|
|
6
|
+
exports.defaultFrcsShotColumnConfig = void 0;
|
|
7
|
+
var defaultFrcsShotColumnConfig = exports.defaultFrcsShotColumnConfig = {
|
|
8
|
+
toStation: 5,
|
|
9
|
+
fromStation: 5,
|
|
10
|
+
distance: 6,
|
|
11
|
+
distanceFeet: 4,
|
|
12
|
+
distanceInches: 3,
|
|
13
|
+
kind: 1,
|
|
14
|
+
exclude: 1,
|
|
15
|
+
frontsightAzimuth: 6,
|
|
16
|
+
backsightAzimuth: 6,
|
|
17
|
+
frontsightInclination: 5,
|
|
18
|
+
backsightInclination: 5,
|
|
19
|
+
left: 3,
|
|
20
|
+
right: 3,
|
|
21
|
+
up: 3,
|
|
22
|
+
down: 3
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=FrcsSurveyFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsSurveyFile.js","names":["defaultFrcsShotColumnConfig","exports","toStation","fromStation","distance","distanceFeet","distanceInches","kind","exclude","frontsightAzimuth","backsightAzimuth","frontsightInclination","backsightInclination","left","right","up","down"],"sources":["src/FrcsSurveyFile.ts"],"sourcesContent":["import { FrcsTrip } from './FrcsTrip'\nimport { SegmentParseError } from 'parse-segment'\n\nexport type FrcsSurveyFile = {\n cave?: string | null\n columns?: FrcsShotColumnConfig\n location?: string | null\n comment?: string | null\n trips: Array<FrcsTrip>\n errors?: Array<SegmentParseError> | null\n}\n\nexport type FrcsShotColumnConfig = {\n toStation: number\n fromStation: number\n distance: number\n distanceFeet: number\n distanceInches: number\n kind: number\n exclude: number\n frontsightAzimuth: number\n backsightAzimuth: number\n frontsightInclination: number\n backsightInclination: number\n left: number\n right: number\n up: number\n down: number\n}\n\nexport const defaultFrcsShotColumnConfig: FrcsShotColumnConfig = {\n toStation: 5,\n fromStation: 5,\n distance: 6,\n distanceFeet: 4,\n distanceInches: 3,\n kind: 1,\n exclude: 1,\n frontsightAzimuth: 6,\n backsightAzimuth: 6,\n frontsightInclination: 5,\n backsightInclination: 5,\n left: 3,\n right: 3,\n up: 3,\n down: 3,\n}\n"],"mappings":";;;;;;AA8BO,IAAMA,2BAAiD,GAAAC,OAAA,CAAAD,2BAAA,GAAG;EAC/DE,SAAS,EAAE,CAAC;EACZC,WAAW,EAAE,CAAC;EACdC,QAAQ,EAAE,CAAC;EACXC,YAAY,EAAE,CAAC;EACfC,cAAc,EAAE,CAAC;EACjBC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,CAAC;EACVC,iBAAiB,EAAE,CAAC;EACpBC,gBAAgB,EAAE,CAAC;EACnBC,qBAAqB,EAAE,CAAC;EACxBC,oBAAoB,EAAE,CAAC;EACvBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}
|
package/FrcsTrip.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTrip.d.ts","sourceRoot":"","sources":["src/FrcsTrip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IACxB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC5B,yBAAyB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1C,6BAA6B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC9C,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACpC,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACvB,CAAA"}
|
package/FrcsTrip.js
CHANGED
package/FrcsTrip.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTrip.js","names":[],"sources":["src/FrcsTrip.ts"],"sourcesContent":["import { Unit, Length, Angle } from '@speleotica/unitized'\nimport { FrcsShot } from './FrcsShot'\n\nexport type FrcsUnits = {\n distanceUnit: Unit<Length>\n azimuthUnit: Unit<Angle>\n inclinationUnit: Unit<Angle>\n backsightAzimuthCorrected?: boolean | null\n backsightInclinationCorrected?: boolean | null\n hasBacksightAzimuth?: boolean | null\n hasBacksightInclination?: boolean | null\n}\n\nexport type FrcsTripHeader = FrcsUnits & {\n name: string\n comment?: string | null\n section?: string | null\n date?: Date | null\n team?: Array<string> | null\n}\n\nexport type FrcsTrip = {\n header: FrcsTripHeader\n shots: Array<FrcsShot>\n}\n"],"mappings":"","ignoreList":[]}
|
package/FrcsTripSummary.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTripSummary.d.ts","sourceRoot":"","sources":["src/FrcsTripSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACnB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrB,CAAA"}
|
package/FrcsTripSummary.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTripSummary.js","names":[],"sources":["src/FrcsTripSummary.ts"],"sourcesContent":["import { UnitizedNumber, Length } from '@speleotica/unitized'\n\nexport type FrcsTripSummary = {\n tripNumber: number\n tripIndex: number\n date: Date\n totalLength: UnitizedNumber<Length>\n numShots: number\n name: string\n excludedLength: UnitizedNumber<Length>\n numExcludedShots: number\n team: Array<string>\n shots: Array<string>\n}\n"],"mappings":"","ignoreList":[]}
|
package/FrcsTripSummaryFile.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTripSummaryFile.d.ts","sourceRoot":"","sources":["src/FrcsTripSummaryFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAA;IACxC,aAAa,EAAE,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,CAAA;CAClD,CAAA"}
|
package/FrcsTripSummaryFile.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrcsTripSummaryFile.js","names":[],"sources":["src/FrcsTripSummaryFile.ts"],"sourcesContent":["import { FrcsTripSummary } from './FrcsTripSummary'\nimport { SegmentParseError } from 'parse-segment'\n\nexport type FrcsTripSummaryFile = {\n errors?: Array<SegmentParseError> | null\n tripSummaries: Array<FrcsTripSummary | undefined>\n}\n"],"mappings":"","ignoreList":[]}
|
package/formatFrcsShot.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FrcsUnits } from './FrcsTrip';
|
|
2
2
|
import { FrcsShot } from './FrcsShot';
|
|
3
|
-
|
|
3
|
+
import { FrcsShotColumnConfig } from './FrcsSurveyFile';
|
|
4
|
+
export declare function makeFormatFrcsShot({ columns, }?: {
|
|
5
|
+
columns?: FrcsShotColumnConfig;
|
|
6
|
+
}): (shot: FrcsShot, header: FrcsUnits) => string;
|
|
7
|
+
declare const _default: (shot: FrcsShot, header: FrcsUnits) => string;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=formatFrcsShot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFrcsShot.d.ts","sourceRoot":"","sources":["src/formatFrcsShot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAgB,MAAM,YAAY,CAAA;AAEnD,OAAO,EACL,oBAAoB,EAErB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,kBAAkB,CAAC,EACjC,OAAqC,GACtC,GAAE;IAAE,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAO,UAuFH,QAAQ,UAAU,SAAS,KAAG,MAAM,CAoE1E;;AAED,wBAAmC"}
|
package/formatFrcsShot.js
CHANGED
|
@@ -3,71 +3,94 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] =
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
exports.makeFormatFrcsShot = makeFormatFrcsShot;
|
|
7
8
|
var _FrcsShot = require("./FrcsShot.js");
|
|
8
9
|
var _unitized = require("@speleotica/unitized");
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
var _FrcsSurveyFile = require("./FrcsSurveyFile.js");
|
|
11
|
+
function makeFormatFrcsShot() {
|
|
12
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
13
|
+
_ref$columns = _ref.columns,
|
|
14
|
+
columns = _ref$columns === void 0 ? _FrcsSurveyFile.defaultFrcsShotColumnConfig : _ref$columns;
|
|
15
|
+
var EMPTY_TO_STATION = ' '.repeat(columns.toStation);
|
|
16
|
+
function formatFromStation(station) {
|
|
17
|
+
if (station.length > columns.fromStation) {
|
|
18
|
+
throw new Error("station is too long: ".concat(station));
|
|
19
|
+
}
|
|
20
|
+
return station.padStart(columns.fromStation, ' ');
|
|
14
21
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
function formatToStation(station) {
|
|
23
|
+
if (station.length > columns.toStation) {
|
|
24
|
+
throw new Error("station is too long: ".concat(station));
|
|
25
|
+
}
|
|
26
|
+
return station.padStart(columns.toStation, ' ');
|
|
27
|
+
}
|
|
28
|
+
function trimZeroes(str) {
|
|
29
|
+
var match = /(-?\d+)(\.[1-9]*)0+$/.exec(str);
|
|
30
|
+
if (!match) return str;
|
|
31
|
+
return match[2].length > 1 ? match[1] + match[2] : match[1];
|
|
32
|
+
}
|
|
33
|
+
var formatNumber = function formatNumber(width) {
|
|
34
|
+
function formatNum(num, unit, verbatim) {
|
|
35
|
+
if (num instanceof _unitized.UnitizedNumber) {
|
|
36
|
+
return formatNum(num.get(verbatim ? num.unit : unit || num.unit));
|
|
37
|
+
}
|
|
38
|
+
if (num == null || !Number.isFinite(num)) return ' '.repeat(width);
|
|
39
|
+
var precision = Math.max(0, width - String(Math.trunc(num)).length - 1);
|
|
40
|
+
var formatted = trimZeroes(num.toFixed(precision));
|
|
41
|
+
return formatted.length <= width ? formatted.padStart(width, ' ') : formatted.substring(0, width);
|
|
42
|
+
}
|
|
43
|
+
return formatNum;
|
|
29
44
|
};
|
|
30
|
-
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
var
|
|
34
|
-
var EMPTY_DISTANCE = ' '.repeat(
|
|
35
|
-
var formatDistance = formatNumber(
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var INCHES_WIDTH = 3;
|
|
50
|
-
var EMPTY_INCHES = ' '.repeat(INCHES_WIDTH);
|
|
51
|
-
function formatInches(distance) {
|
|
52
|
-
if (!distance) return EMPTY_INCHES;
|
|
53
|
-
return formatNumber(INCHES_WIDTH)(Math.round(distance.get(_unitized.Length.inches) % 12));
|
|
54
|
-
}
|
|
55
|
-
function formatFrcsShot(shot, header) {
|
|
56
|
-
var _shot$frontsightAzimu, _shot$backsightAzimut, _shot$frontsightIncli, _shot$verticalDistanc, _shot$backsightInclin, _shot$toLruds, _shot$toLruds2, _shot$toLruds3, _shot$toLruds4;
|
|
57
|
-
var azimuthUnit = header.azimuthUnit,
|
|
58
|
-
inclinationUnit = header.inclinationUnit;
|
|
59
|
-
var distanceUnit = header.distanceUnit;
|
|
60
|
-
var inches = distanceUnit === _unitized.Length.inches;
|
|
61
|
-
if (inches) distanceUnit = _unitized.Length.feet;
|
|
62
|
-
if (!shot.to) {
|
|
63
|
-
var _shot$fromLruds, _shot$fromLruds2, _shot$fromLruds3, _shot$fromLruds4;
|
|
64
|
-
return [formatStation(shot.from), EMPTY_STATION, EMPTY_DISTANCE, ' ',
|
|
65
|
-
// kind
|
|
66
|
-
' ',
|
|
67
|
-
// exclude
|
|
68
|
-
EMPTY_AZIMUTH, EMPTY_AZIMUTH, EMPTY_INCLINATION, EMPTY_INCLINATION, formatLrud((_shot$fromLruds = shot.fromLruds) === null || _shot$fromLruds === void 0 || (_shot$fromLruds = _shot$fromLruds.left) === null || _shot$fromLruds === void 0 ? void 0 : _shot$fromLruds.get(distanceUnit)), formatLrud((_shot$fromLruds2 = shot.fromLruds) === null || _shot$fromLruds2 === void 0 || (_shot$fromLruds2 = _shot$fromLruds2.right) === null || _shot$fromLruds2 === void 0 ? void 0 : _shot$fromLruds2.get(distanceUnit)), formatLrud((_shot$fromLruds3 = shot.fromLruds) === null || _shot$fromLruds3 === void 0 || (_shot$fromLruds3 = _shot$fromLruds3.up) === null || _shot$fromLruds3 === void 0 ? void 0 : _shot$fromLruds3.get(distanceUnit)), formatLrud((_shot$fromLruds4 = shot.fromLruds) === null || _shot$fromLruds4 === void 0 || (_shot$fromLruds4 = _shot$fromLruds4.down) === null || _shot$fromLruds4 === void 0 ? void 0 : _shot$fromLruds4.get(distanceUnit))].join('');
|
|
45
|
+
var formatLeft = formatNumber(columns.left);
|
|
46
|
+
var formatRight = formatNumber(columns.right);
|
|
47
|
+
var formatUp = formatNumber(columns.up);
|
|
48
|
+
var formatDown = formatNumber(columns.down);
|
|
49
|
+
var EMPTY_DISTANCE = ' '.repeat(columns.distance);
|
|
50
|
+
var formatDistance = formatNumber(columns.distance);
|
|
51
|
+
var EMPTY_FS_AZIMUTH = ' '.repeat(columns.frontsightAzimuth);
|
|
52
|
+
var formatFsAzimuth = formatNumber(columns.frontsightAzimuth);
|
|
53
|
+
var EMPTY_BS_AZIMUTH = ' '.repeat(columns.backsightAzimuth);
|
|
54
|
+
var formatBsAzimuth = formatNumber(columns.backsightAzimuth);
|
|
55
|
+
var EMPTY_FS_INCLINATION = ' '.repeat(columns.frontsightInclination);
|
|
56
|
+
var formatFsInclination = formatNumber(columns.frontsightInclination);
|
|
57
|
+
var EMPTY_BS_INCLINATION = ' '.repeat(columns.backsightInclination);
|
|
58
|
+
var formatBsInclination = formatNumber(columns.backsightInclination);
|
|
59
|
+
var formatVerticalDistance = formatNumber(columns.frontsightInclination);
|
|
60
|
+
var EMPTY_FEET = ' '.repeat(columns.distanceFeet);
|
|
61
|
+
function formatFeet(distance) {
|
|
62
|
+
if (!distance) return EMPTY_FEET;
|
|
63
|
+
return formatNumber(columns.distanceFeet)(Math.trunc(distance.get(_unitized.Length.feet)));
|
|
69
64
|
}
|
|
70
|
-
var
|
|
71
|
-
|
|
65
|
+
var EMPTY_INCHES = ' '.repeat(columns.distanceInches);
|
|
66
|
+
function formatInches(distance) {
|
|
67
|
+
if (!distance) return EMPTY_INCHES;
|
|
68
|
+
return formatNumber(columns.distanceInches)(Math.round(distance.get(_unitized.Length.inches) % 12));
|
|
69
|
+
}
|
|
70
|
+
return function formatFrcsShot(shot, header) {
|
|
71
|
+
var _shot$toLruds, _shot$toLruds2, _shot$toLruds3, _shot$toLruds4;
|
|
72
|
+
var azimuthUnit = header.azimuthUnit,
|
|
73
|
+
inclinationUnit = header.inclinationUnit;
|
|
74
|
+
var distanceUnit = header.distanceUnit;
|
|
75
|
+
var inches = distanceUnit === _unitized.Length.inches;
|
|
76
|
+
if (inches) distanceUnit = _unitized.Length.feet;
|
|
77
|
+
var isRecorded = shot.recorded !== null;
|
|
78
|
+
if (!shot.to) {
|
|
79
|
+
var _shot$recorded;
|
|
80
|
+
var _ref2 = ((_shot$recorded = shot.recorded) === null || _shot$recorded === void 0 ? void 0 : _shot$recorded.fromLruds) || shot.fromLruds || {},
|
|
81
|
+
left = _ref2.left,
|
|
82
|
+
right = _ref2.right,
|
|
83
|
+
up = _ref2.up,
|
|
84
|
+
down = _ref2.down;
|
|
85
|
+
return [EMPTY_TO_STATION, formatFromStation(shot.from), EMPTY_DISTANCE, ' ',
|
|
86
|
+
// kind
|
|
87
|
+
' ',
|
|
88
|
+
// exclude
|
|
89
|
+
EMPTY_FS_AZIMUTH, EMPTY_BS_AZIMUTH, EMPTY_FS_INCLINATION, EMPTY_BS_INCLINATION, formatLeft(left, distanceUnit, isRecorded), formatRight(right, distanceUnit, isRecorded), formatUp(up, distanceUnit, isRecorded), formatDown(down, distanceUnit, isRecorded)].join('');
|
|
90
|
+
}
|
|
91
|
+
var distColumnValue = shot.kind === _FrcsShot.FrcsShotKind.Horizontal ? shot.horizontalDistance : shot.distance;
|
|
92
|
+
return [formatToStation(shot.to), formatFromStation(shot.from), inches ? formatFeet(distColumnValue) : formatDistance(distColumnValue, distanceUnit, isRecorded), inches ? formatInches(distColumnValue) : shot.kind, inches ? shot.kind : shot.excludeDistance ? '*' : ' ', formatFsAzimuth(shot.frontsightAzimuth, azimuthUnit, isRecorded), formatBsAzimuth(shot.backsightAzimuth, azimuthUnit, isRecorded), shot.kind === _FrcsShot.FrcsShotKind.Normal ? formatFsInclination(shot.frontsightInclination, inclinationUnit, isRecorded) : formatVerticalDistance(shot.verticalDistance, distanceUnit, isRecorded), shot.kind === _FrcsShot.FrcsShotKind.Normal ? formatBsInclination(shot.backsightInclination, inclinationUnit, isRecorded) : EMPTY_BS_INCLINATION, formatLeft((_shot$toLruds = shot.toLruds) === null || _shot$toLruds === void 0 ? void 0 : _shot$toLruds.left, distanceUnit, isRecorded), formatRight((_shot$toLruds2 = shot.toLruds) === null || _shot$toLruds2 === void 0 ? void 0 : _shot$toLruds2.right, distanceUnit, isRecorded), formatUp((_shot$toLruds3 = shot.toLruds) === null || _shot$toLruds3 === void 0 ? void 0 : _shot$toLruds3.up, distanceUnit, isRecorded), formatDown((_shot$toLruds4 = shot.toLruds) === null || _shot$toLruds4 === void 0 ? void 0 : _shot$toLruds4.down, distanceUnit, isRecorded)].join('');
|
|
93
|
+
};
|
|
72
94
|
}
|
|
73
|
-
|
|
95
|
+
var _default = exports["default"] = makeFormatFrcsShot();
|
|
96
|
+
//# sourceMappingURL=formatFrcsShot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFrcsShot.js","names":["_FrcsShot","require","_unitized","_FrcsSurveyFile","makeFormatFrcsShot","_ref","arguments","length","undefined","_ref$columns","columns","defaultFrcsShotColumnConfig","EMPTY_TO_STATION","repeat","toStation","formatFromStation","station","fromStation","Error","concat","padStart","formatToStation","trimZeroes","str","match","exec","formatNumber","width","formatNum","num","unit","verbatim","UnitizedNumber","get","Number","isFinite","precision","Math","max","String","trunc","formatted","toFixed","substring","formatLeft","left","formatRight","right","formatUp","up","formatDown","down","EMPTY_DISTANCE","distance","formatDistance","EMPTY_FS_AZIMUTH","frontsightAzimuth","formatFsAzimuth","EMPTY_BS_AZIMUTH","backsightAzimuth","formatBsAzimuth","EMPTY_FS_INCLINATION","frontsightInclination","formatFsInclination","EMPTY_BS_INCLINATION","backsightInclination","formatBsInclination","formatVerticalDistance","EMPTY_FEET","distanceFeet","formatFeet","Length","feet","EMPTY_INCHES","distanceInches","formatInches","round","inches","formatFrcsShot","shot","header","_shot$toLruds","_shot$toLruds2","_shot$toLruds3","_shot$toLruds4","azimuthUnit","inclinationUnit","distanceUnit","isRecorded","recorded","to","_shot$recorded","_ref2","fromLruds","from","join","distColumnValue","kind","FrcsShotKind","Horizontal","horizontalDistance","excludeDistance","Normal","verticalDistance","toLruds","_default","exports"],"sources":["src/formatFrcsShot.ts"],"sourcesContent":["import { FrcsUnits } from './FrcsTrip'\nimport { FrcsShot, FrcsShotKind } from './FrcsShot'\nimport { Length, Unit, UnitType, UnitizedNumber } from '@speleotica/unitized'\nimport {\n FrcsShotColumnConfig,\n defaultFrcsShotColumnConfig,\n} from './FrcsSurveyFile'\n\nexport function makeFormatFrcsShot({\n columns = defaultFrcsShotColumnConfig,\n}: { columns?: FrcsShotColumnConfig } = {}) {\n const EMPTY_TO_STATION = ' '.repeat(columns.toStation)\n\n function formatFromStation(station: string): string {\n if (station.length > columns.fromStation) {\n throw new Error(`station is too long: ${station}`)\n }\n return station.padStart(columns.fromStation, ' ')\n }\n function formatToStation(station: string): string {\n if (station.length > columns.toStation) {\n throw new Error(`station is too long: ${station}`)\n }\n return station.padStart(columns.toStation, ' ')\n }\n\n function trimZeroes(str: string): string {\n const match = /(-?\\d+)(\\.[1-9]*)0+$/.exec(str)\n if (!match) return str\n return match[2].length > 1 ? match[1] + match[2] : match[1]\n }\n\n const formatNumber = (width: number) => {\n function formatNum(num: number | null | undefined): string\n function formatNum<T extends UnitType<T>>(\n num: UnitizedNumber<T> | null | undefined,\n unit: Unit<T>,\n verbatim?: boolean\n ): string\n function formatNum<T extends UnitType<T>>(\n num: number | UnitizedNumber<T> | null | undefined,\n unit?: Unit<T>,\n verbatim?: boolean\n ): string {\n if (num instanceof UnitizedNumber) {\n return formatNum(num.get(verbatim ? num.unit : unit || num.unit))\n }\n if (num == null || !Number.isFinite(num)) return ' '.repeat(width)\n const precision = Math.max(0, width - String(Math.trunc(num)).length - 1)\n const formatted = trimZeroes(num.toFixed(precision))\n return formatted.length <= width\n ? formatted.padStart(width, ' ')\n : formatted.substring(0, width)\n }\n return formatNum\n }\n\n const formatLeft = formatNumber(columns.left)\n const formatRight = formatNumber(columns.right)\n const formatUp = formatNumber(columns.up)\n const formatDown = formatNumber(columns.down)\n\n const EMPTY_DISTANCE = ' '.repeat(columns.distance)\n const formatDistance = formatNumber(columns.distance)\n\n const EMPTY_FS_AZIMUTH = ' '.repeat(columns.frontsightAzimuth)\n const formatFsAzimuth = formatNumber(columns.frontsightAzimuth)\n const EMPTY_BS_AZIMUTH = ' '.repeat(columns.backsightAzimuth)\n const formatBsAzimuth = formatNumber(columns.backsightAzimuth)\n\n const EMPTY_FS_INCLINATION = ' '.repeat(columns.frontsightInclination)\n const formatFsInclination = formatNumber(columns.frontsightInclination)\n const EMPTY_BS_INCLINATION = ' '.repeat(columns.backsightInclination)\n const formatBsInclination = formatNumber(columns.backsightInclination)\n\n const formatVerticalDistance = formatNumber(columns.frontsightInclination)\n\n const EMPTY_FEET = ' '.repeat(columns.distanceFeet)\n\n function formatFeet(distance: UnitizedNumber<Length> | null | void): string {\n if (!distance) return EMPTY_FEET\n return formatNumber(columns.distanceFeet)(\n Math.trunc(distance.get(Length.feet))\n )\n }\n\n const EMPTY_INCHES = ' '.repeat(columns.distanceInches)\n\n function formatInches(\n distance: UnitizedNumber<Length> | null | void\n ): string {\n if (!distance) return EMPTY_INCHES\n return formatNumber(columns.distanceInches)(\n Math.round(distance.get(Length.inches) % 12)\n )\n }\n\n return function formatFrcsShot(shot: FrcsShot, header: FrcsUnits): string {\n const { azimuthUnit, inclinationUnit } = header\n let { distanceUnit } = header\n\n const inches = distanceUnit === Length.inches\n if (inches) distanceUnit = Length.feet\n\n const isRecorded = shot.recorded !== null\n\n if (!shot.to) {\n const { left, right, up, down } =\n shot.recorded?.fromLruds || shot.fromLruds || {}\n return [\n EMPTY_TO_STATION,\n formatFromStation(shot.from),\n EMPTY_DISTANCE,\n ' ', // kind\n ' ', // exclude\n EMPTY_FS_AZIMUTH,\n EMPTY_BS_AZIMUTH,\n EMPTY_FS_INCLINATION,\n EMPTY_BS_INCLINATION,\n formatLeft(left, distanceUnit, isRecorded),\n formatRight(right, distanceUnit, isRecorded),\n formatUp(up, distanceUnit, isRecorded),\n formatDown(down, distanceUnit, isRecorded),\n ].join('')\n }\n\n const distColumnValue =\n shot.kind === FrcsShotKind.Horizontal\n ? shot.horizontalDistance\n : shot.distance\n\n return [\n formatToStation(shot.to),\n formatFromStation(shot.from),\n inches\n ? formatFeet(distColumnValue)\n : formatDistance(distColumnValue, distanceUnit, isRecorded),\n inches ? formatInches(distColumnValue) : shot.kind,\n inches ? shot.kind : shot.excludeDistance ? '*' : ' ',\n formatFsAzimuth(shot.frontsightAzimuth, azimuthUnit, isRecorded),\n formatBsAzimuth(shot.backsightAzimuth, azimuthUnit, isRecorded),\n shot.kind === FrcsShotKind.Normal\n ? formatFsInclination(\n shot.frontsightInclination,\n inclinationUnit,\n isRecorded\n )\n : formatVerticalDistance(\n shot.verticalDistance,\n distanceUnit,\n isRecorded\n ),\n shot.kind === FrcsShotKind.Normal\n ? formatBsInclination(\n shot.backsightInclination,\n inclinationUnit,\n isRecorded\n )\n : EMPTY_BS_INCLINATION,\n formatLeft(shot.toLruds?.left, distanceUnit, isRecorded),\n formatRight(shot.toLruds?.right, distanceUnit, isRecorded),\n formatUp(shot.toLruds?.up, distanceUnit, isRecorded),\n formatDown(shot.toLruds?.down, distanceUnit, isRecorded),\n ].join('')\n }\n}\n\nexport default makeFormatFrcsShot()\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFrcsSurveyFile.d.ts","sourceRoot":"","sources":["src/formatFrcsSurveyFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,wBAAuB,oBAAoB,CACzC,IAAI,EAAE,cAAc,GACnB,aAAa,CAAC,MAAM,CAAC,CA2CvB"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.formatFrcsSurveyFile = formatFrcsSurveyFile;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
11
|
+
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
12
|
+
var _unitized = require("@speleotica/unitized");
|
|
13
|
+
var _formatFrcsShot = require("./formatFrcsShot.js");
|
|
14
|
+
function formatFrcsSurveyFile(_x) {
|
|
15
|
+
return _formatFrcsSurveyFile.apply(this, arguments);
|
|
16
|
+
}
|
|
17
|
+
function _formatFrcsSurveyFile() {
|
|
18
|
+
_formatFrcsSurveyFile = (0, _wrapAsyncGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
|
|
19
|
+
var formatFrcsShot, tripIndex, trip, shots, header, name, team, date, comment, line2, alternateUnits, i, _shot$recorded, shot, lines, _i;
|
|
20
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
21
|
+
while (1) switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
formatFrcsShot = (0, _formatFrcsShot.makeFormatFrcsShot)(file);
|
|
24
|
+
if (!file.cave) {
|
|
25
|
+
_context.next = 4;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
_context.next = 4;
|
|
29
|
+
return " ".concat(file.cave).concat(file.location ? ", ".concat(file.location) : '', "\n");
|
|
30
|
+
case 4:
|
|
31
|
+
tripIndex = 0;
|
|
32
|
+
case 5:
|
|
33
|
+
if (!(tripIndex < file.trips.length)) {
|
|
34
|
+
_context.next = 56;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
trip = file.trips[tripIndex];
|
|
38
|
+
shots = trip.shots, header = trip.header;
|
|
39
|
+
name = header.name, team = header.team, date = header.date, comment = header.comment;
|
|
40
|
+
if (!(tripIndex > 0)) {
|
|
41
|
+
_context.next = 12;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
_context.next = 12;
|
|
45
|
+
return ' *\n';
|
|
46
|
+
case 12:
|
|
47
|
+
_context.next = 14;
|
|
48
|
+
return name.replace(/\n?$/, '\n');
|
|
49
|
+
case 14:
|
|
50
|
+
line2 = [].concat((0, _toConsumableArray2["default"])(team !== null && team !== void 0 && team.length ? [team.join(', ')] : []), (0, _toConsumableArray2["default"])(date ? [formatDate(date)] : [])).join('. ');
|
|
51
|
+
if (!line2) {
|
|
52
|
+
_context.next = 18;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
_context.next = 18;
|
|
56
|
+
return "".concat(line2, "\n");
|
|
57
|
+
case 18:
|
|
58
|
+
if (!comment) {
|
|
59
|
+
_context.next = 21;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
_context.next = 21;
|
|
63
|
+
return comment.replace(/\n?$/, '\n');
|
|
64
|
+
case 21:
|
|
65
|
+
_context.next = 23;
|
|
66
|
+
return ' *\n';
|
|
67
|
+
case 23:
|
|
68
|
+
_context.next = 25;
|
|
69
|
+
return formatUnits(header);
|
|
70
|
+
case 25:
|
|
71
|
+
alternateUnits = void 0;
|
|
72
|
+
i = 0;
|
|
73
|
+
case 27:
|
|
74
|
+
if (!(i < shots.length)) {
|
|
75
|
+
_context.next = 53;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
shot = shots[i];
|
|
79
|
+
if (!shot.comment) {
|
|
80
|
+
_context.next = 42;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
lines = shot.comment.split(/\n/gm);
|
|
84
|
+
_context.next = 33;
|
|
85
|
+
return '*\n';
|
|
86
|
+
case 33:
|
|
87
|
+
_i = 0;
|
|
88
|
+
case 34:
|
|
89
|
+
if (!(_i < lines.length - 1)) {
|
|
90
|
+
_context.next = 40;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
_context.next = 37;
|
|
94
|
+
return lines[_i].replace(/\n?$/, '\n');
|
|
95
|
+
case 37:
|
|
96
|
+
_i++;
|
|
97
|
+
_context.next = 34;
|
|
98
|
+
break;
|
|
99
|
+
case 40:
|
|
100
|
+
_context.next = 42;
|
|
101
|
+
return "* ".concat(lines[lines.length - 1].replace(/\n?$/, '\n'));
|
|
102
|
+
case 42:
|
|
103
|
+
if (!((_shot$recorded = shot.recorded) !== null && _shot$recorded !== void 0 && _shot$recorded.units)) {
|
|
104
|
+
_context.next = 48;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
alternateUnits = shot.recorded.units;
|
|
108
|
+
_context.next = 46;
|
|
109
|
+
return "* %NC\n";
|
|
110
|
+
case 46:
|
|
111
|
+
_context.next = 48;
|
|
112
|
+
return formatUnits(shot.recorded.units);
|
|
113
|
+
case 48:
|
|
114
|
+
_context.next = 50;
|
|
115
|
+
return formatFrcsShot(shot.recorded || shot, alternateUnits || header).replace(/\n?$/, '\n');
|
|
116
|
+
case 50:
|
|
117
|
+
i++;
|
|
118
|
+
_context.next = 27;
|
|
119
|
+
break;
|
|
120
|
+
case 53:
|
|
121
|
+
tripIndex++;
|
|
122
|
+
_context.next = 5;
|
|
123
|
+
break;
|
|
124
|
+
case 56:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context.stop();
|
|
127
|
+
}
|
|
128
|
+
}, _callee);
|
|
129
|
+
}));
|
|
130
|
+
return _formatFrcsSurveyFile.apply(this, arguments);
|
|
131
|
+
}
|
|
132
|
+
function formatUnits(units) {
|
|
133
|
+
var distUnit = formatLengthUnit(units.distanceUnit);
|
|
134
|
+
var azmMode = units.hasBacksightAzimuth ? units.backsightAzimuthCorrected ? 'C' : 'B' : ' ';
|
|
135
|
+
var incMode = units.hasBacksightInclination ? units.backsightInclinationCorrected ? 'C' : 'B' : ' ';
|
|
136
|
+
var azmUnit = formatAngleUnit(units.azimuthUnit);
|
|
137
|
+
var incUnit = formatAngleUnit(units.inclinationUnit);
|
|
138
|
+
return "".concat(distUnit, " ").concat(azmMode).concat(incMode, " ").concat(azmUnit).concat(incUnit, "\n");
|
|
139
|
+
}
|
|
140
|
+
function formatDate(date) {
|
|
141
|
+
return "".concat(date.getMonth() + 1, "/").concat(date.getDate(), "/").concat(date.getFullYear() % 100);
|
|
142
|
+
}
|
|
143
|
+
function formatLengthUnit(unit) {
|
|
144
|
+
switch (unit) {
|
|
145
|
+
case _unitized.Length.meters:
|
|
146
|
+
return 'M ';
|
|
147
|
+
case _unitized.Length.feet:
|
|
148
|
+
return 'FT';
|
|
149
|
+
case _unitized.Length.inches:
|
|
150
|
+
return 'FI';
|
|
151
|
+
default:
|
|
152
|
+
throw new Error("invalid length unit: ".concat(unit));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function formatAngleUnit(unit) {
|
|
156
|
+
switch (unit) {
|
|
157
|
+
case _unitized.Angle.degrees:
|
|
158
|
+
return 'D';
|
|
159
|
+
case _unitized.Angle.gradians:
|
|
160
|
+
return 'G';
|
|
161
|
+
default:
|
|
162
|
+
throw new Error("invalid angle unit: ".concat(unit));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=formatFrcsSurveyFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatFrcsSurveyFile.js","names":["_unitized","require","_formatFrcsShot","formatFrcsSurveyFile","_x","_formatFrcsSurveyFile","apply","arguments","_wrapAsyncGenerator2","_regenerator","mark","_callee","file","formatFrcsShot","tripIndex","trip","shots","header","name","team","date","comment","line2","alternateUnits","i","_shot$recorded","shot","lines","_i","wrap","_callee$","_context","prev","next","makeFormatFrcsShot","cave","concat","location","trips","length","replace","_toConsumableArray2","join","formatDate","formatUnits","split","recorded","units","stop","distUnit","formatLengthUnit","distanceUnit","azmMode","hasBacksightAzimuth","backsightAzimuthCorrected","incMode","hasBacksightInclination","backsightInclinationCorrected","azmUnit","formatAngleUnit","azimuthUnit","incUnit","inclinationUnit","getMonth","getDate","getFullYear","unit","Length","meters","feet","inches","Error","Angle","degrees","gradians"],"sources":["src/formatFrcsSurveyFile.ts"],"sourcesContent":["import { Angle, Length, Unit } from '@speleotica/unitized'\nimport { FrcsSurveyFile } from './FrcsSurveyFile'\nimport { FrcsUnits } from './FrcsTrip'\nimport { makeFormatFrcsShot } from './formatFrcsShot'\n\nexport async function* formatFrcsSurveyFile(\n file: FrcsSurveyFile\n): AsyncIterable<string> {\n const formatFrcsShot = makeFormatFrcsShot(file)\n if (file.cave) {\n yield ` ${file.cave}${file.location ? `, ${file.location}` : ''}\\n`\n }\n for (let tripIndex = 0; tripIndex < file.trips.length; tripIndex++) {\n const trip = file.trips[tripIndex]\n const { shots, header } = trip\n const { name, team, date, comment } = header\n if (tripIndex > 0) yield ' *\\n'\n yield name.replace(/\\n?$/, '\\n')\n const line2 = [\n ...(team?.length ? [team.join(', ')] : []),\n ...(date ? [formatDate(date)] : []),\n ].join('. ')\n if (line2) yield `${line2}\\n`\n if (comment) yield comment.replace(/\\n?$/, '\\n')\n yield ' *\\n'\n yield formatUnits(header)\n\n let alternateUnits: FrcsUnits | undefined\n\n for (let i = 0; i < shots.length; i++) {\n const shot = shots[i]\n if (shot.comment) {\n const lines = shot.comment.split(/\\n/gm)\n yield '*\\n'\n for (let i = 0; i < lines.length - 1; i++) {\n yield lines[i].replace(/\\n?$/, '\\n')\n }\n yield `* ${lines[lines.length - 1].replace(/\\n?$/, '\\n')}`\n }\n if (shot.recorded?.units) {\n alternateUnits = shot.recorded.units\n yield `* %NC\\n`\n yield formatUnits(shot.recorded.units)\n }\n yield formatFrcsShot(\n shot.recorded || shot,\n alternateUnits || header\n ).replace(/\\n?$/, '\\n')\n }\n }\n}\n\nfunction formatUnits(units: FrcsUnits): string {\n const distUnit = formatLengthUnit(units.distanceUnit)\n const azmMode = units.hasBacksightAzimuth\n ? units.backsightAzimuthCorrected\n ? 'C'\n : 'B'\n : ' '\n const incMode = units.hasBacksightInclination\n ? units.backsightInclinationCorrected\n ? 'C'\n : 'B'\n : ' '\n const azmUnit = formatAngleUnit(units.azimuthUnit)\n const incUnit = formatAngleUnit(units.inclinationUnit)\n\n return `${distUnit} ${azmMode}${incMode} ${azmUnit}${incUnit}\\n`\n}\n\nfunction formatDate(date: Date): string {\n return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear() % 100}`\n}\n\nfunction formatLengthUnit(unit: Unit<Length>): string {\n switch (unit) {\n case Length.meters:\n return 'M '\n case Length.feet:\n return 'FT'\n case Length.inches:\n return 'FI'\n default:\n throw new Error(`invalid length unit: ${unit}`)\n }\n}\n\nfunction formatAngleUnit(unit: Unit<Angle>): string {\n switch (unit) {\n case Angle.degrees:\n return 'D'\n case Angle.gradians:\n return 'G'\n default:\n throw new Error(`invalid angle unit: ${unit}`)\n }\n}\n"],"mappings":"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","ignoreList":[]}
|