@opentripplanner/core-utils 12.0.0-alpha.8 → 12.0.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.
Files changed (74) hide show
  1. package/esm/__tests__/__mocks__/bike-rental-itinerary.json +863 -0
  2. package/esm/__tests__/__mocks__/config.json +54 -0
  3. package/esm/__tests__/__mocks__/fare-products-itinerary.json +1299 -0
  4. package/esm/__tests__/__mocks__/routes.json +107 -0
  5. package/esm/__tests__/__mocks__/tnc-itinerary.json +1726 -0
  6. package/esm/bike-rental-itinerary.json +863 -0
  7. package/esm/config.json +54 -0
  8. package/esm/fare-products-itinerary.json +1299 -0
  9. package/esm/index.js +2 -0
  10. package/esm/index.js.map +1 -1
  11. package/esm/itinerary.js +46 -21
  12. package/esm/itinerary.js.map +1 -1
  13. package/esm/otpSchema.json +13373 -0
  14. package/esm/planQuery.graphql +281 -0
  15. package/esm/profile.js +1 -1
  16. package/esm/profile.js.map +1 -1
  17. package/esm/query-gen.js +8 -5
  18. package/esm/query-gen.js.map +1 -1
  19. package/esm/query.js +1 -5
  20. package/esm/query.js.map +1 -1
  21. package/esm/routes.json +107 -0
  22. package/esm/storage.js +2 -6
  23. package/esm/storage.js.map +1 -1
  24. package/esm/suspense.js +13 -0
  25. package/esm/suspense.js.map +1 -0
  26. package/esm/tnc-itinerary.json +1726 -0
  27. package/lib/__tests__/__mocks__/bike-rental-itinerary.json +863 -0
  28. package/lib/__tests__/__mocks__/config.json +54 -0
  29. package/lib/__tests__/__mocks__/fare-products-itinerary.json +1299 -0
  30. package/lib/__tests__/__mocks__/routes.json +107 -0
  31. package/lib/__tests__/__mocks__/tnc-itinerary.json +1726 -0
  32. package/lib/index.d.ts +2 -0
  33. package/lib/index.d.ts.map +1 -1
  34. package/lib/index.js +10 -0
  35. package/lib/index.js.map +1 -1
  36. package/lib/itinerary.d.ts +13 -4
  37. package/lib/itinerary.d.ts.map +1 -1
  38. package/lib/itinerary.js +59 -22
  39. package/lib/itinerary.js.map +1 -1
  40. package/lib/otpSchema.json +13373 -0
  41. package/lib/planQuery.graphql +281 -0
  42. package/lib/profile.js +1 -1
  43. package/lib/profile.js.map +1 -1
  44. package/lib/query-gen.d.ts +3 -1
  45. package/lib/query-gen.d.ts.map +1 -1
  46. package/lib/query-gen.js +8 -5
  47. package/lib/query-gen.js.map +1 -1
  48. package/lib/query.js +1 -5
  49. package/lib/query.js.map +1 -1
  50. package/lib/storage.d.ts.map +1 -1
  51. package/lib/storage.js +2 -6
  52. package/lib/storage.js.map +1 -1
  53. package/lib/suspense.d.ts +8 -0
  54. package/lib/suspense.d.ts.map +1 -0
  55. package/lib/suspense.js +26 -0
  56. package/lib/suspense.js.map +1 -0
  57. package/package.json +3 -3
  58. package/src/__tests__/itinerary.ts +36 -1
  59. package/src/core-utils.story.tsx +1 -1
  60. package/src/index.ts +2 -0
  61. package/src/itinerary.ts +68 -26
  62. package/src/otpSchema.json +0 -12
  63. package/src/planQuery.graphql +27 -0
  64. package/src/profile.js +1 -1
  65. package/src/query-gen.ts +8 -4
  66. package/src/query.js +1 -4
  67. package/src/storage.ts +5 -9
  68. package/src/suspense.tsx +19 -0
  69. package/tsconfig.json +1 -2
  70. package/tsconfig.tsbuildinfo +1 -1
  71. package/lib/core-utils.story.d.ts +0 -22
  72. package/lib/core-utils.story.d.ts.map +0 -1
  73. package/lib/core-utils.story.js +0 -69
  74. package/lib/core-utils.story.js.map +0 -1
