UNPKG

novel-opds-now

Version:

按需生成 epub,此模組不使用排程任務來生成 epub

52 lines 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initHello = void 0; const tslib_1 = require("tslib"); const bluebird_1 = (0, tslib_1.__importDefault)(require("bluebird")); const use_1 = require("../use"); const fs_extra_1 = require("fs-extra"); const peer_1 = require("../peer"); const hello_1 = require("../pubsub/hello"); const types_1 = require("../types"); const connect_build_in_peers_1 = require("../util/connect-build-in-peers"); const index_1 = require("../pubsub/index"); const logger_1 = (0, tslib_1.__importDefault)(require("debug-color2/logger")); const getMixinPeers_1 = require("../util/getMixinPeers"); const array_hyper_unique_1 = require("array-hyper-unique"); function initHello(ipfs) { return bluebird_1.default.resolve(ipfs) .then(async (ipfs) => { return bluebird_1.default.any([ (0, connect_build_in_peers_1.connectBuildInPeers)(ipfs), (0, connect_build_in_peers_1.connectCachePeers)(ipfs), (0, connect_build_in_peers_1._connectPeers)(ipfs, (0, fs_extra_1.readFile)(getMixinPeers_1.cachePeersMixinFile).then(buf => (0, array_hyper_unique_1.array_unique)(buf.toString().split(/\s+/)).filter(Boolean)).catch(e => []), { hidden: true, }), ]) .catch(e => null) .delay(60 * 1000) .tap(async () => logger_1.default.debug(`initHello:peer`, await (0, index_1.getPubsubPeers)(ipfs))) .then(() => ipfs !== null && ipfs !== void 0 ? ipfs : (0, use_1.getIPFS)()) .tap((ipfs) => { return bluebird_1.default.any([ (0, hello_1.pubsubPublishHello)(ipfs), (0, peer_1.connectPeersAll)(ipfs, (0, getMixinPeers_1.getMixinPeers)(ipfs), { hidden: true, }), ]); }) .tap(getMixinPeers_1.saveMixinPeersReduce) .delay(30 * 60 * 1000) .then(() => (0, use_1.getIPFS)()) .tap(async (ipfs) => { if (ipfs) { return bluebird_1.default.allSettled([ (0, hello_1.pubsubPublishHello)(ipfs, types_1.EnumPubSubHello.HELLO_AGAIN, (0, getMixinPeers_1.getMixinPeers)(ipfs)), logger_1.default.debug(`initHello:again`, await (0, index_1.getPubsubPeers)(ipfs)), ]); } }); }); } exports.initHello = initHello; //# sourceMappingURL=initHello.js.map