@land-catalyst/batch-data-sdk 1.1.12 → 1.2.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.
@@ -379,10 +379,20 @@ export interface SearchCriteria {
379
379
  or?: OrSearchCriteria[];
380
380
  }
381
381
  /**
382
- * Delivery configuration for webhook or Kinesis
382
+ * Event Hub configuration for Azure Event Hubs
383
+ */
384
+ export interface EventHubConfig {
385
+ fullyQualifiedNamespace: string;
386
+ clientId: string;
387
+ tenantId: string;
388
+ clientSecret: string;
389
+ eventHubName: string;
390
+ }
391
+ /**
392
+ * Delivery configuration for webhook, Kinesis, or Event Hub
383
393
  */
384
394
  export interface DeliveryConfig {
385
- type: "webhook" | "kinesis";
395
+ type: "webhook" | "kinesis" | "event-hub";
386
396
  streamName?: string;
387
397
  region?: string;
388
398
  iamAccessKeyId?: string;
@@ -390,6 +400,7 @@ export interface DeliveryConfig {
390
400
  url?: string;
391
401
  errorUrl?: string;
392
402
  headers?: Record<string, string>;
403
+ eventHub?: EventHubConfig;
393
404
  }
394
405
  /**
395
406
  * Property subscription request payload
@@ -711,33 +722,194 @@ export interface PropertySearchPreviewResponse {
711
722
  * Property address information
712
723
  */
713
724
  export interface PropertyAddress {
725
+ /**
726
+ * The validity of the address (e.g. Valid, Invalid, Partially Valid)
727
+ * @fieldPath address.addressValidity
728
+ * @dataType string
729
+ * @dataset Basic Property Data
730
+ * @see {@link getPropertyFieldMetadata} to get full metadata
731
+ */
714
732
  addressValidity?: string;
733
+ /**
734
+ * House number of the property address.
735
+ * @fieldPath address.houseNumber
736
+ * @dataType string
737
+ * @dataset Basic Property Data
738
+ * @see {@link getPropertyFieldMetadata} to get full metadata
739
+ */
715
740
  houseNumber?: string;
741
+ /**
742
+ * The street address (e.g. 123 Main Street)
743
+ * @fieldPath address.street
744
+ * @dataType string
745
+ * @dataset Basic Property Data
746
+ * @see {@link getPropertyFieldMetadata} to get full metadata
747
+ */
716
748
  street?: string;
749
+ /**
750
+ * The city (e.g. Chicago)
751
+ * @fieldPath address.city
752
+ * @dataType string
753
+ * @dataset Basic Property Data
754
+ * @see {@link getPropertyFieldMetadata} to get full metadata
755
+ */
717
756
  city?: string;
757
+ /**
758
+ * Property address County
759
+ * @fieldPath address.county
760
+ * @dataType string
761
+ * @dataset Basic Property Data
762
+ * @see {@link getPropertyFieldMetadata} to get full metadata
763
+ */
718
764
  county?: string;
765
+ /**
766
+ * Property address state (2 letter abbreviation)
767
+ * @fieldPath address.state
768
+ * @dataType string
769
+ * @dataset Basic Property Data
770
+ * @see {@link getPropertyFieldMetadata} to get full metadata
771
+ */
719
772
  state?: string;
773
+ /**
774
+ * Property address zip code.
775
+ * @fieldPath address.zip
776
+ * @dataType string
777
+ * @dataset Basic Property Data
778
+ * @see {@link getPropertyFieldMetadata} to get full metadata
779
+ */
720
780
  zip?: string;
781
+ /**
782
+ * Property address zip+4 code
783
+ * @fieldPath address.zipPlus4
784
+ * @dataType string
785
+ * @dataset Basic Property Data
786
+ * @see {@link getPropertyFieldMetadata} to get full metadata
787
+ */
721
788
  zipPlus4?: string;
789
+ /**
790
+ * The property's latitude
791
+ * @fieldPath address.latitude
792
+ * @dataType number
793
+ * @dataset Basic Property Data
794
+ * @see {@link getPropertyFieldMetadata} to get full metadata
795
+ */
722
796
  latitude?: number;
797
+ /**
798
+ * The property's longitude
799
+ * @fieldPath address.longitude
800
+ * @dataType number
801
+ * @dataset Basic Property Data
802
+ * @see {@link getPropertyFieldMetadata} to get full metadata
803
+ */
723
804
  longitude?: number;
805
+ /**
806
+ * The county FIPS code for the property address
807
+ * @fieldPath address.countyFipsCode
808
+ * @dataType string
809
+ * @dataset Basic Property Data
810
+ * @see {@link getPropertyFieldMetadata} to get full metadata
811
+ */
724
812
  countyFipsCode?: string;
813
+ /**
814
+ * The property's address hash. Used to uniquely identify an address street, city, state and zip.
815
+ * @fieldPath address.hash
816
+ * @dataType string
817
+ * @dataset Basic Property Data
818
+ * @see {@link getPropertyFieldMetadata} to get full metadata
819
+ */
725
820
  hash?: string;
726
821
  }
727
822
  /**
728
823
  * Mailing address information
729
824
  */
730
825
  export interface MailingAddress {
826
+ /**
827
+ * The street address (e.g. 123 Main St Apt 45)
828
+ * @fieldPath owner.mailingAddress.street
829
+ * @dataType string
830
+ * @dataset Basic Property Data
831
+ * @see {@link getPropertyFieldMetadata} to get full metadata
832
+ */
731
833
  street?: string;
834
+ /**
835
+ * The city (e.g. Chicago)
836
+ * @fieldPath owner.mailingAddress.city
837
+ * @dataType string
838
+ * @dataset Basic Property Data
839
+ * @see {@link getPropertyFieldMetadata} to get full metadata
840
+ */
732
841
  city?: string;
842
+ /**
843
+ * The state abbreviation (e.g. IL)
844
+ * @fieldPath owner.mailingAddress.state
845
+ * @dataType string
846
+ * @dataset Basic Property Data
847
+ * @see {@link getPropertyFieldMetadata} to get full metadata
848
+ */
733
849
  state?: string;
850
+ /**
851
+ * The zip code (e.g. 12345)
852
+ * @fieldPath owner.mailingAddress.zip
853
+ * @dataType string
854
+ * @dataset Basic Property Data
855
+ * @see {@link getPropertyFieldMetadata} to get full metadata
856
+ */
734
857
  zip?: string;
858
+ /**
859
+ * The owner mailing address' hash. Used to uniquely identify an address street, city, state and zip.
860
+ * @fieldPath owner.mailingAddress.hash
861
+ * @dataType string
862
+ * @dataset Basic Property Data
863
+ * @see {@link getPropertyFieldMetadata} to get full metadata
864
+ */
735
865
  hash?: string;
866
+ /**
867
+ * The validity of the address (e.g. Valid, Invalid, Partially Valid)
868
+ * @fieldPath owner.mailingAddress.addressValidity
869
+ * @dataType string
870
+ * @dataset Basic Property Data
871
+ * @see {@link getPropertyFieldMetadata} to get full metadata
872
+ */
736
873
  addressValidity?: string;
874
+ /**
875
+ * The county (e.g. Cook)
876
+ * @fieldPath owner.mailingAddress.county
877
+ * @dataType string
878
+ * @dataset Basic Property Data
879
+ * @see {@link getPropertyFieldMetadata} to get full metadata
880
+ */
737
881
  county?: string;
882
+ /**
883
+ * The zip plus 4 code (e.g. 6789)
884
+ * @fieldPath owner.mailingAddress.zipPlus4
885
+ * @dataType string
886
+ * @dataset Basic Property Data
887
+ * @see {@link getPropertyFieldMetadata} to get full metadata
888
+ */
738
889
  zipPlus4?: string;
890
+ /**
891
+ * The 2 digits representing the delivery point of the address + an additional check digit.
892
+ * @fieldPath owner.mailingAddress.deliveryPointCode
893
+ * @dataType string
894
+ * @dataset Basic Property Data
895
+ * @see {@link getPropertyFieldMetadata} to get full metadata
896
+ */
739
897
  deliveryPointCode?: string;
898
+ /**
899
+ * Delivery point verification match code.
900
+ * @fieldPath owner.mailingAddress.dpvMatchCode
901
+ * @dataType string
902
+ * @dataset Basic Property Data
903
+ * @see {@link getPropertyFieldMetadata} to get full metadata
904
+ */
740
905
  dpvMatchCode?: string;
906
+ /**
907
+ * Codes with more details about the DPV match.
908
+ * @fieldPath owner.mailingAddress.dpvFootnotes
909
+ * @dataType string
910
+ * @dataset Basic Property Data
911
+ * @see {@link getPropertyFieldMetadata} to get full metadata
912
+ */
741
913
  dpvFootnotes?: string;
742
914
  }
743
915
  /**
@@ -798,6 +970,13 @@ export interface Foreclosure {
798
970
  * Property IDs
799
971
  */
800
972
  export interface PropertyIds {
973
+ /**
974
+ * The assessor's parcel number
975
+ * @fieldPath ids.apn
976
+ * @dataType string
977
+ * @dataset Basic Property Data
978
+ * @see {@link getPropertyFieldMetadata} to get full metadata
979
+ */
801
980
  apn?: string;
802
981
  }
803
982
  /**
@@ -888,6 +1067,13 @@ export interface OwnerName {
888
1067
  * Owner information
889
1068
  */
890
1069
  export interface Owner {
1070
+ /**
1071
+ * The property owner name(s)
1072
+ * @fieldPath owner.fullName
1073
+ * @dataType string
1074
+ * @dataset Basic Property Data
1075
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1076
+ */
891
1077
  fullName?: string;
892
1078
  mailingAddress?: MailingAddress;
893
1079
  names?: OwnerName[];
@@ -989,9 +1175,51 @@ export interface Valuation {
989
1175
  */
990
1176
  export interface Property {
991
1177
  _id?: string;
1178
+ /**
1179
+ * The address of the listing brokerage
1180
+ * @fieldPath listing.brokerage.address
1181
+ * @dataType string
1182
+ * @dataset Listing
1183
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1184
+ */
1185
+ /**
1186
+ * The address of the listing brokerage
1187
+ * @fieldPath listing.brokerage.address
1188
+ * @dataType string
1189
+ * @dataset Listing
1190
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1191
+ */
1192
+ /**
1193
+ * The address of the listing brokerage
1194
+ * @fieldPath listing.brokerage.address
1195
+ * @dataType string
1196
+ * @dataset Listing
1197
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1198
+ */
992
1199
  address?: PropertyAddress;
993
1200
  deedHistory?: DeedHistoryEntry[];
994
1201
  demographics?: Demographics;
1202
+ /**
1203
+ * A flag indicating the sale/transfer is at auction by an investor or repossession by a financial institution
1204
+ * @fieldPath deedHistory.[n].foreclosure
1205
+ * @dataType boolean
1206
+ * @dataset History (Deed)
1207
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1208
+ */
1209
+ /**
1210
+ * A flag indicating the sale/transfer is at auction by an investor or repossession by a financial institution
1211
+ * @fieldPath deedHistory.[n].foreclosure
1212
+ * @dataType boolean
1213
+ * @dataset History (Deed)
1214
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1215
+ */
1216
+ /**
1217
+ * A flag indicating the sale/transfer is at auction by an investor or repossession by a financial institution
1218
+ * @fieldPath deedHistory.[n].foreclosure
1219
+ * @dataType boolean
1220
+ * @dataset History (Deed)
1221
+ * @see {@link getPropertyFieldMetadata} to get full metadata
1222
+ */
995
1223
  foreclosure?: Foreclosure;
996
1224
  ids?: PropertyIds;
997
1225
  images?: PropertyImages;
package/dist/index.d.ts CHANGED
@@ -4,10 +4,14 @@
4
4
  * TypeScript SDK for BatchData.io Property API
5
5
  * Complete type definitions, fluent query builders, and utilities
6
6
  */
7
- export * from "./types";
8
- export * from "./builders";
9
- export * from "./errors";
10
- export * from "./client";
11
- export * from "./client.interface";
12
- export * from "./logger.interface";
13
- export type { RequestMiddleware, ResponseMiddleware, ErrorMiddleware, HttpMiddleware, } from "./client";
7
+ export * from "./core/types";
8
+ export * from "./builders/builders";
9
+ export * from "./core/errors";
10
+ export * from "./client/client";
11
+ export * from "./client/client.interface";
12
+ export * from "./core/logger.interface";
13
+ export * from "./property-field/metadata";
14
+ export * from "./property-field/utils";
15
+ export { type PropertyFieldPathType, type PropertyFieldValueType, type FieldMetadataForPath, } from "./property-field/types";
16
+ export type { SearchCriteriaFieldMapping, SearchCriteriaFieldMetadata, } from "./property-field/utils";
17
+ export type { RequestMiddleware, ResponseMiddleware, ErrorMiddleware, HttpMiddleware, } from "./client/client";
package/dist/index.js CHANGED
@@ -20,9 +20,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- __exportStar(require("./types"), exports);
24
- __exportStar(require("./builders"), exports);
25
- __exportStar(require("./errors"), exports);
26
- __exportStar(require("./client"), exports);
27
- __exportStar(require("./client.interface"), exports);
28
- __exportStar(require("./logger.interface"), exports);
23
+ __exportStar(require("./core/types"), exports);
24
+ __exportStar(require("./builders/builders"), exports);
25
+ __exportStar(require("./core/errors"), exports);
26
+ __exportStar(require("./client/client"), exports);
27
+ __exportStar(require("./client/client.interface"), exports);
28
+ __exportStar(require("./core/logger.interface"), exports);
29
+ __exportStar(require("./property-field/metadata"), exports);
30
+ __exportStar(require("./property-field/utils"), exports);
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Property Field Metadata
3
+ *
4
+ * This file contains metadata about all available property response fields,
5
+ * generated from the property-details-data-dictionary.csv file.
6
+ *
7
+ * This metadata can be used for:
8
+ * - Type-safe field path access
9
+ * - Documentation generation
10
+ * - Field validation
11
+ * - IDE autocomplete
12
+ *
13
+ * @generated This file is auto-generated. Do not edit manually.
14
+ * Run: node scripts/generate-property-field-metadata.js
15
+ */
16
+ /**
17
+ * Property field data type
18
+ */
19
+ export type PropertyFieldType = "string" | "number" | "boolean" | "date" | "array[string]" | "array[number]" | "object";
20
+ /**
21
+ * Property field metadata entry
22
+ */
23
+ export interface PropertyFieldMetadata {
24
+ /**
25
+ * The field path in the response (e.g., "address.city", "owner.names.[n].first")
26
+ */
27
+ fieldPath: string;
28
+ /**
29
+ * The dataset this field belongs to
30
+ */
31
+ dataset: string;
32
+ /**
33
+ * The top-level response group name (e.g., "address", "owner")
34
+ */
35
+ responseGroupName?: string;
36
+ /**
37
+ * The resource sub-group name (e.g., "mailingAddress", "names")
38
+ */
39
+ resourceSubGroupName?: string;
40
+ /**
41
+ * The field name
42
+ */
43
+ name: string;
44
+ /**
45
+ * The data type
46
+ */
47
+ dataType: PropertyFieldType;
48
+ /**
49
+ * Human-readable description
50
+ */
51
+ description: string;
52
+ /**
53
+ * Whether this field is an array element (indicated by [n] in the path)
54
+ */
55
+ isArrayElement: boolean;
56
+ }
57
+ /**
58
+ * Registry of all property field metadata, indexed by field path
59
+ */
60
+ export declare const PROPERTY_FIELD_METADATA: Record<string, PropertyFieldMetadata>;
61
+ /**
62
+ * Get metadata for a specific field path
63
+ * @param fieldPath The field path (e.g., "address.city")
64
+ * @returns The field metadata, or undefined if not found
65
+ */
66
+ export declare function getFieldMetadata(fieldPath: string): PropertyFieldMetadata | undefined;
67
+ /**
68
+ * Get all fields for a specific dataset
69
+ * @param dataset The dataset name
70
+ * @returns Array of field metadata
71
+ */
72
+ export declare function getFieldsByDataset(dataset: string): PropertyFieldMetadata[];
73
+ /**
74
+ * Get all fields for a specific response group
75
+ * @param responseGroupName The response group name (e.g., "address", "owner")
76
+ * @returns Array of field metadata
77
+ */
78
+ export declare function getFieldsByResponseGroup(responseGroupName: string): PropertyFieldMetadata[];
79
+ /**
80
+ * Get all available field paths
81
+ * @returns Array of field paths
82
+ */
83
+ export declare function getAllFieldPaths(): string[];
84
+ /**
85
+ * Get all available datasets
86
+ * @returns Array of unique dataset names
87
+ */
88
+ export declare function getAllDatasets(): string[];
89
+ /**
90
+ * Get all available response groups
91
+ * @returns Array of unique response group names
92
+ */
93
+ export declare function getAllResponseGroups(): string[];
94
+ /**
95
+ * Check if a field path exists in the metadata
96
+ * @param fieldPath The field path to check
97
+ * @returns True if the field exists
98
+ */
99
+ export declare function hasField(fieldPath: string): boolean;
100
+ /**
101
+ * Get the TypeScript type for a field based on its data type
102
+ * @param dataType The property field data type
103
+ * @returns The TypeScript type string
104
+ */
105
+ export declare function getTypeScriptType(dataType: PropertyFieldType): string;