@speleotica/frcsdata 5.0.0-beta.2 → 5.0.0-beta.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speleotica/frcsdata",
3
- "version": "5.0.0-beta.2",
3
+ "version": "5.0.0-beta.4",
4
4
  "description": "parser for Chip Hopper's survey data format used in Fisher Ridge Cave System",
5
5
  "sideEffects": false,
6
6
  "publishConfig": {
@@ -180,7 +180,9 @@ export type InvalidFrcsShot = Invalid<
180
180
  {
181
181
  recorded?:
182
182
  | FrcsShot['recorded']
183
- | Invalid<Partial<FrcsShotBase> & { units?: InvalidFrcsUnits }>
183
+ | Invalid<
184
+ Partial<FrcsShotBase> & { units?: FrcsUnits | InvalidFrcsUnits }
185
+ >
184
186
  }
185
187
  >
186
188
  >
@@ -206,14 +206,25 @@ function Invalid<T extends z.ZodTypeAny>(schema: T) {
206
206
  })
207
207
  }
208
208
 
209
- const ZodInvalidFrcsShot = Invalid(ZodFrcsShot.partial())
210
-
211
- ZodInvalidFrcsShot satisfies DeepMapJsonSchema<InvalidFrcsShot>
212
-
213
209
  const ZodInvalidFrcsUnits = Invalid(ZodFrcsUnits.partial())
214
210
 
215
211
  ZodInvalidFrcsUnits satisfies DeepMapJsonSchema<InvalidFrcsUnits>
216
212
 
213
+ const ZodInvalidFrcsShot = Invalid(
214
+ ZodFrcsShot.extend({
215
+ recorded: z.union([
216
+ ZodFrcsShot.shape.recorded,
217
+ Invalid(
218
+ ZodFrcsShotBase.extend({
219
+ units: z.union([ZodFrcsUnits, ZodInvalidFrcsUnits]),
220
+ }).partial()
221
+ ),
222
+ ]),
223
+ }).partial()
224
+ )
225
+
226
+ ZodInvalidFrcsShot satisfies DeepMapJsonSchema<InvalidFrcsShot>
227
+
217
228
  const ZodInvalidFrcsTripHeader = Invalid(ZodFrcsTripHeader.partial())
218
229
 
219
230
  ZodInvalidFrcsTripHeader satisfies DeepMapJsonSchema<InvalidFrcsTripHeader>
@@ -259,14 +259,25 @@ function Invalid<T extends z.ZodTypeAny>(schema: T) {
259
259
  })
260
260
  }
261
261
 
262
- const ZodInvalidFrcsShot = Invalid(ZodFrcsShot.partial())
263
-
264
- ZodInvalidFrcsShot satisfies DeepMapJsonSchema<InvalidFrcsShot>
265
-
266
262
  const ZodInvalidFrcsUnits = Invalid(ZodFrcsUnits.partial())
267
263
 
268
264
  ZodInvalidFrcsUnits satisfies DeepMapJsonSchema<InvalidFrcsUnits>
269
265
 
266
+ const ZodInvalidFrcsShot = Invalid(
267
+ ZodFrcsShot.extend({
268
+ recorded: z.union([
269
+ ZodFrcsShot.shape.recorded,
270
+ Invalid(
271
+ ZodFrcsShotBase.extend({
272
+ units: z.union([ZodFrcsUnits, ZodInvalidFrcsUnits]),
273
+ }).partial()
274
+ ),
275
+ ]),
276
+ }).partial()
277
+ )
278
+
279
+ ZodInvalidFrcsShot satisfies DeepMapJsonSchema<InvalidFrcsShot>
280
+
270
281
  const ZodInvalidFrcsTripHeader = Invalid(ZodFrcsTripHeader.partial())
271
282
 
272
283
  ZodInvalidFrcsTripHeader satisfies DeepMapJsonSchema<InvalidFrcsTripHeader>
