meet-my-ride 1.5.11 → 1.5.13

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/client.d.ts CHANGED
@@ -13,9 +13,7 @@ export declare class MeetMyRideClient {
13
13
  constructor(baseUrl: string, apiKey?: string);
14
14
  /** Manually set or remove the Authorization header */
15
15
  setToken(token: string | null): Promise<void>;
16
- /** Handles HTTP errors including automatic token refresh */
17
16
  private handleError;
18
- /** Refresh access token using stored refresh token */
19
17
  private refreshAccessToken;
20
18
  }
21
19
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAIvD,qBAAa,gBAAgB;IACzB,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAmC;gBAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAoC5C,sDAAsD;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,4DAA4D;YAC9C,WAAW;IAkCzB,sDAAsD;YACxC,kBAAkB;CAanC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAIvD,qBAAa,gBAAgB;IACzB,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAmC;gBAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAoC5C,sDAAsD;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAQ5C,WAAW;YA6CX,kBAAkB;CAenC"}
package/dist/client.js CHANGED
@@ -42,27 +42,30 @@ export class MeetMyRideClient {
42
42
  delete this.http.defaults.headers["Authorization"];
43
43
  }
44
44
  }
45
- /** Handles HTTP errors including automatic token refresh */
46
45
  async handleError(error) {
47
46
  const originalRequest = error.config;
48
47
  const refreshToken = await this.tokenStorage.getRefreshToken();
49
- if (error.response?.status === 401 && !originalRequest._retry && refreshToken) {
48
+ // ----- HANDLE 401 -----
49
+ if (error.response?.status === 401 && refreshToken && !originalRequest._retry) {
50
50
  originalRequest._retry = true;
51
+ // If NO refresh process running → start one
51
52
  if (!this.isRefreshing) {
52
53
  this.isRefreshing = true;
53
54
  try {
54
55
  const newToken = await this.refreshAccessToken();
55
56
  this.isRefreshing = false;
57
+ // Resume all queued requests
56
58
  this.refreshQueue.forEach(cb => cb(newToken));
57
59
  this.refreshQueue = [];
58
60
  }
59
- catch (err) {
61
+ catch (refreshError) {
60
62
  this.isRefreshing = false;
61
63
  this.refreshQueue = [];
62
64
  await this.tokenStorage.clear();
63
- return Promise.reject(err);
65
+ return Promise.reject(refreshError);
64
66
  }
65
67
  }
68
+ // If a refresh is already in progress → wait
66
69
  return new Promise((resolve, reject) => {
67
70
  this.refreshQueue.push((token) => {
68
71
  if (!originalRequest.headers)
@@ -72,9 +75,9 @@ export class MeetMyRideClient {
72
75
  });
73
76
  });
74
77
  }
78
+ // ----- NORMALIZE OTHER ERRORS -----
75
79
  throw parseApiError(error);
76
80
  }
77
- /** Refresh access token using stored refresh token */
78
81
  async refreshAccessToken() {
79
82
  const refreshToken = await this.tokenStorage.getRefreshToken();
80
83
  if (!refreshToken)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"retryOn401.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/retryOn401.decorator.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAClB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,kBAAkB,GACnC,kBAAkB,CAmCpB"}
1
+ {"version":3,"file":"retryOn401.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/retryOn401.decorator.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAClB,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,kBAAkB,GACnC,kBAAkB,CAiBpB"}
@@ -1,26 +1,13 @@
1
1
  export function retryOn401(target, propertyKey, descriptor) {
2
2
  const originalMethod = descriptor.value;
3
- if (typeof originalMethod !== "function") {
4
- throw new Error("retryOn401 can only be applied to methods");
5
- }
6
3
  descriptor.value = async function (...args) {
7
- const self = this;
8
4
  try {
9
- return await originalMethod.apply(self, args);
5
+ return await originalMethod.apply(this, args);
10
6
  }
11
7
  catch (err) {
12
- const error = err;
13
- if (error.response?.status === 401) {
14
- const refreshToken = await self.tokenStorage.getRefreshToken();
15
- if (!refreshToken)
16
- throw error;
17
- const res = await self.http.post("/users/refresh", { refreshToken });
18
- const { accessToken, refreshToken: newRefreshToken } = res.data;
19
- await self.tokenStorage.setAccessToken(accessToken);
20
- await self.tokenStorage.setRefreshToken(newRefreshToken);
21
- self.http.defaults.headers["Authorization"] = `Bearer ${accessToken}`;
22
- // Retry original method
23
- return await originalMethod.apply(self, args);
8
+ if (err.status === 401) {
9
+ // The global interceptor will refresh the token.
10
+ return await originalMethod.apply(this, args);
24
11
  }
25
12
  throw err;
26
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retryOn401.decorator.js","sourceRoot":"","sources":["../../src/decorators/retryOn401.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAClB,MAAW,EACX,WAA4B,EAC5B,UAA8B;IAElC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAExC,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACjE,CAAC;IAED,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;QAC7C,MAAM,IAAI,GAAG,IAAwC,CAAC;QAEtD,IAAI,CAAC;YACD,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,GAAiB,CAAC;YAEhC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;gBAC/D,IAAI,CAAC,YAAY;oBAAE,MAAM,KAAK,CAAC;gBAE/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAEhE,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBACpD,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;gBAEtE,wBAAwB;gBACxB,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"retryOn401.decorator.js","sourceRoot":"","sources":["../../src/decorators/retryOn401.decorator.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAClB,MAAW,EACX,WAA4B,EAC5B,UAA8B;IAElC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;QAC7C,IAAI,CAAC;YACD,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrB,iDAAiD;gBACjD,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -1,8 +1,15 @@
1
+ import { AxiosError } from "axios";
1
2
  export declare class ApiError extends Error {
2
3
  status: number;
3
4
  code: string;
4
5
  details?: any;
5
6
  constructor(status: number, code: string, message: string, details?: any);
6
7
  }
7
- export declare function parseApiError(error: unknown): ApiError;
8
+ export declare function parseApiError(error: AxiosError): {
9
+ url: string | undefined;
10
+ method: string | undefined;
11
+ status: number;
12
+ message: any;
13
+ errors: any;
14
+ };
8
15
  //# sourceMappingURL=api.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAM3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAkBtD"}
1
+ {"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAiB,MAAM,OAAO,CAAC;AAElD,qBAAa,QAAS,SAAQ,KAAK;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAM3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU;;;;;;EAU9C"}
@@ -7,51 +7,14 @@ export class ApiError extends Error {
7
7
  }
8
8
  }
9
9
  export function parseApiError(error) {
10
- // If this is not an AxiosError, return a generic error
11
- if (!isAxiosError(error)) {
12
- return new ApiError(0, "ERR_UNKNOWN", "An unknown error occurred");
13
- }
14
- const response = error.response;
15
- // No response = network issues, timeout, offline, DNS, CORS, etc.
16
- if (!response) {
17
- return new ApiError(0, "ERR_NETWORK", "Network error — unable to reach the server. Check your connection.");
18
- }
19
- return buildApiErrorFromResponse(response);
20
- }
21
- function buildApiErrorFromResponse(response) {
22
- const status = response.status;
23
- const body = typeof response.data === "object" ? response.data : null;
24
- const code = body?.code ||
25
- defaultCodeForStatus(status);
26
- const message = body?.message ||
27
- defaultMessageForStatus(status);
28
- const details = body?.details;
29
- return new ApiError(status, code, message, details);
30
- }
31
- // ---------- Helpers ---------- //
32
- function isAxiosError(error) {
33
- return error && error.isAxiosError;
34
- }
35
- function defaultCodeForStatus(status) {
36
- switch (status) {
37
- case 400: return "ERR_BAD_REQUEST";
38
- case 401: return "ERR_UNAUTHORIZED";
39
- case 403: return "ERR_FORBIDDEN";
40
- case 404: return "ERR_NOT_FOUND";
41
- case 429: return "ERR_RATE_LIMIT";
42
- case 500: return "ERR_SERVER";
43
- default: return "ERR_GENERIC";
44
- }
45
- }
46
- function defaultMessageForStatus(status) {
47
- switch (status) {
48
- case 400: return "Bad request";
49
- case 401: return "Unauthorized";
50
- case 403: return "Forbidden";
51
- case 404: return "Not found";
52
- case 429: return "Too many requests — please slow down";
53
- case 500: return "Server error";
54
- default: return "Unexpected error";
55
- }
10
+ return {
11
+ url: error.config?.url,
12
+ method: error.config?.method,
13
+ status: error.response?.status ?? 0,
14
+ message: error.response?.data?.title
15
+ ?? error.response?.data?.message
16
+ ?? error.message,
17
+ errors: error.response?.data?.errors ?? null
18
+ };
56
19
  }
57
20
  //# sourceMappingURL=api.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.types.js","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAK/B,YAAY,MAAc,EAAE,IAAY,EAAE,OAAe,EAAE,OAAa;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IACxC,uDAAuD;IACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,kEAAkE;IAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,QAAQ,CACX,CAAC,EACD,aAAa,EACb,oEAAoE,CAC3E,CAAC;IACN,CAAC;IAED,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAuB;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,MAAM,IAAI,GACF,IAAI,EAAE,IAAI;QACV,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,OAAO,GACL,IAAI,EAAE,OAAO;QACb,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;IAE9B,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AAEnC,SAAS,YAAY,CAAC,KAAU;IAC5B,OAAO,KAAK,IAAK,KAAoB,CAAC,YAAY,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IACxC,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,iBAAiB,CAAC;QACnC,KAAK,GAAG,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACpC,KAAK,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC;QACjC,KAAK,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC;QACjC,KAAK,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAClC,KAAK,GAAG,CAAC,CAAC,OAAO,YAAY,CAAC;QAC9B,OAAO,CAAC,CAAE,OAAO,aAAa,CAAC;IACnC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC3C,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC;QAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;QAChC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,sCAAsC,CAAC;QACxD,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;QAChC,OAAO,CAAC,CAAE,OAAO,kBAAkB,CAAC;IACxC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"api.types.js","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAK/B,YAAY,MAAc,EAAE,IAAY,EAAE,OAAe,EAAE,OAAa;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC3C,OAAO;QACH,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM;QAC5B,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;QACnC,OAAO,EAAG,KAAK,CAAC,QAAQ,EAAE,IAAY,EAAE,KAAK;eACjC,KAAK,CAAC,QAAQ,EAAE,IAAY,EAAE,OAAO;eACtC,KAAK,CAAC,OAAO;QACxB,MAAM,EAAG,KAAK,CAAC,QAAQ,EAAE,IAAY,EAAE,MAAM,IAAI,IAAI;KACxD,CAAC;AACN,CAAC"}
@@ -9,7 +9,7 @@ export interface MeetBase {
9
9
  latitude: number;
10
10
  longitude: number;
11
11
  date: Date;
12
- type: MeetType;
12
+ AllowedVehicles: number;
13
13
  }
14
14
  export interface Meet extends MeetBase {
15
15
  id: string;
@@ -39,6 +39,7 @@ export interface GeocodeResult {
39
39
  lon: string;
40
40
  displayName: string;
41
41
  address: Address;
42
+ type: string;
42
43
  }
43
44
  export interface Address {
44
45
  placeId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"meet.types.d.ts","sourceRoot":"","sources":["../../../src/models/meet/meet.types.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,IAAI,IAAA;CACP;AAGD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,IAAK,SAAQ,QAAQ;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;CAAG;AAEtD,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;CAAG;AAEtD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"meet.types.d.ts","sourceRoot":"","sources":["../../../src/models/meet/meet.types.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAChB,GAAG,IAAA;IACH,IAAI,IAAA;IACJ,IAAI,IAAA;CACP;AAGD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,IAAK,SAAQ,QAAQ;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;CAAG;AAEtD,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;CAAG;AAEtD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meet-my-ride",
3
- "version": "1.5.11",
3
+ "version": "1.5.13",
4
4
  "description": "Private library for the MeetMyRide applications",
5
5
  "repository": {
6
6
  "type": "git",