hk-bus-eta 2.1.0 → 2.1.2
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/README.md +2 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/kmb.d.ts +2 -1
- package/dist/kmb.js +5 -1
- package/dist/kmb.js.map +1 -1
- package/esm/adhor.d.ts +1 -0
- package/esm/adhor.js +4 -0
- package/esm/adhor.js.map +1 -0
- package/esm/db.json +1 -0
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/kmb.d.ts +2 -1
- package/esm/kmb.js +5 -1
- package/esm/kmb.js.map +1 -1
- package/esm/src/adhor.d.ts +1 -0
- package/esm/src/adhor.js +19 -0
- package/esm/src/adhor.js.map +1 -0
- package/esm/src/ctb.d.ts +9 -0
- package/esm/src/ctb.js +21 -0
- package/esm/src/ctb.js.map +1 -0
- package/esm/src/gmb.d.ts +9 -0
- package/esm/src/gmb.js +21 -0
- package/esm/src/gmb.js.map +1 -0
- package/esm/src/index.d.ts +9 -0
- package/esm/src/index.js +58 -0
- package/esm/src/index.js.map +1 -0
- package/esm/src/kmb.d.ts +11 -0
- package/esm/src/kmb.js +24 -0
- package/esm/src/kmb.js.map +1 -0
- package/esm/src/lightRail.d.ts +8 -0
- package/esm/src/lightRail.js +42 -0
- package/esm/src/lightRail.js.map +1 -0
- package/esm/src/lrtfeeder.d.ts +8 -0
- package/esm/src/lrtfeeder.js +31 -0
- package/esm/src/lrtfeeder.js.map +1 -0
- package/esm/src/mtr.d.ts +8 -0
- package/esm/src/mtr.js +21 -0
- package/esm/src/mtr.js.map +1 -0
- package/esm/src/nlb.d.ts +7 -0
- package/esm/src/nlb.js +27 -0
- package/esm/src/nlb.js.map +1 -0
- package/esm/src/type.d.ts +60 -0
- package/esm/src/type.js +2 -0
- package/esm/src/type.js.map +1 -0
- package/esm/src/utils.d.ts +1 -0
- package/esm/src/utils.js +13 -0
- package/esm/src/utils.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +4 -4
- package/src/kmb.ts +7 -2
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Bus ETAs in Hong Kong is now available as open data in Hong Kong, while there is no format normalization across different transport provider. This package is a js package (typescript supported) for querying normalized public traffic ETA (Estimated Time of Arrival) in Hong Kong. The ETA data structure is based on [hkbus/hk-bus-crawling](https://github.com/hkbus/hk-bus-crawling) and a well-established open-source project is known as [hkbus.app](https://hkbus.app/).
|
|
4
4
|
|
|
5
|
+
A Python version package is available [here](https://pypi.org/project/hk-bus-eta/) and the source code is available [here](https://github.com/hkbus/hk-bus-crawling).
|
|
6
|
+
|
|
5
7
|
## Demo
|
|
6
8
|
|
|
7
9
|
Live demo is available [here](https://hk-bus-eta.chunlaw.io/).
|
package/dist/index.js
CHANGED
|
@@ -29,8 +29,8 @@ function fetchEtas({ route, stops, bound, dest, seq, serviceType, co, nlbId, gtf
|
|
|
29
29
|
_etas = _etas.concat(yield (0, kmb_1.default)({
|
|
30
30
|
route,
|
|
31
31
|
stopId: stops.kmb[seq],
|
|
32
|
-
seq,
|
|
33
|
-
serviceType, bound: bound[company_id]
|
|
32
|
+
seq, co,
|
|
33
|
+
serviceType, bound: bound[company_id],
|
|
34
34
|
}));
|
|
35
35
|
}
|
|
36
36
|
else if (company_id === 'ctb' && stops.ctb) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,gDAAuB;AACvB,gDAAuB;AACvB,4DAAmC;AACnC,gDAAuB;AACvB,4DAAmC;AACnC,gDAAuB;AAQvB,SAAsB,SAAS,CAAG,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAkB;;QAC3H,IAAI;YACF,IAAI,KAAK,GAAU,EAAE,CAAA;YACrB,KAAM,MAAM,UAAU,IAAI,EAAE,EAAG;gBAC7B,IAAI,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE;oBACrC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,aAAG,EAAC;wBAC9B,KAAK;wBACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;wBACtB,GAAG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/kmb.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { Eta, RouteListEntry } from "./type";
|
|
2
2
|
interface fetchEtasProps {
|
|
3
3
|
route: RouteListEntry['route'];
|
|
4
|
+
co: RouteListEntry['co'];
|
|
4
5
|
serviceType: RouteListEntry['serviceType'];
|
|
5
6
|
bound: RouteListEntry['bound']['kmb'];
|
|
6
7
|
stopId: string;
|
|
7
8
|
seq: number;
|
|
8
9
|
}
|
|
9
|
-
export default function fetchEtas({ stopId, route, seq, serviceType, bound }: fetchEtasProps): Promise<Eta[]>;
|
|
10
|
+
export default function fetchEtas({ stopId, route, seq, serviceType, co, bound }: fetchEtasProps): Promise<Eta[]>;
|
|
10
11
|
export {};
|
package/dist/kmb.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const utils_1 = require("./utils");
|
|
4
|
-
|
|
4
|
+
// parameter seq is 0-indexed here
|
|
5
|
+
function fetchEtas({ stopId, route, seq, serviceType, co, bound }) {
|
|
5
6
|
return (fetch(`https://data.etabus.gov.hk/v1/transport/kmb/eta/${stopId}/${route}/${serviceType}`, {
|
|
6
7
|
cache: utils_1.isSafari ? 'default' : 'no-store'
|
|
7
8
|
})
|
|
@@ -10,6 +11,9 @@ function fetchEtas({ stopId, route, seq, serviceType, bound }) {
|
|
|
10
11
|
&& e.dir === bound)
|
|
11
12
|
.sort((a, b) => Math.abs(a.seq - seq) < Math.abs(b.seq - seq) ? -1 : 1)
|
|
12
13
|
.filter((eta, _, self) => eta.seq === self[0].seq)
|
|
14
|
+
// if KMB is the only service provider and the service type is matched,
|
|
15
|
+
// then sequence number should be exact matched, noted that eta.seq is 1-indexed
|
|
16
|
+
.filter((eta) => co.length > 1 || serviceType !== eta.service_type || eta.seq === seq + 1)
|
|
13
17
|
.map((e) => ({
|
|
14
18
|
eta: e.eta,
|
|
15
19
|
remark: {
|
package/dist/kmb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kmb.js","sourceRoot":"","sources":["../src/kmb.ts"],"names":[],"mappings":";;AACA,mCAAmC;
|
|
1
|
+
{"version":3,"file":"kmb.js","sourceRoot":"","sources":["../src/kmb.ts"],"names":[],"mappings":";;AACA,mCAAmC;AAWnC,kCAAkC;AAClC,SAAwB,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAiB;IAC7F,OAAO,CACL,KAAK,CAAC,mDAAmD,MAAM,IAAI,KAAK,IAAI,WAAW,EAAE,EAAC;QACxF,KAAK,EAAE,gBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KACzC,CAAC;SACD,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAE;SACnC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,CAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CACrB,CAAC,CAAC,GAAG,KAAK,IAAI;WACX,CAAC,CAAC,GAAG,KAAK,KAAK,CACnB;SACA,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;SACjF,MAAM,CAAC,CAAC,GAAQ,EAAE,CAAS,EAAE,IAAW,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,wEAAwE;QACxE,gFAAgF;SAC/E,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,KAAK,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;SAC9F,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAChB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE;YACN,EAAE,EAAE,CAAC,CAAC,MAAM;YACZ,EAAE,EAAE,CAAC,CAAC,MAAM;SACb;QACD,EAAE,EAAE,KAAK;KACV,CAAC,CAAC,CACJ,CAAC,CACH,CAAC;AACJ,CAAC;AA1BD,4BA0BC"}
|
package/esm/adhor.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/esm/adhor.js
ADDED
package/esm/adhor.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adhor.js","sourceRoot":"","sources":["../src/adhor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAElC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrB,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAA"}
|