@memberjunction/geo-core 5.31.0 → 5.33.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.
@@ -1,7 +1,7 @@
1
1
  import { BaseSingleton } from '@memberjunction/global';
2
2
  import { BaseEntity, EntityInfo, UserInfo } from '@memberjunction/core';
3
3
  import { MJRecordGeoCodeEntity } from '@memberjunction/core-entities';
4
- import { GeoFieldMapping, GeocodeResult } from './types.js';
4
+ import { GeoFieldMapping, GeocodeResult, ExistingGeoCodeInfo } from './types.js';
5
5
  /**
6
6
  * Singleton service that manages the geocoding lifecycle for entity records.
7
7
  * Called by CodeGen-generated AfterSave hooks on geo-enabled entities.
@@ -27,12 +27,15 @@ export declare class GeoCodeSyncService extends BaseSingleton<GeoCodeSyncService
27
27
  * @param entity - The entity instance that was just saved
28
28
  * @param contextUser - The user context for data operations
29
29
  * @param mappings - Field-to-location mappings (if not provided, derived from EntityField.ExtendedType metadata)
30
+ * @param existingGeoCodesMap - Optional pre-loaded map of existing RecordGeoCode rows keyed by
31
+ * `RecordID|LocationType`. When provided, eliminates per-record SQL queries in
32
+ * FindExistingGeoCode(). Used by the scheduled geocoding job for batch processing.
30
33
  * @returns The geocode result from the first successfully geocoded mapping, or null
31
34
  * if no geocoding was performed (e.g., hash unchanged) or all attempts failed.
32
35
  * The caller can use this to patch virtual lat/lng fields on the entity's
33
36
  * SP result before finalizeSave() loads it into the entity object.
34
37
  */
35
- SyncIfChanged(entity: BaseEntity, contextUser: UserInfo, mappings?: GeoFieldMapping[]): Promise<GeocodeResult | null>;
38
+ SyncIfChanged(entity: BaseEntity, contextUser: UserInfo, mappings?: GeoFieldMapping[], existingGeoCodesMap?: Map<string, ExistingGeoCodeInfo>): Promise<GeocodeResult | null>;
36
39
  /**
37
40
  * Derive geo field mappings from EntityField.ExtendedType metadata.
38
41
  * Finds all fields with Geo* ExtendedType values and groups them into
@@ -48,18 +51,31 @@ export declare class GeoCodeSyncService extends BaseSingleton<GeoCodeSyncService
48
51
  * @returns true if the entity has at least one field with a Geo* ExtendedType
49
52
  */
50
53
  static HasGeoFields(entityInfo: EntityInfo): boolean;
54
+ /**
55
+ * Build the composite key used for ExistingGeoCodeInfo map lookups.
56
+ * Format: `RecordID|LocationType`
57
+ */
58
+ static BuildGeoCodeMapKey(recordID: string, locationType: string): string;
51
59
  /**
52
60
  * Process a single field mapping for a single entity record.
61
+ * @param existingGeoCodesMap - Optional pre-loaded map for O(1) lookup instead of per-record SQL query
53
62
  * @returns The geocode result if geocoding was performed successfully, or null if
54
63
  * no geocoding was needed (hash unchanged) or the attempt failed.
55
64
  */
56
- protected ProcessMapping(entity: BaseEntity, mapping: GeoFieldMapping, contextUser: UserInfo): Promise<GeocodeResult | null>;
65
+ protected ProcessMapping(entity: BaseEntity, mapping: GeoFieldMapping, contextUser: UserInfo, existingGeoCodesMap?: Map<string, ExistingGeoCodeInfo>): Promise<GeocodeResult | null>;
57
66
  /**
58
67
  * Find an existing RecordGeoCode row for a given entity/record/location type.
68
+ *
69
+ * When `existingGeoCodesMap` is provided (batch mode), checks the in-memory map first.
70
+ * If a match is found, loads the full entity object by ID (single PK lookup — much cheaper
71
+ * than a filtered query). Falls back to a per-record RunView query when no map is provided
72
+ * (single-record mode, e.g., called from the AfterSave hook).
59
73
  */
