UNPKG

google-photos-album-image-url-fetch

Version:
49 lines 2.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchImageUrls = fetchImageUrls; exports.extractAppended = extractAppended; exports.validityVerification = validityVerification; const fast_deep_equal_1 = __importDefault(require("fast-deep-equal")); const impl_1 = require("./impl"); const expected_json_1 = __importDefault(require("./expected.json")); const constant_1 = require("./constant"); const split_result_1 = require("./split_result"); const date_compare_1 = require("./date_compare"); async function fetchImageUrls(albumSharedUrl, signal) { const html = await (0, impl_1.getSharedAlbumHtml)(albumSharedUrl, signal); const ph1 = (0, impl_1.parsePhase1)(html); if (null === ph1) { return null; } const ph2 = (0, impl_1.parsePhase2)(ph1); if (null === ph2) { return null; } return (0, impl_1.parsePhase3)(ph2); } function extractAppended(before, after) { return after.filter(a => typeof before.find(v => (0, fast_deep_equal_1.default)(v, a)) === 'undefined'); } function dateCompareOrFalse(l, r) { try { return (0, date_compare_1.dateCompare)(l, r); } catch (_) { return false; } } async function validityVerification() { const re = await fetchImageUrls(constant_1.googlePhotosSharedAlbumURL); if (null === re) { return false; } const [actualRest, actualUrls, actualImageUpdateDates] = (0, split_result_1.splitResult)(re); const [expectedRest, expectedAnyUrls, expectedImageUpdateDates] = (0, split_result_1.splitResult)(expected_json_1.default); return (expectedAnyUrls.every((expectedAnyUrl, i) => expectedAnyUrl.some(e => e === actualUrls[i])) && expectedImageUpdateDates.every((expectedImageUpdateDate, i) => dateCompareOrFalse(expectedImageUpdateDate, actualImageUpdateDates[i])) && (0, fast_deep_equal_1.default)(actualRest, expectedRest)); } //# sourceMappingURL=index.js.map