@@ -225,7 +225,24 @@ export default async function parseFrcsSurveyFile(
225
225
  if (/^\*\s*%NC(\b|$)/.test(line)) {
226
226
  unitsChanged = true
227
227
  }
228
+ let match: RegExpMatchArray | null
229
+ if ((match = /^\*\s*%T([ITM])(\b|$)/.exec(line))) {
230
+ const currentUnits = alternateUnits || unwrapInvalid(trip)?.units
231
+ if (currentUnits && !('INVALID' in currentUnits)) {
232
+ alternateUnits = {
233
+ ...currentUnits,
234
+ distanceUnit:
235
+ match[1] === 'I'
236
+ ? Length.inches
237
+ : match[1] === 'M'
238
+ ? Length.meters
239
+ : Length.feet,
240
+ }
241
+ nextShotUnits = alternateUnits
242
+ }
243
+ }
228
244
  if (/^\*\s*%/.test(line)) {
245
+ inBlockComment = false
229
246
  continue
230
247
  }
231
248
  if (/[^\s*]/.test(line)) {
@@ -326,7 +343,6 @@ export default async function parseFrcsSurveyFile(
326
343
  up,
327
344
  down,
328
345
  },
329
- excludeDistance: true,
330
346
  comment: getComment(),
331
347
  }
332
348
  addShot(
@@ -763,19 +779,15 @@ export default async function parseFrcsSurveyFile(
763
779
  | FrcsShot['recorded']
764
780
  | InvalidFrcsShot['INVALID']['recorded'] = shot
765
781
  if ('INVALID' in shot) {
766
- shot.INVALID = {
767
- ...shot.INVALID,
768
- recorded,
769
- }
770
- } else if ('INVALID' in recorded) {
771
782
  shot = {
772
783
  INVALID: {
773
- ...shot,
774
- recorded,
784
+ ...shot.INVALID,
785
+ recorded: shot,
775
786
  },
787
+ issues: shot.issues,
776
788
  }
777
789
  } else {
778
- shot = { ...shot, recorded }
790
+ shot = { ...shot, recorded: shot }
779
791
  }
780
792
  if (nextShotUnits) {
781
793
  unwrapInvalid(recorded).units = nextShotUnits
@@ -809,12 +821,14 @@ export default async function parseFrcsSurveyFile(
809
821
  if (distanceUnit && distanceUnit !== alternateUnits.distanceUnit) {
810
822
  shot.distance = shot.distance?.in(distanceUnit)
811
823
  if (shot.fromLruds) {
824
+ shot.fromLruds = { ...shot.fromLruds }
812
825
  shot.fromLruds.left = shot.fromLruds.left?.in(distanceUnit)
813
826
  shot.fromLruds.right = shot.fromLruds.right?.in(distanceUnit)
814
827
  shot.fromLruds.up = shot.fromLruds.up?.in(distanceUnit)
815
828
  shot.fromLruds.down = shot.fromLruds.down?.in(distanceUnit)
816
829
  }
817
830
  if (shot.toLruds) {
831
+ shot.toLruds = { ...shot.toLruds }
818
832
  shot.toLruds.left = shot.toLruds.left?.in(distanceUnit)
819
833
  shot.toLruds.right = shot.toLruds.right?.in(distanceUnit)
820
834
  shot.toLruds.up = shot.toLruds.up?.in(distanceUnit)
@@ -155,7 +155,7 @@ export type FrcsShot = FrcsShotBase & {
155
155
  };
156
156
  export type InvalidFrcsShot = Invalid<Partial<Replace<FrcsShot, {
157
157
  recorded?: FrcsShot['recorded'] | Invalid<Partial<FrcsShotBase> & {
158
- units?: InvalidFrcsUnits;
158
+ units?: FrcsUnits | InvalidFrcsUnits;
159
159
  }>;
160
160
  }>>>;
161
161
  export declare const defaultFrcsShotColumnConfig: FrcsShotColumnConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"FrcsSurveyFile.d.ts","sourceRoot":"","sources":["../../src/survey/FrcsSurveyFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,KAAK,OAAO,CAAC,CAAC,IAAI;IAChB,OAAO,EAAE,CAAC,CAAA;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAGD,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAA;AAEhD,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;QACpB,OAAO,CAAC,EAAE,SAAS,CAAA;KACpB,CAAA;IACD,MAAM,CAAC,EAAE,UAAU,EAAE,CAAA;CACtB,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,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CACd,cAAc,EACd;QACE,KAAK,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAC,EAAE,CAAA;KACtC,CACF,CAAA;IACD,MAAM,EAAE,UAAU,EAAE,CAAA;CACrB,CAAA;AAED,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,CAAA;IACnC,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,SAAS,CAAA;QACxB,WAAW,CAAC,EAAE,SAAS,CAAA;QACvB,eAAe,CAAC,EAAE,SAAS,CAAA;QAC3B,yBAAyB,CAAC,EAAE,SAAS,CAAA;QACrC,6BAA6B,CAAC,EAAE,SAAS,CAAA;QACzC,mBAAmB,CAAC,EAAE,SAAS,CAAA;QAC/B,uBAAuB,CAAC,EAAE,SAAS,CAAA;KACpC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,SAAS,CAAA;QACf,OAAO,CAAC,EAAE,SAAS,CAAA;QACnB,OAAO,CAAC,EAAE,SAAS,CAAA;QACnB,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAA;KACnB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAA;AAEpE,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,OAAO,CACL,QAAQ,EACR;IACE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,cAAc,GAAG,qBAAqB,CAAA;IAC9C,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAA;IACnC,KAAK,EAAE,CAAC,QAAQ,GAAG,eAAe,CAAC,EAAE,CAAA;CACtC,CACF,CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAChC,kBAAkB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC3C,gBAAgB,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IACzC,iBAAiB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IACzC,qBAAqB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAC7C,gBAAgB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IACxC,oBAAoB,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5C;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7B,KAAK,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC9B,EAAE,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAC9B,CAAA;IACD;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC7B,KAAK,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC9B,EAAE,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAC9B,CAAA;IACD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,SAAS,CAAA;KACpB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,OAAO,CACL,OAAO,CACL,QAAQ,EACR;IACE,QAAQ,CAAC,EACL,QAAQ,CAAC,UAAU,CAAC,GACpB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC,CAAA;CAClE,CACF,CACF,CACF,CAAA;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAgBzC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,gBAAgB,CAAC,EACb,OAAO,GACP;QACE,eAAe,CAAC,EAAE,OAAO,CAAA;QACzB,eAAe,CAAC,EAAE,OAAO,CAAA;KAC1B,CAAA;CACN,CAAA"}
1
+ {"version":3,"file":"FrcsSurveyFile.d.ts","sourceRoot":"","sources":["../../src/survey/FrcsSurveyFile.ts"],"names":[],"mappings":"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"}
@@ -1 +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/survey/FrcsSurveyFile.ts"],"sourcesContent":["import { ParseIssue } from '../ParseIssue'\nimport { SourceLoc } from '../SourceLoc'\nimport { Unit, Length, Angle, UnitizedNumber } from '@speleotica/unitized'\n\ntype Invalid<T> = {\n INVALID: T\n /**\n * An array of indexes of issues in {@link InvalidFrcsSurveyFile['issues']} within the\n * `INVALID` node\n */\n issues?: number[]\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype Prettify<T> = { [K in keyof T]: T[K] } & {}\n\ntype Replace<T, U> = Prettify<Omit<T, keyof U> & U>\n\nexport type FrcsSurveyFile = {\n cave?: string\n columns?: FrcsShotColumnConfig\n location?: string\n comment?: string\n trips: FrcsTrip[]\n locs?: {\n cave?: SourceLoc\n location?: SourceLoc\n comment?: SourceLoc\n }\n issues?: ParseIssue[]\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 type InvalidFrcsSurveyFile = {\n INVALID: Replace<\n FrcsSurveyFile,\n {\n trips: (FrcsTrip | InvalidFrcsTrip)[]\n }\n >\n issues: ParseIssue[]\n}\n\nexport type FrcsUnits = {\n distanceUnit: Unit<Length>\n azimuthUnit: Unit<Angle>\n inclinationUnit: Unit<Angle>\n backsightAzimuthCorrected?: boolean\n backsightInclinationCorrected?: boolean\n hasBacksightAzimuth?: boolean\n hasBacksightInclination?: boolean\n loc?: SourceLoc\n locs?: {\n distanceUnit?: SourceLoc\n azimuthUnit?: SourceLoc\n inclinationUnit?: SourceLoc\n backsightAzimuthCorrected?: SourceLoc\n backsightInclinationCorrected?: SourceLoc\n hasBacksightAzimuth?: SourceLoc\n hasBacksightInclination?: SourceLoc\n }\n}\n\nexport type InvalidFrcsUnits = Invalid<Partial<FrcsUnits>>\n\nexport type FrcsTripHeader = {\n name: string\n comment?: string\n section?: string\n date?: Date\n team?: string[]\n loc?: SourceLoc\n locs?: {\n name: SourceLoc\n comment?: SourceLoc\n section?: SourceLoc\n date?: SourceLoc\n team?: SourceLoc[]\n }\n}\n\nexport type InvalidFrcsTripHeader = Invalid<Partial<FrcsTripHeader>>\n\nexport type FrcsTrip = {\n tripNumber: number\n header: FrcsTripHeader\n units: FrcsUnits\n shots: FrcsShot[]\n loc?: SourceLoc\n}\n\nexport type InvalidFrcsTrip = Invalid<\n Replace<\n FrcsTrip,\n {\n tripNumber?: number\n header: FrcsTripHeader | InvalidFrcsTripHeader\n units: FrcsUnits | InvalidFrcsUnits\n shots: (FrcsShot | InvalidFrcsShot)[]\n }\n >\n>\n\nexport type FrcsShotBase = {\n /**\n * Name of from station\n */\n from: string\n /**\n * Name of to station\n */\n to?: string\n specialKind?: 'horizontal' | 'diagonal'\n distance: UnitizedNumber<Length>\n horizontalDistance?: UnitizedNumber<Length>\n verticalDistance?: UnitizedNumber<Length>\n frontsightAzimuth?: UnitizedNumber<Angle>\n frontsightInclination?: UnitizedNumber<Angle>\n backsightAzimuth?: UnitizedNumber<Angle>\n backsightInclination?: UnitizedNumber<Angle>\n /**\n * LRUDs at from station\n */\n fromLruds?: {\n left?: UnitizedNumber<Length>\n right?: UnitizedNumber<Length>\n up?: UnitizedNumber<Length>\n down?: UnitizedNumber<Length>\n }\n /**\n * LRUDs at to station\n */\n toLruds?: {\n left?: UnitizedNumber<Length>\n right?: UnitizedNumber<Length>\n up?: UnitizedNumber<Length>\n down?: UnitizedNumber<Length>\n }\n excludeDistance?: boolean\n isSplay?: boolean\n comment?: string\n loc?: SourceLoc\n locs?: {\n comment?: SourceLoc\n }\n}\n\nexport type FrcsShot = FrcsShotBase & {\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?: FrcsShotBase & { units?: FrcsUnits }\n}\n\nexport type InvalidFrcsShot = Invalid<\n Partial<\n Replace<\n FrcsShot,\n {\n recorded?:\n | FrcsShot['recorded']\n | Invalid<Partial<FrcsShotBase> & { units?: InvalidFrcsUnits }>\n }\n >\n >\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\nexport type ParseFrcsSurveyFileOptions = {\n columns?: FrcsShotColumnConfig\n outputColumns?: boolean\n normalizeNames?: boolean\n suppressWarnings?:\n | boolean\n | {\n missingTripTeam?: boolean\n missingTripDate?: boolean\n }\n}\n"],"mappings":";;;;;;AAaA;;AA+KO,MAAMA,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":[]}
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/survey/FrcsSurveyFile.ts"],"sourcesContent":["import { ParseIssue } from '../ParseIssue'\nimport { SourceLoc } from '../SourceLoc'\nimport { Unit, Length, Angle, UnitizedNumber } from '@speleotica/unitized'\n\ntype Invalid<T> = {\n INVALID: T\n /**\n * An array of indexes of issues in {@link InvalidFrcsSurveyFile['issues']} within the\n * `INVALID` node\n */\n issues?: number[]\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\ntype Prettify<T> = { [K in keyof T]: T[K] } & {}\n\ntype Replace<T, U> = Prettify<Omit<T, keyof U> & U>\n\nexport type FrcsSurveyFile = {\n cave?: string\n columns?: FrcsShotColumnConfig\n location?: string\n comment?: string\n trips: FrcsTrip[]\n locs?: {\n cave?: SourceLoc\n location?: SourceLoc\n comment?: SourceLoc\n }\n issues?: ParseIssue[]\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 type InvalidFrcsSurveyFile = {\n INVALID: Replace<\n FrcsSurveyFile,\n {\n trips: (FrcsTrip | InvalidFrcsTrip)[]\n }\n >\n issues: ParseIssue[]\n}\n\nexport type FrcsUnits = {\n distanceUnit: Unit<Length>\n azimuthUnit: Unit<Angle>\n inclinationUnit: Unit<Angle>\n backsightAzimuthCorrected?: boolean\n backsightInclinationCorrected?: boolean\n hasBacksightAzimuth?: boolean\n hasBacksightInclination?: boolean\n loc?: SourceLoc\n locs?: {\n distanceUnit?: SourceLoc\n azimuthUnit?: SourceLoc\n inclinationUnit?: SourceLoc\n backsightAzimuthCorrected?: SourceLoc\n backsightInclinationCorrected?: SourceLoc\n hasBacksightAzimuth?: SourceLoc\n hasBacksightInclination?: SourceLoc\n }\n}\n\nexport type InvalidFrcsUnits = Invalid<Partial<FrcsUnits>>\n\nexport type FrcsTripHeader = {\n name: string\n comment?: string\n section?: string\n date?: Date\n team?: string[]\n loc?: SourceLoc\n locs?: {\n name: SourceLoc\n comment?: SourceLoc\n section?: SourceLoc\n date?: SourceLoc\n team?: SourceLoc[]\n }\n}\n\nexport type InvalidFrcsTripHeader = Invalid<Partial<FrcsTripHeader>>\n\nexport type FrcsTrip = {\n tripNumber: number\n header: FrcsTripHeader\n units: FrcsUnits\n shots: FrcsShot[]\n loc?: SourceLoc\n}\n\nexport type InvalidFrcsTrip = Invalid<\n Replace<\n FrcsTrip,\n {\n tripNumber?: number\n header: FrcsTripHeader | InvalidFrcsTripHeader\n units: FrcsUnits | InvalidFrcsUnits\n shots: (FrcsShot | InvalidFrcsShot)[]\n }\n >\n>\n\nexport type FrcsShotBase = {\n /**\n * Name of from station\n */\n from: string\n /**\n * Name of to station\n */\n to?: string\n specialKind?: 'horizontal' | 'diagonal'\n distance: UnitizedNumber<Length>\n horizontalDistance?: UnitizedNumber<Length>\n verticalDistance?: UnitizedNumber<Length>\n frontsightAzimuth?: UnitizedNumber<Angle>\n frontsightInclination?: UnitizedNumber<Angle>\n backsightAzimuth?: UnitizedNumber<Angle>\n backsightInclination?: UnitizedNumber<Angle>\n /**\n * LRUDs at from station\n */\n fromLruds?: {\n left?: UnitizedNumber<Length>\n right?: UnitizedNumber<Length>\n up?: UnitizedNumber<Length>\n down?: UnitizedNumber<Length>\n }\n /**\n * LRUDs at to station\n */\n toLruds?: {\n left?: UnitizedNumber<Length>\n right?: UnitizedNumber<Length>\n up?: UnitizedNumber<Length>\n down?: UnitizedNumber<Length>\n }\n excludeDistance?: boolean\n isSplay?: boolean\n comment?: string\n loc?: SourceLoc\n locs?: {\n comment?: SourceLoc\n }\n}\n\nexport type FrcsShot = FrcsShotBase & {\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?: FrcsShotBase & { units?: FrcsUnits }\n}\n\nexport type InvalidFrcsShot = Invalid<\n Partial<\n Replace<\n FrcsShot,\n {\n recorded?:\n | FrcsShot['recorded']\n | Invalid<\n Partial<FrcsShotBase> & { units?: FrcsUnits | InvalidFrcsUnits }\n >\n }\n >\n >\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\nexport type ParseFrcsSurveyFileOptions = {\n columns?: FrcsShotColumnConfig\n outputColumns?: boolean\n normalizeNames?: boolean\n suppressWarnings?:\n | boolean\n | {\n missingTripTeam?: boolean\n missingTripDate?: boolean\n }\n}\n"],"mappings":";;;;;;AAaA;;AAiLO,MAAMA,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":[]}