@@ -0,0 +1,863 @@
1
+ {
2
+ "duration": 792,
3
+ "startTime": 1573688700000,
4
+ "endTime": 1573689492000,
5
+ "walkTime": 792,
6
+ "transitTime": 0,
7
+ "waitingTime": 0,
8
+ "walkDistance": 1280.5410121370023,
9
+ "walkLimitExceeded": false,
10
+ "elevationLost": 11.5,
11
+ "elevationGained": 21.87,
12
+ "transfers": 0,
13
+ "legs": [
14
+ {
15
+ "startTime": 1573688700000,
16
+ "endTime": 1573688886000,
17
+ "departureDelay": 0,
18
+ "arrivalDelay": 0,
19
+ "realTime": false,
20
+ "distance": 151.884,
21
+ "pathway": false,
22
+ "mode": "WALK",
23
+ "route": "",
24
+ "agencyTimeZoneOffset": -28800000,
25
+ "interlineWithPreviousLeg": false,
26
+ "from": {
27
+ "name": "2624 SE 30th Ave, Portland, OR, USA 97202",
28
+ "lon": -122.63428176817192,
29
+ "lat": 45.50357980690456,
30
+ "departure": 1573688700000,
31
+ "orig": "2624 SE 30th Ave, Portland, OR, USA 97202",
32
+ "vertexType": "NORMAL"
33
+ },
34
+ "to": {
35
+ "name": "SE 30th at Division",
36
+ "lon": -122.63455510139465,
37
+ "lat": 45.504688916692,
38
+ "arrival": 1573688886000,
39
+ "departure": 1573688886000,
40
+ "vertexType": "BIKESHARE",
41
+ "bikeShareId": "\"hub_1549\"",
42
+ "networks": ["GBFS"]
43
+ },
44
+ "legGeometry": {
45
+ "points": "alvtGh_okVArA?UcF?",
46
+ "length": 4
47
+ },
48
+ "rentedBike": false,
49
+ "rentedCar": false,
50
+ "rentedVehicle": false,
51
+ "hailedCar": false,
52
+ "duration": 186,
53
+ "transitLeg": false,
54
+ "intermediateStops": [],
55
+ "steps": [
56
+ {
57
+ "distance": 24.171,
58
+ "relativeDirection": "DEPART",
59
+ "streetName": "SE Clinton St",
60
+ "absoluteDirection": "WEST",
61
+ "stayOn": false,
62
+ "area": false,
63
+ "bogusName": false,
64
+ "lon": -122.63428214557513,
65
+ "lat": 45.50353948572678,
66
+ "elevation": [
67
+ {
68
+ "first": 0,
69
+ "second": 37.26284254544677
70
+ },
71
+ {
72
+ "first": 10,
73
+ "second": 37.59284254544678
74
+ },
75
+ {
76
+ "first": 20,
77
+ "second": 37.58284254544678
78
+ },
79
+ {
80
+ "first": 24.17,
81
+ "second": 37.52284254544678
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "distance": 127.713,
87
+ "relativeDirection": "RIGHT",
88
+ "streetName": "SE 30th Ave",
89
+ "absoluteDirection": "NORTH",
90
+ "stayOn": false,
91
+ "area": false,
92
+ "bogusName": false,
93
+ "lon": -122.6345923,
94
+ "lat": 45.5035403,
95
+ "elevation": [
96
+ {
97
+ "first": 0,
98
+ "second": 36.39284254544678
99
+ },
100
+ {
101
+ "first": 10,
102
+ "second": 36.542842545446774
103
+ },
104
+ {
105
+ "first": 20,
106
+ "second": 36.62284254544678
107
+ },
108
+ {
109
+ "first": 30,
110
+ "second": 37.152842545446774
111
+ },
112
+ {
113
+ "first": 40,
114
+ "second": 37.62284254544678
115
+ },
116
+ {
117
+ "first": 50,
118
+ "second": 38.14284254544678
119
+ },
120
+ {
121
+ "first": 60,
122
+ "second": 38.652842545446774
123
+ },
124
+ {
125
+ "first": 70,
126
+ "second": 39.12284254544678
127
+ },
128
+ {
129
+ "first": 80,
130
+ "second": 39.45284254544678
131
+ },
132
+ {
133
+ "first": 90,
134
+ "second": 39.22284254544678
135
+ },
136
+ {
137
+ "first": 100,
138
+ "second": 38.91284254544678
139
+ },
140
+ {
141
+ "first": 110,
142
+ "second": 38.682842545446775
143
+ },
144
+ {
145
+ "first": 120,
146
+ "second": 38.41284254544678
147
+ },
148
+ {
149
+ "first": 127.71,
150
+ "second": 38.182842545446775
151
+ }
152
+ ]
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "startTime": 1573688886000,
158
+ "endTime": 1573689303000,
159
+ "departureDelay": 0,
160
+ "arrivalDelay": 0,
161
+ "realTime": false,
162
+ "distance": 940.033,
163
+ "pathway": false,
164
+ "mode": "BICYCLE",
165
+ "route": "",
166
+ "agencyTimeZoneOffset": -28800000,
167
+ "interlineWithPreviousLeg": false,
168
+ "from": {
169
+ "name": "SE 30th at Division",
170
+ "lon": -122.63455510139465,
171
+ "lat": 45.504688916692,
172
+ "arrival": 1573688886000,
173
+ "departure": 1573688886000,
174
+ "vertexType": "BIKESHARE",
175
+ "bikeShareId": "\"hub_1549\"",
176
+ "networks": ["GBFS"]
177
+ },
178
+ "to": {
179
+ "name": "SE 29th at Hawthorne",
180
+ "lon": -122.6363119482994,
181
+ "lat": 45.51202352994066,
182
+ "arrival": 1573689303000,
183
+ "departure": 1573689303000,
184
+ "vertexType": "BIKESHARE",
185
+ "bikeShareId": "\"hub_1608\"",
186
+ "networks": ["GBFS"]
187
+ },
188
+ "legGeometry": {
189
+ "points": "gsvtGfaokVa@HD?D?QLC?wB?qC?kB@_B?mEBS@GVET?R?`@?~A?pAWAgB?}B?I@mCAmCAqAAg@?]?W??f@",
190
+ "length": 29
191
+ },
192
+ "rentedBike": true,
193
+ "rentedCar": false,
194
+ "rentedVehicle": false,
195
+ "hailedCar": false,
196
+ "duration": 417,
197
+ "transitLeg": false,
198
+ "intermediateStops": [],
199
+ "steps": [
200
+ {
201
+ "distance": 413.022,
202
+ "relativeDirection": "CONTINUE",
203
+ "streetName": "SE 30th Ave",
204
+ "absoluteDirection": "NORTH",
205
+ "stayOn": false,
206
+ "area": false,
207
+ "bogusName": false,
208
+ "lon": -122.63459592690745,
209
+ "lat": 45.504688853368016,
210
+ "elevation": [
211
+ {
212
+ "first": 0,
213
+ "second": 36.39284254544678
214
+ },
215
+ {
216
+ "first": 10,
217
+ "second": 36.542842545446774
218
+ },
219
+ {
220
+ "first": 13.4,
221
+ "second": 36.572842545446775
222
+ },
223
+ {
224
+ "first": 13.403,
225
+ "second": 37.89284254544678
226
+ },
227
+ {
228
+ "first": 23.403,
229
+ "second": 37.74284254544678
230
+ },
231
+ {
232
+ "first": 33.403,
233
+ "second": 37.712842545446776
234
+ },
235
+ {
236
+ "first": 43.403,
237
+ "second": 37.682842545446775
238
+ },
239
+ {
240
+ "first": 53.403,
241
+ "second": 37.69284254544678
242
+ },
243
+ {
244
+ "first": 63.403,
245
+ "second": 37.70284254544678
246
+ },
247
+ {
248
+ "first": 73.403,
249
+ "second": 37.70284254544678
250
+ },
251
+ {
252
+ "first": 83.403,
253
+ "second": 37.70284254544678
254
+ },
255
+ {
256
+ "first": 93.283,
257
+ "second": 37.75284254544678
258
+ },
259
+ {
260
+ "first": 93.299,
261
+ "second": 37.75284254544678
262
+ },
263
+ {
264
+ "first": 103.299,
265
+ "second": 37.792842545446774
266
+ },
267
+ {
268
+ "first": 113.299,
269
+ "second": 37.792842545446774
270
+ },
271
+ {
272
+ "first": 123.299,
273
+ "second": 37.85284254544678
274
+ },
275
+ {
276
+ "first": 133.299,
277
+ "second": 37.91284254544678
278
+ },
279
+ {
280
+ "first": 143.299,
281
+ "second": 37.94284254544678
282
+ },
283
+ {
284
+ "first": 153.299,
285
+ "second": 38.01284254544677
286
+ },
287
+ {
288
+ "first": 163.299,
289
+ "second": 38.072842545446775
290
+ },
291
+ {
292
+ "first": 173.849,
293
+ "second": 38.13284254544678
294
+ },
295
+ {
296
+ "first": 173.849,
297
+ "second": 38.13284254544678
298
+ },
299
+ {
300
+ "first": 183.849,
301
+ "second": 38.25284254544678
302
+ },
303
+ {
304
+ "first": 193.849,
305
+ "second": 38.36284254544678
306
+ },
307
+ {
308
+ "first": 203.849,
309
+ "second": 38.41284254544678
310
+ },
311
+ {
312
+ "first": 213.849,
313
+ "second": 38.36284254544678
314
+ },
315
+ {
316
+ "first": 223.849,
317
+ "second": 38.212842545446776
318
+ },
319
+ {
320
+ "first": 234.38899999999998,
321
+ "second": 38.03284254544678
322
+ },
323
+ {
324
+ "first": 234.384,
325
+ "second": 38.03284254544678
326
+ },
327
+ {
328
+ "first": 244.384,
329
+ "second": 38.09284254544678
330
+ },
331
+ {
332
+ "first": 254.384,
333
+ "second": 38.33284254544678
334
+ },
335
+ {
336
+ "first": 264.384,
337
+ "second": 38.83284254544678
338
+ },
339
+ {
340
+ "first": 274.384,
341
+ "second": 39.39284254544678
342
+ },
343
+ {
344
+ "first": 288.054,
345
+ "second": 40.13284254544678
346
+ },
347
+ {
348
+ "first": 288.058,
349
+ "second": 40.13284254544678
350
+ },
351
+ {
352
+ "first": 298.058,
353
+ "second": 40.59284254544678
354
+ },
355
+ {
356
+ "first": 308.058,
357
+ "second": 41.182842545446775
358
+ },
359
+ {
360
+ "first": 318.058,
361
+ "second": 42.13284254544678
362
+ },
363
+ {
364
+ "first": 328.058,
365
+ "second": 43.12284254544678
366
+ },
367
+ {
368
+ "first": 338.058,
369
+ "second": 44.05284254544678
370
+ },
371
+ {
372
+ "first": 348.058,
373
+ "second": 44.902842545446774
374
+ },
375
+ {
376
+ "first": 358.058,
377
+ "second": 45.66284254544678
378
+ },
379
+ {
380
+ "first": 368.058,
381
+ "second": 46.34284254544678
382
+ },
383
+ {
384
+ "first": 378.058,
385
+ "second": 46.94284254544678
386
+ },
387
+ {
388
+ "first": 388.058,
389
+ "second": 47.51284254544677
390
+ },
391
+ {
392
+ "first": 398.058,
393
+ "second": 47.99284254544678
394
+ },
395
+ {
396
+ "first": 413.018,
397
+ "second": 48.35284254544678
398
+ }
399
+ ]
400
+ },
401
+ {
402
+ "distance": 110.101,
403
+ "relativeDirection": "LEFT",
404
+ "streetName": "SE Harrison St",
405
+ "absoluteDirection": "NORTHWEST",
406
+ "stayOn": false,
407
+ "area": false,
408
+ "bogusName": false,
409
+ "lon": -122.6347507,
410
+ "lat": 45.5083813,
411
+ "elevation": [
412
+ {
413
+ "first": 0,
414
+ "second": 48.35284254544678
415
+ },
416
+ {
417
+ "first": 10,
418
+ "second": 48.56284254544678
419
+ },
420
+ {
421
+ "first": 20,
422
+ "second": 49.402842545446774
423
+ },
424
+ {
425
+ "first": 30,
426
+ "second": 49.74284254544678
427
+ },
428
+ {
429
+ "first": 40,
430
+ "second": 49.932842545446775
431
+ },
432
+ {
433
+ "first": 50,
434
+ "second": 50.19284254544678
435
+ },
436
+ {
437
+ "first": 60,
438
+ "second": 50.182842545446775
439
+ },
440
+ {
441
+ "first": 70,
442
+ "second": 49.89284254544678
443
+ },
444
+ {
445
+ "first": 78.48,
446
+ "second": 49.50284254544678
447
+ },
448
+ {
449
+ "first": 78.464,
450
+ "second": 49.50284254544678
451
+ },
452
+ {
453
+ "first": 88.464,
454
+ "second": 49.66284254544678
455
+ },
456
+ {
457
+ "first": 98.464,
458
+ "second": 49.712842545446776
459
+ },
460
+ {
461
+ "first": 110.104,
462
+ "second": 49.69284254544678
463
+ }
464
+ ]
465
+ },
466
+ {
467
+ "distance": 401.74699999999996,
468
+ "relativeDirection": "RIGHT",
469
+ "streetName": "SE 29th Ave",
470
+ "absoluteDirection": "NORTH",
471
+ "stayOn": false,
472
+ "area": false,
473
+ "bogusName": false,
474
+ "lon": -122.636141,
475
+ "lat": 45.5084586,
476
+ "elevation": [
477
+ {
478
+ "first": 0,
479
+ "second": 49.69284254544678
480
+ },
481
+ {
482
+ "first": 10,
483
+ "second": 49.182842545446775
484
+ },
485
+ {
486
+ "first": 20,
487
+ "second": 49.01284254544677
488
+ },
489
+ {
490
+ "first": 30,
491
+ "second": 48.97284254544678
492
+ },
493
+ {
494
+ "first": 40,
495
+ "second": 48.932842545446775
496
+ },
497
+ {
498
+ "first": 50,
499
+ "second": 48.85284254544678
500
+ },
501
+ {
502
+ "first": 60,
503
+ "second": 48.80284254544678
504
+ },
505
+ {
506
+ "first": 70.24,
507
+ "second": 48.75284254544678
508
+ },
509
+ {
510
+ "first": 70.242,
511
+ "second": 48.75284254544678
512
+ },
513
+ {
514
+ "first": 80.242,
515
+ "second": 48.69284254544678
516
+ },
517
+ {
518
+ "first": 90.242,
519
+ "second": 48.52284254544678
520
+ },
521
+ {
522
+ "first": 100.242,
523
+ "second": 48.25284254544678
524
+ },
525
+ {
526
+ "first": 110.242,
527
+ "second": 47.98284254544678
528
+ },
529
+ {
530
+ "first": 120.242,
531
+ "second": 47.69284254544678
532
+ },
533
+ {
534
+ "first": 130.24200000000002,
535
+ "second": 47.45284254544678
536
+ },
537
+ {
538
+ "first": 140.24200000000002,
539
+ "second": 47.19284254544678
540
+ },
541
+ {
542
+ "first": 146.93200000000002,
543
+ "second": 47.06284254544678
544
+ },
545
+ {
546
+ "first": 146.921,
547
+ "second": 47.06284254544678
548
+ },
549
+ {
550
+ "first": 156.921,
551
+ "second": 46.87284254544678
552
+ },
553
+ {
554
+ "first": 166.921,
555
+ "second": 46.70284254544678
556
+ },
557
+ {
558
+ "first": 176.921,
559
+ "second": 46.49284254544678
560
+ },
561
+ {
562
+ "first": 186.921,
563
+ "second": 46.26284254544677
564
+ },
565
+ {
566
+ "first": 196.921,
567
+ "second": 46.042842545446774
568
+ },
569
+ {
570
+ "first": 206.921,
571
+ "second": 45.822842545446775
572
+ },
573
+ {
574
+ "first": 216.921,
575
+ "second": 45.60284254544678
576
+ },
577
+ {
578
+ "first": 225.37099999999998,
579
+ "second": 45.45284254544678
580
+ },
581
+ {
582
+ "first": 225.37199999999999,
583
+ "second": 45.45284254544678
584
+ },
585
+ {
586
+ "first": 235.37199999999999,
587
+ "second": 45.41284254544678
588
+ },
589
+ {
590
+ "first": 245.37199999999999,
591
+ "second": 45.41284254544678
592
+ },
593
+ {
594
+ "first": 255.37199999999999,
595
+ "second": 45.462842545446776
596
+ },
597
+ {
598
+ "first": 265.37199999999996,
599
+ "second": 45.49284254544678
600
+ },
601
+ {
602
+ "first": 275.37199999999996,
603
+ "second": 45.51284254544677
604
+ },
605
+ {
606
+ "first": 285.37199999999996,
607
+ "second": 45.52284254544678
608
+ },
609
+ {
610
+ "first": 295.37199999999996,
611
+ "second": 45.542842545446774
612
+ },
613
+ {
614
+ "first": 304.24199999999996,
615
+ "second": 45.572842545446775
616
+ },
617
+ {
618
+ "first": 304.241,
619
+ "second": 45.572842545446775
620
+ },
621
+ {
622
+ "first": 314.241,
623
+ "second": 45.69284254544678
624
+ },
625
+ {
626
+ "first": 324.241,
627
+ "second": 45.932842545446775
628
+ },
629
+ {
630
+ "first": 334.241,
631
+ "second": 46.38284254544678
632
+ },
633
+ {
634
+ "first": 344.241,
635
+ "second": 46.88284254544678
636
+ },
637
+ {
638
+ "first": 349.611,
639
+ "second": 47.14284254544678
640
+ },
641
+ {
642
+ "first": 349.608,
643
+ "second": 47.14284254544678
644
+ },
645
+ {
646
+ "first": 359.608,
647
+ "second": 47.61284254544678
648
+ },
649
+ {
650
+ "first": 372.168,
651
+ "second": 48.23284254544678
652
+ },
653
+ {
654
+ "first": 372.169,
655
+ "second": 48.23284254544678
656
+ },
657
+ {
658
+ "first": 382.169,
659
+ "second": 48.72284254544678
660
+ },
661
+ {
662
+ "first": 392.169,
663
+ "second": 49.20284254544678
664
+ },
665
+ {
666
+ "first": 401.74899999999997,
667
+ "second": 49.58284254544678
668
+ }
669
+ ]
670
+ },
671
+ {
672
+ "distance": 15.163,
673
+ "relativeDirection": "LEFT",
674
+ "streetName": "SE Hawthorne Blvd",
675
+ "absoluteDirection": "WEST",
676
+ "stayOn": false,
677
+ "area": false,
678
+ "bogusName": false,
679
+ "lon": -122.6361172,
680
+ "lat": 45.5120707,
681
+ "elevation": [
682
+ {
683
+ "first": 0,
684
+ "second": 49.58284254544678
685
+ },
686
+ {
687
+ "first": 10,
688
+ "second": 49.792842545446774
689
+ },
690
+ {
691
+ "first": 15.16,
692
+ "second": 49.88284254544678
693
+ }
694
+ ]
695
+ }
696
+ ]
697
+ },
698
+ {
699
+ "startTime": 1573689303000,
700
+ "endTime": 1573689492000,
701
+ "departureDelay": 0,
702
+ "arrivalDelay": 0,
703
+ "realTime": false,
704
+ "distance": 188.476,
705
+ "pathway": false,
706
+ "mode": "WALK",
707
+ "route": "",
708
+ "agencyTimeZoneOffset": -28800000,
709
+ "interlineWithPreviousLeg": false,
710
+ "from": {
711
+ "name": "SE 29th at Hawthorne",
712
+ "lon": -122.6363119482994,
713
+ "lat": 45.51202352994066,
714
+ "arrival": 1573689303000,
715
+ "departure": 1573689303000,
716
+ "vertexType": "BIKESHARE",
717
+ "bikeShareId": "\"hub_1608\"",
718
+ "networks": ["GBFS"]
719
+ },
720
+ "to": {
721
+ "name": "1415 SE 28th Ave, Portland, OR, USA 97214",
722
+ "lon": -122.63757592401461,
723
+ "lat": 45.51258575759002,
724
+ "arrival": 1573689492000,
725
+ "orig": "1415 SE 28th Ave, Portland, OR, USA 97214",
726
+ "vertexType": "NORMAL"
727
+ },
728
+ "legGeometry": {
729
+ "points": "maxtG~kokV?xA?hAY?eCAAxA",
730
+ "length": 6
731
+ },
732
+ "rentedBike": false,
733
+ "rentedCar": false,
734
+ "rentedVehicle": false,
735
+ "hailedCar": false,
736
+ "duration": 189,
737
+ "transitLeg": false,
738
+ "intermediateStops": [],
739
+ "steps": [
740
+ {
741
+ "distance": 64.03399999999999,
742
+ "relativeDirection": "CONTINUE",
743
+ "streetName": "SE Hawthorne Blvd",
744
+ "absoluteDirection": "WEST",
745
+ "stayOn": false,
746
+ "area": false,
747
+ "bogusName": false,
748
+ "lon": -122.63631179997208,
749
+ "lat": 45.51207099860361,
750
+ "elevation": [
751
+ {
752
+ "first": 0,
753
+ "second": 49.58284254544678
754
+ },
755
+ {
756
+ "first": 10,
757
+ "second": 49.792842545446774
758
+ },
759
+ {
760
+ "first": 20,
761
+ "second": 49.97284254544678
762
+ },
763
+ {
764
+ "first": 30,
765
+ "second": 50.11284254544678
766
+ },
767
+ {
768
+ "first": 35.62,
769
+ "second": 50.182842545446775
770
+ }
771
+ ]
772
+ },
773
+ {
774
+ "distance": 89.768,
775
+ "relativeDirection": "RIGHT",
776
+ "streetName": "SE 28th Ave",
777
+ "absoluteDirection": "NORTH",
778
+ "stayOn": false,
779
+ "area": false,
780
+ "bogusName": false,
781
+ "lon": -122.6371336,
782
+ "lat": 45.5120723,
783
+ "elevation": [
784
+ {
785
+ "first": 0,
786
+ "second": 50.60284254544678
787
+ },
788
+ {
789
+ "first": 10,
790
+ "second": 50.682842545446775
791
+ },
792
+ {
793
+ "first": 20,
794
+ "second": 50.39284254544678
795
+ },
796
+ {
797
+ "first": 30,
798
+ "second": 49.89284254544678
799
+ },
800
+ {
801
+ "first": 40,
802
+ "second": 49.30284254544678
803
+ },
804
+ {
805
+ "first": 50,
806
+ "second": 48.712842545446776
807
+ },
808
+ {
809
+ "first": 60,
810
+ "second": 48.11284254544678
811
+ },
812
+ {
813
+ "first": 70,
814
+ "second": 47.49284254544678
815
+ },
816
+ {
817
+ "first": 80,
818
+ "second": 46.902842545446774
819
+ },
820
+ {
821
+ "first": 89.77,
822
+ "second": 46.51284254544677
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "distance": 34.674,
828
+ "relativeDirection": "LEFT",
829
+ "streetName": "SE Madison St",
830
+ "absoluteDirection": "WEST",
831
+ "stayOn": false,
832
+ "area": false,
833
+ "bogusName": false,
834
+ "lon": -122.6371298,
835
+ "lat": 45.5128796,
836
+ "elevation": [
837
+ {
838
+ "first": 0,
839
+ "second": 46.51284254544677
840
+ },
841
+ {
842
+ "first": 10,
843
+ "second": 46.462842545446776
844
+ },
845
+ {
846
+ "first": 20,
847
+ "second": 46.51284254544677
848
+ },
849
+ {
850
+ "first": 30,
851
+ "second": 46.30284254544678
852
+ },
853
+ {
854
+ "first": 34.67,
855
+ "second": 46.152842545446774
856
+ }
857
+ ]
858
+ }
859
+ ]
860
+ }
861
+ ],
862
+ "tooSloped": false
863
+ }