hk-bus-eta 2.1.3 → 2.1.5

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/dist/lightRail.js CHANGED
@@ -12,7 +12,7 @@ function fetchEtas({ stopId, route, dest }) {
12
12
  .filter(({ route_no, dest_ch, dest_en, stop }) => (route === route_no
13
13
  && (dest_ch === dest.zh || dest_en.includes('Circular'))
14
14
  && stop === 0))
15
- .map(({ time_en }) => {
15
+ .map(({ time_en, train_length }) => {
16
16
  let waitTime = 0;
17
17
  switch (time_en.toLowerCase()) {
18
18
  case 'arriving':
@@ -29,8 +29,8 @@ function fetchEtas({ stopId, route, dest }) {
29
29
  eta: `${etaDate.getUTCFullYear()}-${`0${etaDate.getUTCMonth() + 1}`.slice(-2)}-${`0${etaDate.getUTCDate()}`.slice(-2)}`
30
30
  + `T${`0${etaDate.getUTCHours()}`.slice(-2)}:${`0${etaDate.getMinutes()}`.slice(-2)}:${`0${etaDate.getSeconds()}`.slice(-2)}+08:00`,
31
31
  remark: {
32
- zh: `${platform_id}號月台`,
33
- en: `Platform ${platform_id}`
32
+ zh: `${platform_id}號月台 - ${Array(train_length).fill("▭").join("")}`,
33
+ en: `Platform ${platform_id} - ${Array(train_length).fill("▭").join("")}`
34
34
  },
35
35
  co: 'lightRail'
36
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lightRail.js","sourceRoot":"","sources":["../src/lightRail.ts"],"names":[],"mappings":";;AACA,mCAAmC;AAQnC,SAAwB,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAkB;IACvE,OAAO,CACL,KAAK,CAAC,sEAAsE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7F,KAAK,EAAE,gBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KAEzC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAE;SACrC,IAAI,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,CACzB,aAAa;SACV,MAAM,CAAC,CAAC,GAAU,EAAE,EAAC,UAAU,EAAE,WAAW,EAAM,EAAE,EAAE,CAAC;QACtD,GAAG,GAAG;QACN,GAAG,UAAU;aACV,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAM,EAAE,EAAE,CAAC,CACnD,KAAK,KAAK,QAAQ;eACf,CAAE,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAE;eACvD,IAAI,KAAK,CAAC,CACd,CAAC;aACD,GAAG,CAAE,CAAC,EAAC,OAAO,EAAM,EAAE,EAAE;YACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,QAAS,OAAO,CAAC,WAAW,EAAE,EAAG;gBAC/B,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW,CAAC;gBACjB,KAAK,GAAG;oBACN,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR;oBACE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;oBAChC,MAAM;aACT;YACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1E,OAAO;gBACL,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;sBACpH,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACpI,MAAM,EAAE;oBACN,EAAE,EAAE,GAAG,WAAW,KAAK;oBACvB,EAAE,EAAE,YAAY,WAAW,EAAE;iBAC9B;gBACD,EAAE,EAAE,WAAW;aAChB,CAAA;QACH,CAAC,EAAE,EAAE,CAAC;KACT,EAAE,EAAE,CAAC,CACT,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AA9CD,4BA8CC"}
1
+ {"version":3,"file":"lightRail.js","sourceRoot":"","sources":["../src/lightRail.ts"],"names":[],"mappings":";;AACA,mCAAmC;AAQnC,SAAwB,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAkB;IACvE,OAAO,CACL,KAAK,CAAC,sEAAsE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7F,KAAK,EAAE,gBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KAEzC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAE;SACrC,IAAI,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,CACzB,aAAa;SACV,MAAM,CAAC,CAAC,GAAU,EAAE,EAAC,UAAU,EAAE,WAAW,EAAM,EAAE,EAAE,CAAC;QACtD,GAAG,GAAG;QACN,GAAG,UAAU;aACV,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAM,EAAE,EAAE,CAAC,CACnD,KAAK,KAAK,QAAQ;eACf,CAAE,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAE;eACvD,IAAI,KAAK,CAAC,CACd,CAAC;aACD,GAAG,CAAE,CAAC,EAAC,OAAO,EAAE,YAAY,EAAM,EAAE,EAAE;YACrC,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,QAAS,OAAO,CAAC,WAAW,EAAE,EAAG;gBAC/B,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW,CAAC;gBACjB,KAAK,GAAG;oBACN,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR;oBACE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;oBAChC,MAAM;aACT;YACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1E,OAAO;gBACL,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;sBACpH,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACpI,MAAM,EAAE;oBACN,EAAE,EAAE,GAAG,WAAW,SAAS,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACnE,EAAE,EAAE,YAAY,WAAW,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;iBAC1E;gBACD,EAAE,EAAE,WAAW;aAChB,CAAA;QACH,CAAC,EAAE,EAAE,CAAC;KACT,EAAE,EAAE,CAAC,CACT,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AA9CD,4BA8CC"}
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/esm/lightRail.js CHANGED
@@ -10,7 +10,7 @@ export default function fetchEtas({ stopId, route, dest }) {
10
10
  .filter(({ route_no, dest_ch, dest_en, stop }) => (route === route_no
11
11
  && (dest_ch === dest.zh || dest_en.includes('Circular'))
12
12
  && stop === 0))
13
- .map(({ time_en }) => {
13
+ .map(({ time_en, train_length }) => {
14
14
  let waitTime = 0;
15
15
  switch (time_en.toLowerCase()) {
16
16
  case 'arriving':
@@ -27,8 +27,8 @@ export default function fetchEtas({ stopId, route, dest }) {
27
27
  eta: `${etaDate.getUTCFullYear()}-${`0${etaDate.getUTCMonth() + 1}`.slice(-2)}-${`0${etaDate.getUTCDate()}`.slice(-2)}`
28
28
  + `T${`0${etaDate.getUTCHours()}`.slice(-2)}:${`0${etaDate.getMinutes()}`.slice(-2)}:${`0${etaDate.getSeconds()}`.slice(-2)}+08:00`,
29
29
  remark: {
30
- zh: `${platform_id}號月台`,
31
- en: `Platform ${platform_id}`
30
+ zh: `${platform_id}號月台 - ${Array(train_length).fill("▭").join("")}`,
31
+ en: `Platform ${platform_id} - ${Array(train_length).fill("▭").join("")}`
32
32
  },
33
33
  co: 'lightRail'
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lightRail.js","sourceRoot":"","sources":["../src/lightRail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQnC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAkB;IACvE,OAAO,CACL,KAAK,CAAC,sEAAsE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7F,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KAEzC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAE;SACrC,IAAI,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,CACzB,aAAa;SACV,MAAM,CAAC,CAAC,GAAU,EAAE,EAAC,UAAU,EAAE,WAAW,EAAM,EAAE,EAAE,CAAC;QACtD,GAAG,GAAG;QACN,GAAG,UAAU;aACV,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAM,EAAE,EAAE,CAAC,CACnD,KAAK,KAAK,QAAQ;eACf,CAAE,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAE;eACvD,IAAI,KAAK,CAAC,CACd,CAAC;aACD,GAAG,CAAE,CAAC,EAAC,OAAO,EAAM,EAAE,EAAE;YACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,QAAS,OAAO,CAAC,WAAW,EAAE,EAAG;gBAC/B,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW,CAAC;gBACjB,KAAK,GAAG;oBACN,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR;oBACE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;oBAChC,MAAM;aACT;YACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1E,OAAO;gBACL,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;sBACpH,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACpI,MAAM,EAAE;oBACN,EAAE,EAAE,GAAG,WAAW,KAAK;oBACvB,EAAE,EAAE,YAAY,WAAW,EAAE;iBAC9B;gBACD,EAAE,EAAE,WAAW;aAChB,CAAA;QACH,CAAC,EAAE,EAAE,CAAC;KACT,EAAE,EAAE,CAAC,CACT,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lightRail.js","sourceRoot":"","sources":["../src/lightRail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQnC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAkB;IACvE,OAAO,CACL,KAAK,CAAC,sEAAsE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7F,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KAEzC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAE;SACrC,IAAI,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,CACzB,aAAa;SACV,MAAM,CAAC,CAAC,GAAU,EAAE,EAAC,UAAU,EAAE,WAAW,EAAM,EAAE,EAAE,CAAC;QACtD,GAAG,GAAG;QACN,GAAG,UAAU;aACV,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAM,EAAE,EAAE,CAAC,CACnD,KAAK,KAAK,QAAQ;eACf,CAAE,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAE;eACvD,IAAI,KAAK,CAAC,CACd,CAAC;aACD,GAAG,CAAE,CAAC,EAAC,OAAO,EAAE,YAAY,EAAM,EAAE,EAAE;YACrC,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,QAAS,OAAO,CAAC,WAAW,EAAE,EAAG;gBAC/B,KAAK,UAAU,CAAC;gBAChB,KAAK,WAAW,CAAC;gBACjB,KAAK,GAAG;oBACN,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR;oBACE,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;oBAChC,MAAM;aACT;YACD,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1E,OAAO;gBACL,GAAG,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;sBACpH,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACpI,MAAM,EAAE;oBACN,EAAE,EAAE,GAAG,WAAW,SAAS,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACnE,EAAE,EAAE,YAAY,WAAW,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;iBAC1E;gBACD,EAAE,EAAE,WAAW;aAChB,CAAA;QACH,CAAC,EAAE,EAAE,CAAC;KACT,EAAE,EAAE,CAAC,CACT,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC,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.5",
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",
package/src/lightRail.ts CHANGED
@@ -23,7 +23,7 @@ export default function fetchEtas ({stopId, route, dest }: fetchEtasProps): Prom
23
23
  && ( dest_ch === dest.zh || dest_en.includes('Circular') )
24
24
  && stop === 0
25
25
  ))
26
- .map( ({time_en}: any) => {
26
+ .map( ({time_en, train_length}: any) => {
27
27
  let waitTime = 0
28
28
  switch ( time_en.toLowerCase() ) {
29
29
  case 'arriving':
@@ -40,8 +40,8 @@ export default function fetchEtas ({stopId, route, dest }: fetchEtasProps): Prom
40
40
  eta: `${etaDate.getUTCFullYear()}-${`0${etaDate.getUTCMonth() + 1}`.slice(-2)}-${`0${etaDate.getUTCDate()}`.slice(-2)}`
41
41
  +`T${`0${etaDate.getUTCHours()}`.slice(-2)}:${`0${etaDate.getMinutes()}`.slice(-2)}:${`0${etaDate.getSeconds()}`.slice(-2)}+08:00`,
42
42
  remark: {
43
- zh: `${platform_id}號月台`,
44
- en: `Platform ${platform_id}`
43
+ zh: `${platform_id}號月台 - ${Array(train_length).fill("▭").join("")}`,
44
+ en: `Platform ${platform_id} - ${Array(train_length).fill("▭").join("")}`
45
45
  },
46
46
  co: 'lightRail'
47
47
  }