SYMBOL INDEX (201 symbols across 18 files) FILE: public/find_cleaned_duplicates.mjs constant CLEAN (line 13) | const CLEAN = true; constant CONCURRENT (line 14) | const CONCURRENT = 7; function make (line 30) | async function make() { function cleanup (line 68) | function cleanup() { function clean (line 87) | function clean(urlString) { function clean2 (line 108) | function clean2(urlString) { function curlCommand (line 114) | function curlCommand(url) { FILE: public/find_crawlable.mjs constant CLEAN (line 7) | const CLEAN = false; constant CONCURRENT (line 8) | const CONCURRENT = 7; function make (line 22) | async function make() { function cleanup (line 34) | function cleanup() { function clean (line 46) | function clean(urlString) { function clean2 (line 67) | function clean2(urlString) { function curlCommand (line 73) | function curlCommand(url) { FILE: public/injection.js constant DEBUG (line 3) | const DEBUG = debug || false; function getInjection (line 5) | function getInjection({sessionId}) { FILE: public/make_top.mjs constant CLEAN (line 7) | const CLEAN = false; constant CONCURRENT (line 8) | const CONCURRENT = 7; function make (line 25) | async function make() { function make_v2 (line 90) | async function make_v2() { function cleanup (line 153) | function cleanup() { function make_v1 (line 180) | async function make_v1() { function clean (line 204) | function clean(urlString) { function clean2 (line 225) | function clean2(urlString) { function curlCommand (line 231) | function curlCommand(url) { FILE: public/problem_find.mjs constant CLEAN (line 13) | const CLEAN = false; constant CONCURRENT (line 14) | const CONCURRENT = 7; function make (line 30) | async function make() { function cleanup (line 53) | function cleanup() { function clean (line 71) | function clean(urlString) { function clean2 (line 92) | function clean2(urlString) { function curlCommand (line 98) | function curlCommand(url) { FILE: src/app.js constant BROWSERS (line 21) | const BROWSERS = [ constant BASE_CHROME_FLAGS (line 111) | const BASE_CHROME_FLAGS = [ function promptUser (line 159) | async function promptUser(question, options) { function findExecutablePath (line 180) | async function findExecutablePath(browserDef) { function detectInstalledBrowsers (line 215) | async function detectInstalledBrowsers() { function checkIsConnectable (line 227) | async function checkIsConnectable(browserDef) { // Takes browserDef function detectBrowsers (line 250) | async function detectBrowsers() { function killBrowser (line 290) | async function killBrowser(browserName) { function cleanTempCache (line 332) | async function cleanTempCache() { function start (line 348) | async function start() { function cleanup (line 573) | async function cleanup(reason, err, { exit = false } = {}) { FILE: src/archivist.js constant DEBUG (line 55) | const DEBUG = debug || false; constant STRIP_CHARS (line 58) | const STRIP_CHARS = /[\u0001-\u001a\0\v\f\r\t\n]/g; constant NDX_OLD (line 61) | const NDX_OLD = false; constant USE_FLEX (line 62) | const USE_FLEX = true; constant FTS_INDEX_DIR (line 63) | const FTS_INDEX_DIR = args.fts_index_dir; constant URI_SPLIT (line 64) | const URI_SPLIT = /[/.]/g; constant NDX_ID_KEY (line 65) | const NDX_ID_KEY = 'ndx_id'; constant INDEX_HIDDEN_KEYS (line 66) | const INDEX_HIDDEN_KEYS = new Set([ constant FLEX_OPTS (line 81) | const FLEX_OPTS = { constant REMOVED_CAP_TO_VACUUM_NDX (line 92) | const REMOVED_CAP_TO_VACUUM_NDX = 10; constant NDX_FIELDS (line 93) | const NDX_FIELDS = ndxDocFields(); constant REGULAR_SEARCH_OPTIONS_FUZZY (line 99) | const REGULAR_SEARCH_OPTIONS_FUZZY = { constant HIGHLIGHT_OPTIONS_FUZZY (line 102) | const HIGHLIGHT_OPTIONS_FUZZY = { constant FUZZ_OPTS (line 105) | const FUZZ_OPTS = { constant BLANK_STATE (line 131) | const BLANK_STATE = { constant BODYLESS (line 172) | const BODYLESS = new Set([ constant NEVER_CACHE (line 178) | const NEVER_CACHE = new Set([ constant CACHE_FILE (line 188) | const CACHE_FILE = args.cache_file; constant INDEX_FILE (line 189) | const INDEX_FILE = args.index_file; constant NO_FILE (line 190) | const NO_FILE = args.no_file; constant TBL (line 191) | const TBL = /(:\/\/|:|@)/g; constant UNCACHED_BODY (line 192) | const UNCACHED_BODY = b64('We have not saved this data'); constant UNCACHED_CODE (line 193) | const UNCACHED_CODE = 404; constant UNCACHED_HEADERS (line 194) | const UNCACHED_HEADERS = [ constant UNCACHED (line 198) | const UNCACHED = { function collect (line 216) | async function collect({chrome_port:port, mode} = {}) { function neverCache (line 866) | function neverCache(url) { function dontCache (line 870) | function dontCache(request) { function processDoc (line 878) | function processDoc({documents, strings}) { function isReady (line 922) | async function isReady() { function loadFuzzy (line 926) | async function loadFuzzy({fromMemOnly: fromMemOnly = false} = {}) { function getContentSig (line 939) | function getContentSig(doc) { function getURI (line 943) | function getURI(url) { function saveFuzzy (line 947) | function saveFuzzy(basePath) { function clearSavers (line 959) | function clearSavers() { function loadFiles (line 976) | async function loadFiles() { function getMode (line 1107) | function getMode() { return Mode; } function saveFiles (line 1109) | function saveFiles({useState: useState = false, forceSave:forceSave = fa... function changeMode (line 1125) | async function changeMode(mode) { function getDetails (line 1132) | function getDetails(id) { function findOffsets (line 1139) | function findOffsets(query, doc, maxLength = 0) { function beforePathChanged (line 1149) | function beforePathChanged(new_path, {force: force = false} = {}) { function afterPathChanged (line 1165) | async function afterPathChanged() { function saveCache (line 1172) | function saveCache(path) { function saveIndex (line 1178) | function saveIndex(path) { function getIndex (line 1199) | function getIndex() { function deleteFromIndexAndSearch (line 1207) | async function deleteFromIndexAndSearch(url) { function search (line 1226) | async function search(query) { function combineResults (line 1257) | function combineResults({flex,ndx,fuzz}) { function countRank (line 1282) | function countRank(record, weight = 1.0) { function processFuzzResults (line 1296) | function processFuzzResults(docs) { function saveFTS (line 1302) | async function saveFTS(path = undefined, {forceSave:forceSave = false} =... function shutdown (line 1337) | function shutdown(then) { function b64 (line 1345) | function b64(s) { function NDXIndex (line 1349) | function NDXIndex(fields) { function loadNDXIndex (line 1433) | function loadNDXIndex(ndxFTSIndex) { function toNDXDoc (line 1442) | function toNDXDoc({id, url, title, pageText}) { function ndxDocFields (line 1454) | function ndxDocFields({namesOnly:namesOnly = false} = {}) { function untilHas (line 1473) | async function untilHas(thing, key, {timeout: timeout = false} = {}) { function getNDXPath (line 1536) | function getNDXPath(basePath) { function getFuzzyPath (line 1540) | function getFuzzyPath(basePath) { function getFlexBase (line 1544) | function getFlexBase(basePath) { function addFrameNode (line 1548) | function addFrameNode(observedFrame) { function updateFrameNode (line 1563) | function updateFrameNode(frameNavigated) { function getRootFrameURL (line 1647) | function getRootFrameURL(frameId) { function archiveAndIndexURL (line 1675) | async function archiveAndIndexURL(url, { function startCrawl (line 1876) | async function startCrawl({ FILE: src/args.js constant CONFIG_DIR (line 10) | const CONFIG_DIR = path.resolve(os.homedir(), '.config', 'dosyago', 'Dow... function updateBasePath (line 59) | function updateBasePath(new_base_path, {force:force = false, before: bef... function getBasePath (line 126) | function getBasePath() { function loadPref (line 130) | function loadPref() { function savePref (line 144) | function savePref() { function clone (line 152) | function clone(o) { FILE: src/blockedResponse.js constant BLOCKED_CODE (line 1) | const BLOCKED_CODE = 200; constant BLOCKED_BODY (line 2) | const BLOCKED_BODY = Buffer.from(` constant BLOCKED_HEADERS (line 7) | const BLOCKED_HEADERS = [ constant BLOCKED_RESPONSE (line 16) | const BLOCKED_RESPONSE = ` FILE: src/bookmarker.js constant DEBUG (line 7) | const DEBUG = debug || false; constant FS_WATCH_OPTS (line 12) | const FS_WATCH_OPTS = { constant UDD_PATHS (line 18) | const UDD_PATHS = { constant PLAT_TABLE (line 26) | const PLAT_TABLE = { constant PROFILE_DIR_NAME_REGEX (line 30) | const PROFILE_DIR_NAME_REGEX = /^(Default|Profile \d+)$/i; constant BOOKMARK_FILE_NAME_REGEX (line 32) | const BOOKMARK_FILE_NAME_REGEX = /^Bookmarks$/i; function shutdown (line 176) | async function shutdown() { function hasBookmark (line 198) | function hasBookmark(url) { function getProfileRootDir (line 206) | function getProfileRootDir() { function flatten (line 246) | function flatten(bookmarkObj, {toMap: toMap = false, map} = {}) { function resolveEnvironmentVariablesToPathSegments (line 312) | function resolveEnvironmentVariablesToPathSegments(path) { FILE: src/common.js constant DEEB (line 9) | const DEEB = process.env.DEBUG_22120_VERBOSE || false; constant DEBUG (line 11) | const DEBUG = { constant SHOW_FETCH (line 23) | const SHOW_FETCH = false; constant PUBLIC_SERVER (line 30) | const PUBLIC_SERVER = true; constant MIN_TIME_PER_PAGE (line 33) | const MIN_TIME_PER_PAGE = 10000; constant MAX_TIME_PER_PAGE (line 34) | const MAX_TIME_PER_PAGE = 32000; constant MIN_WAIT (line 35) | const MIN_WAIT = 200; constant MAX_WAITS (line 36) | const MAX_WAITS = 300; constant BATCH_SIZE (line 37) | const BATCH_SIZE = 5; constant MAX_REAL_URL_LENGTH (line 38) | const MAX_REAL_URL_LENGTH = 2**15 - 1; constant CHECK_INTERVAL (line 40) | const CHECK_INTERVAL = 400; constant TEXT_NODE (line 41) | const TEXT_NODE = 3; constant MAX_HIGHLIGHTABLE_LENGTH (line 42) | const MAX_HIGHLIGHTABLE_LENGTH = 0; constant MAX_TITLE_LENGTH (line 43) | const MAX_TITLE_LENGTH = 140; constant MAX_URL_LENGTH (line 44) | const MAX_URL_LENGTH = 140; constant MAX_HEAD (line 45) | const MAX_HEAD = 140; constant LOCALP (line 47) | const LOCALP = path.resolve(os.homedir(), 'local-sslcerts', 'privkey.pem'); constant ANYP (line 48) | const ANYP = path.resolve(os.homedir(), 'sslcerts', 'privkey.pem'); constant GO_SECURE (line 49) | const GO_SECURE = fs.existsSync(LOCALP) || fs.existsSync(ANYP); class RichError (line 53) | class RichError extends Error { method constructor (line 54) | constructor(msg) { constant FORBIDDEN_TEXT_PARENT (line 68) | const FORBIDDEN_TEXT_PARENT = new Set([ constant ERROR_CODE_SAFE_TO_IGNORE (line 76) | const ERROR_CODE_SAFE_TO_IGNORE = new Set([ constant SNIP_CONTEXT (line 91) | const SNIP_CONTEXT = 31; constant NO_SANDBOX (line 93) | const NO_SANDBOX = (process.env.DEBUG_22120 && process.env.SET_22120_NO_... constant APP_ROOT (line 95) | const APP_ROOT = __ROOT; function say (line 99) | function say(o) { function clone (line 103) | function clone(o) { function untilTrue (line 107) | async function untilTrue(pred, waitOverride = MIN_WAIT, maxWaits = MAX_W... FILE: src/gem-highlighter.js constant MAX_ACCEPT_SCORE (line 6) | const MAX_ACCEPT_SCORE = 0.5; constant CHUNK_SIZE (line 7) | const CHUNK_SIZE = 12; function params (line 9) | function params(qLength, chunkSize = CHUNK_SIZE) { function markText (line 35) | function markText(text, query) { function highlight (line 48) | function highlight(query, doc, { function getFragmenter (line 260) | function getFragmenter(chunkSize, {overlap = false, step = 1} = {}) { function trilight (line 312) | function trilight(query, doc, { FILE: src/highlighter.js constant MAX_ACCEPT_SCORE (line 6) | const MAX_ACCEPT_SCORE = 0.5; constant CHUNK_SIZE (line 7) | const CHUNK_SIZE = 12; function internalMarkText (line 11) | function internalMarkText(textToMark, queryToFind) { function calculateUkkonenParams (line 25) | function calculateUkkonenParams(queryLength, chunkSize = CHUNK_SIZE) { function highlight (line 36) | function highlight(query, docString, { function getFragmenter (line 202) | function getFragmenter(chunkSize, {overlap = false, symbolsArray = null,... function trilight (line 252) | function trilight(query, docString, { FILE: src/installBrowser.js constant SUPPORTED_BROWSERS (line 11) | const SUPPORTED_BROWSERS = ['chrome', 'brave', 'vivaldi', 'edge', 'chrom... constant PLATFORM (line 12) | const PLATFORM = process.platform; constant ARCH (line 13) | const ARCH = process.arch; function installBrowser (line 19) | async function installBrowser(browserName) { function checkBrowserAvailability (line 32) | async function checkBrowserAvailability(browserName) { function installBrowserForPlatform (line 39) | async function installBrowserForPlatform(browserName) { function installOnWindows (line 51) | async function installOnWindows(browserName) { function installOnMacOS (line 87) | async function installOnMacOS(browserName) { function installOnLinux (line 118) | async function installOnLinux(browserName) { function installOnDebian (line 134) | async function installOnDebian(browserName) { function installOnFedora (line 175) | async function installOnFedora(browserName) { function getLinuxDistro (line 203) | async function getLinuxDistro() { function downloadBinary (line 229) | async function downloadBinary(url, outputPath) { function getDownloadUrl (line 239) | function getDownloadUrl(browserName, platform, arch) { FILE: src/launcher.js function launch (line 12) | function launch(executablePath, browserArgs = [], options = {}) { FILE: src/libraryServer.js constant SITE_PATH (line 23) | const SITE_PATH = path.resolve(APP_ROOT, '..', 'public'); function PageLayout (line 43) | function PageLayout({ title, content, currentNav, layoutType = 'default'... function start (line 79) | async function start({server_port}) { function addHandlers (line 139) | function addHandlers() { function stop (line 401) | async function stop() { function MainApplicationView (line 419) | function MainApplicationView() { function IndexView (line 585) | function IndexView(urls, {edit = false} = {}) { function SearchResultView (line 669) | function SearchResultView({results, query, HL, page, hasMore = false}) { FILE: src/protocol.js constant ROOT_SESSION (line 4) | const ROOT_SESSION = "browser"; constant MESSAGES (line 5) | const MESSAGES = new Map(); function connect (line 16) | async function connect({port:port = 9222} = {}) { FILE: src/root.cjs constant APP_ROOT (line 6) | const APP_ROOT = dir;