vulture-wasm 0.4.0 → 0.5.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
@@ -5,7 +5,7 @@
5
5
  "Stephan Hügel <urschrei@gmail.com>"
6
6
  ],
7
7
  "description": "WebAssembly bindings for vulture (RAPTOR transit routing)",
8
- "version": "0.4.0",
8
+ "version": "0.5.0",
9
9
  "license": "Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/vulture_wasm.d.ts CHANGED
@@ -23,6 +23,13 @@ export class VultureTimetable {
23
23
  * `null`.
24
24
  */
25
25
  allStops(): any;
26
+ /**
27
+ * Snapshot of the loaded feed's features (stop / trip / route
28
+ * counts, `transfers.txt` shape, shape-availability, and the
29
+ * current state of the footpath graph). Returns a JS object
30
+ * matching the shape of [`vulture::gtfs::FeedFeatures`].
31
+ */
32
+ features(): any;
26
33
  /**
27
34
  * Number of synthetic RAPTOR routes (one or more per GTFS
28
35
  * `route_id`).
@@ -87,6 +94,13 @@ export class VultureTimetable {
87
94
  * `undefined` if the stop has no name field set.
88
95
  */
89
96
  stopName(idx: number): string | undefined;
97
+ /**
98
+ * Heuristic list of vulture knobs worth turning given this
99
+ * feed's shape (e.g. "transfers.txt is empty: call
100
+ * withWalkingFootpaths(...)"). Returns a JS array of strings;
101
+ * empty when no heuristic fires.
102
+ */
103
+ suggestions(): string[];
90
104
  /**
91
105
  * Augment the timetable's footpath graph with bidirectional
92
106
  * walking edges between every pair of stops within
@@ -128,6 +142,7 @@ export interface InitOutput {
128
142
  readonly runRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number];
129
143
  readonly vulturetimetable_allRoutes: (a: number) => [number, number, number];
130
144
  readonly vulturetimetable_allStops: (a: number) => [number, number, number];
145
+ readonly vulturetimetable_features: (a: number) => [number, number, number];
131
146
  readonly vulturetimetable_nRoutes: (a: number) => number;
132
147
  readonly vulturetimetable_nStops: (a: number) => number;
133
148
  readonly vulturetimetable_new: (a: number, b: number, c: number, d: number) => [number, number, number];
@@ -138,6 +153,7 @@ export interface InitOutput {
138
153
  readonly vulturetimetable_stopCoords: (a: number, b: number) => [number, number];
139
154
  readonly vulturetimetable_stopIdx: (a: number, b: number, c: number) => number;
140
155
  readonly vulturetimetable_stopName: (a: number, b: number) => [number, number];
156
+ readonly vulturetimetable_suggestions: (a: number) => [number, number];
141
157
  readonly vulturetimetable_withWalkingFootpaths: (a: number, b: number, c: number) => void;
142
158
  readonly __wbindgen_malloc: (a: number, b: number) => number;
143
159
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
@@ -145,6 +161,7 @@ export interface InitOutput {
145
161
  readonly __wbindgen_externrefs: WebAssembly.Table;
146
162
  readonly __externref_table_dealloc: (a: number) => void;
147
163
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
164
+ readonly __externref_drop_slice: (a: number, b: number) => void;
148
165
  readonly __wbindgen_start: () => void;
149
166
  }
150
167
 
package/vulture_wasm.js CHANGED
@@ -44,6 +44,20 @@ export class VultureTimetable {
44
44
  }
45
45
  return takeFromExternrefTable0(ret[0]);
46
46
  }
47
+ /**
48
+ * Snapshot of the loaded feed's features (stop / trip / route
49
+ * counts, `transfers.txt` shape, shape-availability, and the
50
+ * current state of the footpath graph). Returns a JS object
51
+ * matching the shape of [`vulture::gtfs::FeedFeatures`].
52
+ * @returns {any}
53
+ */
54
+ features() {
55
+ const ret = wasm.vulturetimetable_features(this.__wbg_ptr);
56
+ if (ret[2]) {
57
+ throw takeFromExternrefTable0(ret[1]);
58
+ }
59
+ return takeFromExternrefTable0(ret[0]);
60
+ }
47
61
  /**
48
62
  * Number of synthetic RAPTOR routes (one or more per GTFS
49
63
  * `route_id`).
@@ -191,6 +205,19 @@ export class VultureTimetable {
191
205
  }
192
206
  return v1;
193
207
  }
208
+ /**
209
+ * Heuristic list of vulture knobs worth turning given this
210
+ * feed's shape (e.g. "transfers.txt is empty: call
211
+ * withWalkingFootpaths(...)"). Returns a JS array of strings;
212
+ * empty when no heuristic fires.
213
+ * @returns {string[]}
214
+ */
215
+ suggestions() {
216
+ const ret = wasm.vulturetimetable_suggestions(this.__wbg_ptr);
217
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
218
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
219
+ return v1;
220
+ }
194
221
  /**
195
222
  * Augment the timetable's footpath graph with bidirectional
196
223
  * walking edges between every pair of stops within
@@ -334,6 +361,11 @@ function __wbg_get_imports() {
334
361
  const ret = getStringFromWasm0(arg0, arg1);
335
362
  return ret;
336
363
  },
364
+ __wbindgen_cast_0000000000000003: function(arg0) {
365
+ // Cast intrinsic for `U64 -> Externref`.
366
+ const ret = BigInt.asUintN(64, arg0);
367
+ return ret;
368
+ },
337
369
  __wbindgen_init_externref_table: function() {
338
370
  const table = wasm.__wbindgen_externrefs;
339
371
  const offset = table.grow(4);
@@ -371,6 +403,17 @@ function getArrayF64FromWasm0(ptr, len) {
371
403
  return getFloat64ArrayMemory0().subarray(ptr / 8, ptr / 8 + len);
372
404
  }
373
405
 
406
+ function getArrayJsValueFromWasm0(ptr, len) {
407
+ ptr = ptr >>> 0;
408
+ const mem = getDataViewMemory0();
409
+ const result = [];
410
+ for (let i = ptr; i < ptr + 4 * len; i += 4) {
411
+ result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));
412
+ }
413
+ wasm.__externref_drop_slice(ptr, len);
414
+ return result;
415
+ }
416
+
374
417
  function getArrayU32FromWasm0(ptr, len) {
375
418
  ptr = ptr >>> 0;
376
419
  return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len);
Binary file