@tiducto/spider-sdk-typescript 0.1.0 → 0.7.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/LICENSE +202 -21
- package/README.md +16 -79
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +19 -0
- package/dist/client.js.map +1 -1
- package/dist/contract/routing/Leg.d.ts +1 -0
- package/dist/contract/routing/Leg.d.ts.map +1 -1
- package/dist/contract/routing/PlanConnectionStreamData.d.ts +5 -0
- package/dist/contract/routing/PlanConnectionStreamData.d.ts.map +1 -0
- package/dist/contract/routing/PlanConnectionStreamData.js +2 -0
- package/dist/contract/routing/PlanConnectionStreamData.js.map +1 -0
- package/dist/contract/routing/PlanConnectionStreamResponse.d.ts +7 -0
- package/dist/contract/routing/PlanConnectionStreamResponse.d.ts.map +1 -0
- package/dist/contract/routing/PlanConnectionStreamResponse.js +2 -0
- package/dist/contract/routing/PlanConnectionStreamResponse.js.map +1 -0
- package/dist/contract/routing/PlanConnectionStreamVariables.d.ts +18 -0
- package/dist/contract/routing/PlanConnectionStreamVariables.d.ts.map +1 -0
- package/dist/contract/routing/PlanConnectionStreamVariables.js +2 -0
- package/dist/contract/routing/PlanConnectionStreamVariables.js.map +1 -0
- package/dist/contract/routing/PlanConnectionVariables.d.ts +1 -3
- package/dist/contract/routing/PlanConnectionVariables.d.ts.map +1 -1
- package/dist/contract/routing/index.d.ts +3 -0
- package/dist/contract/routing/index.d.ts.map +1 -1
- package/dist/contractVersion.d.ts +1 -1
- package/dist/contractVersion.js +1 -1
- package/dist/errors.d.ts +9 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -1
- package/dist/errors.js.map +1 -1
- package/dist/http.d.ts +25 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +69 -6
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/persistedQueries.d.ts +1 -0
- package/dist/persistedQueries.d.ts.map +1 -1
- package/dist/persistedQueries.js +2 -1
- package/dist/persistedQueries.js.map +1 -1
- package/dist/polling.d.ts +2 -1
- package/dist/polling.d.ts.map +1 -1
- package/dist/polling.js +5 -2
- package/dist/polling.js.map +1 -1
- package/dist/realtime.d.ts +19 -2
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +22 -8
- package/dist/realtime.js.map +1 -1
- package/dist/routing.d.ts +86 -4
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +235 -22
- package/dist/routing.js.map +1 -1
- package/dist/sdk.d.ts +1 -1
- package/dist/sdkVersion.d.ts +1 -1
- package/dist/sdkVersion.js +1 -1
- package/package.json +3 -3
package/dist/errors.js
CHANGED
|
@@ -12,12 +12,14 @@ export class TransportError extends Error {
|
|
|
12
12
|
kind;
|
|
13
13
|
httpStatus;
|
|
14
14
|
serverCode;
|
|
15
|
-
|
|
15
|
+
field;
|
|
16
|
+
constructor(kind, message, httpStatus, serverCode, field) {
|
|
16
17
|
super(message);
|
|
17
18
|
this.name = 'TransportError';
|
|
18
19
|
this.kind = kind;
|
|
19
20
|
this.httpStatus = httpStatus;
|
|
20
21
|
this.serverCode = serverCode;
|
|
22
|
+
this.field = field;
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
export function parseErrorEnvelope(text) {
|
|
@@ -68,6 +70,8 @@ export function toSpiderError(e) {
|
|
|
68
70
|
}
|
|
69
71
|
if (e.kind === 'no_data')
|
|
70
72
|
return { code: 'not_found', message: e.message };
|
|
73
|
+
if (e.kind === 'bad_request')
|
|
74
|
+
return { code: 'bad_request', message: e.message, field: e.field };
|
|
71
75
|
return { code: 'server', message: e.message };
|
|
72
76
|
}
|
|
73
77
|
if (e instanceof DecodingError)
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
CHANGED
|
@@ -37,9 +37,33 @@ export declare class Transport {
|
|
|
37
37
|
path: string;
|
|
38
38
|
}, variables: unknown): Promise<D>;
|
|
39
39
|
postJson<D>(path: string, body: unknown, errorMessage?: (raw: string) => string): Promise<D>;
|
|
40
|
+
/**
|
|
41
|
+
* Opens a Server-Sent Events stream: POSTs `{ id, variables }` to `/routing/{op.path}` and returns the raw
|
|
42
|
+
* streaming {@link Response} for the caller to read frame-by-frame. Unlike {@link send}, it does not
|
|
43
|
+
* auto-retry — a streamed response is consumed over time, so retrying (or aborting once the body is
|
|
44
|
+
* flowing) makes no sense; the connect timeout guards only the initial handshake and is cleared the moment
|
|
45
|
+
* the response headers arrive, leaving the body to stream uninterrupted.
|
|
46
|
+
*/
|
|
47
|
+
stream(op: {
|
|
48
|
+
id: string;
|
|
49
|
+
path: string;
|
|
50
|
+
}, variables: unknown): Promise<Response>;
|
|
40
51
|
getJson<D>(path: string, query?: Record<string, string>): Promise<D>;
|
|
41
52
|
getRaw(path: string, query?: Record<string, string>): Promise<RawResponse>;
|
|
42
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Best-effort connection warm-up. Issues one `GET {baseUrl}/ping`, authenticated with the
|
|
55
|
+
* client apikey, through this transport's own fetch, so the TLS handshake + connection it opens
|
|
56
|
+
* joins the per-origin pool and is reused by the first real call. Returns the measured
|
|
57
|
+
* round-trip in milliseconds.
|
|
58
|
+
*
|
|
59
|
+
* Never rejects: a network error, a timeout, or a non-2xx (e.g. a 401 against a keyless gateway,
|
|
60
|
+
* or a 404 before the `/ping` route is deployed) all still opened — or attempted to open — the
|
|
61
|
+
* connection, so the elapsed time is returned regardless. Only the apikey rides the request — it
|
|
62
|
+
* comes from the transport's shared request setup in `send()`; `/ping` is not contract-gated, so
|
|
63
|
+
* no contract/sdk headers are sent.
|
|
64
|
+
*/
|
|
65
|
+
ping(): Promise<number>;
|
|
66
|
+
private contractHeaders;
|
|
43
67
|
private send;
|
|
44
68
|
}
|
|
45
69
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAYD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAM3D;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAmC;gBAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAWjE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IA4B5E,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBlG;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoB/E,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAYhF;;;;;;;;;;;OAWG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAc7B,OAAO,CAAC,eAAe;YAOT,IAAI;CAkCnB"}
|
package/dist/http.js
CHANGED
|
@@ -28,7 +28,7 @@ export class Transport {
|
|
|
28
28
|
async graphql(op, variables) {
|
|
29
29
|
const res = await this.send(`${this.baseUrl}/routing/${op.path}`, {
|
|
30
30
|
method: 'POST',
|
|
31
|
-
headers: this.
|
|
31
|
+
headers: this.contractHeaders({ 'content-type': 'application/json' }),
|
|
32
32
|
body: JSON.stringify({ id: op.id, variables }),
|
|
33
33
|
});
|
|
34
34
|
checkContract(res.headers.get(CONTRACT_HEADER));
|
|
@@ -40,6 +40,11 @@ export class Transport {
|
|
|
40
40
|
}
|
|
41
41
|
const envelope = parseJson(text, `routing ${op.path}`);
|
|
42
42
|
if (envelope.errors != null && envelope.errors.length > 0) {
|
|
43
|
+
// A BAD_REQUEST extension → typed bad_request; anything else stays a generic upstream (→ server).
|
|
44
|
+
const bad = envelope.errors.find((e) => e.extensions?.code === 'BAD_REQUEST');
|
|
45
|
+
if (bad != null) {
|
|
46
|
+
throw new TransportError('bad_request', bad.message, undefined, undefined, bad.extensions?.field);
|
|
47
|
+
}
|
|
43
48
|
throw new TransportError('upstream', `routing ${op.path} errors: ${envelope.errors.map((e) => e.message).join(', ')}`);
|
|
44
49
|
}
|
|
45
50
|
if (envelope.data == null) {
|
|
@@ -50,7 +55,7 @@ export class Transport {
|
|
|
50
55
|
async postJson(path, body, errorMessage) {
|
|
51
56
|
const res = await this.send(`${this.baseUrl}${path}`, {
|
|
52
57
|
method: 'POST',
|
|
53
|
-
headers: this.
|
|
58
|
+
headers: this.contractHeaders({ 'content-type': 'application/json' }),
|
|
54
59
|
body: JSON.stringify(body),
|
|
55
60
|
});
|
|
56
61
|
checkContract(res.headers.get(CONTRACT_HEADER));
|
|
@@ -62,6 +67,33 @@ export class Transport {
|
|
|
62
67
|
}
|
|
63
68
|
return parseJson(text, `POST ${path}`);
|
|
64
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Opens a Server-Sent Events stream: POSTs `{ id, variables }` to `/routing/{op.path}` and returns the raw
|
|
72
|
+
* streaming {@link Response} for the caller to read frame-by-frame. Unlike {@link send}, it does not
|
|
73
|
+
* auto-retry — a streamed response is consumed over time, so retrying (or aborting once the body is
|
|
74
|
+
* flowing) makes no sense; the connect timeout guards only the initial handshake and is cleared the moment
|
|
75
|
+
* the response headers arrive, leaving the body to stream uninterrupted.
|
|
76
|
+
*/
|
|
77
|
+
async stream(op, variables) {
|
|
78
|
+
const headers = this.contractHeaders({ 'content-type': 'application/json', accept: 'text/event-stream' });
|
|
79
|
+
headers.set('apikey', this.apiKey);
|
|
80
|
+
const controller = new AbortController();
|
|
81
|
+
const timer = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
82
|
+
let res;
|
|
83
|
+
try {
|
|
84
|
+
res = await this.doFetch(`${this.baseUrl}/routing/${op.path}`, {
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers,
|
|
87
|
+
body: JSON.stringify({ id: op.id, variables }),
|
|
88
|
+
signal: controller.signal,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
clearTimeout(timer);
|
|
93
|
+
}
|
|
94
|
+
checkContract(res.headers.get(CONTRACT_HEADER));
|
|
95
|
+
return res;
|
|
96
|
+
}
|
|
65
97
|
async getJson(path, query) {
|
|
66
98
|
const raw = await this.getRaw(path, query);
|
|
67
99
|
if (!raw.ok) {
|
|
@@ -78,18 +110,49 @@ export class Transport {
|
|
|
78
110
|
url.searchParams.set(key, value);
|
|
79
111
|
}
|
|
80
112
|
}
|
|
81
|
-
const res = await this.send(url.toString(), { method: 'GET', headers: this.
|
|
113
|
+
const res = await this.send(url.toString(), { method: 'GET', headers: this.contractHeaders() });
|
|
82
114
|
checkContract(res.headers.get(CONTRACT_HEADER));
|
|
83
115
|
return { ok: res.ok, status: res.status, text: await res.text() };
|
|
84
116
|
}
|
|
85
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Best-effort connection warm-up. Issues one `GET {baseUrl}/ping`, authenticated with the
|
|
119
|
+
* client apikey, through this transport's own fetch, so the TLS handshake + connection it opens
|
|
120
|
+
* joins the per-origin pool and is reused by the first real call. Returns the measured
|
|
121
|
+
* round-trip in milliseconds.
|
|
122
|
+
*
|
|
123
|
+
* Never rejects: a network error, a timeout, or a non-2xx (e.g. a 401 against a keyless gateway,
|
|
124
|
+
* or a 404 before the `/ping` route is deployed) all still opened — or attempted to open — the
|
|
125
|
+
* connection, so the elapsed time is returned regardless. Only the apikey rides the request — it
|
|
126
|
+
* comes from the transport's shared request setup in `send()`; `/ping` is not contract-gated, so
|
|
127
|
+
* no contract/sdk headers are sent.
|
|
128
|
+
*/
|
|
129
|
+
async ping() {
|
|
130
|
+
const start = performance.now();
|
|
131
|
+
try {
|
|
132
|
+
const res = await this.send(`${this.baseUrl}/ping`, { method: 'GET' });
|
|
133
|
+
// Drain the body so the connection is released back to the pool for the first real call.
|
|
134
|
+
await res.text();
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Best-effort: the connection attempt itself is the warm-up — swallow every failure.
|
|
138
|
+
}
|
|
139
|
+
return performance.now() - start;
|
|
140
|
+
}
|
|
141
|
+
// Contract-gated calls carry the contract + sdk identity headers; the apikey is applied
|
|
142
|
+
// centrally in `send()`, so it's not set here.
|
|
143
|
+
contractHeaders(extra) {
|
|
86
144
|
const headers = new Headers(extra);
|
|
87
|
-
headers.set('apikey', this.apiKey);
|
|
88
145
|
headers.set(CONTRACT_HEADER, CONTRACT_VERSION);
|
|
89
146
|
headers.set(SDK_HEADER, SDK_IDENTITY);
|
|
90
147
|
return headers;
|
|
91
148
|
}
|
|
92
149
|
async send(url, init) {
|
|
150
|
+
// The client apikey is invariant for the client's whole life, so it's applied here on the
|
|
151
|
+
// shared request path — carried by every request (real calls and the warm-up) rather than
|
|
152
|
+
// re-attached per call.
|
|
153
|
+
const headers = new Headers(init.headers);
|
|
154
|
+
headers.set('apikey', this.apiKey);
|
|
155
|
+
const request = { ...init, headers };
|
|
93
156
|
const maxAttempts = this.retry?.maxAttempts ?? 1;
|
|
94
157
|
for (let attempt = 1;; attempt++) {
|
|
95
158
|
const controller = new AbortController();
|
|
@@ -97,7 +160,7 @@ export class Transport {
|
|
|
97
160
|
let res;
|
|
98
161
|
let err;
|
|
99
162
|
try {
|
|
100
|
-
res = await this.doFetch(url, { ...
|
|
163
|
+
res = await this.doFetch(url, { ...request, signal: controller.signal });
|
|
101
164
|
}
|
|
102
165
|
catch (e) {
|
|
103
166
|
err = e;
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0ChF,MAAM,UAAU,SAAS,CAAI,IAAY,EAAE,KAAa;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CAAC,oBAAoB,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,MAAM,OAAO,SAAS;IACH,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,OAAO,CAAY;IACnB,SAAS,CAAS;IAClB,KAAK,CAAoC;IAE1D,YAAY,OAAe,EAAE,MAAc,EAAE,OAA0B;QACrE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,6FAA6F;QAC7F,0FAA0F;QAC1F,2DAA2D;QAC3D,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,EAAgC,EAAE,SAAkB;QACnE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAqB,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,kGAAkG;YAClG,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC;YAC9E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,IAAI,YAAY,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAI,IAAY,EAAE,IAAa,EAAE,YAAsC;QACnF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACrE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,SAAS,CAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,EAAgC,EAAE,SAAkB;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;gBAC9C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,KAA8B;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,SAAS,CAAI,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B;QACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAChG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAChD,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,yFAAyF;YACzF,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,qFAAqF;QACvF,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,wFAAwF;IACxF,+CAA+C;IACvC,eAAe,CAAC,KAA8B;QACpD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAiB;QAC/C,0FAA0F;QAC1F,0FAA0F;QAC1F,wBAAwB;QACxB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,OAAO,GAAgB,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QACjD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,GAAyB,CAAC;YAC9B,IAAI,GAAY,CAAC;YACjB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,GAAG,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,IAAI,OAAO,GAAG,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;oBACvE,MAAM,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC/B,SAAS;gBACX,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC1B,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,QAAmB;IACtD,MAAM,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC;QAC7D,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ export { SpiderContractMismatchError } from './errors.ts';
|
|
|
6
6
|
export { Location, ViaLocation } from './location.ts';
|
|
7
7
|
export type { TransitMode, WheelchairBoarding, BikesAllowed, OccupancyStatus } from './enums.ts';
|
|
8
8
|
export { SpiderRouting } from './routing.ts';
|
|
9
|
-
export type { Route, RouteEdge, Itinerary, Leg, LatLon, RoutePageInfo, RoutingError, Departure, TripDetails, TripStop, PlanOptions, PlanStreamOptions, PlanStreamPageOptions, DeparturesOptions, } from './routing.ts';
|
|
9
|
+
export type { Route, RouteEdge, Itinerary, Leg, LatLon, RoutePageInfo, RoutingError, Departure, TripDetails, TripStop, PlanOptions, PlanStreamOptions, PlanStreamPageOptions, PlanStreamRequestOptions, PlanStreamEvent, DeparturesOptions, } from './routing.ts';
|
|
10
10
|
export { SpiderStops } from './stops.ts';
|
|
11
11
|
export type { Stop, StopFilter, GeoPoint, GeoBoundingBox } from './stops.ts';
|
|
12
|
-
export { SpiderRealtime } from './realtime.ts';
|
|
13
|
-
export type { FeedFreshness, LiveVehicle, LiveVehicleUpdate, VehiclePositions, StopTimeUpdate, TripDelay, TripDelays, ServiceAlert, AlertActivePeriod, AlertInformedEntity, ServiceAlerts, } from './realtime.ts';
|
|
12
|
+
export { SpiderRealtime, delayFor } from './realtime.ts';
|
|
13
|
+
export type { FeedFreshness, LiveVehicle, LiveVehicleUpdate, VehiclePositions, StopTimeUpdate, TripDelay, ServiceDateDelays, TripDelays, ServiceAlert, AlertActivePeriod, AlertInformedEntity, ServiceAlerts, } from './realtime.ts';
|
|
14
14
|
export { pollVehicles, pollVehicleForTrip, pollDelays, pollAlerts } from './polling.ts';
|
|
15
15
|
export type { PollOptions } from './polling.ts';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClG,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClG,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,KAAK,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxF,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,6 @@ export { SpiderContractMismatchError } from "./errors.js";
|
|
|
3
3
|
export { Location, ViaLocation } from "./location.js";
|
|
4
4
|
export { SpiderRouting } from "./routing.js";
|
|
5
5
|
export { SpiderStops } from "./stops.js";
|
|
6
|
-
export { SpiderRealtime } from "./realtime.js";
|
|
6
|
+
export { SpiderRealtime, delayFor } from "./realtime.js";
|
|
7
7
|
export { pollVehicles, pollVehicleForTrip, pollDelays, pollAlerts } from "./polling.js";
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAmB7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAezD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistedQueries.d.ts","sourceRoot":"","sources":["../src/persistedQueries.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,WAA4G,CAAC;AACtI,eAAO,MAAM,IAAI,EAAE,WAAsG,CAAC;AAC1H,eAAO,MAAM,IAAI,EAAE,WAAsG,CAAC"}
|
|
1
|
+
{"version":3,"file":"persistedQueries.d.ts","sourceRoot":"","sources":["../src/persistedQueries.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,WAA4G,CAAC;AACtI,eAAO,MAAM,IAAI,EAAE,WAAsG,CAAC;AAC1H,eAAO,MAAM,WAAW,EAAE,WAA6G,CAAC;AACxI,eAAO,MAAM,IAAI,EAAE,WAAsG,CAAC"}
|
package/dist/persistedQueries.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export const DEPARTURES = { id: '70a644fe3c6b2cbf5b2d70cef8230c1428bea6357ae1766772162d86469563d0', path: 'departures' };
|
|
2
|
-
export const PLAN = { id: '
|
|
2
|
+
export const PLAN = { id: '06004d101213f2d6abbbde9e7ed3fd239af47352168d5fd47ece8c46cab67618', path: 'plan' };
|
|
3
|
+
export const PLAN_STREAM = { id: '7f82dbee066bcb53a1ddfe83254abb396c408c5ce95a151ac743c656789aef4b', path: 'plan-stream' };
|
|
3
4
|
export const TRIP = { id: 'e8959a8d47a8e8437ee3ec740cd9c3e28bd401efdd236dde0502559daea53920', path: 'trip' };
|
|
4
5
|
//# sourceMappingURL=persistedQueries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistedQueries.js","sourceRoot":"","sources":["../src/persistedQueries.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,UAAU,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtI,MAAM,CAAC,MAAM,IAAI,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1H,MAAM,CAAC,MAAM,IAAI,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"persistedQueries.js","sourceRoot":"","sources":["../src/persistedQueries.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,UAAU,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtI,MAAM,CAAC,MAAM,IAAI,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1H,MAAM,CAAC,MAAM,WAAW,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACxI,MAAM,CAAC,MAAM,IAAI,GAAgB,EAAE,EAAE,EAAE,kEAAkE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/polling.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface PollOptions {
|
|
|
6
6
|
}
|
|
7
7
|
export declare function pollVehicles(realtime: SpiderRealtime, tripIds: readonly string[], options?: PollOptions): AsyncGenerator<SpiderResult<VehiclePositions>>;
|
|
8
8
|
export declare function pollVehicleForTrip(realtime: SpiderRealtime, tripId: string, options?: PollOptions): AsyncGenerator<SpiderResult<LiveVehicleUpdate>>;
|
|
9
|
-
export declare function pollDelays(realtime: SpiderRealtime,
|
|
9
|
+
export declare function pollDelays(realtime: SpiderRealtime, byServiceDate: Readonly<Record<string, readonly string[]>>, options?: PollOptions): AsyncGenerator<SpiderResult<TripDelays>>;
|
|
10
|
+
export declare function pollDelays(realtime: SpiderRealtime, tripIds: readonly string[], serviceDate: string, options?: PollOptions): AsyncGenerator<SpiderResult<TripDelays>>;
|
|
10
11
|
export declare function pollAlerts(realtime: SpiderRealtime, options?: PollOptions): AsyncGenerator<SpiderResult<ServiceAlerts>>;
|
|
11
12
|
//# sourceMappingURL=polling.d.ts.map
|
package/dist/polling.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../src/polling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAEhD;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAEjD;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../src/polling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAEhD;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAEjD;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAC1D,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5C,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AAa5C,wBAAgB,UAAU,CACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAE7C"}
|
package/dist/polling.js
CHANGED
|
@@ -4,8 +4,11 @@ export function pollVehicles(realtime, tripIds, options) {
|
|
|
4
4
|
export function pollVehicleForTrip(realtime, tripId, options) {
|
|
5
5
|
return poll(options, () => realtime.vehicleForTrip(tripId));
|
|
6
6
|
}
|
|
7
|
-
export function pollDelays(realtime,
|
|
8
|
-
|
|
7
|
+
export function pollDelays(realtime, arg, serviceDateOrOptions, options) {
|
|
8
|
+
if (typeof serviceDateOrOptions === 'string') {
|
|
9
|
+
return poll(options, () => realtime.delays(arg, serviceDateOrOptions));
|
|
10
|
+
}
|
|
11
|
+
return poll(serviceDateOrOptions, () => realtime.delays(arg));
|
|
9
12
|
}
|
|
10
13
|
export function pollAlerts(realtime, options) {
|
|
11
14
|
return poll(options, () => realtime.alerts());
|
package/dist/polling.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../src/polling.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACxB,OAA0B,EAC1B,OAAqB;IAErB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAwB,EACxB,MAAc,EACd,OAAqB;IAErB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;
|
|
1
|
+
{"version":3,"file":"polling.js","sourceRoot":"","sources":["../src/polling.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,YAAY,CAC1B,QAAwB,EACxB,OAA0B,EAC1B,OAAqB;IAErB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAwB,EACxB,MAAc,EACd,OAAqB;IAErB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAaD,MAAM,UAAU,UAAU,CACxB,QAAwB,EACxB,GAAoE,EACpE,oBAA2C,EAC3C,OAAqB;IAErB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAwB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAkD,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,QAAwB,EACxB,OAAqB;IAErB,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAClB,OAAgC,EAChC,KAAqC;IAErC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,OAA2B,CAAC;IAChC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS;YAC1B,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACrC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC7D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,MAAM,CAAC;QACf,CAAC;QACD,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM;QAC3B,MAAM,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/realtime.d.ts
CHANGED
|
@@ -42,11 +42,22 @@ export interface TripDelay {
|
|
|
42
42
|
readonly scheduleRelationship: string | null;
|
|
43
43
|
readonly stopTimeUpdates: readonly StopTimeUpdate[];
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
/** Delays for one GTFS service date: those the feed reported, and the `missing` trip ids it didn't. */
|
|
46
|
+
export interface ServiceDateDelays {
|
|
47
|
+
readonly serviceDate: string;
|
|
46
48
|
readonly delays: readonly TripDelay[];
|
|
47
49
|
readonly missing: readonly string[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Result of {@link SpiderRealtime.delays}: delays grouped by service date (the same `tripId` on two dates is
|
|
53
|
+
* two distinct instances), plus feed freshness. Look up a single instance with {@link delayFor}.
|
|
54
|
+
*/
|
|
55
|
+
export interface TripDelays {
|
|
56
|
+
readonly groups: readonly ServiceDateDelays[];
|
|
48
57
|
readonly freshness: FeedFreshness;
|
|
49
58
|
}
|
|
59
|
+
/** The delay for the (`tripId`, `serviceDate`) instance, if the feed reported one; otherwise null. */
|
|
60
|
+
export declare function delayFor(delays: TripDelays, tripId: string, serviceDate: string): TripDelay | null;
|
|
50
61
|
export interface AlertActivePeriod {
|
|
51
62
|
readonly startEpochMs: number | null;
|
|
52
63
|
readonly endEpochMs: number | null;
|
|
@@ -77,7 +88,13 @@ export declare class SpiderRealtime {
|
|
|
77
88
|
constructor(transport: Transport);
|
|
78
89
|
vehicles(tripIds: readonly string[]): Promise<SpiderResult<VehiclePositions>>;
|
|
79
90
|
vehicleForTrip(tripId: string): Promise<SpiderResult<LiveVehicleUpdate>>;
|
|
80
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Live delays, resolved per `(tripId, serviceDate)` instance: group trip ids by the GTFS service date
|
|
93
|
+
* (`YYYYMMDD`) they run on — pass each plan leg's `serviceDate` through. Empty input skips the call.
|
|
94
|
+
*/
|
|
95
|
+
delays(byServiceDate: Readonly<Record<string, readonly string[]>>): Promise<SpiderResult<TripDelays>>;
|
|
96
|
+
/** Live delays for `tripIds` all on one `serviceDate` (`YYYYMMDD`) — the common single-day case. */
|
|
97
|
+
delays(tripIds: readonly string[], serviceDate: string): Promise<SpiderResult<TripDelays>>;
|
|
81
98
|
alerts(): Promise<SpiderResult<ServiceAlerts>>;
|
|
82
99
|
}
|
|
83
100
|
//# sourceMappingURL=realtime.d.ts.map
|
package/dist/realtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.js
CHANGED
|
@@ -2,9 +2,14 @@ import { parseJson } from "./http.js";
|
|
|
2
2
|
import { failure, success } from "./result.js";
|
|
3
3
|
import { SpiderContractMismatchError, TransportError, toSpiderError } from "./errors.js";
|
|
4
4
|
import { occupancyFromWire } from "./enums.js";
|
|
5
|
+
/** The delay for the (`tripId`, `serviceDate`) instance, if the feed reported one; otherwise null. */
|
|
6
|
+
export function delayFor(delays, tripId, serviceDate) {
|
|
7
|
+
const group = delays.groups.find((g) => g.serviceDate === serviceDate);
|
|
8
|
+
return group?.delays.find((d) => d.tripId === tripId) ?? null;
|
|
9
|
+
}
|
|
5
10
|
const EMPTY_FRESHNESS = { feedTimestampEpochMs: null, staleSeconds: null };
|
|
6
11
|
const EMPTY_POSITIONS = { vehicles: [], missing: [], freshness: EMPTY_FRESHNESS };
|
|
7
|
-
const EMPTY_DELAYS = {
|
|
12
|
+
const EMPTY_DELAYS = { groups: [], freshness: EMPTY_FRESHNESS };
|
|
8
13
|
export class SpiderRealtime {
|
|
9
14
|
transport;
|
|
10
15
|
constructor(transport) {
|
|
@@ -51,16 +56,18 @@ export class SpiderRealtime {
|
|
|
51
56
|
return failure(toSpiderError(e));
|
|
52
57
|
}
|
|
53
58
|
}
|
|
54
|
-
async delays(
|
|
55
|
-
|
|
59
|
+
async delays(arg, serviceDate) {
|
|
60
|
+
const byServiceDate = serviceDate !== undefined
|
|
61
|
+
? { [serviceDate]: arg }
|
|
62
|
+
: arg;
|
|
63
|
+
const queries = Object.entries(byServiceDate).map(([date, tripIds]) => ({ serviceDate: date, tripIds: [...tripIds] }));
|
|
64
|
+
if (queries.every((q) => q.tripIds.length === 0))
|
|
56
65
|
return success(EMPTY_DELAYS);
|
|
57
66
|
try {
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
});
|
|
67
|
+
const request = { queries };
|
|
68
|
+
const dto = await this.transport.postJson('/realtime/delays', request);
|
|
61
69
|
return success({
|
|
62
|
-
|
|
63
|
-
missing: dto.missing ?? [],
|
|
70
|
+
groups: (dto.results ?? []).map(mapGroupResult),
|
|
64
71
|
freshness: mapFreshness(dto),
|
|
65
72
|
});
|
|
66
73
|
}
|
|
@@ -107,6 +114,13 @@ function mapVehicle(v) {
|
|
|
107
114
|
timestampEpochMs: secondsToMs(v.timestamp),
|
|
108
115
|
};
|
|
109
116
|
}
|
|
117
|
+
function mapGroupResult(g) {
|
|
118
|
+
return {
|
|
119
|
+
serviceDate: g.serviceDate,
|
|
120
|
+
delays: (g.delays ?? []).map(mapDelay),
|
|
121
|
+
missing: g.missing ?? [],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
110
124
|
function mapDelay(d) {
|
|
111
125
|
return {
|
|
112
126
|
tripId: d.tripId ?? null,
|
package/dist/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|