@any-routing/core 0.0.0 → 0.1.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/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@any-routing/core",
3
- "version": "0.0.0",
3
+ "version": "0.1.0",
4
+ "private": false,
4
5
  "license": "MIT",
5
6
  "author": "Marcin Lazar",
6
7
  "keywords": [
@@ -1,13 +1,12 @@
1
1
  import { AnyRoutingDataResponse, RouteSummary } from './data-providers';
2
2
  import { AnyRoutingEventsMap, AnyRoutingOptions, AnyRoutingState, Waypoint as InputWaypoint, InternalWaypoint, RecalculateOptions, Mode } from './libre-routing.model';
3
- export declare class AnyRouting<R extends AnyRoutingDataResponse = AnyRoutingDataResponse, MapType extends object = object> {
3
+ export declare class AnyRouting<R extends AnyRoutingDataResponse = AnyRoutingDataResponse> {
4
4
  private readonly dispatcher;
5
- private _map;
5
+ private readonly geocoder?;
6
6
  private _options;
7
7
  private _plugins;
8
8
  private _initialState;
9
9
  private _state;
10
- get map(): MapType;
11
10
  get options(): AnyRoutingOptions;
12
11
  get data(): R;
13
12
  get state(): AnyRoutingState<R>;
@@ -15,7 +14,7 @@ export declare class AnyRouting<R extends AnyRoutingDataResponse = AnyRoutingDat
15
14
  get selectedRouteId(): number | undefined | null;
16
15
  private get waypoints();
17
16
  constructor(options: AnyRoutingOptions);
18
- initialize(map: MapType): void;
17
+ initialize(): void;
19
18
  onRemove(): void;
20
19
  setMode(mode: Mode): void;
21
20
  setWaypoints(waypoints: InputWaypoint[]): void;
@@ -40,4 +39,5 @@ export declare class AnyRouting<R extends AnyRoutingDataResponse = AnyRoutingDat
40
39
  private _patchState;
41
40
  private transformToInternalWaypoints;
42
41
  private fire;
42
+ private geocodeWaypoints;
43
43
  }
@@ -4,9 +4,6 @@ import { randomId } from './utils/random';
4
4
  import { InternalWaypointC, } from './libre-routing.model';
5
5
  import { featureCollection } from '@turf/helpers';
6
6
  export class AnyRouting {
7
- get map() {
8
- return this._map;
9
- }
10
7
  get options() {
11
8
  return this._options;
12
9
  }
@@ -40,9 +37,15 @@ export class AnyRouting {
40
37
  this._state = Object.assign({}, this._initialState);
41
38
  this._options = Object.assign({ uniqueKey: randomId() }, options);
42
39
  this._plugins = (_a = options.plugins) !== null && _a !== void 0 ? _a : [];
40
+ if (this.options.waypointsSyncStrategy === 'geocodeFirst' && !this.options.geocoder) {
41
+ throw new Error('Geocoder is required when waypointsSyncStrategy is `geocodeFirst`');
42
+ }
43
+ this.geocoder =
44
+ this.options.geocoder && typeof this.options.geocoder === 'function'
45
+ ? { geocode: this.options.geocoder }
46
+ : this.options.geocoder;
43
47
  }
44
- initialize(map) {
45
- this._map = map;
48
+ initialize() {
46
49
  this.initPlugins();
47
50
  }
48
51
  onRemove() {
@@ -56,7 +59,6 @@ export class AnyRouting {
56
59
  setWaypoints(waypoints) {
57
60
  const internalWaypoints = this.transformToInternalWaypoints(waypoints);
58
61
  this._patchState({ waypoints: internalWaypoints });
59
- this.fire('waypointsChanged', { waypoints: this.state.waypoints });
60
62
  }
61
63
  getWaypoint(waypointId) {
62
64
  return this._state.waypoints[waypointId];
@@ -64,16 +66,11 @@ export class AnyRouting {
64
66
  recalculateRoute(opts = {}) {
65
67
  var _a;
66
68
  return __awaiter(this, void 0, void 0, function* () {
67
- if (!this.map || this.waypoints.length < 2)
69
+ if (this.waypoints.length < 2)
68
70
  return;
69
71
  if (!this.options.dataProvider) {
70
72
  throw new Error('No data provider');
71
73
  }
72
- this.fire('calculationStarted', {
73
- mode: this.state.mode,
74
- waypoints: this.waypoints,
75
- recalculateOptions: opts,
76
- });
77
74
  if (opts.dropPendingRequests) {
78
75
  yield this.options.dataProvider.abortAllRequests();
79
76
  }
@@ -81,24 +78,39 @@ export class AnyRouting {
81
78
  if (!this._state.loading) {
82
79
  patchState = Object.assign(Object.assign({}, patchState), { loading: true });
83
80
  }
81
+ this.fire('calculationStarted', {
82
+ mode: this.state.mode,
83
+ waypoints: this.waypoints,
84
+ recalculateOptions: opts,
85
+ });
84
86
  this._patchState(patchState);
85
87
  if ('loading' in patchState) {
86
88
  this.fire('loadingChanged', { loading: true });
87
89
  }
88
90
  try {
91
+ let patchState = {};
92
+ if (opts.syncWaypoints !== false && this.options.waypointsSyncStrategy === 'geocodeFirst') {
93
+ const waypointsToSyncIds = this._state.waypoints.reduce((acc, w, index) => {
94
+ if (!w.geocoded) {
95
+ acc.push(index);
96
+ }
97
+ return acc;
98
+ }, []);
99
+ if (waypointsToSyncIds.length > 0) {
100
+ const waypoints = yield this.geocodeWaypoints(this._state.waypoints);
101
+ this._patchState({ waypoints });
102
+ waypointsToSyncIds.forEach((waypointId) => {
103
+ this.fire('waypointGeocoded', { waypoint: waypoints[waypointId] });
104
+ });
105
+ }
106
+ }
89
107
  const data = (yield this.options.dataProvider.request(this._state.waypoints, {
90
108
  mode: this.state.mode,
91
109
  }));
92
- let patchState = {
93
- data,
94
- selectedRouteId: data.selectedRouteId,
95
- routesShapeGeojson: data.routesShapeGeojson,
96
- };
97
- let waypointsUpdated = false;
110
+ patchState = Object.assign(Object.assign({}, patchState), { data, selectedRouteId: data.selectedRouteId, routesShapeGeojson: data.routesShapeGeojson });
98
111
  if (opts.syncWaypoints !== false && this.options.waypointsSyncStrategy === 'toPath') {
99
112
  const syncedWaypoints = this.syncWaypointsPositions(data.routes[0].waypoints);
100
113
  patchState = Object.assign(Object.assign({}, patchState), { waypoints: syncedWaypoints });
101
- waypointsUpdated = true;
102
114
  }
103
115
  this._patchState(patchState);
104
116
  this.fire('routesFound', {
@@ -107,9 +119,6 @@ export class AnyRouting {
107
119
  data,
108
120
  recalculateOptions: opts,
109
121
  });
110
- if (waypointsUpdated) {
111
- this.fire('waypointsChanged', { waypoints: this.state.waypoints });
112
- }
113
122
  return this._state.data;
114
123
  }
115
124
  catch (e) {
@@ -154,7 +163,7 @@ export class AnyRouting {
154
163
  return `${name}-${this.options.uniqueKey}`;
155
164
  }
156
165
  syncWaypointsPositions(waypoints) {
157
- const newWaypoints = waypoints.map((waypoint, index) => (Object.assign(Object.assign({}, this._state.waypoints[index]), { position: this._state.waypoints[index].position, mappedPosition: waypoint, properties: this._state.waypoints[index].properties })));
166
+ const newWaypoints = waypoints.map((waypoint, index) => (Object.assign(Object.assign({}, this._state.waypoints[index]), { position: waypoint, originalPosition: this._state.waypoints[index].originalPosition || this._state.waypoints[index].position, properties: this._state.waypoints[index].properties })));
158
167
  return newWaypoints;
159
168
  }
160
169
  setState({ waypoints, data, routesShapeGeojson, selectedRouteId, }) {
@@ -200,6 +209,9 @@ export class AnyRouting {
200
209
  return;
201
210
  }
202
211
  this._setState(Object.assign(Object.assign({}, this._state), patchState), source, Object.keys(patchState));
212
+ if ('waypoints' in patchState) {
213
+ this.fire('waypointsChanged', { waypoints: this.state.waypoints });
214
+ }
203
215
  }
204
216
  transformToInternalWaypoints(waypoints) {
205
217
  return waypoints.map((waypoint, index) => InternalWaypointC.fromWaypoint(waypoint, { index, isFirst: index === 0, isLast: index === waypoints.length - 1 }));
@@ -208,5 +220,16 @@ export class AnyRouting {
208
220
  //@ts-ignore
209
221
  this.dispatcher.fire(event, Object.assign(Object.assign({}, data), { state: this.state, eventName: event }));
210
222
  }
223
+ geocodeWaypoints(waypoints) {
224
+ const waypointGeocodes = waypoints.map((waypoint) => __awaiter(this, void 0, void 0, function* () {
225
+ if (waypoint.geocoded) {
226
+ return waypoint;
227
+ }
228
+ const geocodedWaypoint = yield this.geocoder.geocode(waypoint);
229
+ geocodedWaypoint.geocoded = true;
230
+ return geocodedWaypoint;
231
+ }));
232
+ return Promise.all(waypointGeocodes);
233
+ }
211
234
  }
212
235
  //# sourceMappingURL=libre-routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libre-routing.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/libre-routing.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EASL,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,OAAO,UAAU;IAkBrB,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IACnC,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,YAAY,OAA0B;;QA7CrB,eAAU,GAAG,IAAI,UAAU,EAAuB,CAAC;QAI5D,aAAQ,GAAoB,EAAE,CAAC;QAE/B,kBAAa,GAAuB;YAC1C,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,eAAe,EAAE,SAAS;YAC1B,IAAI,EAAE,SAAS;YACf,kBAAkB,EAAE,SAAS;SAC9B,CAAC;QAEM,WAAM,qBAA4B,IAAI,CAAC,aAAa,EAAG;QA+B7D,IAAI,CAAC,QAAQ,iBACR,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EACzB,OAAO,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;IACxC,CAAC;IAEM,UAAU,CAAC,GAAY;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAEhB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEM,QAAQ;;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,0CAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAEM,OAAO,CAAC,IAAU;QACvB,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,YAAY,CAAC,SAA0B;QAC5C,MAAM,iBAAiB,GAAuB,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAEM,WAAW,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEY,gBAAgB,CAAC,OAAiD,EAAE;;;YAC/E,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAEnD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACrC;YAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBAC9B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;aACpD;YAED,IAAI,UAAU,GAAgC,EAAE,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxB,UAAU,mCAAQ,UAAU,KAAE,OAAO,EAAE,IAAI,GAAE,CAAC;aAC/C;YAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAE7B,IAAI,SAAS,IAAI,UAAU,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aAChD;YAED,IAAI;gBACF,MAAM,IAAI,GAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC9E,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;iBACtB,CAAC,CAAM,CAAC;gBAET,IAAI,UAAU,GAAgC;oBAC5C,IAAI;oBACJ,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;iBAC5C,CAAC;gBAEF,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAE7B,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,KAAK,QAAQ,EAAE;oBACnF,MAAM,eAAe,GAAuB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClG,UAAU,mCAAQ,UAAU,KAAE,SAAS,EAAE,eAAe,GAAE,CAAC;oBAC3D,gBAAgB,GAAG,IAAI,CAAC;iBACzB;gBAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBACvB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;oBACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;oBAChC,IAAI;oBACJ,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBAEH,IAAI,gBAAgB,EAAE;oBACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;iBACpE;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACzB;YAAC,OAAO,CAAU,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,CAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE/E,MAAM,CAAC,CAAC;aACT;oBAAS;gBACR,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE;oBACjG,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;iBACjD;aACF;;KACF;IAEM,EAAE,CAAsC,KAAQ,EAAE,QAAiD;QACxG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,GAAG,CAAsC,KAAQ,EAAE,QAAiD;QACzG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEM,WAAW,CAAC,OAAe;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrE,uCACK,OAAO,KACV,UAAU,kCACL,OAAO,CAAC,UAAU,KACrB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,OAAO,OAElD;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC;YACf,eAAe,EAAE,OAAO;YACxB,IAAI,kCACC,IAAI,CAAC,MAAM,CAAC,IAAK,KACpB,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC/C,eAAe,EAAE,OAAO,GACzB;YACD,kBAAkB,EAAE,iBAAiB,CAAC,QAAQ,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACjC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,mBAAM,IAAI,CAAC,aAAa,GAAI,UAAU,CAAC,CAAC;IACxD,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC7C,CAAC;IAEM,sBAAsB,CAAC,SAAoC;QAChE,MAAM,YAAY,GAAuB,SAAS,CAAC,GAAG,CACpD,CAAC,QAAQ,EAAE,KAAK,EAAoB,EAAE,CAAC,iCAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAC/B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAC/C,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,IACnD,CACH,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,QAAQ,CAAC,EACd,SAAS,EACT,IAAI,EACJ,kBAAkB,EAClB,eAAe,GAMhB;QACC,IAAI,QAAQ,qBAA4B,IAAI,CAAC,MAAM,CAAE,CAAC;QACtD,IAAI,SAAS,EAAE;YACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC;YACvE,QAAQ,mCAAQ,QAAQ,KAAE,SAAS,EAAE,iBAAiB,GAAE,CAAC;SAC1D;QAED,IAAI,kBAAkB,EAAE;YACtB,QAAQ,mCAAQ,QAAQ,KAAE,kBAAkB,GAAE,CAAC;SAChD;QAED,IAAI,IAAI,EAAE;YACR,QAAQ,mCAAQ,QAAQ,KAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,GAAE,CAAC;SAC/E;QAED,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,QAAQ,mCAAQ,QAAQ,KAAE,eAAe,GAAE,CAAC;SAC7C;QAED,IAAI,IAAI,IAAI,SAAS,IAAI,kBAAkB,IAAI,eAAe,IAAI,IAAI,EAAE;YACtE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SACtC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEO,aAAa,CAAC,MAAqE;QACzF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAChC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;SACvB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CACf,QAA4B,EAC5B,SAA4B,UAAU,EACtC,WAA6C;QAE7C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,MAAM;YACN,iBAAiB,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAqC;SAC/F,CAAC,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,UAAuC,EAAE,SAA4B,UAAU;QACjG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO;SACR;QAED,IAAI,CAAC,SAAS,iCACP,IAAI,CAAC,MAAM,GAAK,UAAU,GAC/B,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAoC,CAC3D,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAAC,SAA0B;QAC7D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CACvC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAClH,CAAC;IACJ,CAAC;IAEO,IAAI,CACV,KAAQ,EACR,IAAyD;QAEzD,YAAY;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,gCAA6B,IAAI,KAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAE,CAAC,CAAC;IACxG,CAAC;CACF"}
1
+ {"version":3,"file":"libre-routing.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/libre-routing.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,9 @@ export type RouteSelectedEvent<R extends AnyRoutingDataResponse = AnyRoutingData
32
32
  export type WaypointsChangedEvent<R extends AnyRoutingDataResponse = AnyRoutingDataResponse> = BaseEvent<R> & {
33
33
  waypoints: InternalWaypoint[];
34
34
  };
35
+ export type WaypointGeocoded<R extends AnyRoutingDataResponse = AnyRoutingDataResponse> = BaseEvent<R> & {
36
+ waypoint: InternalWaypoint;
37
+ };
35
38
  export type LoadingChangedEvent<R extends AnyRoutingDataResponse = AnyRoutingDataResponse> = BaseEvent<R> & {
36
39
  loading: boolean;
37
40
  };
@@ -47,6 +50,7 @@ export interface AnyRoutingEventsMap {
47
50
  routesFound: RoutesFoundEvent;
48
51
  routeSelected: RouteSelectedEvent;
49
52
  waypointsChanged: WaypointsChangedEvent;
53
+ waypointGeocoded: WaypointGeocoded;
50
54
  loadingChanged: LoadingChangedEvent;
51
55
  stateUpdated: StateUpdatedEvent;
52
56
  }
@@ -67,33 +71,34 @@ export type AnyRoutingState<DataType = AnyRoutingDataResponse> = {
67
71
  export interface InternalWaypoint {
68
72
  index: number;
69
73
  position: WaypointPosition;
70
- mappedPosition?: WaypointPosition;
71
74
  originalPosition: WaypointPosition;
72
- originalMappedPosition?: WaypointPosition;
73
75
  properties: InternalWaypointProperties & Record<string, any>;
76
+ geocoded?: boolean;
74
77
  }
75
78
  export declare function isWaypointPositionEqual(posA: WaypointPosition, posB: WaypointPosition): boolean;
76
79
  export declare class InternalWaypointC {
77
- static isChanged(waypoint: InternalWaypoint): boolean;
78
- static isPositionChanged(waypoint: InternalWaypoint): boolean;
79
- static isMappedPositionChanged(waypoint: InternalWaypoint): boolean;
80
80
  static fromWaypoint(waypoint: Waypoint, props: InternalWaypointProperties): InternalWaypoint;
81
81
  }
82
82
  export interface Waypoint {
83
83
  position: WaypointPosition;
84
- mappedPosition?: WaypointPosition;
84
+ originalPosition?: WaypointPosition;
85
85
  properties?: Record<string, string | boolean | number>;
86
+ geocoded?: boolean;
86
87
  }
87
88
  export type PluginFactory = AnyRoutingPlugin | (new (...args: any[]) => AnyRoutingPlugin);
89
+ export interface AnyRoutingGeocoder {
90
+ geocode(waypoint: InternalWaypoint): Promise<InternalWaypoint>;
91
+ }
88
92
  export type AnyRoutingOptions = {
89
93
  dataProvider: AnyRoutingDataProvider;
94
+ geocoder?: AnyRoutingGeocoder | ((waypoint: InternalWaypoint) => Promise<InternalWaypoint>);
90
95
  plugins?: PluginFactory[];
91
96
  uniqueKey?: string;
92
97
  waypointsSyncStrategy: 'none' | 'toPath' | 'geocodeFirst';
93
98
  };
94
99
  export interface AnyRoutingPlugin {
95
- onAdd(AnyRouting: AnyRouting<any, any>): void;
96
- onRemove(AnyRouting: AnyRouting<any, any>): void;
100
+ onAdd(AnyRouting: AnyRouting<any>): void;
101
+ onRemove(AnyRouting: AnyRouting<any>): void;
97
102
  }
98
103
  export interface RecalculateOptions {
99
104
  fitViewToData?: boolean;
@@ -2,24 +2,12 @@ export function isWaypointPositionEqual(posA, posB) {
2
2
  return posA.lat === posB.lat && posA.lng === posB.lng;
3
3
  }
4
4
  export class InternalWaypointC {
5
- static isChanged(waypoint) {
6
- return !this.isPositionChanged(waypoint) || !this.isMappedPositionChanged(waypoint);
7
- }
8
- static isPositionChanged(waypoint) {
9
- return !isWaypointPositionEqual(waypoint.originalPosition, waypoint.position);
10
- }
11
- static isMappedPositionChanged(waypoint) {
12
- return (!!waypoint.originalMappedPosition &&
13
- !!waypoint.mappedPosition &&
14
- !isWaypointPositionEqual(waypoint.originalMappedPosition, waypoint.mappedPosition));
15
- }
16
5
  static fromWaypoint(waypoint, props) {
17
6
  return {
18
7
  index: props.index,
19
8
  originalPosition: waypoint.position,
20
9
  position: waypoint.position,
21
- originalMappedPosition: waypoint.mappedPosition,
22
- mappedPosition: waypoint.mappedPosition,
10
+ geocoded: waypoint.geocoded,
23
11
  properties: Object.assign(Object.assign({}, props), (waypoint.properties || {})),
24
12
  };
25
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libre-routing.model.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/libre-routing.model.ts"],"names":[],"mappings":"AAyFA,MAAM,UAAU,uBAAuB,CAAC,IAAsB,EAAE,IAAsB;IACpF,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC;AACxD,CAAC;AAED,MAAM,OAAO,iBAAiB;IACrB,MAAM,CAAC,SAAS,CAAC,QAA0B;QAChD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACtF,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,QAA0B;QACxD,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC;IAEM,MAAM,CAAC,uBAAuB,CAAC,QAA0B;QAC9D,OAAO,CACL,CAAC,CAAC,QAAQ,CAAC,sBAAsB;YACjC,CAAC,CAAC,QAAQ,CAAC,cAAc;YACzB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAAC,CACnF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,QAAkB,EAAE,KAAiC;QAC9E,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,sBAAsB,EAAE,QAAQ,CAAC,cAAc;YAC/C,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,UAAU,kCAAO,KAAK,GAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAE;SACzD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"libre-routing.model.js","sourceRoot":"","sources":["../../../../../packages/core/src/lib/libre-routing.model.ts"],"names":[],"mappings":"AA6FA,MAAM,UAAU,uBAAuB,CAAC,IAAsB,EAAE,IAAsB;IACpF,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC;AACxD,CAAC;AAED,MAAM,OAAO,iBAAiB;IACrB,MAAM,CAAC,YAAY,CAAC,QAAkB,EAAE,KAAiC;QAC9E,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,kCAAO,KAAK,GAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAE;SACzD,CAAC;IACJ,CAAC;CACF"}