@welldot/core 0.2.3 → 0.3.0

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/dist/index.d.cts CHANGED
@@ -89,6 +89,25 @@ type SurfaceCase = {
89
89
  /** Casing outer diameter in millimeters. */
90
90
  diameter: number;
91
91
  };
92
+ /**
93
+ * Centralizers clamped to a casing or screen string over a depth interval.
94
+ * `from === to` denotes a single centralizer. Positions are derived from
95
+ * `spacing`; the count is never stored.
96
+ */
97
+ type Centralizer = {
98
+ /** Start depth in meters from ground level. */
99
+ from: number;
100
+ /** End depth in meters from ground level. */
101
+ to: number;
102
+ /** Spacing between consecutive centralizers in meters. May be omitted when unknown. */
103
+ spacing?: number;
104
+ /** Centralizer type. Recommended: `spring_bow`, `rigid`, `semi_rigid`, `polymer`. Can be free-text. */
105
+ type: string;
106
+ /** As-built outer diameter in millimeters. */
107
+ diameter?: number;
108
+ /** Free-text description. */
109
+ description?: string;
110
+ };
92
111
  /** Concrete pad installed at ground level (depth 0) around the wellhead. All dimensions in **meters**. */
93
112
  type CementPad = {
94
113
  /** Free text description of the pad, typically its material (e.g. `concrete`) but may also describe its shape (e.g. `circular`) or both. */
@@ -283,8 +302,10 @@ type Well = {
283
302
  well_id?: WellId[];
284
303
  location?: Location;
285
304
  profiles?: string[];
286
- /** Classification of the well (e.g. `tubular`, `artesian`, `hand_dug`). */
305
+ /** Construction method of the well (e.g. `tubular`, `hand_dug`, `horizontal`). `artesian` is deprecated since v2.1. */
287
306
  well_type?: string;
307
+ /** Intended use(s) of the well (e.g. `production`, `monitoring`, `piezometer`). Since v2.1. */
308
+ well_purpose?: string[];
288
309
  /** Well name or local identifier. */
289
310
  name?: string;
290
311
  /** Name of the drilling company or individual. */
@@ -307,6 +328,8 @@ type Well = {
307
328
  well_screen: WellScreen[];
308
329
  surface_case: SurfaceCase[];
309
330
  hole_fill: HoleFill[];
331
+ /** Since v2.1. */
332
+ centralizers?: Centralizer[];
310
333
  cement_pad?: CementPad;
311
334
  lithology: Lithology[];
312
335
  fractures: Fracture[];
@@ -329,6 +352,7 @@ type Constructive = {
329
352
  well_screen: WellScreen[];
330
353
  surface_case: SurfaceCase[];
331
354
  hole_fill: HoleFill[];
355
+ centralizers?: Centralizer[];
332
356
  cement_pad?: CementPad;
333
357
  };
334
358
  /** Top-level grouping of a well's fields, used to selectively redact sections when sharing/exporting. */
@@ -532,6 +556,28 @@ declare const SurfaceCaseSchema: z.ZodObject<{
532
556
  to: number;
533
557
  diameter: number;
534
558
  }>;
559
+ declare const CentralizerSchema: z.ZodObject<{
560
+ from: z.ZodNumber;
561
+ to: z.ZodNumber;
562
+ spacing: z.ZodOptional<z.ZodNumber>;
563
+ type: z.ZodString;
564
+ diameter: z.ZodOptional<z.ZodNumber>;
565
+ description: z.ZodOptional<z.ZodString>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ type: string;
568
+ from: number;
569
+ to: number;
570
+ diameter?: number | undefined;
571
+ description?: string | undefined;
572
+ spacing?: number | undefined;
573
+ }, {
574
+ type: string;
575
+ from: number;
576
+ to: number;
577
+ diameter?: number | undefined;
578
+ description?: string | undefined;
579
+ spacing?: number | undefined;
580
+ }>;
535
581
  declare const CementPadSchema: z.ZodObject<{
536
582
  type: z.ZodString;
537
583
  width: z.ZodNumber;
@@ -2301,6 +2347,7 @@ declare const WellSchema: z.ZodObject<{
2301
2347
  }>>;
2302
2348
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
2303
2349
  well_type: z.ZodOptional<z.ZodString>;
2350
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2304
2351
  name: z.ZodOptional<z.ZodString>;
2305
2352
  well_driller: z.ZodOptional<z.ZodString>;
2306
2353
  construction_date: z.ZodOptional<z.ZodString>;
@@ -2411,6 +2458,28 @@ declare const WellSchema: z.ZodObject<{
2411
2458
  diameter: number;
2412
2459
  description: string;
2413
2460
  }>, "many">;
2461
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2462
+ from: z.ZodNumber;
2463
+ to: z.ZodNumber;
2464
+ spacing: z.ZodOptional<z.ZodNumber>;
2465
+ type: z.ZodString;
2466
+ diameter: z.ZodOptional<z.ZodNumber>;
2467
+ description: z.ZodOptional<z.ZodString>;
2468
+ }, "strip", z.ZodTypeAny, {
2469
+ type: string;
2470
+ from: number;
2471
+ to: number;
2472
+ diameter?: number | undefined;
2473
+ description?: string | undefined;
2474
+ spacing?: number | undefined;
2475
+ }, {
2476
+ type: string;
2477
+ from: number;
2478
+ to: number;
2479
+ diameter?: number | undefined;
2480
+ description?: string | undefined;
2481
+ spacing?: number | undefined;
2482
+ }>, "many">>;
2414
2483
  cement_pad: z.ZodOptional<z.ZodObject<{
2415
2484
  type: z.ZodString;
2416
2485
  width: z.ZodNumber;
@@ -3385,6 +3454,7 @@ declare const WellSchema: z.ZodObject<{
3385
3454
  }>>;
3386
3455
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
3387
3456
  well_type: z.ZodOptional<z.ZodString>;
3457
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3388
3458
  name: z.ZodOptional<z.ZodString>;
3389
3459
  well_driller: z.ZodOptional<z.ZodString>;
3390
3460
  construction_date: z.ZodOptional<z.ZodString>;
@@ -3495,6 +3565,28 @@ declare const WellSchema: z.ZodObject<{
3495
3565
  diameter: number;
3496
3566
  description: string;
3497
3567
  }>, "many">;
3568
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
3569
+ from: z.ZodNumber;
3570
+ to: z.ZodNumber;
3571
+ spacing: z.ZodOptional<z.ZodNumber>;
3572
+ type: z.ZodString;
3573
+ diameter: z.ZodOptional<z.ZodNumber>;
3574
+ description: z.ZodOptional<z.ZodString>;
3575
+ }, "strip", z.ZodTypeAny, {
3576
+ type: string;
3577
+ from: number;
3578
+ to: number;
3579
+ diameter?: number | undefined;
3580
+ description?: string | undefined;
3581
+ spacing?: number | undefined;
3582
+ }, {
3583
+ type: string;
3584
+ from: number;
3585
+ to: number;
3586
+ diameter?: number | undefined;
3587
+ description?: string | undefined;
3588
+ spacing?: number | undefined;
3589
+ }>, "many">>;
3498
3590
  cement_pad: z.ZodOptional<z.ZodObject<{
3499
3591
  type: z.ZodString;
3500
3592
  width: z.ZodNumber;
@@ -4469,6 +4561,7 @@ declare const WellSchema: z.ZodObject<{
4469
4561
  }>>;
4470
4562
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
4471
4563
  well_type: z.ZodOptional<z.ZodString>;
4564
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4472
4565
  name: z.ZodOptional<z.ZodString>;
4473
4566
  well_driller: z.ZodOptional<z.ZodString>;
4474
4567
  construction_date: z.ZodOptional<z.ZodString>;
@@ -4579,6 +4672,28 @@ declare const WellSchema: z.ZodObject<{
4579
4672
  diameter: number;
4580
4673
  description: string;
4581
4674
  }>, "many">;
4675
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
4676
+ from: z.ZodNumber;
4677
+ to: z.ZodNumber;
4678
+ spacing: z.ZodOptional<z.ZodNumber>;
4679
+ type: z.ZodString;
4680
+ diameter: z.ZodOptional<z.ZodNumber>;
4681
+ description: z.ZodOptional<z.ZodString>;
4682
+ }, "strip", z.ZodTypeAny, {
4683
+ type: string;
4684
+ from: number;
4685
+ to: number;
4686
+ diameter?: number | undefined;
4687
+ description?: string | undefined;
4688
+ spacing?: number | undefined;
4689
+ }, {
4690
+ type: string;
4691
+ from: number;
4692
+ to: number;
4693
+ diameter?: number | undefined;
4694
+ description?: string | undefined;
4695
+ spacing?: number | undefined;
4696
+ }>, "many">>;
4582
4697
  cement_pad: z.ZodOptional<z.ZodObject<{
4583
4698
  type: z.ZodString;
4584
4699
  width: z.ZodNumber;
@@ -5585,4 +5700,4 @@ declare function psiToKilopascal(psi: number): number;
5585
5700
  declare function minutesToHours(min: number): number;
5586
5701
  declare function hoursToMinutes(h: number): number;
5587
5702
 
5588
- export { type AirliftEvent, AirliftEventSchema, type AquiferAnalysis, AquiferAnalysisSchema, type Attachment, AttachmentSchema, type BoreHole, BoreHoleSchema, type Cave, CaveSchema, type CementPad, CementPadSchema, type ConstantRateEvent, ConstantRateEventSchema, type Constructive, type DiameterUnits, type DmsCoordinate, FGDC_TEXTURES_OPTIONS, type Fracture, FractureSchema, type Geologic, type HistoryLogEntry, HistoryLogEntrySchema, type HoleFill, HoleFillSchema, type HydrodynamicEvent, type HydrodynamicEventBase, HydrodynamicEventBaseSchema, HydrodynamicEventSchema, type LengthUnits, type LevelReading, LevelReadingSchema, type Lithology, LithologySchema, type Location, type LocationProperties, LocationPropertiesSchema, LocationSchema, type Well as Profile, type PumpingStep, PumpingStepSchema, type RecoveryOnlyEvent, RecoveryOnlyEventSchema, type RecoveryPhase, RecoveryPhaseSchema, type Reduction, ReductionSchema, SECTION_KEYS, type SectionKey, type SectionVisibility, type SpotMeasurementEvent, SpotMeasurementEventSchema, type StepDrawdownEvent, StepDrawdownEventSchema, type SurfaceCase, SurfaceCaseSchema, type Texture, type TextureCode, type TextureOption, TextureSchema, type Units, type UnitsTypes, type Well, type WellCase, WellCaseSchema, type WellId, WellIdSchema, WellSchema, type WellScreen, WellScreenSchema, checkIfProfileIsEmpty, convertProfileFromJSON, cubicMeterPerHourToLitersPerSecond, cubicMeterPerHourToUsGallonsPerMinute, decimalDegreesToDms, deserializeWell, dmsToDecimalDegrees, feetToMeters, hoursToMinutes, inchesToMm, isWellEmpty, kilopascalToPsi, litersPerSecondToCubicMeterPerHour, metersToFeet, minutesToHours, mmToInches, mmToSlotNumber, parseWell, profileToWell, psiToKilopascal, redactWell, serializeWell, slotNumberToMm, squareMeterPerDayToSquareMeterPerSecond, squareMeterPerSecondToSquareMeterPerDay, usGallonsPerMinuteToCubicMeterPerHour };
5703
+ export { type AirliftEvent, AirliftEventSchema, type AquiferAnalysis, AquiferAnalysisSchema, type Attachment, AttachmentSchema, type BoreHole, BoreHoleSchema, type Cave, CaveSchema, type CementPad, CementPadSchema, type Centralizer, CentralizerSchema, type ConstantRateEvent, ConstantRateEventSchema, type Constructive, type DiameterUnits, type DmsCoordinate, FGDC_TEXTURES_OPTIONS, type Fracture, FractureSchema, type Geologic, type HistoryLogEntry, HistoryLogEntrySchema, type HoleFill, HoleFillSchema, type HydrodynamicEvent, type HydrodynamicEventBase, HydrodynamicEventBaseSchema, HydrodynamicEventSchema, type LengthUnits, type LevelReading, LevelReadingSchema, type Lithology, LithologySchema, type Location, type LocationProperties, LocationPropertiesSchema, LocationSchema, type Well as Profile, type PumpingStep, PumpingStepSchema, type RecoveryOnlyEvent, RecoveryOnlyEventSchema, type RecoveryPhase, RecoveryPhaseSchema, type Reduction, ReductionSchema, SECTION_KEYS, type SectionKey, type SectionVisibility, type SpotMeasurementEvent, SpotMeasurementEventSchema, type StepDrawdownEvent, StepDrawdownEventSchema, type SurfaceCase, SurfaceCaseSchema, type Texture, type TextureCode, type TextureOption, TextureSchema, type Units, type UnitsTypes, type Well, type WellCase, WellCaseSchema, type WellId, WellIdSchema, WellSchema, type WellScreen, WellScreenSchema, checkIfProfileIsEmpty, convertProfileFromJSON, cubicMeterPerHourToLitersPerSecond, cubicMeterPerHourToUsGallonsPerMinute, decimalDegreesToDms, deserializeWell, dmsToDecimalDegrees, feetToMeters, hoursToMinutes, inchesToMm, isWellEmpty, kilopascalToPsi, litersPerSecondToCubicMeterPerHour, metersToFeet, minutesToHours, mmToInches, mmToSlotNumber, parseWell, profileToWell, psiToKilopascal, redactWell, serializeWell, slotNumberToMm, squareMeterPerDayToSquareMeterPerSecond, squareMeterPerSecondToSquareMeterPerDay, usGallonsPerMinuteToCubicMeterPerHour };
package/dist/index.d.ts CHANGED
@@ -89,6 +89,25 @@ type SurfaceCase = {
89
89
  /** Casing outer diameter in millimeters. */
90
90
  diameter: number;
91
91
  };
92
+ /**
93
+ * Centralizers clamped to a casing or screen string over a depth interval.
94
+ * `from === to` denotes a single centralizer. Positions are derived from
95
+ * `spacing`; the count is never stored.
96
+ */
97
+ type Centralizer = {
98
+ /** Start depth in meters from ground level. */
99
+ from: number;
100
+ /** End depth in meters from ground level. */
101
+ to: number;
102
+ /** Spacing between consecutive centralizers in meters. May be omitted when unknown. */
103
+ spacing?: number;
104
+ /** Centralizer type. Recommended: `spring_bow`, `rigid`, `semi_rigid`, `polymer`. Can be free-text. */
105
+ type: string;
106
+ /** As-built outer diameter in millimeters. */
107
+ diameter?: number;
108
+ /** Free-text description. */
109
+ description?: string;
110
+ };
92
111
  /** Concrete pad installed at ground level (depth 0) around the wellhead. All dimensions in **meters**. */
93
112
  type CementPad = {
94
113
  /** Free text description of the pad, typically its material (e.g. `concrete`) but may also describe its shape (e.g. `circular`) or both. */
@@ -283,8 +302,10 @@ type Well = {
283
302
  well_id?: WellId[];
284
303
  location?: Location;
285
304
  profiles?: string[];
286
- /** Classification of the well (e.g. `tubular`, `artesian`, `hand_dug`). */
305
+ /** Construction method of the well (e.g. `tubular`, `hand_dug`, `horizontal`). `artesian` is deprecated since v2.1. */
287
306
  well_type?: string;
307
+ /** Intended use(s) of the well (e.g. `production`, `monitoring`, `piezometer`). Since v2.1. */
308
+ well_purpose?: string[];
288
309
  /** Well name or local identifier. */
289
310
  name?: string;
290
311
  /** Name of the drilling company or individual. */
@@ -307,6 +328,8 @@ type Well = {
307
328
  well_screen: WellScreen[];
308
329
  surface_case: SurfaceCase[];
309
330
  hole_fill: HoleFill[];
331
+ /** Since v2.1. */
332
+ centralizers?: Centralizer[];
310
333
  cement_pad?: CementPad;
311
334
  lithology: Lithology[];
312
335
  fractures: Fracture[];
@@ -329,6 +352,7 @@ type Constructive = {
329
352
  well_screen: WellScreen[];
330
353
  surface_case: SurfaceCase[];
331
354
  hole_fill: HoleFill[];
355
+ centralizers?: Centralizer[];
332
356
  cement_pad?: CementPad;
333
357
  };
334
358
  /** Top-level grouping of a well's fields, used to selectively redact sections when sharing/exporting. */
@@ -532,6 +556,28 @@ declare const SurfaceCaseSchema: z.ZodObject<{
532
556
  to: number;
533
557
  diameter: number;
534
558
  }>;
559
+ declare const CentralizerSchema: z.ZodObject<{
560
+ from: z.ZodNumber;
561
+ to: z.ZodNumber;
562
+ spacing: z.ZodOptional<z.ZodNumber>;
563
+ type: z.ZodString;
564
+ diameter: z.ZodOptional<z.ZodNumber>;
565
+ description: z.ZodOptional<z.ZodString>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ type: string;
568
+ from: number;
569
+ to: number;
570
+ diameter?: number | undefined;
571
+ description?: string | undefined;
572
+ spacing?: number | undefined;
573
+ }, {
574
+ type: string;
575
+ from: number;
576
+ to: number;
577
+ diameter?: number | undefined;
578
+ description?: string | undefined;
579
+ spacing?: number | undefined;
580
+ }>;
535
581
  declare const CementPadSchema: z.ZodObject<{
536
582
  type: z.ZodString;
537
583
  width: z.ZodNumber;
@@ -2301,6 +2347,7 @@ declare const WellSchema: z.ZodObject<{
2301
2347
  }>>;
2302
2348
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
2303
2349
  well_type: z.ZodOptional<z.ZodString>;
2350
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2304
2351
  name: z.ZodOptional<z.ZodString>;
2305
2352
  well_driller: z.ZodOptional<z.ZodString>;
2306
2353
  construction_date: z.ZodOptional<z.ZodString>;
@@ -2411,6 +2458,28 @@ declare const WellSchema: z.ZodObject<{
2411
2458
  diameter: number;
2412
2459
  description: string;
2413
2460
  }>, "many">;
2461
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2462
+ from: z.ZodNumber;
2463
+ to: z.ZodNumber;
2464
+ spacing: z.ZodOptional<z.ZodNumber>;
2465
+ type: z.ZodString;
2466
+ diameter: z.ZodOptional<z.ZodNumber>;
2467
+ description: z.ZodOptional<z.ZodString>;
2468
+ }, "strip", z.ZodTypeAny, {
2469
+ type: string;
2470
+ from: number;
2471
+ to: number;
2472
+ diameter?: number | undefined;
2473
+ description?: string | undefined;
2474
+ spacing?: number | undefined;
2475
+ }, {
2476
+ type: string;
2477
+ from: number;
2478
+ to: number;
2479
+ diameter?: number | undefined;
2480
+ description?: string | undefined;
2481
+ spacing?: number | undefined;
2482
+ }>, "many">>;
2414
2483
  cement_pad: z.ZodOptional<z.ZodObject<{
2415
2484
  type: z.ZodString;
2416
2485
  width: z.ZodNumber;
@@ -3385,6 +3454,7 @@ declare const WellSchema: z.ZodObject<{
3385
3454
  }>>;
3386
3455
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
3387
3456
  well_type: z.ZodOptional<z.ZodString>;
3457
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
3388
3458
  name: z.ZodOptional<z.ZodString>;
3389
3459
  well_driller: z.ZodOptional<z.ZodString>;
3390
3460
  construction_date: z.ZodOptional<z.ZodString>;
@@ -3495,6 +3565,28 @@ declare const WellSchema: z.ZodObject<{
3495
3565
  diameter: number;
3496
3566
  description: string;
3497
3567
  }>, "many">;
3568
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
3569
+ from: z.ZodNumber;
3570
+ to: z.ZodNumber;
3571
+ spacing: z.ZodOptional<z.ZodNumber>;
3572
+ type: z.ZodString;
3573
+ diameter: z.ZodOptional<z.ZodNumber>;
3574
+ description: z.ZodOptional<z.ZodString>;
3575
+ }, "strip", z.ZodTypeAny, {
3576
+ type: string;
3577
+ from: number;
3578
+ to: number;
3579
+ diameter?: number | undefined;
3580
+ description?: string | undefined;
3581
+ spacing?: number | undefined;
3582
+ }, {
3583
+ type: string;
3584
+ from: number;
3585
+ to: number;
3586
+ diameter?: number | undefined;
3587
+ description?: string | undefined;
3588
+ spacing?: number | undefined;
3589
+ }>, "many">>;
3498
3590
  cement_pad: z.ZodOptional<z.ZodObject<{
3499
3591
  type: z.ZodString;
3500
3592
  width: z.ZodNumber;
@@ -4469,6 +4561,7 @@ declare const WellSchema: z.ZodObject<{
4469
4561
  }>>;
4470
4562
  profiles: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
4471
4563
  well_type: z.ZodOptional<z.ZodString>;
4564
+ well_purpose: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
4472
4565
  name: z.ZodOptional<z.ZodString>;
4473
4566
  well_driller: z.ZodOptional<z.ZodString>;
4474
4567
  construction_date: z.ZodOptional<z.ZodString>;
@@ -4579,6 +4672,28 @@ declare const WellSchema: z.ZodObject<{
4579
4672
  diameter: number;
4580
4673
  description: string;
4581
4674
  }>, "many">;
4675
+ centralizers: z.ZodOptional<z.ZodArray<z.ZodObject<{
4676
+ from: z.ZodNumber;
4677
+ to: z.ZodNumber;
4678
+ spacing: z.ZodOptional<z.ZodNumber>;
4679
+ type: z.ZodString;
4680
+ diameter: z.ZodOptional<z.ZodNumber>;
4681
+ description: z.ZodOptional<z.ZodString>;
4682
+ }, "strip", z.ZodTypeAny, {
4683
+ type: string;
4684
+ from: number;
4685
+ to: number;
4686
+ diameter?: number | undefined;
4687
+ description?: string | undefined;
4688
+ spacing?: number | undefined;
4689
+ }, {
4690
+ type: string;
4691
+ from: number;
4692
+ to: number;
4693
+ diameter?: number | undefined;
4694
+ description?: string | undefined;
4695
+ spacing?: number | undefined;
4696
+ }>, "many">>;
4582
4697
  cement_pad: z.ZodOptional<z.ZodObject<{
4583
4698
  type: z.ZodString;
4584
4699
  width: z.ZodNumber;
@@ -5585,4 +5700,4 @@ declare function psiToKilopascal(psi: number): number;
5585
5700
  declare function minutesToHours(min: number): number;
5586
5701
  declare function hoursToMinutes(h: number): number;
5587
5702
 
5588
- export { type AirliftEvent, AirliftEventSchema, type AquiferAnalysis, AquiferAnalysisSchema, type Attachment, AttachmentSchema, type BoreHole, BoreHoleSchema, type Cave, CaveSchema, type CementPad, CementPadSchema, type ConstantRateEvent, ConstantRateEventSchema, type Constructive, type DiameterUnits, type DmsCoordinate, FGDC_TEXTURES_OPTIONS, type Fracture, FractureSchema, type Geologic, type HistoryLogEntry, HistoryLogEntrySchema, type HoleFill, HoleFillSchema, type HydrodynamicEvent, type HydrodynamicEventBase, HydrodynamicEventBaseSchema, HydrodynamicEventSchema, type LengthUnits, type LevelReading, LevelReadingSchema, type Lithology, LithologySchema, type Location, type LocationProperties, LocationPropertiesSchema, LocationSchema, type Well as Profile, type PumpingStep, PumpingStepSchema, type RecoveryOnlyEvent, RecoveryOnlyEventSchema, type RecoveryPhase, RecoveryPhaseSchema, type Reduction, ReductionSchema, SECTION_KEYS, type SectionKey, type SectionVisibility, type SpotMeasurementEvent, SpotMeasurementEventSchema, type StepDrawdownEvent, StepDrawdownEventSchema, type SurfaceCase, SurfaceCaseSchema, type Texture, type TextureCode, type TextureOption, TextureSchema, type Units, type UnitsTypes, type Well, type WellCase, WellCaseSchema, type WellId, WellIdSchema, WellSchema, type WellScreen, WellScreenSchema, checkIfProfileIsEmpty, convertProfileFromJSON, cubicMeterPerHourToLitersPerSecond, cubicMeterPerHourToUsGallonsPerMinute, decimalDegreesToDms, deserializeWell, dmsToDecimalDegrees, feetToMeters, hoursToMinutes, inchesToMm, isWellEmpty, kilopascalToPsi, litersPerSecondToCubicMeterPerHour, metersToFeet, minutesToHours, mmToInches, mmToSlotNumber, parseWell, profileToWell, psiToKilopascal, redactWell, serializeWell, slotNumberToMm, squareMeterPerDayToSquareMeterPerSecond, squareMeterPerSecondToSquareMeterPerDay, usGallonsPerMinuteToCubicMeterPerHour };
5703
+ export { type AirliftEvent, AirliftEventSchema, type AquiferAnalysis, AquiferAnalysisSchema, type Attachment, AttachmentSchema, type BoreHole, BoreHoleSchema, type Cave, CaveSchema, type CementPad, CementPadSchema, type Centralizer, CentralizerSchema, type ConstantRateEvent, ConstantRateEventSchema, type Constructive, type DiameterUnits, type DmsCoordinate, FGDC_TEXTURES_OPTIONS, type Fracture, FractureSchema, type Geologic, type HistoryLogEntry, HistoryLogEntrySchema, type HoleFill, HoleFillSchema, type HydrodynamicEvent, type HydrodynamicEventBase, HydrodynamicEventBaseSchema, HydrodynamicEventSchema, type LengthUnits, type LevelReading, LevelReadingSchema, type Lithology, LithologySchema, type Location, type LocationProperties, LocationPropertiesSchema, LocationSchema, type Well as Profile, type PumpingStep, PumpingStepSchema, type RecoveryOnlyEvent, RecoveryOnlyEventSchema, type RecoveryPhase, RecoveryPhaseSchema, type Reduction, ReductionSchema, SECTION_KEYS, type SectionKey, type SectionVisibility, type SpotMeasurementEvent, SpotMeasurementEventSchema, type StepDrawdownEvent, StepDrawdownEventSchema, type SurfaceCase, SurfaceCaseSchema, type Texture, type TextureCode, type TextureOption, TextureSchema, type Units, type UnitsTypes, type Well, type WellCase, WellCaseSchema, type WellId, WellIdSchema, WellSchema, type WellScreen, WellScreenSchema, checkIfProfileIsEmpty, convertProfileFromJSON, cubicMeterPerHourToLitersPerSecond, cubicMeterPerHourToUsGallonsPerMinute, decimalDegreesToDms, deserializeWell, dmsToDecimalDegrees, feetToMeters, hoursToMinutes, inchesToMm, isWellEmpty, kilopascalToPsi, litersPerSecondToCubicMeterPerHour, metersToFeet, minutesToHours, mmToInches, mmToSlotNumber, parseWell, profileToWell, psiToKilopascal, redactWell, serializeWell, slotNumberToMm, squareMeterPerDayToSquareMeterPerSecond, squareMeterPerSecondToSquareMeterPerDay, usGallonsPerMinuteToCubicMeterPerHour };
package/dist/index.js CHANGED
@@ -66,6 +66,14 @@ var SurfaceCaseSchema = z.object({
66
66
  to: z.number(),
67
67
  diameter: z.number()
68
68
  });
69
+ var CentralizerSchema = z.object({
70
+ from: z.number(),
71
+ to: z.number(),
72
+ spacing: z.number().positive().optional(),
73
+ type: z.string(),
74
+ diameter: z.number().optional(),
75
+ description: z.string().optional()
76
+ });
69
77
  var CementPadSchema = z.object({
70
78
  type: z.string(),
71
79
  width: z.number(),
@@ -219,6 +227,7 @@ var WellSchema = z.object({
219
227
  })
220
228
  ).optional(),
221
229
  well_type: z.string().optional(),
230
+ well_purpose: z.array(z.string()).optional(),
222
231
  name: z.string().optional(),
223
232
  well_driller: z.string().optional(),
224
233
  construction_date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "construction_date must be YYYY-MM-DD").optional(),
@@ -233,6 +242,7 @@ var WellSchema = z.object({
233
242
  well_screen: z.array(WellScreenSchema),
234
243
  surface_case: z.array(SurfaceCaseSchema),
235
244
  hole_fill: z.array(HoleFillSchema),
245
+ centralizers: z.array(CentralizerSchema).optional(),
236
246
  cement_pad: CementPadSchema.optional(),
237
247
  lithology: z.array(LithologySchema),
238
248
  fractures: z.array(FractureSchema),
@@ -445,6 +455,9 @@ function decodeV2Well(raw) {
445
455
  profiles: raw.profiles
446
456
  },
447
457
  ...raw.well_type !== void 0 && { well_type: raw.well_type },
458
+ ...raw.well_purpose !== void 0 && {
459
+ well_purpose: raw.well_purpose
460
+ },
448
461
  ...raw.name !== void 0 && { name: raw.name },
449
462
  ...raw.well_driller !== void 0 && {
450
463
  well_driller: raw.well_driller
@@ -462,6 +475,9 @@ function decodeV2Well(raw) {
462
475
  well_screen: normalizeWellScreens(rawScreens),
463
476
  surface_case: raw.surface_case ?? [],
464
477
  hole_fill: raw.hole_fill ?? [],
478
+ ...raw.centralizers !== void 0 && {
479
+ centralizers: raw.centralizers
480
+ },
465
481
  ...raw.cement_pad ? { cement_pad: raw.cement_pad } : {},
466
482
  lithology: normalizeLithology(raw.lithology ?? []),
467
483
  fractures: raw.fractures ?? [],
@@ -523,6 +539,9 @@ function serializeWell(well) {
523
539
  ...well.location !== void 0 && { location: well.location },
524
540
  ...well.profiles !== void 0 && { profiles: well.profiles },
525
541
  ...well.well_type !== void 0 && { well_type: well.well_type },
542
+ ...well.well_purpose !== void 0 && {
543
+ well_purpose: well.well_purpose
544
+ },
526
545
  ...well.name !== void 0 && { name: well.name },
527
546
  ...well.well_driller !== void 0 && { well_driller: well.well_driller },
528
547
  ...well.construction_date !== void 0 && {
@@ -536,6 +555,9 @@ function serializeWell(well) {
536
555
  well_screen: well.well_screen,
537
556
  surface_case: well.surface_case,
538
557
  hole_fill: well.hole_fill,
558
+ ...well.centralizers !== void 0 && {
559
+ centralizers: well.centralizers
560
+ },
539
561
  ...well.cement_pad && { cement_pad: well.cement_pad },
540
562
  lithology: well.lithology,
541
563
  fractures: well.fractures,
@@ -562,6 +584,7 @@ function redactWell(well, visibility) {
562
584
  delete redacted.well_id;
563
585
  delete redacted.location;
564
586
  delete redacted.well_type;
587
+ delete redacted.well_purpose;
565
588
  delete redacted.name;
566
589
  delete redacted.well_driller;
567
590
  delete redacted.construction_date;
@@ -577,6 +600,7 @@ function redactWell(well, visibility) {
577
600
  redacted.well_screen = [];
578
601
  redacted.surface_case = [];
579
602
  redacted.hole_fill = [];
603
+ delete redacted.centralizers;
580
604
  delete redacted.cement_pad;
581
605
  delete redacted.well_depth;
582
606
  }
@@ -1022,6 +1046,7 @@ export {
1022
1046
  BoreHoleSchema,
1023
1047
  CaveSchema,
1024
1048
  CementPadSchema,
1049
+ CentralizerSchema,
1025
1050
  ConstantRateEventSchema,
1026
1051
  FGDC_TEXTURES_OPTIONS,
1027
1052
  FractureSchema,