SYMBOL INDEX (475 symbols across 81 files) FILE: android/android.js function body (line 43) | function body(main) { FILE: android/pages/error.js function error (line 3) | function error(_state, _emit) { FILE: android/pages/home.js function onchange (line 9) | function onchange(event) { function onclick (line 16) | function onclick() { FILE: android/pages/preferences.js function preferences (line 5) | function preferences(state, emit) { FILE: android/pages/share.js function uploadComplete (line 3) | function uploadComplete(state, emit) { FILE: android/pages/upload.js function progressBar (line 3) | function progressBar(state, emit) { FILE: android/stores/intents.js function intentHandler (line 3) | function intentHandler(state, emitter) { FILE: android/stores/state.js function initialState (line 6) | function initialState(state, emitter) { FILE: android/user.js class AndroidUser (line 5) | class AndroidUser extends User { method constructor (line 6) | constructor(storage, limits) { method login (line 10) | async login() { method startAuthFlow (line 14) | startAuthFlow() { method finishLogin (line 18) | async finishLogin(accountInfo) { FILE: app/api.js class ConnectionError (line 14) | class ConnectionError extends Error { method constructor (line 15) | constructor(cancelled, duration, size) { function setFileProtocolWssUrl (line 23) | function setFileProtocolWssUrl(url) { function getFileProtocolWssUrl (line 28) | function getFileProtocolWssUrl() { function getApiUrl (line 33) | function getApiUrl(path) { function setApiUrlPrefix (line 37) | function setApiUrlPrefix(prefix) { function post (line 41) | function post(obj, bearerToken) { function parseNonce (line 55) | function parseNonce(header) { function fetchWithAuth (line 60) | async function fetchWithAuth(url, params, keychain) { function fetchWithAuthAndRetry (line 77) | async function fetchWithAuthAndRetry(url, params, keychain) { function del (line 85) | async function del(id, owner_token) { function setParams (line 93) | async function setParams(id, owner_token, bearerToken, params) { function fileInfo (line 107) | async function fileInfo(id, owner_token) { function metadata (line 121) | async function metadata(id, keychain) { function setPassword (line 142) | async function setPassword(id, owner_token, keychain) { function asyncInitWebSocket (line 151) | function asyncInitWebSocket(server) { function listenForResponse (line 162) | function listenForResponse(ws, canceller) { function upload (line 187) | async function upload( function uploadWs (line 264) | function uploadWs( function _downloadStream (line 295) | async function _downloadStream(id, dlToken, signal) { function tryDownloadStream (line 309) | async function tryDownloadStream(id, dlToken, signal, tries = 2) { function downloadStream (line 324) | function downloadStream(id, dlToken) { function download (line 337) | async function download(id, dlToken, onprogress, canceller) { function tryDownload (line 366) | async function tryDownload(id, dlToken, onprogress, canceller, tries = 2) { function downloadFile (line 378) | function downloadFile(id, dlToken, onprogress) { function getFileList (line 391) | async function getFileList(bearerToken, kid) { function setFileList (line 401) | async function setFileList(bearerToken, kid, data) { function sendMetrics (line 411) | function sendMetrics(blob) { function getConstants (line 422) | async function getConstants() { function reportLink (line 433) | async function reportLink(id, keychain, reason) { function getDownloadToken (line 450) | async function getDownloadToken(id, keychain) { function downloadDone (line 465) | async function downloadDone(id, dlToken) { FILE: app/archive.js function isDupe (line 3) | function isDupe(newFile, array) { class Archive (line 16) | class Archive { method constructor (line 17) | constructor(files = [], defaultTimeLimit = 86400) { method name (line 25) | get name() { method type (line 29) | get type() { method size (line 33) | get size() { method numFiles (line 37) | get numFiles() { method manifest (line 41) | get manifest() { method stream (line 51) | get stream() { method addFiles (line 55) | addFiles(files, maxSize, maxFiles) { method remove (line 70) | remove(file) { method clear (line 77) | clear() { FILE: app/capabilities.js function checkCrypto (line 4) | async function checkCrypto() { function checkStreams (line 58) | function checkStreams() { function polyfillStreams (line 69) | async function polyfillStreams() { function getCapabilities (line 78) | async function getCapabilities() { FILE: app/controller.js function render (line 14) | function render() { function checkFiles (line 18) | async function checkFiles() { function updateProgress (line 26) | function updateProgress() { FILE: app/crc32.js constant LOOKUP (line 1) | const LOOKUP = Int32Array.from([ FILE: app/ece.js constant NONCE_LENGTH (line 4) | const NONCE_LENGTH = 12; constant TAG_LENGTH (line 5) | const TAG_LENGTH = 16; constant KEY_LENGTH (line 6) | const KEY_LENGTH = 16; constant MODE_ENCRYPT (line 7) | const MODE_ENCRYPT = 'encrypt'; constant MODE_DECRYPT (line 8) | const MODE_DECRYPT = 'decrypt'; constant ECE_RECORD_SIZE (line 9) | const ECE_RECORD_SIZE = 1024 * 64; function generateSalt (line 13) | function generateSalt(len) { class ECETransformer (line 19) | class ECETransformer { method constructor (line 20) | constructor(mode, ikm, rs, salt) { method generateKey (line 30) | async generateKey() { method generateNonceBase (line 56) | async generateNonceBase() { method generateNonce (line 87) | generateNonce(seq) { method pad (line 98) | pad(data, isLast) { method unpad (line 113) | unpad(data, isLast) { method createHeader (line 131) | createHeader() { method readHeader (line 137) | readHeader(buffer) { method encryptRecord (line 150) | async encryptRecord(buffer, seq, isLast) { method decryptRecord (line 160) | async decryptRecord(buffer, seq, isLast) { method start (line 175) | async start(controller) { method transformPrevChunk (line 185) | async transformPrevChunk(isLast, controller) { method transform (line 208) | async transform(chunk, controller) { method flush (line 216) | async flush(controller) { class StreamSlicer (line 224) | class StreamSlicer { method constructor (line 225) | constructor(rs, mode) { method send (line 233) | send(buf, controller) { method transform (line 243) | transform(chunk, controller) { method flush (line 273) | flush(controller) { function encryptStream (line 286) | function encryptStream( function decryptStream (line 302) | function decryptStream(input, key, rs = ECE_RECORD_SIZE) { FILE: app/experiments.js function luckyNumber (line 23) | function luckyNumber(str) { function checkExperiments (line 27) | function checkExperiments(state, emitter) { function initialize (line 37) | function initialize(state, emitter) { FILE: app/fileReceiver.js class FileReceiver (line 15) | class FileReceiver extends Nanobus { method constructor (line 16) | constructor(fileInfo) { method id (line 27) | get id() { method progressRatio (line 31) | get progressRatio() { method progressIndefinite (line 35) | get progressIndefinite() { method sizes (line 39) | get sizes() { method cancel (line 46) | cancel() { method reset (line 52) | reset() { method getMetadata (line 58) | async getMetadata() { method reportLink (line 68) | async reportLink(reason) { method sendMessageToSw (line 72) | sendMessageToSw(msg) { method downloadBlob (line 90) | async downloadBlob(noSave = false) { method downloadStream (line 130) | async downloadStream(noSave = false) { method download (line 224) | async download({ stream, storage, noSave }) { function saveFile (line 240) | async function saveFile(file) { FILE: app/fileSender.js class FileSender (line 8) | class FileSender extends Nanobus { method constructor (line 9) | constructor() { method progressRatio (line 15) | get progressRatio() { method progressIndefinite (line 19) | get progressIndefinite() { method sizes (line 25) | get sizes() { method reset (line 32) | reset() { method cancel (line 39) | cancel() { method upload (line 46) | async upload(archive, bearerToken) { FILE: app/fxa.js function getOtherInfo (line 7) | function getOtherInfo(enc) { function concatKdf (line 26) | async function concatKdf(key, enc) { function prepareScopedBundleKey (line 41) | async function prepareScopedBundleKey(storage) { function decryptBundle (line 62) | async function decryptBundle(storage, bundle) { function preparePkce (line 133) | async function preparePkce(storage) { function deriveFileListKey (line 143) | async function deriveFileListKey(ikm) { function getFileListKey (line 170) | async function getFileListKey(storage, bundle) { FILE: app/keychain.js class Keychain (line 6) | class Keychain { method constructor (line 7) | constructor(secretKeyB64, nonce) { method nonce (line 57) | get nonce() { method nonce (line 61) | set nonce(n) { method setPassword (line 67) | setPassword(password, shareUrl) { method setAuthKey (line 91) | setAuthKey(authKeyB64) { method authKeyB64 (line 104) | async authKeyB64() { method authHeader (line 110) | async authHeader() { method encryptMetadata (line 122) | async encryptMetadata(metadata) { method encryptStream (line 143) | encryptStream(plainStream) { method decryptStream (line 147) | decryptStream(cryptotext) { method decryptMetadata (line 151) | async decryptMetadata(ciphertext) { FILE: app/locale.js function makeBundle (line 3) | function makeBundle(locale, ftl) { function getTranslator (line 9) | async function getTranslator(locale) { FILE: app/metrics.js constant HOUR (line 7) | const HOUR = 1000 * 60 * 60; function initialize (line 12) | function initialize(state, emitter) { function sizeOrder (line 36) | function sizeOrder(n) { function submitEvents (line 40) | function submitEvents() { function addEvent (line 61) | async function addEvent(event_type, event_properties) { function cancelledUpload (line 86) | function cancelledUpload(archive, duration) { function completedUpload (line 98) | function completedUpload(archive, duration) { function stoppedUpload (line 110) | function stoppedUpload(archive, duration = 0) { function stoppedDownload (line 122) | function stoppedDownload(params) { function completedDownload (line 131) | function completedDownload(params) { function deletedUpload (line 140) | function deletedUpload(ownedFile) { function experimentEvent (line 148) | function experimentEvent(params) { function submittedSignup (line 152) | function submittedSignup(params) { function canceledSignup (line 159) | function canceledSignup(params) { function loggedOut (line 166) | function loggedOut(params) { FILE: app/ownedFile.js class OwnedFile (line 5) | class OwnedFile { method constructor (line 6) | constructor(obj) { method hasPassword (line 27) | get hasPassword() { method expired (line 31) | get expired() { method setPassword (line 35) | async setPassword(password) { method del (line 49) | del() { method changeLimit (line 53) | changeLimit(dlimit, user = {}) { method updateDownloadCount (line 61) | async updateDownloadCount() { method toJSON (line 77) | toJSON() { FILE: app/pasteManager.js function getString (line 1) | function getString(item) { FILE: app/serviceWorker.js constant IMAGES (line 11) | const IMAGES = /.*\.(png|svg|jpg)$/; constant VERSIONED_ASSET (line 12) | const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)(#\w+)?$/; constant DOWNLOAD_URL (line 13) | const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/; constant FONT (line 14) | const FONT = /\.woff2?$/; function decryptStream (line 24) | async function decryptStream(id) { function precache (line 86) | async function precache() { function cleanCache (line 98) | async function cleanCache() { function cacheable (line 107) | function cacheable(url) { function cachedOrFetched (line 111) | async function cachedOrFetched(req) { FILE: app/storage.js class Mem (line 4) | class Mem { method constructor (line 5) | constructor() { method length (line 9) | get length() { method getItem (line 13) | getItem(key) { method setItem (line 17) | setItem(key, value) { method removeItem (line 21) | removeItem(key) { method key (line 25) | key(i) { class Storage (line 30) | class Storage { method constructor (line 31) | constructor() { method loadFiles (line 41) | loadFiles() { method id (line 62) | get id() { method totalDownloads (line 71) | get totalDownloads() { method totalDownloads (line 74) | set totalDownloads(n) { method totalUploads (line 77) | get totalUploads() { method totalUploads (line 80) | set totalUploads(n) { method referrer (line 83) | get referrer() { method referrer (line 86) | set referrer(str) { method enrolled (line 89) | get enrolled() { method enroll (line 93) | enroll(id, variant) { method files (line 99) | get files() { method user (line 105) | get user() { method user (line 113) | set user(info) { method getFileById (line 117) | getFileById(id) { method get (line 121) | get(id) { method set (line 125) | set(id, value) { method remove (line 129) | remove(property) { method addFile (line 136) | addFile(file) { method writeFile (line 141) | writeFile(file) { method writeFiles (line 145) | writeFiles() { method clearLocalFiles (line 149) | clearLocalFiles() { method merge (line 154) | async merge(files = []) { method setDownloadToken (line 185) | setDownloadToken(id, token) { method getDownloadToken (line 200) | getDownloadToken(id) { method pruneTokens (line 208) | pruneTokens() { FILE: app/streams.js function transformStream (line 3) | function transformStream(readable, transformer, oncancel) { class BlobStreamController (line 43) | class BlobStreamController { method constructor (line 44) | constructor(blob, size) { method pull (line 50) | pull(controller) { function blobStream (line 71) | function blobStream(blob, size) { class ConcatStreamController (line 75) | class ConcatStreamController { method constructor (line 76) | constructor(streams) { method nextReader (line 83) | nextReader() { method pull (line 88) | async pull(controller) { function concatStream (line 101) | function concatStream(streams) { FILE: app/ui/account.js class Account (line 4) | class Account extends Component { method constructor (line 5) | constructor(name, state, emit) { method avatarClick (line 15) | avatarClick(event) { method hideMenu (line 22) | hideMenu(event) { method login (line 28) | login(event) { method logout (line 33) | logout(event) { method changed (line 38) | changed() { method setLocal (line 42) | setLocal() { method update (line 50) | update() { method createElement (line 54) | createElement() { FILE: app/ui/archiveTile.js function expiryInfo (line 16) | function expiryInfo(translate, archive) { function password (line 28) | function password(state) { function fileInfo (line 112) | function fileInfo(file, action) { function archiveInfo (line 128) | function archiveInfo(archive, action) { function archiveDetails (line 144) | function archiveDetails(translate, archive) { function copy (line 252) | function copy(event) { function del (line 263) | function del(event) { function share (line 268) | async function share(event) { function focus (line 347) | function focus(event) { function blur (line 351) | function blur(event) { function upload (line 357) | function upload(event) { function add (line 366) | function add(event) { function remove (line 378) | function remove(file, desc) { function cancel (line 427) | function cancel(event) { function focus (line 500) | function focus(event) { function blur (line 504) | function blur(event) { function add (line 508) | function add(event) { function toggleDownloadEnabled (line 561) | function toggleDownloadEnabled(event) { function download (line 568) | function download(event) { FILE: app/ui/copyDialog.js function copy (line 41) | function copy(event) { FILE: app/ui/download.js constant BIG_SIZE (line 10) | const BIG_SIZE = 1024 * 1024 * 256; function createFileInfo (line 12) | function createFileInfo(state) { function downloading (line 21) | function downloading(state, emit) { function preview (line 34) | function preview(state, emit) { FILE: app/ui/downloadDialog.js function toggleDownloadEnabled (line 44) | function toggleDownloadEnabled(event) { function download (line 51) | function download(event) { FILE: app/ui/downloadPassword.js function inputChanged (line 65) | function inputChanged(event) { function checkPassword (line 81) | function checkPassword(event) { FILE: app/ui/footer.js class Footer (line 4) | class Footer extends Component { method constructor (line 5) | constructor(name, state) { method update (line 10) | update() { method createElement (line 14) | createElement() { FILE: app/ui/header.js class Header (line 7) | class Header extends Component { method constructor (line 8) | constructor(name, state, emit) { method update (line 15) | update() { method createElement (line 19) | createElement() { FILE: app/ui/modal.js function close (line 18) | function close(event) { FILE: app/ui/noStreams.js function optionChanged (line 67) | function optionChanged(event) { function submit (line 88) | function submit(event) { FILE: app/ui/report.js constant REPORTABLES (line 4) | const REPORTABLES = ['Malware', 'Pii', 'Abuse']; function optionChanged (line 98) | function optionChanged(event) { function report (line 104) | function report(event) { FILE: app/ui/selectbox.js function choose (line 23) | function choose(event) { FILE: app/ui/shareDialog.js function share (line 40) | async function share(event) { FILE: app/ui/unsupported.js function outdatedStrings (line 43) | function outdatedStrings(state) { function unsupportedStrings (line 51) | function unsupportedStrings(state) { FILE: app/user.js function hashId (line 13) | async function hashId(id) { class User (line 22) | class User { method constructor (line 23) | constructor(storage, limits, authConfig) { method info (line 30) | get info() { method info (line 34) | set info(data) { method firstAction (line 39) | get firstAction() { method firstAction (line 43) | set firstAction(action) { method surveyed (line 47) | get surveyed() { method surveyed (line 51) | set surveyed(yes) { method avatar (line 55) | get avatar() { method name (line 63) | get name() { method email (line 67) | get email() { method loggedIn (line 71) | get loggedIn() { method bearerToken (line 75) | get bearerToken() { method refreshToken (line 79) | get refreshToken() { method maxSize (line 83) | get maxSize() { method maxExpireSeconds (line 89) | get maxExpireSeconds() { method maxDownloads (line 95) | get maxDownloads() { method loginRequired (line 101) | get loginRequired() { method metricId (line 105) | async metricId() { method deviceId (line 109) | async deviceId() { method startAuthFlow (line 113) | async startAuthFlow(trigger, utms = {}) { method login (line 139) | async login(email) { method finishLogin (line 178) | async finishLogin(code, state) { method refresh (line 210) | async refresh() { method logout (line 239) | async logout() { method syncFileList (line 271) | async syncFileList() { method toJSON (line 319) | toJSON() { FILE: app/utils.js function arrayToB64 (line 10) | function arrayToB64(array) { function b64ToArray (line 18) | function b64ToArray(str) { function locale (line 22) | function locale() { function loadShim (line 26) | function loadShim(polyfill) { function isFile (line 36) | function isFile(id) { function copyToClipboard (line 40) | function copyToClipboard(str) { constant LOCALIZE_NUMBERS (line 61) | const LOCALIZE_NUMBERS = !!( constant UNITS (line 68) | const UNITS = ['bytes', 'kb', 'mb', 'gb']; function bytes (line 69) | function bytes(num) { function percent (line 93) | function percent(ratio) { function number (line 104) | function number(n) { function allowedCopy (line 111) | function allowedCopy() { function delay (line 116) | function delay(delay = 100) { function fadeOut (line 120) | function fadeOut(selector) { function openLinksInNewTab (line 127) | function openLinksInNewTab(links, should = true) { function browserName (line 143) | function browserName() { function streamToArrayBuffer (line 173) | async function streamToArrayBuffer(stream, size) { function list (line 204) | function list(items, ulStyle = '', liStyle = '') { function secondsToL10nId (line 218) | function secondsToL10nId(seconds) { function timeLeft (line 228) | function timeLeft(milliseconds) { function platform (line 258) | function platform() { constant ECE_RECORD_SIZE (line 265) | const ECE_RECORD_SIZE = 1024 * 64; constant TAG_LENGTH (line 266) | const TAG_LENGTH = 16; function encryptedSize (line 267) | function encryptedSize(size, rs = ECE_RECORD_SIZE, tagLength = TAG_LENGT... function setTranslate (line 275) | function setTranslate(t) { function concat (line 279) | function concat(b1, b2) { FILE: app/zip.js function dosDateTime (line 5) | function dosDateTime(dateTime = new Date()) { class File (line 18) | class File { method constructor (line 19) | constructor(info) { method header (line 27) | get header() { method dataDescriptor (line 47) | get dataDescriptor() { method directoryRecord (line 57) | directoryRecord(offset) { method byteLength (line 83) | get byteLength() { method append (line 87) | append(data, controller) { function centralDirectory (line 99) | function centralDirectory(files, controller) { function eod (line 112) | function eod(fileCount, directorySize, directoryOffset) { class ZipStreamController (line 126) | class ZipStreamController { method constructor (line 127) | constructor(files, source) { method nextFile (line 136) | nextFile() { method pull (line 140) | async pull(controller) { class Zip (line 168) | class Zip { method constructor (line 169) | constructor(manifest, source) { method stream (line 174) | get stream() { method size (line 178) | get size() { FILE: build/android_index_plugin.js constant NAME (line 3) | const NAME = 'AndroidIndexPlugin'; function chunkFileNames (line 5) | function chunkFileNames(compilation) { class AndroidIndexPlugin (line 16) | class AndroidIndexPlugin { method apply (line 17) | apply(compiler) { FILE: build/version_plugin.js class VersionPlugin (line 18) | class VersionPlugin { method apply (line 19) | apply(compiler) { FILE: common/assets.js function getAsset (line 14) | function getAsset(name) { function setPrefix (line 18) | function setPrefix(name) { function getMatches (line 22) | function getMatches(match) { function getManifest (line 33) | function getManifest() { FILE: common/generate_asset_map.js function kv (line 15) | function kv(f) { FILE: ios/ios.js constant MAXFILESIZE (line 3) | const MAXFILESIZE = 1024 * 1024 * 1024 * 2; function dom (line 8) | function dom(tagName, attributes, children = []) { function uploadComplete (line 33) | function uploadComplete(file) { function upload (line 86) | function upload(event) { function render (line 102) | function render() { function sendBase64EncodedFromSwift (line 146) | function sendBase64EncodedFromSwift(encoded) { FILE: postcss.config.js class TailwindExtractor (line 1) | class TailwindExtractor { method extract (line 2) | static extract(content) { FILE: scripts/lint-locales.js function filterErrors (line 31) | function filterErrors(details) { function getLocales (line 43) | function getLocales() { FILE: server/amplitude.js constant HOUR (line 6) | const HOUR = 1000 * 60 * 60; function truncateToHour (line 8) | function truncateToHour(timestamp) { function orderOfMagnitude (line 12) | function orderOfMagnitude(n) { function userId (line 16) | function userId(fileId, ownerId) { function statUploadEvent (line 23) | function statUploadEvent(data) { function statDownloadEvent (line 46) | function statDownloadEvent(data) { function statDeleteEvent (line 65) | function statDeleteEvent(data) { function statReportEvent (line 84) | function statReportEvent(data) { function clientEvent (line 105) | function clientEvent( function sendBatch (line 166) | async function sendBatch(events, timeout = 1000) { FILE: server/bin/dev.js constant ID_REGEX (line 10) | const ID_REGEX = '([0-9a-fA-F]{10, 16})'; function android (line 21) | function android(req, res) { FILE: server/fxa.js constant KEY_SCOPE (line 4) | const KEY_SCOPE = config.fxa_key_scope; function getFxaConfig (line 8) | async function getFxaConfig() { FILE: server/keychain.js method constructor (line 8) | constructor(secretKeyB64) { method decryptMetadata (line 40) | async decryptMetadata(ciphertext) { FILE: server/limiter.js class Limiter (line 3) | class Limiter extends Transform { method constructor (line 4) | constructor(limit) { method _transform (line 10) | _transform(chunk, encoding, callback) { FILE: server/locale.js function makeBundle (line 7) | function makeBundle(locale) { FILE: server/metadata.js function makeToken (line 3) | function makeToken(secret, counter) { class Metadata (line 9) | class Metadata { method constructor (line 10) | constructor(obj, storage) { method getDownloadToken (line 26) | async getDownloadToken() { method verifyDownloadToken (line 38) | async verifyDownloadToken(token) { FILE: server/middleware/language.js function allLangs (line 13) | function allLangs() { FILE: server/routes/filelist.js function id (line 6) | function id(user, kid) { method get (line 15) | async get(req, res) { method post (line 30) | async post(req, res) { FILE: server/routes/index.js constant IS_DEV (line 13) | const IS_DEV = config.env === 'development'; constant ID_REGEX (line 14) | const ID_REGEX = '([0-9a-fA-F]{10,16})'; FILE: server/routes/pages.js function stripEvents (line 5) | function stripEvents(str) { FILE: server/storage/fs.js class FSStorage (line 6) | class FSStorage { method constructor (line 7) | constructor(config, log) { method length (line 13) | async length(id) { method getStream (line 18) | getStream(id) { method set (line 22) | set(id, file) { method del (line 38) | async del(id) { method ping (line 46) | ping() { FILE: server/storage/gcs.js class GCSStorage (line 4) | class GCSStorage { method constructor (line 5) | constructor(config, log) { method length (line 10) | async length(id) { method getStream (line 15) | getStream(id) { method set (line 19) | set(id, file) { method del (line 33) | del(id) { method ping (line 37) | ping() { FILE: server/storage/index.js function getPrefix (line 6) | function getPrefix(seconds) { class DB (line 10) | class DB { method constructor (line 11) | constructor(config) { method ttl (line 30) | async ttl(id) { method getPrefixedInfo (line 35) | async getPrefixedInfo(id) { method length (line 49) | async length(id) { method get (line 54) | async get(id) { method set (line 63) | async set(id, file, meta, expireSeconds = config.default_expire_second... method setField (line 75) | setField(id, key, value) { method incrementField (line 79) | async incrementField(id, key, increment = 1) { method kill (line 83) | async kill(id) { method flag (line 91) | async flag(id) { method del (line 96) | async del(id) { method ping (line 102) | async ping() { method metadata (line 107) | async metadata(id) { FILE: server/storage/s3.js constant AWS (line 1) | const AWS = require('aws-sdk'); class S3Storage (line 3) | class S3Storage { method constructor (line 4) | constructor(config, log) { method length (line 16) | async length(id) { method getStream (line 23) | getStream(id) { method set (line 27) | set(id, file) { method del (line 37) | del(id) { method ping (line 41) | ping() { FILE: test/backend/auth-tests.js function request (line 10) | function request(id, auth) { function response (line 17) | function response() { FILE: test/backend/delete-tests.js function request (line 9) | function request(id) { function response (line 15) | function response() { FILE: test/backend/info-tests.js function request (line 8) | function request(id, meta) { function response (line 15) | function response() { FILE: test/backend/language-tests.js function request (line 12) | function request(acceptLang) { FILE: test/backend/metadata-tests.js function request (line 9) | function request(id, meta = {}) { function response (line 16) | function response() { FILE: test/backend/owner-tests.js function request (line 9) | function request(id, owner_token) { function response (line 16) | function response() { FILE: test/backend/params-tests.js function request (line 8) | function request(id) { function response (line 16) | function response() { FILE: test/backend/password-tests.js function request (line 8) | function request(id, body) { function response (line 15) | function response() { FILE: test/backend/s3-tests.js function resolvedPromise (line 5) | function resolvedPromise(val) { function rejectedPromise (line 11) | function rejectedPromise(err) { FILE: test/backend/storage-tests.js class MockStorage (line 5) | class MockStorage { method length (line 6) | length() { method getStream (line 9) | getStream() { method set (line 12) | set() { method del (line 15) | del() { method ping (line 18) | ping() { FILE: test/frontend/index.js function kv (line 4) | function kv(f) { FILE: test/frontend/runner.js function onConsole (line 20) | function onConsole(msg) { FILE: test/integration/pages/desktop/download_page.js class DownloadPage (line 4) | class DownloadPage extends Page { method constructor (line 5) | constructor(path) { method downloadUsingPassword (line 14) | downloadUsingPassword(password) { method download (line 21) | download() { FILE: test/integration/pages/desktop/home_page.js class HomePage (line 4) | class HomePage extends Page { method constructor (line 5) | constructor() { method waitForPageToLoad (line 18) | waitForPageToLoad() { method showUploadInput (line 25) | showUploadInput() { FILE: test/integration/pages/desktop/page.js class Page (line 2) | class Page { method constructor (line 3) | constructor(path) { method open (line 7) | open() { method waitForPageToLoad (line 17) | waitForPageToLoad() {