@tripian/core 9.3.3 → 9.3.7
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/CLAUDE.md +7 -0
- package/Random.js +286 -0
- package/Random.js.map +1 -0
- package/api/API.d.ts +5 -0
- package/api/API.js +1663 -0
- package/api/API.js.map +1 -0
- package/api/CLAUDE.md +7 -0
- package/api/const/APICONST.js +233 -0
- package/api/const/APICONST.js.map +1 -0
- package/api/const/ApiConstModel.d.ts +2 -0
- package/api/const/ApiConstModel.js +3 -0
- package/api/const/ApiConstModel.js.map +1 -0
- package/api/const/CLAUDE.md +7 -0
- package/data/data.js +121 -0
- package/data/data.js.map +1 -0
- package/data/dataClear.js +50 -0
- package/data/dataClear.js.map +1 -0
- package/data/dataModel.js +3 -0
- package/data/dataModel.js.map +1 -0
- package/easy/TDate.js +49 -0
- package/easy/TDate.js.map +1 -0
- package/easy/easy.js +90 -0
- package/easy/easy.js.map +1 -0
- package/easy/handle/cache/Cached.js +274 -0
- package/easy/handle/cache/Cached.js.map +1 -0
- package/easy/handle/cache/cache.js +512 -0
- package/easy/handle/cache/cache.js.map +1 -0
- package/easy/handle/cache/cacheCommon.js +20 -0
- package/easy/handle/cache/cacheCommon.js.map +1 -0
- package/easy/handle/cache/cacheHelper.js +349 -0
- package/easy/handle/cache/cacheHelper.js.map +1 -0
- package/easy/handle/handle.js +61 -0
- package/easy/handle/handle.js.map +1 -0
- package/index.js +2 -2
- package/package.json +2 -2
- package/providers/bb/API.js +3605 -0
- package/providers/bb/API.js.map +1 -0
- package/providers/gyg/API.js +446 -0
- package/providers/gyg/API.js.map +1 -0
- package/providers/gyg/allCategories.js +2501 -0
- package/providers/gyg/allCategories.js.map +1 -0
- package/providers/gyg/catalogCategoryIds.js +22 -0
- package/providers/gyg/catalogCategoryIds.js.map +1 -0
- package/providers/gyg/handle.js +81 -0
- package/providers/gyg/handle.js.map +1 -0
- package/providers/gyg/mockTour.js +145 -0
- package/providers/gyg/mockTour.js.map +1 -0
- package/providers/radial-storage/API.js +25 -0
- package/providers/radial-storage/API.js.map +1 -0
- package/providers/rezdy/API.js +40 -0
- package/providers/rezdy/API.js.map +1 -0
- package/providers/toristy/API.js +69 -0
- package/providers/toristy/API.js.map +1 -0
- package/providers/travelify/API.js +72 -0
- package/providers/travelify/API.js.map +1 -0
- package/providers/viator/API.js +313 -0
- package/providers/viator/API.js.map +1 -0
- package/providers/viator/bookingQuestions.js +289 -0
- package/providers/viator/bookingQuestions.js.map +1 -0
- package/providers/viator/handle.js +48 -0
- package/providers/viator/handle.js.map +1 -0
- package/providers/victory/API.js +237 -0
- package/providers/victory/API.js.map +1 -0
- package/providers/videreo/API.js +29 -0
- package/providers/videreo/API.js.map +1 -0
- package/providers/yelp/API.js +151 -0
- package/providers/yelp/API.js.map +1 -0
- package/providers/yelp/data/business_test.js +37 -0
- package/providers/yelp/data/business_test.js.map +1 -0
- package/providers/yelp/data/hold_test.js +14 -0
- package/providers/yelp/data/hold_test.js.map +1 -0
- package/providers/yelp/data/openings_test.js +194 -0
- package/providers/yelp/data/openings_test.js.map +1 -0
- package/providers/yelp/data/reservation_test.js +9 -0
- package/providers/yelp/data/reservation_test.js.map +1 -0
- package/tcore.umd.js +2 -2
- package/tcore.umd.js.map +1 -1
- package/xhr/IXhrOptions.js +3 -0
- package/xhr/IXhrOptions.js.map +1 -0
- package/xhr/xhr.js +105 -0
- package/xhr/xhr.js.map +1 -0
- package/xhr/xhrFetch.js +214 -0
- package/xhr/xhrFetch.js.map +1 -0
package/easy/TDate.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const moment_1 = __importDefault(require("moment"));
|
|
7
|
+
class TDate {
|
|
8
|
+
constructor(tripianDates) {
|
|
9
|
+
this.startDate = (0, moment_1.default)();
|
|
10
|
+
this.endDate = (0, moment_1.default)();
|
|
11
|
+
// private recurrent: (0 | 1 | 2 | 3 | 4 | 5 | 6)[] = [];
|
|
12
|
+
this.recurrent = [];
|
|
13
|
+
// private blackouts: moment.Moment[] = [];
|
|
14
|
+
this.blackouts = [];
|
|
15
|
+
this.availableDays = [];
|
|
16
|
+
this.calc = () => {
|
|
17
|
+
if (this.endDate.isBefore(this.startDate))
|
|
18
|
+
return;
|
|
19
|
+
const newAvailableDays = [];
|
|
20
|
+
const cursorDate = this.startDate.clone();
|
|
21
|
+
while (cursorDate.isSameOrBefore(this.endDate)) {
|
|
22
|
+
if (this.recurrent.includes(cursorDate.day())) {
|
|
23
|
+
const cursorDateString = cursorDate.format('YYYY-MM-DD');
|
|
24
|
+
if (!this.blackouts.includes(cursorDateString)) {
|
|
25
|
+
newAvailableDays.push(cursorDateString);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
cursorDate.add(1, 'days');
|
|
29
|
+
}
|
|
30
|
+
this.availableDays = newAvailableDays;
|
|
31
|
+
};
|
|
32
|
+
this.include = (dateString) => this.availableDays.includes(dateString);
|
|
33
|
+
this.toList = () => this.availableDays;
|
|
34
|
+
this.get = () => this.tripianDates;
|
|
35
|
+
this.set = (tripianDates) => {
|
|
36
|
+
this.tripianDates = tripianDates;
|
|
37
|
+
this.startDate = (0, moment_1.default)(tripianDates.startDate);
|
|
38
|
+
this.endDate = (0, moment_1.default)(tripianDates.endDate);
|
|
39
|
+
this.recurrent = tripianDates.recurrent;
|
|
40
|
+
// this.blackouts = tripianDates.blackouts.map((x) => moment(x));
|
|
41
|
+
this.blackouts = tripianDates.blackouts;
|
|
42
|
+
this.calc();
|
|
43
|
+
};
|
|
44
|
+
this.tripianDates = tripianDates;
|
|
45
|
+
this.set(tripianDates);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = TDate;
|
|
49
|
+
//# sourceMappingURL=TDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TDate.js","sourceRoot":"","sources":["../../src/easy/TDate.ts"],"names":[],"mappings":";;;;;AAEA,oDAA4B;AAE5B,MAAM,KAAK;IAeT,YAAY,YAAgC;QAZpC,cAAS,GAAkB,IAAA,gBAAM,GAAE,CAAC;QAEpC,YAAO,GAAkB,IAAA,gBAAM,GAAE,CAAC;QAE1C,yDAAyD;QACjD,cAAS,GAAa,EAAE,CAAC;QAEjC,2CAA2C;QACnC,cAAS,GAAa,EAAE,CAAC;QAEzB,kBAAa,GAAa,EAAE,CAAC;QAO7B,SAAI,GAAG,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO;YAElD,MAAM,gBAAgB,GAAG,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAE1C,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE;oBAC7C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBAC9C,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;qBACzC;iBACF;gBACD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aAC3B;YAED,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;QACxC,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE1E,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;QAElC,QAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;QAE9B,QAAG,GAAG,CAAC,YAAgC,EAAE,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAA,gBAAM,EAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,GAAG,IAAA,gBAAM,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YACxC,iEAAiE;YACjE,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QArCA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;CAoCF;AAED,kBAAe,KAAK,CAAC"}
|
package/easy/easy.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const TDate_1 = __importDefault(require("./TDate"));
|
|
7
|
+
const easy = {
|
|
8
|
+
// /**
|
|
9
|
+
// * Push message to tripian.data.log array.
|
|
10
|
+
// * If NODE_ENV is development, write message to console.
|
|
11
|
+
// * @param {object} message
|
|
12
|
+
// */
|
|
13
|
+
// log: (message: object) => {
|
|
14
|
+
// // data.logs.push(...message);
|
|
15
|
+
// if (process.env.NODE_ENV === 'development') {
|
|
16
|
+
// // eslint-disable-next-line no-console
|
|
17
|
+
// console.log(message);
|
|
18
|
+
// }
|
|
19
|
+
// },
|
|
20
|
+
// /**
|
|
21
|
+
// * Push error message to tripian.data.errors array.
|
|
22
|
+
// * If NODE_ENV is development, write error message to console.
|
|
23
|
+
// * @param {object} message
|
|
24
|
+
// */
|
|
25
|
+
// error: (message: object) => {
|
|
26
|
+
// // data.errors.push(...message);
|
|
27
|
+
// if (process.env.NODE_ENV === 'development') {
|
|
28
|
+
// // eslint-disable-next-line no-console
|
|
29
|
+
// console.error(message);
|
|
30
|
+
// }
|
|
31
|
+
// },
|
|
32
|
+
/**
|
|
33
|
+
* Replace stringQuery, param.key with param.value.
|
|
34
|
+
* @param {string} stringQuery
|
|
35
|
+
* @param {object} param { key, value }
|
|
36
|
+
* @returns {string} stringQuery.replace(`{${param.key}}`, param.value)
|
|
37
|
+
*/
|
|
38
|
+
setParameter: (stringQuery, param) => {
|
|
39
|
+
return stringQuery.replace(`{${param.key}}`, param.value);
|
|
40
|
+
},
|
|
41
|
+
/**
|
|
42
|
+
* Replace stringQuery, '{id}' with id
|
|
43
|
+
* @param {string} stringQuery
|
|
44
|
+
* @param {number} id
|
|
45
|
+
* @returns {string} stringQuery.replace('{id}', id);
|
|
46
|
+
*/
|
|
47
|
+
setParameterId: (stringQuery, id, key) => {
|
|
48
|
+
return stringQuery.replace(`{${key}}`, id.toString());
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Replace stringQuery, all param.key with all param.value foreach params parameter
|
|
52
|
+
* @param {string} stringQuery
|
|
53
|
+
* @param {object} params [{ key, value }, { key, value } ...]
|
|
54
|
+
* @returns {string} stringQuery.replace(`{${param.key}}`, param.value)
|
|
55
|
+
*/
|
|
56
|
+
setParameters: (stringQuery, params) => {
|
|
57
|
+
return params.reduce((previoueValue, currentValue) => easy.setParameter(previoueValue, currentValue), stringQuery);
|
|
58
|
+
},
|
|
59
|
+
parseAccessToken: (idToken) => {
|
|
60
|
+
try {
|
|
61
|
+
const base64Url = idToken.split('.')[1];
|
|
62
|
+
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
63
|
+
const encodedURIComponent = Buffer.from(base64, 'base64').toString();
|
|
64
|
+
const jsonPayload = decodeURIComponent(encodedURIComponent);
|
|
65
|
+
return JSON.parse(jsonPayload);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
// eslint-disable-next-line no-console
|
|
69
|
+
console.error('Invalid access token', error);
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
parseToken: (token) => {
|
|
74
|
+
const { idToken: accessToken } = token;
|
|
75
|
+
return easy.parseAccessToken(accessToken);
|
|
76
|
+
},
|
|
77
|
+
accessTokenExpSecond: (tokenPayload) => {
|
|
78
|
+
const now = Math.floor(Date.now() / 1000);
|
|
79
|
+
return tokenPayload.exp - now;
|
|
80
|
+
},
|
|
81
|
+
refreshTokenExpSecond: (tokenPayload) => {
|
|
82
|
+
const refreshTokenValidationDuration = 2592000; // 60*60*24*30 (1 month)
|
|
83
|
+
const refreshTokenExpireTime = (tokenPayload === null || tokenPayload === void 0 ? void 0 : tokenPayload.auth_time) + refreshTokenValidationDuration;
|
|
84
|
+
const now = Math.floor(Date.now() / 1000);
|
|
85
|
+
return refreshTokenExpireTime - now;
|
|
86
|
+
},
|
|
87
|
+
TDate: TDate_1.default,
|
|
88
|
+
};
|
|
89
|
+
exports.default = easy;
|
|
90
|
+
//# sourceMappingURL=easy.js.map
|
package/easy/easy.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"easy.js","sourceRoot":"","sources":["../../src/easy/easy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
30
|
+
const model_1 = __importStar(require("@tripian/model"));
|
|
31
|
+
const APICONST_1 = __importDefault(require("../../../api/const/APICONST"));
|
|
32
|
+
const data_1 = __importDefault(require("../../../data/data"));
|
|
33
|
+
class Cached {
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
******************************************************************************
|
|
37
|
+
*
|
|
38
|
+
* Cities
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
Cached.cities = (lang) => {
|
|
42
|
+
var _a;
|
|
43
|
+
return (_a = data_1.default.cities) === null || _a === void 0 ? void 0 : _a[lang];
|
|
44
|
+
};
|
|
45
|
+
Cached.city = (lang, cityId) => {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
return (_b = (_a = data_1.default.cities) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((c) => c.id === cityId);
|
|
48
|
+
};
|
|
49
|
+
Cached.cityInfo = (lang, cityId) => {
|
|
50
|
+
var _a, _b;
|
|
51
|
+
return (_b = (_a = data_1.default.citiesInfo) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((c) => c.id === cityId.toString());
|
|
52
|
+
};
|
|
53
|
+
Cached.citiesEvents = (lang, cityId) => {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
const eventsData = (_b = (_a = data_1.default.citiesEvents) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((group) => group.cityId === cityId);
|
|
56
|
+
return eventsData === null || eventsData === void 0 ? void 0 : eventsData.events;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
******************************************************************************
|
|
60
|
+
*
|
|
61
|
+
* Feedbacks
|
|
62
|
+
*
|
|
63
|
+
*/
|
|
64
|
+
Cached.feedbacks = (lang) => {
|
|
65
|
+
var _a;
|
|
66
|
+
return (_a = data_1.default.feedbacks) === null || _a === void 0 ? void 0 : _a[lang];
|
|
67
|
+
};
|
|
68
|
+
Cached.userFeedbacks = (lang) => {
|
|
69
|
+
var _a;
|
|
70
|
+
return (_a = data_1.default.userFeedbacks) === null || _a === void 0 ? void 0 : _a[lang];
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
******************************************************************************
|
|
74
|
+
*
|
|
75
|
+
* POIS Categories
|
|
76
|
+
*
|
|
77
|
+
*/
|
|
78
|
+
Cached.poiCategories = (lang) => {
|
|
79
|
+
var _a;
|
|
80
|
+
return (_a = data_1.default.poiCategoryResponse) === null || _a === void 0 ? void 0 : _a[lang];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
******************************************************************************
|
|
84
|
+
*
|
|
85
|
+
* POIS Category Tags
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
Cached.autoCompleteTagsAll = (lang, cityId, poiCategories) => {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
const categoryIds = poiCategories.split(',').map(Number);
|
|
91
|
+
const tagsData = (_b = (_a = data_1.default.autoCompleteTagsAll) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((pa) => pa.cityId === cityId && model_1.helper.arraysEqual(pa.poiCategories, categoryIds));
|
|
92
|
+
if (tagsData) {
|
|
93
|
+
return tagsData.tags;
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
******************************************************************************
|
|
99
|
+
*
|
|
100
|
+
* POI
|
|
101
|
+
*
|
|
102
|
+
*/ Cached.poi = (lang, poiId) => {
|
|
103
|
+
var _a;
|
|
104
|
+
const langPois = (_a = data_1.default.pois) === null || _a === void 0 ? void 0 : _a[lang];
|
|
105
|
+
if (!langPois)
|
|
106
|
+
return undefined;
|
|
107
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
108
|
+
for (const group of langPois) {
|
|
109
|
+
const foundPoi = group.pois.find((p) => p.id === poiId);
|
|
110
|
+
if (foundPoi) {
|
|
111
|
+
return foundPoi;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
};
|
|
116
|
+
Cached.pois = (lang, showOffersOnly, poiIds) => {
|
|
117
|
+
var _a, _b, _c;
|
|
118
|
+
if (poiIds.length === 0)
|
|
119
|
+
return undefined;
|
|
120
|
+
const filterPois = (_c = (_b = (_a = data_1.default.pois) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((group) => group.showOffersOnly === showOffersOnly)) === null || _c === void 0 ? void 0 : _c.pois.filter((p) => poiIds.includes(p.id));
|
|
121
|
+
if ((filterPois === null || filterPois === void 0 ? void 0 : filterPois.length) === poiIds.length)
|
|
122
|
+
return filterPois;
|
|
123
|
+
return undefined;
|
|
124
|
+
};
|
|
125
|
+
Cached.poisAll = (lang, cityId, poiCategories, showOffersOnly, showBookingsOnly) => {
|
|
126
|
+
var _a, _b;
|
|
127
|
+
const categoryIds = poiCategories.split(',').map(Number);
|
|
128
|
+
const poisData = (_b = (_a = data_1.default.poisAll) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((group) => group.cityId === cityId &&
|
|
129
|
+
model_1.helper.arraysEqual(group.poiCategories, categoryIds) &&
|
|
130
|
+
group.showOffersOnly === showOffersOnly &&
|
|
131
|
+
group.showBookingsOnly === showBookingsOnly);
|
|
132
|
+
if (poisData) {
|
|
133
|
+
return poisData.pois;
|
|
134
|
+
}
|
|
135
|
+
return undefined;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
******************************************************************************
|
|
139
|
+
*
|
|
140
|
+
* User
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
143
|
+
Cached.user = () => {
|
|
144
|
+
return data_1.default.user;
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
******************************************************************************
|
|
148
|
+
*
|
|
149
|
+
* Favorites
|
|
150
|
+
*
|
|
151
|
+
*/
|
|
152
|
+
Cached.favorites = (lang, cityId) => {
|
|
153
|
+
var _a, _b, _c, _d, _e, _f;
|
|
154
|
+
if (cityId === void 0) { cityId = (_c = (_b = (_a = data_1.default.trip) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.city) === null || _c === void 0 ? void 0 : _c.id; }
|
|
155
|
+
return (_f = (_e = (_d = data_1.default.favorites) === null || _d === void 0 ? void 0 : _d[lang]) === null || _e === void 0 ? void 0 : _e.find((favorite) => favorite.cityId === cityId)) === null || _f === void 0 ? void 0 : _f.favoritePois;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
******************************************************************************
|
|
159
|
+
*
|
|
160
|
+
* Companions
|
|
161
|
+
*
|
|
162
|
+
*/
|
|
163
|
+
Cached.companions = (lang) => {
|
|
164
|
+
var _a;
|
|
165
|
+
return (_a = data_1.default.companions) === null || _a === void 0 ? void 0 : _a[lang];
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
******************************************************************************
|
|
169
|
+
*
|
|
170
|
+
* Notifications
|
|
171
|
+
*
|
|
172
|
+
*/
|
|
173
|
+
// static notifications = (): Model.Notification[] | undefined => {
|
|
174
|
+
// return data.notifications;
|
|
175
|
+
// };
|
|
176
|
+
/**
|
|
177
|
+
******************************************************************************
|
|
178
|
+
*
|
|
179
|
+
* Reservations
|
|
180
|
+
*
|
|
181
|
+
*/
|
|
182
|
+
Cached.reservations = (lang) => {
|
|
183
|
+
var _a;
|
|
184
|
+
return (_a = data_1.default.reservations) === null || _a === void 0 ? void 0 : _a[lang];
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
******************************************************************************
|
|
188
|
+
*
|
|
189
|
+
* User-Reactions
|
|
190
|
+
*
|
|
191
|
+
*/
|
|
192
|
+
Cached.userReactions = (lang, tripHash) => {
|
|
193
|
+
var _a, _b, _c, _d, _e;
|
|
194
|
+
const currentTripHash = tripHash || ((_b = (_a = data_1.default.trip) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.tripHash);
|
|
195
|
+
if (currentTripHash)
|
|
196
|
+
return (_e = (_d = (_c = data_1.default.userReactions) === null || _c === void 0 ? void 0 : _c[lang]) === null || _d === void 0 ? void 0 : _d.find((reactionData) => reactionData.tripHash === currentTripHash)) === null || _e === void 0 ? void 0 : _e.userReactions;
|
|
197
|
+
return undefined;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
******************************************************************************
|
|
201
|
+
*
|
|
202
|
+
* Questions
|
|
203
|
+
*
|
|
204
|
+
*/
|
|
205
|
+
Cached.questions = (lang, qDataKey) => {
|
|
206
|
+
var _a, _b, _c;
|
|
207
|
+
let questionDatas = [];
|
|
208
|
+
switch (qDataKey) {
|
|
209
|
+
case `${APICONST_1.default.QUESTIONS.DATA_KEY}-${model_1.default.QUESTIONS_CATEGORY.TRIP}`:
|
|
210
|
+
questionDatas = ((_a = data_1.default.questionsTrip) === null || _a === void 0 ? void 0 : _a[lang]) || [];
|
|
211
|
+
break;
|
|
212
|
+
case `${APICONST_1.default.QUESTIONS.DATA_KEY}-${model_1.default.QUESTIONS_CATEGORY.PROFILE}`:
|
|
213
|
+
questionDatas = ((_b = data_1.default.questionsProfile) === null || _b === void 0 ? void 0 : _b[lang]) || [];
|
|
214
|
+
break;
|
|
215
|
+
case `${APICONST_1.default.QUESTIONS.DATA_KEY}-${model_1.default.QUESTIONS_CATEGORY.COMPANION}`:
|
|
216
|
+
questionDatas = ((_c = data_1.default.questionsCompanion) === null || _c === void 0 ? void 0 : _c[lang]) || [];
|
|
217
|
+
break;
|
|
218
|
+
default:
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
if (questionDatas.length === 0)
|
|
222
|
+
return undefined;
|
|
223
|
+
return questionDatas;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
******************************************************************************
|
|
227
|
+
*
|
|
228
|
+
* TripRefs
|
|
229
|
+
*
|
|
230
|
+
*/
|
|
231
|
+
Cached.tripRefs = () => {
|
|
232
|
+
return data_1.default.tripRefs;
|
|
233
|
+
};
|
|
234
|
+
Cached.tripSavedRefs = () => {
|
|
235
|
+
return data_1.default.tripSavedRefs;
|
|
236
|
+
};
|
|
237
|
+
Cached.tripRef = (tripHash) => {
|
|
238
|
+
var _a;
|
|
239
|
+
return (_a = data_1.default.tripRefs) === null || _a === void 0 ? void 0 : _a.find((t) => t.tripHash === tripHash);
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
******************************************************************************
|
|
243
|
+
*
|
|
244
|
+
* Trip
|
|
245
|
+
*
|
|
246
|
+
*/
|
|
247
|
+
Cached.trip = (lang, tripHash, minDayIndex) => {
|
|
248
|
+
var _a, _b;
|
|
249
|
+
const cachedTrip = (_b = (_a = data_1.default.trips) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((trip) => trip.tripHash === tripHash);
|
|
250
|
+
if (cachedTrip) {
|
|
251
|
+
const minPlanIndex = cachedTrip.plans.length - 1 < minDayIndex ? cachedTrip.plans.length - 1 : minDayIndex;
|
|
252
|
+
if (cachedTrip.plans[minPlanIndex].generatedStatus !== 0) {
|
|
253
|
+
const updatedTrip = model_1.helper.deepCopy(cachedTrip);
|
|
254
|
+
data_1.default.trip = {
|
|
255
|
+
...data_1.default.trip,
|
|
256
|
+
[lang]: updatedTrip,
|
|
257
|
+
};
|
|
258
|
+
return cachedTrip;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
// TODO
|
|
262
|
+
// else find in data.trips ... not in tripRefs !!!
|
|
263
|
+
return undefined;
|
|
264
|
+
};
|
|
265
|
+
Cached.plan = (lang, planId) => {
|
|
266
|
+
var _a, _b;
|
|
267
|
+
return (_b = (_a = data_1.default.trip) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.plans.find((p) => p.id === planId);
|
|
268
|
+
};
|
|
269
|
+
Cached.topTen = (lang, cityId) => {
|
|
270
|
+
var _a, _b, _c;
|
|
271
|
+
return (_c = (_b = (_a = data_1.default.topTens) === null || _a === void 0 ? void 0 : _a[lang]) === null || _b === void 0 ? void 0 : _b.find((tt) => tt.cityId === cityId)) === null || _c === void 0 ? void 0 : _c.topTen;
|
|
272
|
+
};
|
|
273
|
+
exports.default = Cached;
|
|
274
|
+
//# sourceMappingURL=Cached.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cached.js","sourceRoot":"","sources":["../../../../src/easy/handle/cache/Cached.ts"],"names":[],"mappings":"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"}
|