60
- protected FindExistingGeoCode(entityID: string, recordID: string, locationType: string, contextUser: UserInfo): Promise<MJRecordGeoCodeEntity | null>;
74
+ protected FindExistingGeoCode(entityID: string, recordID: string, locationType: string, contextUser: UserInfo, existingGeoCodesMap?: Map<string, ExistingGeoCodeInfo>): Promise<MJRecordGeoCodeEntity | null>;
61
75
  /**
62
- * Create a new RecordGeoCode row.
76
+ * Create a new RecordGeoCode row. If the insert fails due to a unique
77
+ * constraint (race condition from concurrent batch geocoding), falls back
78
+ * to loading the existing row.
63
79
  */
64
80
  protected CreateGeoCodeRow(entityID: string, recordID: string, locationType: string, contextUser: UserInfo): Promise<MJRecordGeoCodeEntity | null>;
65
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GeoCodeSyncService.d.ts","sourceRoot":"","sources":["../src/GeoCodeSyncService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAmB,UAAU,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AACjI,OAAO,EAAE,qBAAqB,EAAiB,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAmC,MAAM,SAAS,CAAC;AAuB1F;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;;IAKrE,WAAkB,QAAQ,IAAI,kBAAkB,CAE/C;IAED;;;;;;;;;;;;;OAaG;IACU,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsBlI;;;;;;;OAOG;WACW,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,EAAE;IAgBlF;;;;OAIG;WACW,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI3D;;;;OAIG;cACa,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAkElI;;OAEG;cACa,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAcxC;;OAEG;cACa,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAiBxC;;OAEG;cACa,aAAa,CACzB,GAAG,EAAE,qBAAqB,EAC1B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;cACa,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F;;OAEG;cACa,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F;;;;;;OAMG;cACa,OAAO,CACnB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4ChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;YACW,gBAAgB;IAwC9B;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,eAAe;CAc1B"}
1
+ {"version":3,"file":"GeoCodeSyncService.d.ts","sourceRoot":"","sources":["../src/GeoCodeSyncService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAmB,UAAU,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AACjI,OAAO,EAAE,qBAAqB,EAAiB,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAmC,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAuB/G;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,kBAAkB,CAAC;;IAKrE,WAAkB,QAAQ,IAAI,kBAAkB,CAE/C;IAED;;;;;;;;;;;;;;;;OAgBG;IACU,aAAa,CACtB,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,eAAe,EAAE,EAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACvD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAsBhC;;;;;;;OAOG;WACW,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,EAAE;IAgBlF;;;;OAIG;WACW,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAI3D;;;OAGG;WACW,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIhF;;;;;OAKG;cACa,cAAc,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,QAAQ,EACrB,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACvD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAmEhC;;;;;;;OAOG;cACa,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,QAAQ,EACrB,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GACvD,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA8BxC;;;;OAIG;cACa,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAuBxC;;OAEG;cACa,aAAa,CACzB,GAAG,EAAE,qBAAqB,EAC1B,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;cACa,mBAAmB,CAAC,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F;;OAEG;cACa,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9F;;;;;;OAMG;cACa,OAAO,CACnB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4ChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;YACW,gBAAgB;IAwC9B;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,eAAe;CAc1B"}
@@ -31,12 +31,15 @@ export class GeoCodeSyncService extends BaseSingleton {
31
31
  * @param entity - The entity instance that was just saved
32
32
  * @param contextUser - The user context for data operations
33
33
  * @param mappings - Field-to-location mappings (if not provided, derived from EntityField.ExtendedType metadata)
34
+ * @param existingGeoCodesMap - Optional pre-loaded map of existing RecordGeoCode rows keyed by
35
+ * `RecordID|LocationType`. When provided, eliminates per-record SQL queries in
36
+ * FindExistingGeoCode(). Used by the scheduled geocoding job for batch processing.
34
37
  * @returns The geocode result from the first successfully geocoded mapping, or null
35
38
  * if no geocoding was performed (e.g., hash unchanged) or all attempts failed.
36
39
  * The caller can use this to patch virtual lat/lng fields on the entity's
37
40
  * SP result before finalizeSave() loads it into the entity object.
38
41
  */
39
- async SyncIfChanged(entity, contextUser, mappings) {
42
+ async SyncIfChanged(entity, contextUser, mappings, existingGeoCodesMap) {
40
43
  const resolvedMappings = mappings ?? GeoCodeSyncService.BuildMappingsFromMetadata(entity.EntityInfo);
41
44
  if (resolvedMappings.length === 0)
42
45
  return null;
@@ -47,7 +50,7 @@ export class GeoCodeSyncService extends BaseSingleton {
47
50
  await GeoDataEngine.Instance.Config(false, contextUser);
48
51
  for (const mapping of resolvedMappings) {
49
52
  try {
50
- const result = await this.ProcessMapping(entity, mapping, contextUser);
53
+ const result = await this.ProcessMapping(entity, mapping, contextUser, existingGeoCodesMap);
51
54
  if (result)
52
55
  return result;
53
56
  }
@@ -87,12 +90,20 @@ export class GeoCodeSyncService extends BaseSingleton {
87
90
  static HasGeoFields(entityInfo) {
88
91
  return entityInfo.SupportsGeoCoding && GeoCodeSyncService.BuildMappingsFromMetadata(entityInfo).length > 0;
89
92
  }
93
+ /**
94
+ * Build the composite key used for ExistingGeoCodeInfo map lookups.
95
+ * Format: `RecordID|LocationType`
96
+ */
97
+ static BuildGeoCodeMapKey(recordID, locationType) {
98
+ return `${recordID}|${locationType}`;
99
+ }
90
100
  /**
91
101
  * Process a single field mapping for a single entity record.
102
+ * @param existingGeoCodesMap - Optional pre-loaded map for O(1) lookup instead of per-record SQL query
92
103
  * @returns The geocode result if geocoding was performed successfully, or null if
93
104
  * no geocoding was needed (hash unchanged) or the attempt failed.
94
105
  */
95
- async ProcessMapping(entity, mapping, contextUser) {
106
+ async ProcessMapping(entity, mapping, contextUser, existingGeoCodesMap) {
96
107
  const hash = ComputeGeoSourceHash(entity, mapping.Fields);
97
108
  // Build RecordID matching the format used in the view's LEFT JOIN to vwRecordGeoCodes:
98
109
  // - Single PK: bare value as string (e.g., "38CB433E-F36B-1410-84B4-00BD01F02867")
@@ -102,7 +113,7 @@ export class GeoCodeSyncService extends BaseSingleton {
102
113
  const recordId = pkPairs.length === 1
103
114
  ? String(pkPairs[0].Value)
104
115
  : pkPairs.map(pk => String(pk.Value)).join('||');
105
- const existing = await this.FindExistingGeoCode(entity.EntityInfo.ID, recordId, mapping.LocationType, contextUser);
116
+ const existing = await this.FindExistingGeoCode(entity.EntityInfo.ID, recordId, mapping.LocationType, contextUser, existingGeoCodesMap);
106
117
  if (existing && existing.SourceFieldHash === hash && existing.Status === 'success') {
107
118
  return null; // No change, already geocoded successfully
108
119
  }
@@ -144,8 +155,28 @@ export class GeoCodeSyncService extends BaseSingleton {
144
155
  }
145
156
  /**
146
157
  * Find an existing RecordGeoCode row for a given entity/record/location type.
158
+ *
159
+ * When `existingGeoCodesMap` is provided (batch mode), checks the in-memory map first.
160
+ * If a match is found, loads the full entity object by ID (single PK lookup — much cheaper
161
+ * than a filtered query). Falls back to a per-record RunView query when no map is provided
162
+ * (single-record mode, e.g., called from the AfterSave hook).
147
163
  */
148
- async FindExistingGeoCode(entityID, recordID, locationType, contextUser) {
164
+ async FindExistingGeoCode(entityID, recordID, locationType, contextUser, existingGeoCodesMap) {
165
+ // Batch mode: O(1) map lookup + single PK load
166
+ if (existingGeoCodesMap) {
167
+ const key = `${recordID}|${locationType}`;
168
+ const info = existingGeoCodesMap.get(key);
169
+ if (!info)
170
+ return null;
171
+ // We have a match — check staleness inline to avoid loading the full entity
172
+ // when the hash hasn't changed. The caller (ProcessMapping) does this check too,
173
+ // but we can short-circuit the entity load here for the common "no change" case.
174
+ const md = new Metadata(); // global-provider-ok: sync service — single-provider context
175
+ const row = await md.GetEntityObject('MJ: Record Geo Codes', contextUser);
176
+ const loaded = await row.Load(info.ID);
177
+ return loaded ? row : null;
178
+ }
179
+ // Single-record mode: per-record RunView query (used by AfterSave hook)
149
180
  const rv = new RunView();
150
181
  const result = await rv.RunView({
151
182
  EntityName: 'MJ: Record Geo Codes',
@@ -159,7 +190,9 @@ export class GeoCodeSyncService extends BaseSingleton {
159
190
  return null;
160
191
  }
161
192
  /**
162
- * Create a new RecordGeoCode row.
193
+ * Create a new RecordGeoCode row. If the insert fails due to a unique
194
+ * constraint (race condition from concurrent batch geocoding), falls back
195
+ * to loading the existing row.
163
196
  */
164
197
  async CreateGeoCodeRow(entityID, recordID, locationType, contextUser) {
165
198
  const md = new Metadata(); // global-provider-ok: sync service — single-provider context
@@ -172,6 +205,12 @@ export class GeoCodeSyncService extends BaseSingleton {
172
205
  row.RetryCount = 0;
173
206
  const saved = await row.Save();
174
207
  if (!saved) {
208
+ // Likely a UNIQUE KEY violation from a concurrent batch — another thread
209
+ // created the row between our FindExistingGeoCode check and this INSERT.
210
+ // Fall back to loading the existing row.
211
+ const existing = await this.FindExistingGeoCode(entityID, recordID, locationType, contextUser);
212
+ if (existing)
213
+ return existing;
175
214
  LogError(`GeoCodeSyncService: Failed to create RecordGeoCode row: ${row.LatestResult?.CompleteMessage ?? 'unknown error'}`);
176
215
  return null;
177
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GeoCodeSyncService.js","sourceRoot":"","sources":["../src/GeoCodeSyncService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeoCodeSyncService.js","sourceRoot":"","sources":["../src/GeoCodeSyncService.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -31,6 +31,19 @@ export interface GeocodeResult {
31
31
  StateProvinceID: string | null;
32
32
  Source: GeocodingSource;
33
33
  }
34
+ /**
35
+ * Lightweight summary of an existing RecordGeoCode row, used by bulk lookup
36
+ * to eliminate per-record SQL queries during batch geocoding.
37
+ *
38
+ * The map is keyed by `RecordID|LocationType` for O(1) lookup.
39
+ */
40
+ export interface ExistingGeoCodeInfo {
41
+ ID: string;
42
+ RecordID: string;
43
+ LocationType: string;
44
+ SourceFieldHash: string | null;
45
+ Status: string;
46
+ }
34
47
  /**
35
48
  * Distance unit for proximity queries.
36
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,wFAAwF;IACxF,YAAY,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAE1G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,wFAAwF;IACxF,YAAY,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAAC;AAE1G;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/geo-core",
3
3
  "type": "module",
4
- "version": "5.31.0",
4
+ "version": "5.33.0",
5
5
  "description": "MemberJunction: Core geo-spatial types, interfaces, and GeoCodeSyncService for geocoding lifecycle management",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -17,9 +17,9 @@
17
17
  "author": "MemberJunction.com",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@memberjunction/global": "5.31.0",
21
- "@memberjunction/core": "5.31.0",
22
- "@memberjunction/core-entities": "5.31.0"
20
+ "@memberjunction/global": "5.33.0",
21
+ "@memberjunction/core": "5.33.0",
22
+ "@memberjunction/core-entities": "5.33.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^24.10.11",