Surge_by_SukkaW/Dist/Build/lib/fetch-text-by-line.cjs
SukkaW d354c5e988
Some checks are pending
Build / Build (push) Waiting to run
Build / Diff output (push) Blocked by required conditions
Build / Deploy to Cloudflare Pages (push) Blocked by required conditions
Build / Deploy to GitHub and GitLab (push) Blocked by required conditions
Chore: maintainance
2025-02-07 17:52:36 +08:00

79 lines
3.3 KiB
JavaScript

'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const fetchTextByLine=require('../../_virtual/fetch-text-by-line.cjs'),require$$1=require('node:fs'),require$$1$1=require('node:readline'),textLineTransformStream=require('./text-line-transform-stream.cjs'),require$$0=require('node:stream/web'),processLine=require('./process-line.cjs'),fetchRetry=require('./fetch-retry.cjs'),require$$6=require('foxts/guard');var hasRequiredFetchTextByLine;
function requireFetchTextByLine () {
if (hasRequiredFetchTextByLine) return fetchTextByLine.__exports;
hasRequiredFetchTextByLine = 1;
(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
createReadlineInterfaceFromResponse: function() {
return createReadlineInterfaceFromResponse;
},
fetchRemoteTextByLine: function() {
return fetchRemoteTextByLine;
},
readFileByLine: function() {
return readFileByLine;
},
readFileIntoProcessedArray: function() {
return readFileIntoProcessedArray;
}
});
const _nodefs = /*#__PURE__*/ _interop_require_default(require$$1);
const _nodereadline = /*#__PURE__*/ _interop_require_default(require$$1$1);
const _textlinetransformstream = /*@__PURE__*/ textLineTransformStream.__require();
const _web = require$$0;
const _processline = /*@__PURE__*/ processLine.__require();
const _fetchretry = /*@__PURE__*/ fetchRetry.__require();
const _guard = require$$6;
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function readFileByLine(file) {
return _nodereadline.default.createInterface({
input: _nodefs.default.createReadStream(file /* , { encoding: 'utf-8' } */ ),
crlfDelay: Infinity
});
}
const createReadlineInterfaceFromResponse = (resp, processLine = false)=>{
(0, _guard.invariant)(resp.body, 'Failed to fetch remote text');
if ('bodyUsed' in resp && resp.bodyUsed) {
throw new Error('Body has already been consumed.');
}
let webStream;
if ('pipeThrough' in resp.body) {
webStream = resp.body;
} else {
throw new TypeError('Invalid response body!');
}
const resultStream = webStream.pipeThrough(new _web.TextDecoderStream()).pipeThrough(new _textlinetransformstream.TextLineStream());
if (processLine) {
return resultStream.pipeThrough(new _processline.ProcessLineStream());
}
return resultStream;
};
function fetchRemoteTextByLine(url, processLine = false) {
return (0, _fetchretry.$$fetch)(url).then((resp)=>createReadlineInterfaceFromResponse(resp, processLine));
}
async function readFileIntoProcessedArray(file/* | FileHandle */ ) {
const results = [];
for await (const line of readFileByLine(file)){
if ((0, _processline.processLine)(line)) {
results.push(line);
}
}
return results;
}
} (fetchTextByLine.__exports));
return fetchTextByLine.__exports;
}exports.__require=requireFetchTextByLine;