hk-bus-eta 2.1.3 → 2.1.4

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/dist/index.js CHANGED
@@ -28,6 +28,7 @@ function fetchEtas({ route, stops, bound, dest, seq, serviceType, co, nlbId, gtf
28
28
  if (company_id === 'kmb' && stops.kmb) {
29
29
  _etas = _etas.concat(yield (0, kmb_1.default)({
30
30
  route,
31
+ stops: stops.kmb,
31
32
  stopId: stops.kmb[seq],
32
33
  seq, co,
33
34
  serviceType, bound: bound.kmb,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,KAAK,EAAE,KAAK,CAAC,GAAG;wBAChB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;wBACtB,GAAG,EAAE,EAAE;wBACP,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG;qBAC9B,CAAC,CAAC,CAAA;iBACJ;qBAAM,IAAK,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAG;oBAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,aAAG,EAAC,EAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;iBAC1F;qBAAM,IAAK,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAG;oBAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,aAAG,EAAC,EAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAC,CAAC,CAAE,CAAA;iBACnE;qBAAM,IAAK,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,SAAS,EAAG;oBAC1D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,mBAAS,EAAC,EAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAA;iBACxF;qBAAM,IAAK,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAG;oBAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,aAAG,EAAC,EAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAE,CAAA;iBAC5F;qBAAM,IAAK,UAAU,KAAK,WAAW,IAAI,KAAK,CAAC,SAAS,EAAG;oBAC1D,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,mBAAS,EAAC,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAE,CAAA;iBACvF;qBAAM,IAAK,UAAU,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAG;oBAC9C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,MAAM,IAAA,aAAG,EAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAE,CAAA;iBACvF;aACF;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE;gBACxB,IAAK,CAAC,CAAC,GAAG,KAAK,EAAE;oBAAG,OAAO,CAAC,CAAA;qBACvB,IAAK,CAAC,CAAC,GAAG,KAAK,EAAE;oBAAG,OAAO,CAAC,CAAC,CAAA;gBAClC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClB,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CAAA;AApCD,8BAoCC;AAED,SAAsB,UAAU;;QAC9B,OAAO,KAAK,CAAC,gEAAgE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACpG,CAAC;CAAA;AAFD,gCAEC;AAED,SAAsB,aAAa;;QACjC,OAAO,KAAK,CAAC,2DAA2D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/F,CAAC;CAAA;AAFD,sCAEC"}
package/dist/kmb.d.ts CHANGED
@@ -4,8 +4,9 @@ interface fetchEtasProps {
4
4
  co: RouteListEntry['co'];
5
5
  serviceType: RouteListEntry['serviceType'];
6
6
  bound: RouteListEntry['bound']['kmb'];
7
+ stops: RouteListEntry['stops']['kmb'];
7
8
  stopId: string;
8
9
  seq: number;
9
10
  }
10
- export default function fetchEtas({ stopId, route, seq, serviceType, co, bound }: fetchEtasProps): Promise<Eta[]>;
11
+ export default function fetchEtas({ stopId, route, seq, serviceType, stops, co, bound }: fetchEtasProps): Promise<Eta[]>;
11
12
  export {};
package/dist/kmb.js CHANGED
@@ -2,7 +2,7 @@
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
+ function fetchEtas({ stopId, route, seq, serviceType, stops, co, bound }) {
6
6
  return (fetch(`https://data.etabus.gov.hk/v1/transport/kmb/eta/${stopId}/${route}/${serviceType}`, {
7
7
  cache: utils_1.isSafari ? 'default' : 'no-store'
8
8
  })
@@ -14,6 +14,15 @@ function fetchEtas({ stopId, route, seq, serviceType, co, bound }) {
14
14
  // if KMB is the only service provider and the service type is matched,
15
15
  // then sequence number should be exact matched, noted that eta.seq is 1-indexed
16
16
  .filter((eta) => co.length > 1 || serviceType !== eta.service_type || eta.seq === seq + 1)
17
+ .filter((eta) => {
18
+ if (stops[stops.length - 1] === stops[0]) {
19
+ // handle circular route
20
+ if (stopId === stops[0]) {
21
+ return eta.seq === seq + 1;
22
+ }
23
+ }
24
+ return true;
25
+ })
17
26
  .map((e) => ({
18
27
  eta: e.eta,
19
28
  remark: {
package/dist/kmb.js.map CHANGED
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"kmb.js","sourceRoot":"","sources":["../src/kmb.ts"],"names":[],"mappings":";;AACA,mCAAmC;AAYnC,kCAAkC;AAClC,SAAwB,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAiB;IACpG,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,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACnB,IAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAG;YAC1C,wBAAwB;YACxB,IAAK,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAG;gBACzB,OAAO,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;aAC3B;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;SACD,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;AAnCD,4BAmCC"}
package/esm/index.js CHANGED
@@ -12,6 +12,7 @@ export async function fetchEtas({ route, stops, bound, dest, seq, serviceType, c
12
12
  if (company_id === 'kmb' && stops.kmb) {
13
13
  _etas = _etas.concat(await kmb({
14
14
  route,
15
+ stops: stops.kmb,
15
16
  stopId: stops.kmb[seq],
16
17
  seq, co,
17
18
  serviceType, bound: bound.kmb,
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/esm/kmb.d.ts CHANGED
@@ -4,8 +4,9 @@ interface fetchEtasProps {
4
4
  co: RouteListEntry['co'];
5
5
  serviceType: RouteListEntry['serviceType'];
6
6
  bound: RouteListEntry['bound']['kmb'];
7
+ stops: RouteListEntry['stops']['kmb'];
7
8
  stopId: string;
8
9
  seq: number;
9
10
  }
10
- export default function fetchEtas({ stopId, route, seq, serviceType, co, bound }: fetchEtasProps): Promise<Eta[]>;
11
+ export default function fetchEtas({ stopId, route, seq, serviceType, stops, co, bound }: fetchEtasProps): Promise<Eta[]>;
11
12
  export {};
package/esm/kmb.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { isSafari } from "./utils";
2
2
  // parameter seq is 0-indexed here
3
- export default function fetchEtas({ stopId, route, seq, serviceType, co, bound }) {
3
+ export default function fetchEtas({ stopId, route, seq, serviceType, stops, co, bound }) {
4
4
  return (fetch(`https://data.etabus.gov.hk/v1/transport/kmb/eta/${stopId}/${route}/${serviceType}`, {
5
5
  cache: isSafari ? 'default' : 'no-store'
6
6
  })
@@ -12,6 +12,15 @@ export default function fetchEtas({ stopId, route, seq, serviceType, co, bound }
12
12
  // if KMB is the only service provider and the service type is matched,
13
13
  // then sequence number should be exact matched, noted that eta.seq is 1-indexed
14
14
  .filter((eta) => co.length > 1 || serviceType !== eta.service_type || eta.seq === seq + 1)
15
+ .filter((eta) => {
16
+ if (stops[stops.length - 1] === stops[0]) {
17
+ // handle circular route
18
+ if (stopId === stops[0]) {
19
+ return eta.seq === seq + 1;
20
+ }
21
+ }
22
+ return true;
23
+ })
15
24
  .map((e) => ({
16
25
  eta: e.eta,
17
26
  remark: {
package/esm/kmb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kmb.js","sourceRoot":"","sources":["../src/kmb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAWnC,kCAAkC;AAClC,MAAM,CAAC,OAAO,UAAU,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,QAAQ,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"}
1
+ {"version":3,"file":"kmb.js","sourceRoot":"","sources":["../src/kmb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAYnC,kCAAkC;AAClC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAiB;IACpG,OAAO,CACL,KAAK,CAAC,mDAAmD,MAAM,IAAI,KAAK,IAAI,WAAW,EAAE,EAAC;QACxF,KAAK,EAAE,QAAQ,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,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;QACnB,IAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAG;YAC1C,wBAAwB;YACxB,IAAK,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAG;gBACzB,OAAO,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAA;aAC3B;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;SACD,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hk-bus-eta",
3
- "version": "2.1.3",
3
+ "version": "2.1.4",
4
4
  "description": "Query the ETA (Estimated Time of Arrival) of HK Bus/Minibus/MTR/Lightrail",
5
5
  "main": "dist/index.js",
6
6
  "module": "esm/index.js",