From e22bf38827505081ed1db88fefd862571dd91b63 Mon Sep 17 00:00:00 2001 From: Ben van Hartingsveldt Date: Tue, 16 Sep 2025 13:42:47 +0200 Subject: [PATCH] Fix warnings and errors --- config.js | 6 +- electron/devServer.js | 2 +- extras/lbryinc/lbryio.js | 4 +- extras/recsys/recsys.js | 16 +- flow-typed/npm/async-exit-hook_vx.x.x.js | 1 - flow-typed/npm/bluebird_v3.x.x.js | 2 +- flow-typed/npm/chalk_v2.x.x.js | 2 +- flow-typed/npm/classnames_v2.x.x.js | 6 +- flow-typed/npm/decompress_vx.x.x.js | 1 - flow-typed/npm/del_v3.x.x.js | 2 +- flow-typed/npm/electron-dl_vx.x.x.js | 1 - flow-typed/npm/electron-is-dev_vx.x.x.js | 1 - .../npm/electron-window-state_vx.x.x.js | 1 - .../npm/eslint-config-standard-jsx_vx.x.x.js | 1 - .../npm/eslint-config-standard_vx.x.x.js | 1 - flow-typed/npm/express_v4.16.x.js | 6 +- flow-typed/npm/flow-bin_v0.x.x.js | 2 +- flow-typed/npm/json-loader_vx.x.x.js | 1 - flow-typed/npm/lbry-format_vx.x.x.js | 1 - flow-typed/npm/mixpanel-browser_v2.11.x.js | 14 +- flow-typed/npm/moment_v2.x.x.js | 11 +- flow-typed/npm/node-loader_vx.x.x.js | 1 - flow-typed/npm/prettier_v1.x.x.js | 2 +- flow-typed/npm/raw-loader_vx.x.x.js | 1 - flow-typed/npm/react-hot-loader_v4.6.x.js | 4 +- flow-typed/npm/react-redux_v5.x.x.js | 2 +- flow-typed/npm/react-toggle_v4.0.x.js | 2 +- flow-typed/npm/remark-react_vx.x.x.js | 1 - flow-typed/npm/remark_vx.x.x.js | 1 - flow-typed/npm/render-media_vx.x.x.js | 1 - flow-typed/npm/reselect_v3.x.x.js | 2 +- flow-typed/npm/semver_v5.1.x.js | 2 +- flow-typed/npm/stream-to-blob-url_vx.x.x.js | 1 - flow-typed/npm/webpack_v4.x.x.js | 45 +- flow-typed/npm/y18n_vx.x.x.js | 1 - flow-typed/npm/yarnhook_vx.x.x.js | 1 - flow-typed/reportContent.js | 2 - homepages/homepage.js | 4 +- postcss.config.js | 4 +- static/webworkers/wasm-gen/libarchive.js | 4535 ++++++++--------- static/webworkers/worker-bundle.js | 2766 +++++----- ui/component/app/view.jsx | 10 +- ui/component/channelContent/view.jsx | 2 +- ui/component/channelForm/view.jsx | 2 +- ui/component/claimPreview/view.jsx | 2 +- ui/component/collectionEdit/view.jsx | 6 +- ui/component/common/file-list.jsx | 2 +- ui/component/loginGraphic/index.jsx | 2 +- ui/component/publishFile/view.jsx | 2 +- ui/component/publishForm/view.jsx | 4 +- ui/component/reportContent/view.jsx | 4 +- ui/component/repostCreate/view.jsx | 4 +- ui/component/searchOptions/view.jsx | 2 +- ui/component/settingStorage/view.jsx | 2 +- ui/component/settingViewHosting/view.jsx | 2 +- ui/component/settingWalletServer/view.jsx | 8 +- ui/component/supportsLiquidate/view.jsx | 11 +- ui/component/syncEnableFlow/view.jsx | 16 +- ui/component/textareaSuggestionsItem/view.jsx | 4 +- ui/component/userChannelFollowIntro/view.jsx | 2 +- ui/component/userEmailNew/view.jsx | 2 +- ui/component/userSignIn/view.jsx | 6 +- ui/component/userSignUp/view.jsx | 2 +- .../videoViewer/internal/videojs-events.jsx | 6 +- .../viewers/videoViewer/internal/videojs.jsx | 4 +- ui/effects/use-history-nav.js | 2 +- ui/effects/use-lazy-loading.js | 2 +- ui/modal/modalAffirmPurchase/view.jsx | 2 +- ui/page/fileListPublished/view.jsx | 6 +- ui/page/notifications/view.jsx | 4 +- ui/page/settingsNotifications/view.jsx | 2 +- ui/page/signInVerify/view.jsx | 4 +- webpack.base.config.js | 4 +- 73 files changed, 3781 insertions(+), 3812 deletions(-) diff --git a/config.js b/config.js index c98f4dac1..d016b2401 100644 --- a/config.js +++ b/config.js @@ -8,10 +8,10 @@ const config = { WEBPACK_WEB_PORT: process.env.WEBPACK_WEB_PORT, WEBPACK_ELECTRON_PORT: process.env.WEBPACK_ELECTRON_PORT, WEB_SERVER_PORT: process.env.WEB_SERVER_PORT, - LBRY_WEB_API: process.env.LBRY_WEB_API, //api.na-backend.odysee.com', + LBRY_WEB_API: process.env.LBRY_WEB_API, // api.na-backend.odysee.com', LBRY_WEB_PUBLISH_API: process.env.LBRY_WEB_PUBLISH_API, - LBRY_API_URL: process.env.LBRY_API_URL, //api.lbry.com', - LBRY_WEB_STREAMING_API: process.env.LBRY_WEB_STREAMING_API, //player.odysee.com + LBRY_API_URL: process.env.LBRY_API_URL, // api.lbry.com', + LBRY_WEB_STREAMING_API: process.env.LBRY_WEB_STREAMING_API, // player.odysee.com LBRY_WEB_BUFFER_API: process.env.LBRY_WEB_BUFFER_API, SEARCH_SERVER_API: process.env.SEARCH_SERVER_API, CLOUD_CONNECT_SITE_NAME: process.env.CLOUD_CONNECT_SITE_NAME, diff --git a/electron/devServer.js b/electron/devServer.js index 645a9cdae..5a41d18c5 100644 --- a/electron/devServer.js +++ b/electron/devServer.js @@ -57,7 +57,7 @@ mainInstance.waitUntilValid(() => { console.log(data.toString()); }); - process.on('SIGINT', function () { + process.on('SIGINT', function() { console.log('Killing threads...'); child.kill('SIGINT'); diff --git a/extras/lbryinc/lbryio.js b/extras/lbryinc/lbryio.js index 89c0536e9..8789ccb67 100644 --- a/extras/lbryinc/lbryio.js +++ b/extras/lbryinc/lbryio.js @@ -37,7 +37,7 @@ Lbryio.call = (resource, action, params = {}, method = 'get') => { } if (response) - return response.json().then(json => { + { return response.json().then(json => { let error; if (json.error) { error = new Error(json.error); @@ -46,7 +46,7 @@ Lbryio.call = (resource, action, params = {}, method = 'get') => { } error.response = response; // This is primarily a hack used in actions/user.js return Promise.reject(error); - }); + }); } } function makeRequest(url, options) { diff --git a/extras/recsys/recsys.js b/extras/recsys/recsys.js index 9a8811332..f15e34afa 100644 --- a/extras/recsys/recsys.js +++ b/extras/recsys/recsys.js @@ -54,7 +54,7 @@ const recsys = { * @param parentClaimId: string, * @param newClaimId: string, */ - onClickedRecommended: function (parentClaimId, newClaimId) { + onClickedRecommended: function(parentClaimId, newClaimId) { const parentEntry = recsys.entries[parentClaimId] ? recsys.entries[parentClaimId] : null; const parentUuid = parentEntry['uuid']; const parentRecommendedClaims = parentEntry['recClaimIds'] || []; @@ -72,7 +72,7 @@ const recsys = { * Page was loaded. Get or Create entry and populate it with default data, plus recommended content, recsysId, etc. * Called from recommendedContent component */ - onRecsLoaded: function (claimId, uris) { + onRecsLoaded: function(claimId, uris) { if (window.store) { const state = window.store.getState(); if (!recsys.entries[claimId]) { @@ -91,7 +91,7 @@ const recsys = { * @param: claimId: string * @param: parentUuid: string (optional) */ - createRecsysEntry: function (claimId, parentUuid) { + createRecsysEntry: function(claimId, parentUuid) { if (window.store && claimId) { const state = window.store.getState(); const user = selectUser(state); @@ -128,7 +128,7 @@ const recsys = { * @param claimId * @param isTentative */ - sendRecsysEntry: function (claimId, isTentative) { + sendRecsysEntry: function(claimId, isTentative) { const shareTelemetry = IS_WEB || (window && window.store && selectDaemonSettings(window.store.getState()).share_usage_data); @@ -151,7 +151,7 @@ const recsys = { * @param claimId * @param event */ - onRecsysPlayerEvent: function (claimId, event, isEmbedded) { + onRecsysPlayerEvent: function(claimId, event, isEmbedded) { if (!recsys.entries[claimId]) { recsys.createRecsysEntry(claimId); // do something to show it's floating or autoplay @@ -162,7 +162,7 @@ const recsys = { recsys.entries[claimId].events.push(event); recsys.log('onRecsysPlayerEvent', claimId); }, - log: function (callName, claimId) { + log: function(callName, claimId) { if (recsys.debug) { console.log(`Call: ***${callName}***, ClaimId: ${claimId}, Recsys Entries`, Object.assign({}, recsys.entries)); } @@ -172,7 +172,7 @@ const recsys = { * Player closed. Check to see if primaryUri = playingUri * if so, send the Entry. */ - onPlayerDispose: function (claimId, isEmbedded) { + onPlayerDispose: function(claimId, isEmbedded) { if (window.store) { const state = window.store.getState(); const playingUri = selectPlayingUri(state); @@ -221,7 +221,7 @@ const recsys = { * Navigate event * Send all claimIds that aren't currently playing. */ - onNavigate: function () { + onNavigate: function() { if (window.store) { const state = window.store.getState(); const playingUri = selectPlayingUri(state); diff --git a/flow-typed/npm/async-exit-hook_vx.x.x.js b/flow-typed/npm/async-exit-hook_vx.x.x.js index 78de249f4..81d3c623c 100644 --- a/flow-typed/npm/async-exit-hook_vx.x.x.js +++ b/flow-typed/npm/async-exit-hook_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'async-exit-hook' { * needed. */ - // Filename aliases declare module 'async-exit-hook/index' { declare module.exports: $Exports<'async-exit-hook'>; diff --git a/flow-typed/npm/bluebird_v3.x.x.js b/flow-typed/npm/bluebird_v3.x.x.js index e49878274..9929bd970 100644 --- a/flow-typed/npm/bluebird_v3.x.x.js +++ b/flow-typed/npm/bluebird_v3.x.x.js @@ -322,7 +322,7 @@ declare class Bluebird$Defer { reject: (value: any) => any; } -declare module "bluebird" { +declare module 'bluebird' { declare module.exports: typeof Bluebird$Promise; declare type Disposable = Bluebird$Disposable; diff --git a/flow-typed/npm/chalk_v2.x.x.js b/flow-typed/npm/chalk_v2.x.x.js index 43548785f..c6f23a8a7 100644 --- a/flow-typed/npm/chalk_v2.x.x.js +++ b/flow-typed/npm/chalk_v2.x.x.js @@ -3,7 +3,7 @@ // From: https://github.com/chalk/chalk/blob/master/index.js.flow -declare module "chalk" { +declare module 'chalk' { declare type TemplateStringsArray = $ReadOnlyArray; declare type Level = $Values<{ diff --git a/flow-typed/npm/classnames_v2.x.x.js b/flow-typed/npm/classnames_v2.x.x.js index 2307243ee..22baf5086 100644 --- a/flow-typed/npm/classnames_v2.x.x.js +++ b/flow-typed/npm/classnames_v2.x.x.js @@ -8,16 +8,16 @@ type $npm$classnames$Classes = | void | null; -declare module "classnames" { +declare module 'classnames' { declare module.exports: ( ...classes: Array<$npm$classnames$Classes | $npm$classnames$Classes[]> ) => string; } -declare module "classnames/bind" { +declare module 'classnames/bind' { declare module.exports: $Exports<"classnames">; } -declare module "classnames/dedupe" { +declare module 'classnames/dedupe' { declare module.exports: $Exports<"classnames">; } diff --git a/flow-typed/npm/decompress_vx.x.x.js b/flow-typed/npm/decompress_vx.x.x.js index eb24e08cf..9ff8e9830 100644 --- a/flow-typed/npm/decompress_vx.x.x.js +++ b/flow-typed/npm/decompress_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'decompress' { * needed. */ - // Filename aliases declare module 'decompress/index' { declare module.exports: $Exports<'decompress'>; diff --git a/flow-typed/npm/del_v3.x.x.js b/flow-typed/npm/del_v3.x.x.js index 8ed444030..512255ff0 100644 --- a/flow-typed/npm/del_v3.x.x.js +++ b/flow-typed/npm/del_v3.x.x.js @@ -37,7 +37,7 @@ type $npm$del$Options = { absolute?: boolean }; -declare module "del" { +declare module 'del' { declare class Del { ( patterns: $npm$del$Patterns, diff --git a/flow-typed/npm/electron-dl_vx.x.x.js b/flow-typed/npm/electron-dl_vx.x.x.js index d9cf4441a..3b68afd3c 100644 --- a/flow-typed/npm/electron-dl_vx.x.x.js +++ b/flow-typed/npm/electron-dl_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'electron-dl' { * needed. */ - // Filename aliases declare module 'electron-dl/index' { declare module.exports: $Exports<'electron-dl'>; diff --git a/flow-typed/npm/electron-is-dev_vx.x.x.js b/flow-typed/npm/electron-is-dev_vx.x.x.js index 12ace3070..ab0dba19a 100644 --- a/flow-typed/npm/electron-is-dev_vx.x.x.js +++ b/flow-typed/npm/electron-is-dev_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'electron-is-dev' { * needed. */ - // Filename aliases declare module 'electron-is-dev/index' { declare module.exports: $Exports<'electron-is-dev'>; diff --git a/flow-typed/npm/electron-window-state_vx.x.x.js b/flow-typed/npm/electron-window-state_vx.x.x.js index 2cb48ed56..f4671f11c 100644 --- a/flow-typed/npm/electron-window-state_vx.x.x.js +++ b/flow-typed/npm/electron-window-state_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'electron-window-state' { * needed. */ - // Filename aliases declare module 'electron-window-state/index' { declare module.exports: $Exports<'electron-window-state'>; diff --git a/flow-typed/npm/eslint-config-standard-jsx_vx.x.x.js b/flow-typed/npm/eslint-config-standard-jsx_vx.x.x.js index ef1784a96..d5ef7cdeb 100644 --- a/flow-typed/npm/eslint-config-standard-jsx_vx.x.x.js +++ b/flow-typed/npm/eslint-config-standard-jsx_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'eslint-config-standard-jsx' { * needed. */ - // Filename aliases declare module 'eslint-config-standard-jsx/index' { declare module.exports: $Exports<'eslint-config-standard-jsx'>; diff --git a/flow-typed/npm/eslint-config-standard_vx.x.x.js b/flow-typed/npm/eslint-config-standard_vx.x.x.js index 0ea2e57a0..678617037 100644 --- a/flow-typed/npm/eslint-config-standard_vx.x.x.js +++ b/flow-typed/npm/eslint-config-standard_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'eslint-config-standard' { * needed. */ - // Filename aliases declare module 'eslint-config-standard/index' { declare module.exports: $Exports<'eslint-config-standard'>; diff --git a/flow-typed/npm/express_v4.16.x.js b/flow-typed/npm/express_v4.16.x.js index 3cc079558..cc6712fdb 100644 --- a/flow-typed/npm/express_v4.16.x.js +++ b/flow-typed/npm/express_v4.16.x.js @@ -1,8 +1,8 @@ // flow-typed signature: 164dcf1c9105e51cb17a374a807146a7 // flow-typed version: c7f4cf7a4d/express_v4.16.x/flow_>=v0.93.x -import * as http from "http"; -import type { Socket } from "net"; +import * as http from 'http'; +import type { Socket } from 'net'; declare type express$RouterOptions = { caseSensitive?: boolean, @@ -284,7 +284,7 @@ declare type express$UrlEncodedOptions = { ) => mixed, } -declare module "express" { +declare module 'express' { declare export type RouterOptions = express$RouterOptions; declare export type CookieOptions = express$CookieOptions; declare export type Middleware = express$Middleware; diff --git a/flow-typed/npm/flow-bin_v0.x.x.js b/flow-typed/npm/flow-bin_v0.x.x.js index c538e2086..7418f049c 100644 --- a/flow-typed/npm/flow-bin_v0.x.x.js +++ b/flow-typed/npm/flow-bin_v0.x.x.js @@ -1,6 +1,6 @@ // flow-typed signature: 6a5610678d4b01e13bbfbbc62bdaf583 // flow-typed version: 3817bc6980/flow-bin_v0.x.x/flow_>=v0.25.x -declare module "flow-bin" { +declare module 'flow-bin' { declare module.exports: string; } diff --git a/flow-typed/npm/json-loader_vx.x.x.js b/flow-typed/npm/json-loader_vx.x.x.js index a420bbc78..2b662454e 100644 --- a/flow-typed/npm/json-loader_vx.x.x.js +++ b/flow-typed/npm/json-loader_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'json-loader' { * needed. */ - // Filename aliases declare module 'json-loader/index' { declare module.exports: $Exports<'json-loader'>; diff --git a/flow-typed/npm/lbry-format_vx.x.x.js b/flow-typed/npm/lbry-format_vx.x.x.js index e8b12ce1b..ec227954e 100644 --- a/flow-typed/npm/lbry-format_vx.x.x.js +++ b/flow-typed/npm/lbry-format_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'lbry-format' { * needed. */ - // Filename aliases declare module 'lbry-format/index' { declare module.exports: $Exports<'lbry-format'>; diff --git a/flow-typed/npm/mixpanel-browser_v2.11.x.js b/flow-typed/npm/mixpanel-browser_v2.11.x.js index d6575b407..e89ca01c5 100644 --- a/flow-typed/npm/mixpanel-browser_v2.11.x.js +++ b/flow-typed/npm/mixpanel-browser_v2.11.x.js @@ -3,11 +3,11 @@ declare module 'mixpanel-browser' { declare type People = { - set(prop: Object|String, to?: any, callback?: Function): void; - set_once(prop: Object|String, to?: any, callback?: Function): void; - increment(prop: Object|string, by?: number, callback?: Function): void; - append(prop: Object|string, value?: any, callback?: Function): void; - union(prop: Object|string, value?: any, callback?: Function): void; + set(prop: Object | String, to?: any, callback?: Function): void; + set_once(prop: Object | String, to?: any, callback?: Function): void; + increment(prop: Object | string, by?: number, callback?: Function): void; + append(prop: Object | string, value?: any, callback?: Function): void; + union(prop: Object | string, value?: any, callback?: Function): void; track_charge(amount: number, properties?: Object, callback?: Function): void; clear_charges(callback?: Function): void; delete_user(): void; @@ -18,8 +18,8 @@ declare module 'mixpanel-browser' { push(item: [string, Object]): void; disable(events?: string[]): void; track(event_name: string, properties?: Object, callback?: Function): void; - track_links(query: Object|string, event_name: string, properties?: Object|Function): void; - track_forms(query: Object|string, event_name: string, properties?: Object|Function): void; + track_links(query: Object | string, event_name: string, properties?: Object | Function): void; + track_forms(query: Object | string, event_name: string, properties?: Object | Function): void; time_event(event_name: string): void; register(properties: Object, days?: number): void; register_once(properties: Object, default_value?: any, days?: number): void; diff --git a/flow-typed/npm/moment_v2.x.x.js b/flow-typed/npm/moment_v2.x.x.js index 65b6ffb76..da801f366 100644 --- a/flow-typed/npm/moment_v2.x.x.js +++ b/flow-typed/npm/moment_v2.x.x.js @@ -69,8 +69,7 @@ declare class moment$LocaleData { isPM(date: string): boolean; meridiem(hours: number, minutes: number, isLower: boolean): string; calendar( - key: - | "sameDay" + key: | "sameDay" | "nextDay" | "lastDay" | "nextWeek" @@ -123,8 +122,7 @@ declare class moment$Moment { static ISO_8601: string; static (string?: ?string): moment$Moment; static ( - initDate: - | moment$MomentOptions + initDate: | moment$MomentOptions | number | Date | Array @@ -157,8 +155,7 @@ declare class moment$Moment { static unix(seconds: number): moment$Moment; static utc(): moment$Moment; static utc( - initDate: - | moment$MomentOptions + initDate: | moment$MomentOptions | number | Date | Array @@ -373,6 +370,6 @@ declare class moment$Moment { static invalid(object: any): moment$Moment; } -declare module "moment" { +declare module 'moment' { declare module.exports: Class; } diff --git a/flow-typed/npm/node-loader_vx.x.x.js b/flow-typed/npm/node-loader_vx.x.x.js index 3a2e32269..9a628b573 100644 --- a/flow-typed/npm/node-loader_vx.x.x.js +++ b/flow-typed/npm/node-loader_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'node-loader' { * needed. */ - // Filename aliases declare module 'node-loader/index' { declare module.exports: $Exports<'node-loader'>; diff --git a/flow-typed/npm/prettier_v1.x.x.js b/flow-typed/npm/prettier_v1.x.x.js index f7e7b6ea8..cc22cd9bb 100644 --- a/flow-typed/npm/prettier_v1.x.x.js +++ b/flow-typed/npm/prettier_v1.x.x.js @@ -1,7 +1,7 @@ // flow-typed signature: 066c92e9ccb5f0711df8d73cbca837d6 // flow-typed version: 9e32affdbd/prettier_v1.x.x/flow_>=v0.56.x -declare module "prettier" { +declare module 'prettier' { declare export type AST = Object; declare export type Doc = Object; declare export type FastPath = Object; diff --git a/flow-typed/npm/raw-loader_vx.x.x.js b/flow-typed/npm/raw-loader_vx.x.x.js index 20f3cdff8..6d8612e86 100644 --- a/flow-typed/npm/raw-loader_vx.x.x.js +++ b/flow-typed/npm/raw-loader_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'raw-loader' { * needed. */ - // Filename aliases declare module 'raw-loader/index' { declare module.exports: $Exports<'raw-loader'>; diff --git a/flow-typed/npm/react-hot-loader_v4.6.x.js b/flow-typed/npm/react-hot-loader_v4.6.x.js index 29b29585c..a42463246 100644 --- a/flow-typed/npm/react-hot-loader_v4.6.x.js +++ b/flow-typed/npm/react-hot-loader_v4.6.x.js @@ -2,7 +2,7 @@ // flow-typed version: 9d7a8571fd/react-hot-loader_v4.6.x/flow_>=v0.53.0 // @flow -declare module "react-hot-loader" { +declare module 'react-hot-loader' { declare type Module = { id: string, }; @@ -50,7 +50,7 @@ declare module "react-hot-loader" { declare export function setConfig(config: $Shape): void } -declare module "react-hot-loader/root" { +declare module 'react-hot-loader/root' { import type { ContainerProps } from 'react-hot-loader'; declare export function hot>( diff --git a/flow-typed/npm/react-redux_v5.x.x.js b/flow-typed/npm/react-redux_v5.x.x.js index eeeab17df..9feedf2eb 100644 --- a/flow-typed/npm/react-redux_v5.x.x.js +++ b/flow-typed/npm/react-redux_v5.x.x.js @@ -31,7 +31,7 @@ Decrypting the abbreviations: EFO = Extra factory options (used only in connectAdvanced) */ -declare module "react-redux" { +declare module 'react-redux' { // ------------------------------------------------------------ // Typings for connect() // ------------------------------------------------------------ diff --git a/flow-typed/npm/react-toggle_v4.0.x.js b/flow-typed/npm/react-toggle_v4.0.x.js index d64b13034..d1f4499a4 100644 --- a/flow-typed/npm/react-toggle_v4.0.x.js +++ b/flow-typed/npm/react-toggle_v4.0.x.js @@ -1,7 +1,7 @@ // flow-typed signature: 7d44bba9041ba487f4fa83ab9d1bd3c3 // flow-typed version: 064c20def6/react-toggle_v4.0.x/flow_>=v0.54.x -declare module "react-toggle" { +declare module 'react-toggle' { declare type Icons = { checked?: React$Node, unchecked?: React$Node diff --git a/flow-typed/npm/remark-react_vx.x.x.js b/flow-typed/npm/remark-react_vx.x.x.js index 8f1c94b7d..13f18f1ef 100644 --- a/flow-typed/npm/remark-react_vx.x.x.js +++ b/flow-typed/npm/remark-react_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'remark-react' { * needed. */ - // Filename aliases declare module 'remark-react/index' { declare module.exports: $Exports<'remark-react'>; diff --git a/flow-typed/npm/remark_vx.x.x.js b/flow-typed/npm/remark_vx.x.x.js index 09c6f64ca..0ee6f68a1 100644 --- a/flow-typed/npm/remark_vx.x.x.js +++ b/flow-typed/npm/remark_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'remark' { * needed. */ - // Filename aliases declare module 'remark/index' { declare module.exports: $Exports<'remark'>; diff --git a/flow-typed/npm/render-media_vx.x.x.js b/flow-typed/npm/render-media_vx.x.x.js index 9e8dfa25d..234f5ba23 100644 --- a/flow-typed/npm/render-media_vx.x.x.js +++ b/flow-typed/npm/render-media_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'render-media' { * needed. */ - // Filename aliases declare module 'render-media/index' { declare module.exports: $Exports<'render-media'>; diff --git a/flow-typed/npm/reselect_v3.x.x.js b/flow-typed/npm/reselect_v3.x.x.js index 457ae9f13..fa05b34dc 100644 --- a/flow-typed/npm/reselect_v3.x.x.js +++ b/flow-typed/npm/reselect_v3.x.x.js @@ -3,7 +3,7 @@ type ExtractReturnType = ((...rest: any[]) => Return) => Return; -declare module "reselect" { +declare module 'reselect' { declare type InputSelector<-TState, TProps, TResult> = (state: TState, props: TProps, ...rest: any[]) => TResult diff --git a/flow-typed/npm/semver_v5.1.x.js b/flow-typed/npm/semver_v5.1.x.js index 75b637646..4a5315a86 100644 --- a/flow-typed/npm/semver_v5.1.x.js +++ b/flow-typed/npm/semver_v5.1.x.js @@ -1,7 +1,7 @@ // flow-typed signature: dc381ee55406f66b7272c6343db0834b // flow-typed version: da30fe6876/semver_v5.1.x/flow_>=v0.25.x -declare module "semver" { +declare module 'semver' { declare type Release = | "major" | "premajor" diff --git a/flow-typed/npm/stream-to-blob-url_vx.x.x.js b/flow-typed/npm/stream-to-blob-url_vx.x.x.js index 95c88c82e..dc9c2917d 100644 --- a/flow-typed/npm/stream-to-blob-url_vx.x.x.js +++ b/flow-typed/npm/stream-to-blob-url_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'stream-to-blob-url' { * needed. */ - // Filename aliases declare module 'stream-to-blob-url/index' { declare module.exports: $Exports<'stream-to-blob-url'>; diff --git a/flow-typed/npm/webpack_v4.x.x.js b/flow-typed/npm/webpack_v4.x.x.js index a1df5f6e4..29bd9d1c7 100644 --- a/flow-typed/npm/webpack_v4.x.x.js +++ b/flow-typed/npm/webpack_v4.x.x.js @@ -64,8 +64,7 @@ declare module 'webpack' { declare type ExternalItem = | string | { - [k: string]: - | string + [k: string]: | string | { [k: string]: any, } @@ -81,14 +80,12 @@ declare module 'webpack' { callback: (err?: Error, result?: string) => void ) => void) | ExternalItem - | Array< - | (( + | Array<| (( context: string, request: string, callback: (err?: Error, result?: string) => void ) => void) - | ExternalItem - >; + | ExternalItem>; declare type RuleSetCondition = | RegExp @@ -146,8 +143,7 @@ declare module 'webpack' { rules?: RuleSetRules, sideEffects?: boolean, test?: RuleSetConditionOrConditions, - type?: - | 'javascript/auto' + type?: | 'javascript/auto' | 'javascript/dynamic' | 'javascript/esm' | 'json' @@ -197,8 +193,7 @@ declare module 'webpack' { declare type OptimizationSplitChunksOptions = { automaticNameDelimiter?: string, cacheGroups?: { - [k: string]: - | false + [k: string]: | false | Function | string | RegExp @@ -255,8 +250,7 @@ declare module 'webpack' { providedExports?: boolean, removeAvailableModules?: boolean, removeEmptyChunks?: boolean, - runtimeChunk?: - | boolean + runtimeChunk?: | boolean | ('single' | 'multiple') | { name?: string | Function, @@ -273,8 +267,7 @@ declare module 'webpack' { }; declare type OutputOptions = { - auxiliaryComment?: - | string + auxiliaryComment?: | string | { amd?: string, commonjs?: string, @@ -302,8 +295,7 @@ declare module 'webpack' { jsonpScriptType?: false | 'text/javascript' | 'module', library?: string | Array | LibraryCustomUmdObject, libraryExport?: string | ArrayOfStringValues, - libraryTarget?: - | 'var' + libraryTarget?: | 'var' | 'assign' | 'this' | 'window' @@ -337,8 +329,7 @@ declare module 'webpack' { declare type ArrayOfStringOrStringArrayValues = Array>; declare type ResolveOptions = { - alias?: - | { [k: string]: string } + alias?: | { [k: string]: string } | Array<{ alias?: string, name?: string, @@ -384,8 +375,7 @@ declare module 'webpack' { chunkOrigins?: boolean, chunks?: boolean, chunksSort?: string, - colors?: - | boolean + colors?: | boolean | { bold?: string, cyan?: string, @@ -448,8 +438,7 @@ declare module 'webpack' { disableHostCheck?: boolean, filename?: string, headers?: { [key: string]: string }, - historyApiFallback?: - | boolean + historyApiFallback?: | boolean | { rewrites?: Array<{ from: string, to: string }>, disableDotRule?: boolean, @@ -457,8 +446,7 @@ declare module 'webpack' { host?: string, hot?: boolean, hotOnly?: boolean, - https?: - | boolean + https?: | boolean | { key: string, cert: string, @@ -470,8 +458,7 @@ declare module 'webpack' { noInfo?: boolean, open?: boolean | string, openPage?: string, - overlay?: - | boolean + overlay?: | boolean | { errors?: boolean, warnings?: boolean, @@ -506,8 +493,7 @@ declare module 'webpack' { watchOptions?: WatchOptions, publicPath?: string, }, - devtool?: - | '@cheap-eval-source-map' + devtool?: | '@cheap-eval-source-map' | '@cheap-module-eval-source-map' | '@cheap-module-source-map' | '@cheap-source-map' @@ -568,8 +554,7 @@ declare module 'webpack' { resolveLoader?: ResolveOptions, serve?: { [k: string]: any }, stats?: StatsOptions, - target?: - | 'web' + target?: | 'web' | 'webworker' | 'node' | 'async-node' diff --git a/flow-typed/npm/y18n_vx.x.x.js b/flow-typed/npm/y18n_vx.x.x.js index aa823a408..7f83c473e 100644 --- a/flow-typed/npm/y18n_vx.x.x.js +++ b/flow-typed/npm/y18n_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'y18n' { * needed. */ - // Filename aliases declare module 'y18n/index' { declare module.exports: $Exports<'y18n'>; diff --git a/flow-typed/npm/yarnhook_vx.x.x.js b/flow-typed/npm/yarnhook_vx.x.x.js index 63cf11f82..a6ae6500c 100644 --- a/flow-typed/npm/yarnhook_vx.x.x.js +++ b/flow-typed/npm/yarnhook_vx.x.x.js @@ -23,7 +23,6 @@ declare module 'yarnhook' { * needed. */ - // Filename aliases declare module 'yarnhook/index' { declare module.exports: $Exports<'yarnhook'>; diff --git a/flow-typed/reportContent.js b/flow-typed/reportContent.js index f9ed98730..b6e1811e8 100644 --- a/flow-typed/reportContent.js +++ b/flow-typed/reportContent.js @@ -5,5 +5,3 @@ declare type ReportContentState = { isReporting: boolean, error: string, }; - - diff --git a/homepages/homepage.js b/homepages/homepage.js index 36b893b47..3afbc812f 100644 --- a/homepages/homepage.js +++ b/homepages/homepage.js @@ -95,8 +95,8 @@ const YOUTUBER_CHANNEL_IDS = [ channelLimit: 1, daysOfContent: 30, pageSize: 24, - //pinnedUrls: [], - //mixIn: [], + // pinnedUrls: [], + // mixIn: [], }; module.exports = { YOUTUBERS }; diff --git a/postcss.config.js b/postcss.config.js index fb55b2923..bc9377cc1 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,7 +1,7 @@ module.exports = { plugins: { 'postcss-import': { - resolve: function (id) { + resolve: function(id) { // Handle ~ imports for node_modules if (id.startsWith('~')) { try { @@ -11,7 +11,7 @@ module.exports = { } } return id; - } + }, }, cssnano: process.env.NODE_ENV === 'production' ? {} : false, }, diff --git a/static/webworkers/wasm-gen/libarchive.js b/static/webworkers/wasm-gen/libarchive.js index 1b76be91a..d75b56fd5 100644 --- a/static/webworkers/wasm-gen/libarchive.js +++ b/static/webworkers/wasm-gen/libarchive.js @@ -2,153 +2,153 @@ var libarchive = (function() { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src - : undefined + : undefined; return function(libarchive) { - libarchive = libarchive || {} + libarchive = libarchive || {}; - var Module = typeof libarchive !== 'undefined' ? libarchive : {} - var moduleOverrides = {} - var key + var Module = typeof libarchive !== 'undefined' ? libarchive : {}; + var moduleOverrides = {}; + var key; for (key in Module) { if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key] + moduleOverrides[key] = Module[key]; } } - Module['arguments'] = [] - Module['thisProgram'] = './this.program' + Module['arguments'] = []; + Module['thisProgram'] = './this.program'; Module['quit'] = function(status, toThrow) { - throw toThrow - } - Module['preRun'] = [] - Module['postRun'] = [] - var ENVIRONMENT_IS_WEB = false - var ENVIRONMENT_IS_WORKER = false - var ENVIRONMENT_IS_NODE = false - var ENVIRONMENT_IS_SHELL = false - ENVIRONMENT_IS_WEB = typeof window === 'object' - ENVIRONMENT_IS_WORKER = typeof importScripts === 'function' + throw toThrow; + }; + Module['preRun'] = []; + Module['postRun'] = []; + var ENVIRONMENT_IS_WEB = false; + var ENVIRONMENT_IS_WORKER = false; + var ENVIRONMENT_IS_NODE = false; + var ENVIRONMENT_IS_SHELL = false; + ENVIRONMENT_IS_WEB = typeof window === 'object'; + ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && - !ENVIRONMENT_IS_WORKER + !ENVIRONMENT_IS_WORKER; ENVIRONMENT_IS_SHELL = - !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER - var scriptDirectory = '' + !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + var scriptDirectory = ''; function locateFile(path) { if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory) + return Module['locateFile'](path, scriptDirectory); } else { - return scriptDirectory + path + return scriptDirectory + path; } } if (ENVIRONMENT_IS_NODE) { - scriptDirectory = __dirname + '/' - var nodeFS - var nodePath + scriptDirectory = __dirname + '/'; + var nodeFS; + var nodePath; Module['read'] = function shell_read(filename, binary) { - var ret - if (!nodeFS) nodeFS = require('fs') - if (!nodePath) nodePath = require('path') - filename = nodePath['normalize'](filename) - ret = nodeFS['readFileSync'](filename) - return binary ? ret : ret.toString() - } + var ret; + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + ret = nodeFS['readFileSync'](filename); + return binary ? ret : ret.toString(); + }; Module['readBinary'] = function readBinary(filename) { - var ret = Module['read'](filename, true) + var ret = Module['read'](filename, true); if (!ret.buffer) { - ret = new Uint8Array(ret) + ret = new Uint8Array(ret); } - assert(ret.buffer) - return ret - } + assert(ret.buffer); + return ret; + }; if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/') + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); } - Module['arguments'] = process['argv'].slice(2) + Module['arguments'] = process['argv'].slice(2); process['on']('uncaughtException', function(ex) { if (!(ex instanceof ExitStatus)) { - throw ex + throw ex; } - }) - process['on']('unhandledRejection', abort) + }); + process['on']('unhandledRejection', abort); Module['quit'] = function(status) { - process['exit'](status) - } + process['exit'](status); + }; Module['inspect'] = function() { - return '[Emscripten Module object]' - } + return '[Emscripten Module object]'; + }; } else if (ENVIRONMENT_IS_SHELL) { - if (typeof read != 'undefined') { + if (typeof read !== 'undefined') { Module['read'] = function shell_read(f) { - return read(f) - } + return read(f); + }; } Module['readBinary'] = function readBinary(f) { - var data + var data; if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)) + return new Uint8Array(readbuffer(f)); } - data = read(f, 'binary') - assert(typeof data === 'object') - return data - } - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments + data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + if (typeof scriptArgs !== 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments !== 'undefined') { + Module['arguments'] = arguments; } if (typeof quit === 'function') { Module['quit'] = function(status) { - quit(status) - } + quit(status); + }; } } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = self.location.href + scriptDirectory = self.location.href; } else if (document.currentScript) { - scriptDirectory = document.currentScript.src + scriptDirectory = document.currentScript.src; } if (_scriptDir) { - scriptDirectory = _scriptDir + scriptDirectory = _scriptDir; } if (scriptDirectory.indexOf('blob:') !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/') + 1) + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/') + 1); } else { - scriptDirectory = '' + scriptDirectory = ''; } Module['read'] = function shell_read(url) { - var xhr = new XMLHttpRequest() - xhr.open('GET', url, false) - xhr.send(null) - return xhr.responseText - } + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; if (ENVIRONMENT_IS_WORKER) { Module['readBinary'] = function readBinary(url) { - var xhr = new XMLHttpRequest() - xhr.open('GET', url, false) - xhr.responseType = 'arraybuffer' - xhr.send(null) - return new Uint8Array(xhr.response) - } + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(xhr.response); + }; } Module['readAsync'] = function readAsync(url, onload, onerror) { - var xhr = new XMLHttpRequest() - xhr.open('GET', url, true) - xhr.responseType = 'arraybuffer' + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; xhr.onload = function xhr_onload() { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { - onload(xhr.response) - return + onload(xhr.response); + return; } - onerror() - } - xhr.onerror = onerror - xhr.send(null) - } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; Module['setWindowTitle'] = function(title) { - document.title = title - } + document.title = title; + }; } else { } var out = @@ -157,160 +157,160 @@ var libarchive = (function() { ? console.log.bind(console) : typeof print !== 'undefined' ? print - : null) + : null); var err = Module['printErr'] || (typeof printErr !== 'undefined' ? printErr - : (typeof console !== 'undefined' && console.warn.bind(console)) || out) + : (typeof console !== 'undefined' && console.warn.bind(console)) || out); for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key] + Module[key] = moduleOverrides[key]; } } - moduleOverrides = undefined + moduleOverrides = undefined; function dynamicAlloc(size) { - var ret = HEAP32[DYNAMICTOP_PTR >> 2] - var end = (ret + size + 15) & -16 + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = (ret + size + 15) & -16; if (end <= _emscripten_get_heap_size()) { - HEAP32[DYNAMICTOP_PTR >> 2] = end + HEAP32[DYNAMICTOP_PTR >> 2] = end; } else { - var success = _emscripten_resize_heap(end) - if (!success) return 0 + var success = _emscripten_resize_heap(end); + if (!success) return 0; } - return ret + return ret; } function getNativeTypeSize(type) { switch (type) { case 'i1': case 'i8': - return 1 + return 1; case 'i16': - return 2 + return 2; case 'i32': - return 4 + return 4; case 'i64': - return 8 + return 8; case 'float': - return 4 + return 4; case 'double': - return 8 + return 8; default: { if (type[type.length - 1] === '*') { - return 4 + return 4; } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)) + var bits = parseInt(type.substr(1)); assert( bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type - ) - return bits / 8 + ); + return bits / 8; } else { - return 0 + return 0; } } } } var asm2wasmImports = { 'f64-rem': function(x, y) { - return x % y + return x % y; }, debugger: function() { - debugger + debugger; }, - } - var functionPointers = new Array(0) - var tempRet0 = 0 + }; + var functionPointers = new Array(0); + var tempRet0 = 0; var setTempRet0 = function(value) { - tempRet0 = value - } + tempRet0 = value; + }; if (typeof WebAssembly !== 'object') { - err('no native wasm support detected') + err('no native wasm support detected'); } - var wasmMemory - var wasmTable - var ABORT = false - var EXITSTATUS = 0 + var wasmMemory; + var wasmTable; + var ABORT = false; + var EXITSTATUS = 0; function assert(condition, text) { if (!condition) { - abort('Assertion failed: ' + text) + abort('Assertion failed: ' + text); } } function getCFunc(ident) { - var func = Module['_' + ident] - assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported') - return func + var func = Module['_' + ident]; + assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); + return func; } function ccall(ident, returnType, argTypes, args, opts) { var toC = { string: function(str) { - var ret = 0 + var ret = 0; if (str !== null && str !== undefined && str !== 0) { - var len = (str.length << 2) + 1 - ret = stackAlloc(len) - stringToUTF8(str, ret, len) + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); } - return ret + return ret; }, array: function(arr) { - var ret = stackAlloc(arr.length) - writeArrayToMemory(arr, ret) - return ret + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; }, - } + }; function convertReturnValue(ret) { - if (returnType === 'string') return UTF8ToString(ret) - if (returnType === 'boolean') return Boolean(ret) - return ret + if (returnType === 'string') return UTF8ToString(ret); + if (returnType === 'boolean') return Boolean(ret); + return ret; } - var func = getCFunc(ident) - var cArgs = [] - var stack = 0 + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; if (args) { for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]] + var converter = toC[argTypes[i]]; if (converter) { - if (stack === 0) stack = stackSave() - cArgs[i] = converter(args[i]) + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); } else { - cArgs[i] = args[i] + cArgs[i] = args[i]; } } } - var ret = func.apply(null, cArgs) - ret = convertReturnValue(ret) - if (stack !== 0) stackRestore(stack) - return ret + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; } function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || [] + argTypes = argTypes || []; var numericArgs = argTypes.every(function(type) { - return type === 'number' - }) - var numericRet = returnType !== 'string' + return type === 'number'; + }); + var numericRet = returnType !== 'string'; if (numericRet && numericArgs && !opts) { - return getCFunc(ident) + return getCFunc(ident); } return function() { - return ccall(ident, returnType, argTypes, arguments, opts) - } + return ccall(ident, returnType, argTypes, arguments, opts); + }; } function setValue(ptr, value, type, noSafe) { - type = type || 'i8' - if (type.charAt(type.length - 1) === '*') type = 'i32' + type = type || 'i8'; + if (type.charAt(type.length - 1) === '*') type = 'i32'; switch (type) { case 'i1': - HEAP8[ptr >> 0] = value - break + HEAP8[ptr >> 0] = value; + break; case 'i8': - HEAP8[ptr >> 0] = value - break + HEAP8[ptr >> 0] = value; + break; case 'i16': - HEAP16[ptr >> 1] = value - break + HEAP16[ptr >> 1] = value; + break; case 'i32': - HEAP32[ptr >> 2] = value - break + HEAP32[ptr >> 2] = value; + break; case 'i64': ;(tempI64 = [ value >>> 0, @@ -322,380 +322,380 @@ var libarchive = (function() { : 0), ]), (HEAP32[ptr >> 2] = tempI64[0]), - (HEAP32[(ptr + 4) >> 2] = tempI64[1]) - break + (HEAP32[(ptr + 4) >> 2] = tempI64[1]); + break; case 'float': - HEAPF32[ptr >> 2] = value - break + HEAPF32[ptr >> 2] = value; + break; case 'double': - HEAPF64[ptr >> 3] = value - break + HEAPF64[ptr >> 3] = value; + break; default: - abort('invalid type for setValue: ' + type) + abort('invalid type for setValue: ' + type); } } - var ALLOC_NORMAL = 0 - var ALLOC_NONE = 3 + var ALLOC_NORMAL = 0; + var ALLOC_NONE = 3; function allocate(slab, types, allocator, ptr) { - var zeroinit, size + var zeroinit, size; if (typeof slab === 'number') { - zeroinit = true - size = slab + zeroinit = true; + size = slab; } else { - zeroinit = false - size = slab.length + zeroinit = false; + size = slab.length; } - var singleType = typeof types === 'string' ? types : null - var ret + var singleType = typeof types === 'string' ? types : null; + var ret; if (allocator == ALLOC_NONE) { - ret = ptr + ret = ptr; } else { ret = [_malloc, stackAlloc, dynamicAlloc][allocator]( Math.max(size, singleType ? 1 : types.length) - ) + ); } if (zeroinit) { - var stop - ptr = ret - assert((ret & 3) == 0) - stop = ret + (size & ~3) + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); for (; ptr < stop; ptr += 4) { - HEAP32[ptr >> 2] = 0 + HEAP32[ptr >> 2] = 0; } - stop = ret + size + stop = ret + size; while (ptr < stop) { - HEAP8[ptr++ >> 0] = 0 + HEAP8[ptr++ >> 0] = 0; } - return ret + return ret; } if (singleType === 'i8') { if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret) + HEAPU8.set(slab, ret); } else { - HEAPU8.set(new Uint8Array(slab), ret) + HEAPU8.set(new Uint8Array(slab), ret); } - return ret + return ret; } var i = 0, type, typeSize, - previousType + previousType; while (i < size) { - var curr = slab[i] - type = singleType || types[i] + var curr = slab[i]; + type = singleType || types[i]; if (type === 0) { - i++ - continue + i++; + continue; } - if (type == 'i64') type = 'i32' - setValue(ret + i, curr, type) + if (type == 'i64') type = 'i32'; + setValue(ret + i, curr, type); if (previousType !== type) { - typeSize = getNativeTypeSize(type) - previousType = type + typeSize = getNativeTypeSize(type); + previousType = type; } - i += typeSize + i += typeSize; } - return ret + return ret; } function getMemory(size) { - if (!runtimeInitialized) return dynamicAlloc(size) - return _malloc(size) + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size); } var UTF8Decoder = - typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined + typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead - var endPtr = idx - while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)) + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); } else { - var str = '' + var str = ''; while (idx < endPtr) { - var u0 = u8Array[idx++] + var u0 = u8Array[idx++]; if (!(u0 & 128)) { - str += String.fromCharCode(u0) - continue + str += String.fromCharCode(u0); + continue; } - var u1 = u8Array[idx++] & 63 + var u1 = u8Array[idx++] & 63; if ((u0 & 224) == 192) { - str += String.fromCharCode(((u0 & 31) << 6) | u1) - continue + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; } - var u2 = u8Array[idx++] & 63 + var u2 = u8Array[idx++] & 63; if ((u0 & 240) == 224) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2 + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63) + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63); } if (u0 < 65536) { - str += String.fromCharCode(u0) + str += String.fromCharCode(u0); } else { - var ch = u0 - 65536 - str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)) + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); } } } - return str + return str; } function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '' + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) return 0 - var startIdx = outIdx - var endIdx = outIdx + maxBytesToWrite - 1 + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i) + var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) { - var u1 = str.charCodeAt(++i) - u = (65536 + ((u & 1023) << 10)) | (u1 & 1023) + var u1 = str.charCodeAt(++i); + u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); } if (u <= 127) { - if (outIdx >= endIdx) break - outU8Array[outIdx++] = u + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; } else if (u <= 2047) { - if (outIdx + 1 >= endIdx) break - outU8Array[outIdx++] = 192 | (u >> 6) - outU8Array[outIdx++] = 128 | (u & 63) + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | (u >> 6); + outU8Array[outIdx++] = 128 | (u & 63); } else if (u <= 65535) { - if (outIdx + 2 >= endIdx) break - outU8Array[outIdx++] = 224 | (u >> 12) - outU8Array[outIdx++] = 128 | ((u >> 6) & 63) - outU8Array[outIdx++] = 128 | (u & 63) + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | (u >> 12); + outU8Array[outIdx++] = 128 | ((u >> 6) & 63); + outU8Array[outIdx++] = 128 | (u & 63); } else { - if (outIdx + 3 >= endIdx) break - outU8Array[outIdx++] = 240 | (u >> 18) - outU8Array[outIdx++] = 128 | ((u >> 12) & 63) - outU8Array[outIdx++] = 128 | ((u >> 6) & 63) - outU8Array[outIdx++] = 128 | (u & 63) + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 240 | (u >> 18); + outU8Array[outIdx++] = 128 | ((u >> 12) & 63); + outU8Array[outIdx++] = 128 | ((u >> 6) & 63); + outU8Array[outIdx++] = 128 | (u & 63); } } - outU8Array[outIdx] = 0 - return outIdx - startIdx + outU8Array[outIdx] = 0; + return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) { - var len = 0 + var len = 0; for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i) + var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) - u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023) - if (u <= 127) ++len - else if (u <= 2047) len += 2 - else if (u <= 65535) len += 3 - else len += 4 + { u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023) } + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4; } - return len + return len; } var UTF16Decoder = - typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined + typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer) + HEAP8.set(array, buffer); } function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { - HEAP8[buffer++ >> 0] = str.charCodeAt(i) + HEAP8[buffer++ >> 0] = str.charCodeAt(i); } - if (!dontAddNull) HEAP8[buffer >> 0] = 0 + if (!dontAddNull) HEAP8[buffer >> 0] = 0; } function demangle(func) { - return func + return func; } function demangleAll(text) { - var regex = /__Z[\w\d_]+/g + var regex = /__Z[\w\d_]+/g; return text.replace(regex, function(x) { - var y = demangle(x) - return x === y ? x : y + ' [' + x + ']' - }) + var y = demangle(x); + return x === y ? x : y + ' [' + x + ']'; + }); } function jsStackTrace() { - var err = new Error() + var err = new Error(); if (!err.stack) { try { - throw new Error(0) + throw new Error(0); } catch (e) { - err = e + err = e; } if (!err.stack) { - return '(no stack trace available)' + return '(no stack trace available)'; } } - return err.stack.toString() + return err.stack.toString(); } function stackTrace() { - var js = jsStackTrace() - if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']() - return demangleAll(js) + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); } - var WASM_PAGE_SIZE = 65536 + var WASM_PAGE_SIZE = 65536; function alignUp(x, multiple) { if (x % multiple > 0) { - x += multiple - (x % multiple) + x += multiple - (x % multiple); } - return x + return x; } - var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64 + var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; function updateGlobalBufferViews() { - Module['HEAP8'] = HEAP8 = new Int8Array(buffer) - Module['HEAP16'] = HEAP16 = new Int16Array(buffer) - Module['HEAP32'] = HEAP32 = new Int32Array(buffer) - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer) - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer) - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer) - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer) - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer) + Module['HEAP8'] = HEAP8 = new Int8Array(buffer); + Module['HEAP16'] = HEAP16 = new Int16Array(buffer); + Module['HEAP32'] = HEAP32 = new Int32Array(buffer); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); } var DYNAMIC_BASE = 5520464, - DYNAMICTOP_PTR = 277552 - var TOTAL_STACK = 5242880 - var INITIAL_TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216 + DYNAMICTOP_PTR = 277552; + var TOTAL_STACK = 5242880; + var INITIAL_TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; if (INITIAL_TOTAL_MEMORY < TOTAL_STACK) - err( + { err( 'TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')' - ) + ); } if (Module['buffer']) { - buffer = Module['buffer'] + buffer = Module['buffer']; } else { if (typeof WebAssembly === 'object' && typeof WebAssembly.Memory === 'function') { wasmMemory = new WebAssembly.Memory({ initial: INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE, - }) - buffer = wasmMemory.buffer + }); + buffer = wasmMemory.buffer; } else { - buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY) + buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY); } } - updateGlobalBufferViews() - HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE + updateGlobalBufferViews(); + HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { - var callback = callbacks.shift() - if (typeof callback == 'function') { - callback() - continue + var callback = callbacks.shift(); + if (typeof callback === 'function') { + callback(); + continue; } - var func = callback.func + var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { - Module['dynCall_v'](func) + Module['dynCall_v'](func); } else { - Module['dynCall_vi'](func, callback.arg) + Module['dynCall_vi'](func, callback.arg); } } else { - func(callback.arg === undefined ? null : callback.arg) + func(callback.arg === undefined ? null : callback.arg); } } } - var __ATPRERUN__ = [] - var __ATINIT__ = [] - var __ATMAIN__ = [] - var __ATPOSTRUN__ = [] - var runtimeInitialized = false - var runtimeExited = false + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATMAIN__ = []; + var __ATPOSTRUN__ = []; + var runtimeInitialized = false; + var runtimeExited = false; function preRun() { if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']] + if (typeof Module['preRun'] === 'function') Module['preRun'] = [Module['preRun']]; while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()) + addOnPreRun(Module['preRun'].shift()); } } - callRuntimeCallbacks(__ATPRERUN__) + callRuntimeCallbacks(__ATPRERUN__); } function ensureInitRuntime() { - if (runtimeInitialized) return - runtimeInitialized = true - if (!Module['noFSInit'] && !FS.init.initialized) FS.init() - TTY.init() - PIPEFS.root = FS.mount(PIPEFS, {}, null) - callRuntimeCallbacks(__ATINIT__) + if (runtimeInitialized) return; + runtimeInitialized = true; + if (!Module['noFSInit'] && !FS.init.initialized) FS.init(); + TTY.init(); + PIPEFS.root = FS.mount(PIPEFS, {}, null); + callRuntimeCallbacks(__ATINIT__); } function preMain() { - FS.ignorePermissions = false - callRuntimeCallbacks(__ATMAIN__) + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { - runtimeExited = true + runtimeExited = true; } function postRun() { if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') - Module['postRun'] = [Module['postRun']] + if (typeof Module['postRun'] === 'function') + { Module['postRun'] = [Module['postRun']] } while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()) + addOnPostRun(Module['postRun'].shift()); } } - callRuntimeCallbacks(__ATPOSTRUN__) + callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb) + __ATPRERUN__.unshift(cb); } function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb) + __ATPOSTRUN__.unshift(cb); } - var Math_abs = Math.abs - var Math_ceil = Math.ceil - var Math_floor = Math.floor - var Math_min = Math.min - var runDependencies = 0 - var runDependencyWatcher = null - var dependenciesFulfilled = null + var Math_abs = Math.abs; + var Math_ceil = Math.ceil; + var Math_floor = Math.floor; + var Math_min = Math.min; + var runDependencies = 0; + var runDependencyWatcher = null; + var dependenciesFulfilled = null; function getUniqueRunDependency(id) { - return id + return id; } function addRunDependency(id) { - runDependencies++ + runDependencies++; if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies) + Module['monitorRunDependencies'](runDependencies); } } function removeRunDependency(id) { - runDependencies-- + runDependencies--; if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies) + Module['monitorRunDependencies'](runDependencies); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher) - runDependencyWatcher = null + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; } if (dependenciesFulfilled) { - var callback = dependenciesFulfilled - dependenciesFulfilled = null - callback() + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); } } } - Module['preloadedImages'] = {} - Module['preloadedAudios'] = {} - var dataURIPrefix = 'data:application/octet-stream;base64,' + Module['preloadedImages'] = {}; + Module['preloadedAudios'] = {}; + var dataURIPrefix = 'data:application/octet-stream;base64,'; function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) - : filename.indexOf(dataURIPrefix) === 0 + : filename.indexOf(dataURIPrefix) === 0; } - var wasmBinaryFile = 'libarchive.wasm' + var wasmBinaryFile = 'libarchive.wasm'; if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile) + wasmBinaryFile = locateFile(wasmBinaryFile); } function getBinary() { try { if (Module['wasmBinary']) { - return new Uint8Array(Module['wasmBinary']) + return new Uint8Array(Module['wasmBinary']); } if (Module['readBinary']) { - return Module['readBinary'](wasmBinaryFile) + return Module['readBinary'](wasmBinaryFile); } else { - throw 'both async and sync fetching of the wasm failed' + throw 'both async and sync fetching of the wasm failed'; } } catch (err) { - abort(err) + abort(err); } } function getBinaryPromise() { @@ -707,17 +707,17 @@ var libarchive = (function() { return fetch(wasmBinaryFile, { credentials: 'same-origin' }) .then(function(response) { if (!response['ok']) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + throw "failed to load wasm binary file at '" + wasmBinaryFile + "'"; } - return response['arrayBuffer']() + return response['arrayBuffer'](); }) .catch(function() { - return getBinary() - }) + return getBinary(); + }); } return new Promise(function(resolve, reject) { - resolve(getBinary()) - }) + resolve(getBinary()); + }); } function createWasm(env) { var info = { @@ -725,33 +725,33 @@ var libarchive = (function() { global: { NaN: NaN, Infinity: Infinity }, 'global.Math': Math, asm2wasm: asm2wasmImports, - } + }; function receiveInstance(instance, module) { - var exports = instance.exports - Module['asm'] = exports - removeRunDependency('wasm-instantiate') + var exports = instance.exports; + Module['asm'] = exports; + removeRunDependency('wasm-instantiate'); } - addRunDependency('wasm-instantiate') + addRunDependency('wasm-instantiate'); if (Module['instantiateWasm']) { try { - return Module['instantiateWasm'](info, receiveInstance) + return Module['instantiateWasm'](info, receiveInstance); } catch (e) { - err('Module.instantiateWasm callback failed with error: ' + e) - return false + err('Module.instantiateWasm callback failed with error: ' + e); + return false; } } function receiveInstantiatedSource(output) { - receiveInstance(output['instance']) + receiveInstance(output['instance']); } function instantiateArrayBuffer(receiver) { getBinaryPromise() .then(function(binary) { - return WebAssembly.instantiate(binary, info) + return WebAssembly.instantiate(binary, info); }) .then(receiver, function(reason) { - err('failed to asynchronously prepare wasm: ' + reason) - abort(reason) - }) + err('failed to asynchronously prepare wasm: ' + reason); + abort(reason); + }); } if ( !Module['wasmBinary'] && @@ -763,362 +763,362 @@ var libarchive = (function() { fetch(wasmBinaryFile, { credentials: 'same-origin' }), info ).then(receiveInstantiatedSource, function(reason) { - err('wasm streaming compile failed: ' + reason) - err('falling back to ArrayBuffer instantiation') - instantiateArrayBuffer(receiveInstantiatedSource) - }) + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + instantiateArrayBuffer(receiveInstantiatedSource); + }); } else { - instantiateArrayBuffer(receiveInstantiatedSource) + instantiateArrayBuffer(receiveInstantiatedSource); } - return {} + return {}; } Module['asm'] = function(global, env, providedBuffer) { - env['memory'] = wasmMemory + env['memory'] = wasmMemory; env['table'] = wasmTable = new WebAssembly.Table({ initial: 507, maximum: 507, element: 'anyfunc', - }) - env['__memory_base'] = 1024 - env['__table_base'] = 0 - var exports = createWasm(env) - return exports - } + }); + env['__memory_base'] = 1024; + env['__table_base'] = 0; + var exports = createWasm(env); + return exports; + }; __ATINIT__.push({ func: function() { - ___emscripten_environ_constructor() + ___emscripten_environ_constructor(); }, - }) - var ENV = {} + }); + var ENV = {}; function ___buildEnvironment(environ) { - var MAX_ENV_VALUES = 64 - var TOTAL_ENV_SIZE = 1024 - var poolPtr - var envPtr + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + var poolPtr; + var envPtr; if (!___buildEnvironment.called) { - ___buildEnvironment.called = true - ENV['USER'] = ENV['LOGNAME'] = 'web_user' - ENV['PATH'] = '/' - ENV['PWD'] = '/' - ENV['HOME'] = '/home/web_user' - ENV['LANG'] = 'C.UTF-8' - ENV['_'] = Module['thisProgram'] - poolPtr = getMemory(TOTAL_ENV_SIZE) - envPtr = getMemory(MAX_ENV_VALUES * 4) - HEAP32[envPtr >> 2] = poolPtr - HEAP32[environ >> 2] = envPtr + ___buildEnvironment.called = true; + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C.UTF-8'; + ENV['_'] = Module['thisProgram']; + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[envPtr >> 2] = poolPtr; + HEAP32[environ >> 2] = envPtr; } else { - envPtr = HEAP32[environ >> 2] - poolPtr = HEAP32[envPtr >> 2] + envPtr = HEAP32[environ >> 2]; + poolPtr = HEAP32[envPtr >> 2]; } - var strings = [] - var totalSize = 0 + var strings = []; + var totalSize = 0; for (var key in ENV) { if (typeof ENV[key] === 'string') { - var line = key + '=' + ENV[key] - strings.push(line) - totalSize += line.length + var line = key + '=' + ENV[key]; + strings.push(line); + totalSize += line.length; } } if (totalSize > TOTAL_ENV_SIZE) { - throw new Error('Environment size exceeded TOTAL_ENV_SIZE!') + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); } - var ptrSize = 4 + var ptrSize = 4; for (var i = 0; i < strings.length; i++) { - var line = strings[i] - writeAsciiToMemory(line, poolPtr) - HEAP32[(envPtr + i * ptrSize) >> 2] = poolPtr - poolPtr += line.length + 1 + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(envPtr + i * ptrSize) >> 2] = poolPtr; + poolPtr += line.length + 1; } - HEAP32[(envPtr + strings.length * ptrSize) >> 2] = 0 + HEAP32[(envPtr + strings.length * ptrSize) >> 2] = 0; } var PATH = { splitPath: function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/ - return splitPathRe.exec(filename).slice(1) + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); }, normalizeArray: function(parts, allowAboveRoot) { - var up = 0 + var up = 0; for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i] + var last = parts[i]; if (last === '.') { - parts.splice(i, 1) + parts.splice(i, 1); } else if (last === '..') { - parts.splice(i, 1) - up++ + parts.splice(i, 1); + up++; } else if (up) { - parts.splice(i, 1) - up-- + parts.splice(i, 1); + up--; } } if (allowAboveRoot) { for (; up; up--) { - parts.unshift('..') + parts.unshift('..'); } } - return parts + return parts; }, normalize: function(path) { var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/' + trailingSlash = path.substr(-1) === '/'; path = PATH.normalizeArray( path.split('/').filter(function(p) { - return !!p + return !!p; }), !isAbsolute - ).join('/') + ).join('/'); if (!path && !isAbsolute) { - path = '.' + path = '.'; } if (path && trailingSlash) { - path += '/' + path += '/'; } - return (isAbsolute ? '/' : '') + path + return (isAbsolute ? '/' : '') + path; }, dirname: function(path) { var result = PATH.splitPath(path), root = result[0], - dir = result[1] + dir = result[1]; if (!root && !dir) { - return '.' + return '.'; } if (dir) { - dir = dir.substr(0, dir.length - 1) + dir = dir.substr(0, dir.length - 1); } - return root + dir + return root + dir; }, basename: function(path) { - if (path === '/') return '/' - var lastSlash = path.lastIndexOf('/') - if (lastSlash === -1) return path - return path.substr(lastSlash + 1) + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); }, extname: function(path) { - return PATH.splitPath(path)[3] + return PATH.splitPath(path)[3]; }, join: function() { - var paths = Array.prototype.slice.call(arguments, 0) - return PATH.normalize(paths.join('/')) + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); }, join2: function(l, r) { - return PATH.normalize(l + '/' + r) + return PATH.normalize(l + '/' + r); }, - } + }; function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[Module['___errno_location']() >> 2] = value - return value + if (Module['___errno_location']) HEAP32[Module['___errno_location']() >> 2] = value; + return value; } var PATH_FS = { resolve: function() { var resolvedPath = '', - resolvedAbsolute = false + resolvedAbsolute = false; for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = i >= 0 ? arguments[i] : FS.cwd() + var path = i >= 0 ? arguments[i] : FS.cwd(); if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings') + throw new TypeError('Arguments to path.resolve must be strings'); } else if (!path) { - return '' + return ''; } - resolvedPath = path + '/' + resolvedPath - resolvedAbsolute = path.charAt(0) === '/' + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } resolvedPath = PATH.normalizeArray( resolvedPath.split('/').filter(function(p) { - return !!p + return !!p; }), !resolvedAbsolute - ).join('/') - return (resolvedAbsolute ? '/' : '') + resolvedPath || '.' + ).join('/'); + return (resolvedAbsolute ? '/' : '') + resolvedPath || '.'; }, relative: function(from, to) { - from = PATH_FS.resolve(from).substr(1) - to = PATH_FS.resolve(to).substr(1) + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); function trim(arr) { - var start = 0 + var start = 0; for (; start < arr.length; start++) { - if (arr[start] !== '') break + if (arr[start] !== '') break; } - var end = arr.length - 1 + var end = arr.length - 1; for (; end >= 0; end--) { - if (arr[end] !== '') break + if (arr[end] !== '') break; } - if (start > end) return [] - return arr.slice(start, end - start + 1) + if (start > end) return []; + return arr.slice(start, end - start + 1); } - var fromParts = trim(from.split('/')) - var toParts = trim(to.split('/')) - var length = Math.min(fromParts.length, toParts.length) - var samePartsLength = length + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; for (var i = 0; i < length; i++) { if (fromParts[i] !== toParts[i]) { - samePartsLength = i - break + samePartsLength = i; + break; } } - var outputParts = [] + var outputParts = []; for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..') + outputParts.push('..'); } - outputParts = outputParts.concat(toParts.slice(samePartsLength)) - return outputParts.join('/') + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); }, - } + }; var TTY = { ttys: [], init: function() {}, shutdown: function() {}, register: function(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops } - FS.registerDevice(dev, TTY.stream_ops) + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); }, stream_ops: { open: function(stream) { - var tty = TTY.ttys[stream.node.rdev] + var tty = TTY.ttys[stream.node.rdev]; if (!tty) { - throw new FS.ErrnoError(19) + throw new FS.ErrnoError(19); } - stream.tty = tty - stream.seekable = false + stream.tty = tty; + stream.seekable = false; }, close: function(stream) { - stream.tty.ops.flush(stream.tty) + stream.tty.ops.flush(stream.tty); }, flush: function(stream) { - stream.tty.ops.flush(stream.tty) + stream.tty.ops.flush(stream.tty); }, read: function(stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(6) + throw new FS.ErrnoError(6); } - var bytesRead = 0 + var bytesRead = 0; for (var i = 0; i < length; i++) { - var result + var result; try { - result = stream.tty.ops.get_char(stream.tty) + result = stream.tty.ops.get_char(stream.tty); } catch (e) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(11) + throw new FS.ErrnoError(11); } - if (result === null || result === undefined) break - bytesRead++ - buffer[offset + i] = result + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; } if (bytesRead) { - stream.node.timestamp = Date.now() + stream.node.timestamp = Date.now(); } - return bytesRead + return bytesRead; }, write: function(stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(6) + throw new FS.ErrnoError(6); } try { for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset + i]) + stream.tty.ops.put_char(stream.tty, buffer[offset + i]); } } catch (e) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } if (length) { - stream.node.timestamp = Date.now() + stream.node.timestamp = Date.now(); } - return i + return i; }, }, default_tty_ops: { get_char: function(tty) { if (!tty.input.length) { - var result = null + var result = null; if (ENVIRONMENT_IS_NODE) { - var BUFSIZE = 256 - var buf = new Buffer(BUFSIZE) - var bytesRead = 0 - var isPosixPlatform = process.platform != 'win32' - var fd = process.stdin.fd + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + var isPosixPlatform = process.platform != 'win32'; + var fd = process.stdin.fd; if (isPosixPlatform) { - var usingDevice = false + var usingDevice = false; try { - fd = fs.openSync('/dev/stdin', 'r') - usingDevice = true + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; } catch (e) {} } try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null) + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); } catch (e) { - if (e.toString().indexOf('EOF') != -1) bytesRead = 0 - else throw e + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; } if (usingDevice) { - fs.closeSync(fd) + fs.closeSync(fd); } if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8') + result = buf.slice(0, bytesRead).toString('utf-8'); } else { - result = null + result = null; } } else if ( - typeof window != 'undefined' && - typeof window.prompt == 'function' + typeof window !== 'undefined' && + typeof window.prompt === 'function' ) { - result = window.prompt('Input: ') + result = window.prompt('Input: '); if (result !== null) { - result += '\n' + result += '\n'; } - } else if (typeof readline == 'function') { - result = readline() + } else if (typeof readline === 'function') { + result = readline(); if (result !== null) { - result += '\n' + result += '\n'; } } if (!result) { - return null + return null; } - tty.input = intArrayFromString(result, true) + tty.input = intArrayFromString(result, true); } - return tty.input.shift() + return tty.input.shift(); }, put_char: function(tty, val) { if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)) - tty.output = [] + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } else { - if (val != 0) tty.output.push(val) + if (val != 0) tty.output.push(val); } }, flush: function(tty) { if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)) - tty.output = [] + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } }, }, default_tty1_ops: { put_char: function(tty, val) { if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)) - tty.output = [] + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } else { - if (val != 0) tty.output.push(val) + if (val != 0) tty.output.push(val); } }, flush: function(tty) { if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)) - tty.output = [] + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } }, }, - } + }; var MEMFS = { ops_table: null, mount: function(mount) { - return MEMFS.createNode(null, '/', 16384 | 511, 0) + return MEMFS.createNode(null, '/', 16384 | 511, 0); }, createNode: function(parent, name, mode, dev) { if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } if (!MEMFS.ops_table) { MEMFS.ops_table = { @@ -1159,272 +1159,271 @@ var libarchive = (function() { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops, }, - } + }; } - var node = FS.createNode(parent, name, mode, dev) + var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node - node.stream_ops = MEMFS.ops_table.dir.stream - node.contents = {} + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node - node.stream_ops = MEMFS.ops_table.file.stream - node.usedBytes = 0 - node.contents = null + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node - node.stream_ops = MEMFS.ops_table.link.stream + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node - node.stream_ops = MEMFS.ops_table.chrdev.stream + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; } - node.timestamp = Date.now() + node.timestamp = Date.now(); if (parent) { - parent.contents[name] = node + parent.contents[name] = node; } - return node + return node; }, getFileDataAsRegularArray: function(node) { if (node.contents && node.contents.subarray) { - var arr = [] - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]) - return arr + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; } - return node.contents + return node.contents; }, getFileDataAsTypedArray: function(node) { - if (!node.contents) return new Uint8Array() - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes) - return new Uint8Array(node.contents) + if (!node.contents) return new Uint8Array(); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); }, expandFileStorage: function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0 - if (prevCapacity >= newCapacity) return - var CAPACITY_DOUBLING_MAX = 1024 * 1024 + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; newCapacity = Math.max( newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) | 0 - ) - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256) - var oldContents = node.contents - node.contents = new Uint8Array(newCapacity) + ); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); if (node.usedBytes > 0) - node.contents.set(oldContents.subarray(0, node.usedBytes), 0) - return + { node.contents.set(oldContents.subarray(0, node.usedBytes), 0) } }, resizeFileStorage: function(node, newSize) { - if (node.usedBytes == newSize) return + if (node.usedBytes == newSize) return; if (newSize == 0) { - node.contents = null - node.usedBytes = 0 - return + node.contents = null; + node.usedBytes = 0; + return; } if (!node.contents || node.contents.subarray) { - var oldContents = node.contents - node.contents = new Uint8Array(new ArrayBuffer(newSize)) + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))) + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); } - node.usedBytes = newSize - return + node.usedBytes = newSize; + return; } - if (!node.contents) node.contents = [] - if (node.contents.length > newSize) node.contents.length = newSize - else while (node.contents.length < newSize) node.contents.push(0) - node.usedBytes = newSize + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; }, node_ops: { getattr: function(node) { - var attr = {} - attr.dev = FS.isChrdev(node.mode) ? node.id : 1 - attr.ino = node.id - attr.mode = node.mode - attr.nlink = 1 - attr.uid = 0 - attr.gid = 0 - attr.rdev = node.rdev + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; if (FS.isDir(node.mode)) { - attr.size = 4096 + attr.size = 4096; } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes + attr.size = node.usedBytes; } else if (FS.isLink(node.mode)) { - attr.size = node.link.length + attr.size = node.link.length; } else { - attr.size = 0 + attr.size = 0; } - attr.atime = new Date(node.timestamp) - attr.mtime = new Date(node.timestamp) - attr.ctime = new Date(node.timestamp) - attr.blksize = 4096 - attr.blocks = Math.ceil(attr.size / attr.blksize) - return attr + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; }, setattr: function(node, attr) { if (attr.mode !== undefined) { - node.mode = attr.mode + node.mode = attr.mode; } if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp + node.timestamp = attr.timestamp; } if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size) + MEMFS.resizeFileStorage(node, attr.size); } }, lookup: function(parent, name) { - throw FS.genericErrors[2] + throw FS.genericErrors[2]; }, mknod: function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev) + return MEMFS.createNode(parent, name, mode, dev); }, rename: function(old_node, new_dir, new_name) { if (FS.isDir(old_node.mode)) { - var new_node + var new_node; try { - new_node = FS.lookupNode(new_dir, new_name) + new_node = FS.lookupNode(new_dir, new_name); } catch (e) {} if (new_node) { for (var i in new_node.contents) { - throw new FS.ErrnoError(39) + throw new FS.ErrnoError(39); } } } - delete old_node.parent.contents[old_node.name] - old_node.name = new_name - new_dir.contents[new_name] = old_node - old_node.parent = new_dir + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; }, unlink: function(parent, name) { - delete parent.contents[name] + delete parent.contents[name]; }, rmdir: function(parent, name) { - var node = FS.lookupNode(parent, name) + var node = FS.lookupNode(parent, name); for (var i in node.contents) { - throw new FS.ErrnoError(39) + throw new FS.ErrnoError(39); } - delete parent.contents[name] + delete parent.contents[name]; }, readdir: function(node) { - var entries = ['.', '..'] + var entries = ['.', '..']; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { - continue + continue; } - entries.push(key) + entries.push(key); } - return entries + return entries; }, symlink: function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 | 40960, 0) - node.link = oldpath - return node + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; }, readlink: function(node) { if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - return node.link + return node.link; }, }, stream_ops: { read: function(stream, buffer, offset, length, position) { - var contents = stream.node.contents - if (position >= stream.node.usedBytes) return 0 - var size = Math.min(stream.node.usedBytes - position, length) + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); if (size > 8 && contents.subarray) { - buffer.set(contents.subarray(position, position + size), offset) + buffer.set(contents.subarray(position, position + size), offset); } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i] + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; } - return size + return size; }, write: function(stream, buffer, offset, length, position, canOwn) { - canOwn = false - if (!length) return 0 - var node = stream.node - node.timestamp = Date.now() + canOwn = false; + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { if (canOwn) { - node.contents = buffer.subarray(offset, offset + length) - node.usedBytes = length - return length + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; } else if (node.usedBytes === 0 && position === 0) { - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)) - node.usedBytes = length - return length + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; } else if (position + length <= node.usedBytes) { - node.contents.set(buffer.subarray(offset, offset + length), position) - return length + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; } } - MEMFS.expandFileStorage(node, position + length) + MEMFS.expandFileStorage(node, position + length); if (node.contents.subarray && buffer.subarray) - node.contents.set(buffer.subarray(offset, offset + length), position) + { node.contents.set(buffer.subarray(offset, offset + length), position) } else { for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i] + node.contents[position + i] = buffer[offset + i]; } } - node.usedBytes = Math.max(node.usedBytes, position + length) - return length + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; }, llseek: function(stream, offset, whence) { - var position = offset + var position = offset; if (whence === 1) { - position += stream.position + position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes + position += stream.node.usedBytes; } } if (position < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - return position + return position; }, allocate: function(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length) - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length) + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); }, mmap: function(stream, buffer, offset, length, position, prot, flags) { if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(19) + throw new FS.ErrnoError(19); } - var ptr - var allocated - var contents = stream.node.contents + var ptr; + var allocated; + var contents = stream.node.contents; if ( !(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - allocated = false - ptr = contents.byteOffset + allocated = false; + ptr = contents.byteOffset; } else { if (position > 0 || position + length < stream.node.usedBytes) { if (contents.subarray) { - contents = contents.subarray(position, position + length) + contents = contents.subarray(position, position + length); } else { contents = Array.prototype.slice.call( contents, position, position + length - ) + ); } } - allocated = true - ptr = _malloc(length) + allocated = true; + ptr = _malloc(length); if (!ptr) { - throw new FS.ErrnoError(12) + throw new FS.ErrnoError(12); } - buffer.set(contents, ptr) + buffer.set(contents, ptr); } - return { ptr: ptr, allocated: allocated } + return { ptr: ptr, allocated: allocated }; }, msync: function(stream, buffer, offset, length, mmapFlags) { if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(19) + throw new FS.ErrnoError(19); } if (mmapFlags & 2) { - return 0 + return 0; } var bytesWritten = MEMFS.stream_ops.write( stream, @@ -1433,98 +1432,98 @@ var libarchive = (function() { length, offset, false - ) - return 0 + ); + return 0; }, }, - } + }; var IDBFS = { dbs: {}, indexedDB: function() { - if (typeof indexedDB !== 'undefined') return indexedDB - var ret = null + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; if (typeof window === 'object') - ret = + { ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || - window.msIndexedDB - assert(ret, 'IDBFS used, but indexedDB not supported') - return ret + window.msIndexedDB; } + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; }, DB_VERSION: 21, DB_STORE_NAME: 'FILE_DATA', mount: function(mount) { - return MEMFS.mount.apply(null, arguments) + return MEMFS.mount.apply(null, arguments); }, syncfs: function(mount, populate, callback) { IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err) + if (err) return callback(err); IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err) - var src = populate ? remote : local - var dst = populate ? local : remote - IDBFS.reconcile(src, dst, callback) - }) - }) + if (err) return callback(err); + var src = populate ? remote : local; + var dst = populate ? local : remote; + IDBFS.reconcile(src, dst, callback); + }); + }); }, getDB: function(name, callback) { - var db = IDBFS.dbs[name] + var db = IDBFS.dbs[name]; if (db) { - return callback(null, db) + return callback(null, db); } - var req + var req; try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION) + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); } catch (e) { - return callback(e) + return callback(e); } if (!req) { - return callback('Unable to connect to IndexedDB') + return callback('Unable to connect to IndexedDB'); } req.onupgradeneeded = function(e) { - var db = e.target.result - var transaction = e.target.transaction - var fileStore + var db = e.target.result; + var transaction = e.target.transaction; + var fileStore; if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME) + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME) + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }) + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } - } + }; req.onsuccess = function() { - db = req.result - IDBFS.dbs[name] = db - callback(null, db) - } + db = req.result; + IDBFS.dbs[name] = db; + callback(null, db); + }; req.onerror = function(e) { - callback(this.error) - e.preventDefault() - } + callback(this.error); + e.preventDefault(); + }; }, getLocalSet: function(mount, callback) { - var entries = {} + var entries = {}; function isRealDir(p) { - return p !== '.' && p !== '..' + return p !== '.' && p !== '..'; } function toAbsolute(root) { return function(p) { - return PATH.join2(root, p) - } + return PATH.join2(root, p); + }; } var check = FS.readdir(mount.mountpoint) .filter(isRealDir) - .map(toAbsolute(mount.mountpoint)) + .map(toAbsolute(mount.mountpoint)); while (check.length) { - var path = check.pop() - var stat + var path = check.pop(); + var stat; try { - stat = FS.stat(path) + stat = FS.stat(path); } catch (e) { - return callback(e) + return callback(e); } if (FS.isDir(stat.mode)) { check.push.apply( @@ -1532,195 +1531,195 @@ var libarchive = (function() { FS.readdir(path) .filter(isRealDir) .map(toAbsolute(path)) - ) + ); } - entries[path] = { timestamp: stat.mtime } + entries[path] = { timestamp: stat.mtime }; } - return callback(null, { type: 'local', entries: entries }) + return callback(null, { type: 'local', entries: entries }); }, getRemoteSet: function(mount, callback) { - var entries = {} + var entries = {}; IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err) + if (err) return callback(err); try { - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly') + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); transaction.onerror = function(e) { - callback(this.error) - e.preventDefault() - } - var store = transaction.objectStore(IDBFS.DB_STORE_NAME) - var index = store.index('timestamp') + callback(this.error); + e.preventDefault(); + }; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result + var cursor = event.target.result; if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }) + return callback(null, { type: 'remote', db: db, entries: entries }); } - entries[cursor.primaryKey] = { timestamp: cursor.key } - cursor.continue() - } + entries[cursor.primaryKey] = { timestamp: cursor.key }; + cursor.continue(); + }; } catch (e) { - return callback(e) + return callback(e); } - }) + }); }, loadLocalEntry: function(path, callback) { - var stat, node + var stat, node; try { - var lookup = FS.lookupPath(path) - node = lookup.node - stat = FS.stat(path) + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); } catch (e) { - return callback(e) + return callback(e); } if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }) + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); } else if (FS.isFile(stat.mode)) { - node.contents = MEMFS.getFileDataAsTypedArray(node) + node.contents = MEMFS.getFileDataAsTypedArray(node); return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents, - }) + }); } else { - return callback(new Error('node type not supported')) + return callback(new Error('node type not supported')); } }, storeLocalEntry: function(path, entry, callback) { try { if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode) + FS.mkdir(path, entry.mode); } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { canOwn: true }) + FS.writeFile(path, entry.contents, { canOwn: true }); } else { - return callback(new Error('node type not supported')) + return callback(new Error('node type not supported')); } - FS.chmod(path, entry.mode) - FS.utime(path, entry.timestamp, entry.timestamp) + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); } catch (e) { - return callback(e) + return callback(e); } - callback(null) + callback(null); }, removeLocalEntry: function(path, callback) { try { - var lookup = FS.lookupPath(path) - var stat = FS.stat(path) + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); if (FS.isDir(stat.mode)) { - FS.rmdir(path) + FS.rmdir(path); } else if (FS.isFile(stat.mode)) { - FS.unlink(path) + FS.unlink(path); } } catch (e) { - return callback(e) + return callback(e); } - callback(null) + callback(null); }, loadRemoteEntry: function(store, path, callback) { - var req = store.get(path) + var req = store.get(path); req.onsuccess = function(event) { - callback(null, event.target.result) - } + callback(null, event.target.result); + }; req.onerror = function(e) { - callback(this.error) - e.preventDefault() - } + callback(this.error); + e.preventDefault(); + }; }, storeRemoteEntry: function(store, path, entry, callback) { - var req = store.put(entry, path) + var req = store.put(entry, path); req.onsuccess = function() { - callback(null) - } + callback(null); + }; req.onerror = function(e) { - callback(this.error) - e.preventDefault() - } + callback(this.error); + e.preventDefault(); + }; }, removeRemoteEntry: function(store, path, callback) { - var req = store.delete(path) + var req = store.delete(path); req.onsuccess = function() { - callback(null) - } + callback(null); + }; req.onerror = function(e) { - callback(this.error) - e.preventDefault() - } + callback(this.error); + e.preventDefault(); + }; }, reconcile: function(src, dst, callback) { - var total = 0 - var create = [] + var total = 0; + var create = []; Object.keys(src.entries).forEach(function(key) { - var e = src.entries[key] - var e2 = dst.entries[key] + var e = src.entries[key]; + var e2 = dst.entries[key]; if (!e2 || e.timestamp > e2.timestamp) { - create.push(key) - total++ + create.push(key); + total++; } - }) - var remove = [] + }); + var remove = []; Object.keys(dst.entries).forEach(function(key) { - var e = dst.entries[key] - var e2 = src.entries[key] + var e = dst.entries[key]; + var e2 = src.entries[key]; if (!e2) { - remove.push(key) - total++ + remove.push(key); + total++; } - }) + }); if (!total) { - return callback(null) + return callback(null); } - var errored = false - var completed = 0 - var db = src.type === 'remote' ? src.db : dst.db - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite') - var store = transaction.objectStore(IDBFS.DB_STORE_NAME) + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); function done(err) { if (err) { if (!done.errored) { - done.errored = true - return callback(err) + done.errored = true; + return callback(err); } - return + return; } if (++completed >= total) { - return callback(null) + return callback(null); } } transaction.onerror = function(e) { - done(this.error) - e.preventDefault() - } + done(this.error); + e.preventDefault(); + }; create.sort().forEach(function(path) { if (dst.type === 'local') { IDBFS.loadRemoteEntry(store, path, function(err, entry) { - if (err) return done(err) - IDBFS.storeLocalEntry(path, entry, done) - }) + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); } else { IDBFS.loadLocalEntry(path, function(err, entry) { - if (err) return done(err) - IDBFS.storeRemoteEntry(store, path, entry, done) - }) + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - }) + }); remove .sort() .reverse() .forEach(function(path) { if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done) + IDBFS.removeLocalEntry(path, done); } else { - IDBFS.removeRemoteEntry(store, path, done) + IDBFS.removeRemoteEntry(store, path, done); } - }) + }); }, - } + }; var NODEFS = { isWindows: false, staticInit: function() { - NODEFS.isWindows = !!process.platform.match(/^win/) - var flags = process['binding']('constants') + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = process['binding']('constants'); if (flags['fs']) { - flags = flags['fs'] + flags = flags['fs']; } NODEFS.flagsForNodeMap = { 1024: flags['O_APPEND'], @@ -1731,80 +1730,80 @@ var libarchive = (function() { 4096: flags['O_SYNC'], 512: flags['O_TRUNC'], 1: flags['O_WRONLY'], - } + }; }, bufferFrom: function(arrayBuffer) { - return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer) + return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); }, mount: function(mount) { - assert(ENVIRONMENT_IS_NODE) - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0) + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); }, createNode: function(parent, name, mode, dev) { if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var node = FS.createNode(parent, name, mode) - node.node_ops = NODEFS.node_ops - node.stream_ops = NODEFS.stream_ops - return node + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; }, getMode: function(path) { - var stat + var stat; try { - stat = fs.lstatSync(path) + stat = fs.lstatSync(path); if (NODEFS.isWindows) { - stat.mode = stat.mode | ((stat.mode & 292) >> 2) + stat.mode = stat.mode | ((stat.mode & 292) >> 2); } } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } - return stat.mode + return stat.mode; }, realPath: function(node) { - var parts = [] + var parts = []; while (node.parent !== node) { - parts.push(node.name) - node = node.parent + parts.push(node.name); + node = node.parent; } - parts.push(node.mount.opts.root) - parts.reverse() - return PATH.join.apply(null, parts) + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); }, flagsForNode: function(flags) { - flags &= ~2097152 - flags &= ~2048 - flags &= ~32768 - flags &= ~524288 - var newFlags = 0 + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; for (var k in NODEFS.flagsForNodeMap) { if (flags & k) { - newFlags |= NODEFS.flagsForNodeMap[k] - flags ^= k + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; } } if (!flags) { - return newFlags + return newFlags; } else { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } }, node_ops: { getattr: function(node) { - var path = NODEFS.realPath(node) - var stat + var path = NODEFS.realPath(node); + var stat; try { - stat = fs.lstatSync(path) + stat = fs.lstatSync(path); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096 + stat.blksize = 4096; } if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0 + stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0; } return { dev: stat.dev, @@ -1820,129 +1819,129 @@ var libarchive = (function() { ctime: stat.ctime, blksize: stat.blksize, blocks: stat.blocks, - } + }; }, setattr: function(node, attr) { - var path = NODEFS.realPath(node) + var path = NODEFS.realPath(node); try { if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode) - node.mode = attr.mode + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; } if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp) - fs.utimesSync(path, date, date) + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); } if (attr.size !== undefined) { - fs.truncateSync(path, attr.size) + fs.truncateSync(path, attr.size); } } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, lookup: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name) - var mode = NODEFS.getMode(path) - return NODEFS.createNode(parent, name, mode) + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); }, mknod: function(parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev) - var path = NODEFS.realPath(node) + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); try { if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode) + fs.mkdirSync(path, node.mode); } else { - fs.writeFileSync(path, '', { mode: node.mode }) + fs.writeFileSync(path, '', { mode: node.mode }); } } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } - return node + return node; }, rename: function(oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode) - var newPath = PATH.join2(NODEFS.realPath(newDir), newName) + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); try { - fs.renameSync(oldPath, newPath) + fs.renameSync(oldPath, newPath); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, unlink: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name) + var path = PATH.join2(NODEFS.realPath(parent), name); try { - fs.unlinkSync(path) + fs.unlinkSync(path); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, rmdir: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name) + var path = PATH.join2(NODEFS.realPath(parent), name); try { - fs.rmdirSync(path) + fs.rmdirSync(path); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, readdir: function(node) { - var path = NODEFS.realPath(node) + var path = NODEFS.realPath(node); try { - return fs.readdirSync(path) + return fs.readdirSync(path); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, symlink: function(parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName) + var newPath = PATH.join2(NODEFS.realPath(parent), newName); try { - fs.symlinkSync(oldPath, newPath) + fs.symlinkSync(oldPath, newPath); } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, readlink: function(node) { - var path = NODEFS.realPath(node) + var path = NODEFS.realPath(node); try { - path = fs.readlinkSync(path) - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path) - return path + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, }, stream_ops: { open: function(stream) { - var path = NODEFS.realPath(stream.node) + var path = NODEFS.realPath(stream.node); try { if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)) + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); } } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, close: function(stream) { try { if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd) + fs.closeSync(stream.nfd); } } catch (e) { - if (!e.code) throw e - throw new FS.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new FS.ErrnoError(-e.errno); } }, read: function(stream, buffer, offset, length, position) { - if (length === 0) return 0 + if (length === 0) return 0; try { return fs.readSync( stream.nfd, @@ -1950,9 +1949,9 @@ var libarchive = (function() { offset, length, position - ) + ); } catch (e) { - throw new FS.ErrnoError(-e.errno) + throw new FS.ErrnoError(-e.errno); } }, write: function(stream, buffer, offset, length, position) { @@ -1963,61 +1962,61 @@ var libarchive = (function() { offset, length, position - ) + ); } catch (e) { - throw new FS.ErrnoError(-e.errno) + throw new FS.ErrnoError(-e.errno); } }, llseek: function(stream, offset, whence) { - var position = offset + var position = offset; if (whence === 1) { - position += stream.position + position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { try { - var stat = fs.fstatSync(stream.nfd) - position += stat.size + var stat = fs.fstatSync(stream.nfd); + position += stat.size; } catch (e) { - throw new FS.ErrnoError(-e.errno) + throw new FS.ErrnoError(-e.errno); } } } if (position < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - return position + return position; }, }, - } + }; var WORKERFS = { DIR_MODE: 16895, FILE_MODE: 33279, reader: null, mount: function(mount) { - assert(ENVIRONMENT_IS_WORKER) - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync() - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0) - var createdParents = {} + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; function ensureParent(path) { - var parts = path.split('/') - var parent = root + var parts = path.split('/'); + var parent = root; for (var i = 0; i < parts.length - 1; i++) { - var curr = parts.slice(0, i + 1).join('/') + var curr = parts.slice(0, i + 1).join('/'); if (!createdParents[curr]) { createdParents[curr] = WORKERFS.createNode( parent, parts[i], WORKERFS.DIR_MODE, 0 - ) + ); } - parent = createdParents[curr] + parent = createdParents[curr]; } - return parent + return parent; } function base(path) { - var parts = path.split('/') - return parts[parts.length - 1] + var parts = path.split('/'); + return parts[parts.length - 1]; } Array.prototype.forEach.call(mount.opts['files'] || [], function(file) { WORKERFS.createNode( @@ -2027,7 +2026,7 @@ var libarchive = (function() { 0, file, file.lastModifiedDate - ) + ); }) ;(mount.opts['blobs'] || []).forEach(function(obj) { WORKERFS.createNode( @@ -2036,40 +2035,40 @@ var libarchive = (function() { WORKERFS.FILE_MODE, 0, obj['data'] - ) + ); }) ;(mount.opts['packages'] || []).forEach(function(pack) { pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1) + var name = file.filename.substr(1); WORKERFS.createNode( ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end) - ) - }) - }) - return root + ); + }); + }); + return root; }, createNode: function(parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode) - node.mode = mode - node.node_ops = WORKERFS.node_ops - node.stream_ops = WORKERFS.stream_ops - node.timestamp = (mtime || new Date()).getTime() - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE) + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date()).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size - node.contents = contents + node.size = contents.size; + node.contents = contents; } else { - node.size = 4096 - node.contents = {} + node.size = 4096; + node.contents = {}; } if (parent) { - parent.contents[name] = node + parent.contents[name] = node; } - return node + return node; }, node_ops: { getattr: function(node) { @@ -2087,75 +2086,75 @@ var libarchive = (function() { ctime: new Date(node.timestamp), blksize: 4096, blocks: Math.ceil(node.size / 4096), - } + }; }, setattr: function(node, attr) { if (attr.mode !== undefined) { - node.mode = attr.mode + node.mode = attr.mode; } if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp + node.timestamp = attr.timestamp; } }, lookup: function(parent, name) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); }, mknod: function(parent, name, mode, dev) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, rename: function(oldNode, newDir, newName) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, unlink: function(parent, name) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, rmdir: function(parent, name) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, readdir: function(node) { - var entries = ['.', '..'] + var entries = ['.', '..']; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { - continue + continue; } - entries.push(key) + entries.push(key); } - return entries + return entries; }, symlink: function(parent, newName, oldPath) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, readlink: function(node) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); }, }, stream_ops: { read: function(stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0 - var chunk = stream.node.contents.slice(position, position + length) - var ab = WORKERFS.reader.readAsArrayBuffer(chunk) - buffer.set(new Uint8Array(ab), offset) - return chunk.size + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; }, write: function(stream, buffer, offset, length, position) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); }, llseek: function(stream, offset, whence) { - var position = offset + var position = offset; if (whence === 1) { - position += stream.position + position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { - position += stream.node.size + position += stream.node.size; } } if (position < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - return position + return position; }, }, - } + }; var FS = { root: null, mounts: [], @@ -2173,193 +2172,193 @@ var libarchive = (function() { filesystems: null, syncFSRequests: 0, handleFSError: function(e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace() - return ___setErrNo(e.errno) + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); }, lookupPath: function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path) - opts = opts || {} - if (!path) return { path: '', node: null } - var defaults = { follow_mount: true, recurse_count: 0 } + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { path: '', node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; for (var key in defaults) { if (opts[key] === undefined) { - opts[key] = defaults[key] + opts[key] = defaults[key]; } } if (opts.recurse_count > 8) { - throw new FS.ErrnoError(40) + throw new FS.ErrnoError(40); } var parts = PATH.normalizeArray( path.split('/').filter(function(p) { - return !!p + return !!p; }), false - ) - var current = FS.root - var current_path = '/' + ); + var current = FS.root; + var current_path = '/'; for (var i = 0; i < parts.length; i++) { - var islast = i === parts.length - 1 + var islast = i === parts.length - 1; if (islast && opts.parent) { - break + break; } - current = FS.lookupNode(current, parts[i]) - current_path = PATH.join2(current_path, parts[i]) + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); if (FS.isMountpoint(current)) { if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root + current = current.mounted.root; } } if (!islast || opts.follow) { - var count = 0 + var count = 0; while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path) - current_path = PATH_FS.resolve(PATH.dirname(current_path), link) + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count, - }) - current = lookup.node + }); + current = lookup.node; if (count++ > 40) { - throw new FS.ErrnoError(40) + throw new FS.ErrnoError(40); } } } } - return { path: current_path, node: current } + return { path: current_path, node: current }; }, getPath: function(node) { - var path + var path; while (true) { if (FS.isRoot(node)) { - var mount = node.mount.mountpoint - if (!path) return mount - return mount[mount.length - 1] !== '/' ? mount + '/' + path : mount + path + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== '/' ? mount + '/' + path : mount + path; } - path = path ? node.name + '/' + path : node.name - node = node.parent + path = path ? node.name + '/' + path : node.name; + node = node.parent; } }, hashName: function(parentid, name) { - var hash = 0 + var hash = 0; for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0 + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - return ((parentid + hash) >>> 0) % FS.nameTable.length + return ((parentid + hash) >>> 0) % FS.nameTable.length; }, hashAddNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name) - node.name_next = FS.nameTable[hash] - FS.nameTable[hash] = node + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; }, hashRemoveNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name) + var hash = FS.hashName(node.parent.id, node.name); if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next + FS.nameTable[hash] = node.name_next; } else { - var current = FS.nameTable[hash] + var current = FS.nameTable[hash]; while (current) { if (current.name_next === node) { - current.name_next = node.name_next - break + current.name_next = node.name_next; + break; } - current = current.name_next + current = current.name_next; } } }, lookupNode: function(parent, name) { - var err = FS.mayLookup(parent) + var err = FS.mayLookup(parent); if (err) { - throw new FS.ErrnoError(err, parent) + throw new FS.ErrnoError(err, parent); } - var hash = FS.hashName(parent.id, name) + var hash = FS.hashName(parent.id, name); for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name + var nodeName = node.name; if (node.parent.id === parent.id && nodeName === name) { - return node + return node; } } - return FS.lookup(parent, name) + return FS.lookup(parent, name); }, createNode: function(parent, name, mode, rdev) { if (!FS.FSNode) { FS.FSNode = function(parent, name, mode, rdev) { if (!parent) { - parent = this + parent = this; } - this.parent = parent - this.mount = parent.mount - this.mounted = null - this.id = FS.nextInode++ - this.name = name - this.mode = mode - this.node_ops = {} - this.stream_ops = {} - this.rdev = rdev - } - FS.FSNode.prototype = {} - var readMode = 292 | 73 - var writeMode = 146 + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; Object.defineProperties(FS.FSNode.prototype, { read: { get: function() { - return (this.mode & readMode) === readMode + return (this.mode & readMode) === readMode; }, set: function(val) { - val ? (this.mode |= readMode) : (this.mode &= ~readMode) + val ? (this.mode |= readMode) : (this.mode &= ~readMode); }, }, write: { get: function() { - return (this.mode & writeMode) === writeMode + return (this.mode & writeMode) === writeMode; }, set: function(val) { - val ? (this.mode |= writeMode) : (this.mode &= ~writeMode) + val ? (this.mode |= writeMode) : (this.mode &= ~writeMode); }, }, isFolder: { get: function() { - return FS.isDir(this.mode) + return FS.isDir(this.mode); }, }, isDevice: { get: function() { - return FS.isChrdev(this.mode) + return FS.isChrdev(this.mode); }, }, - }) + }); } - var node = new FS.FSNode(parent, name, mode, rdev) - FS.hashAddNode(node) - return node + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; }, destroyNode: function(node) { - FS.hashRemoveNode(node) + FS.hashRemoveNode(node); }, isRoot: function(node) { - return node === node.parent + return node === node.parent; }, isMountpoint: function(node) { - return !!node.mounted + return !!node.mounted; }, isFile: function(mode) { - return (mode & 61440) === 32768 + return (mode & 61440) === 32768; }, isDir: function(mode) { - return (mode & 61440) === 16384 + return (mode & 61440) === 16384; }, isLink: function(mode) { - return (mode & 61440) === 40960 + return (mode & 61440) === 40960; }, isChrdev: function(mode) { - return (mode & 61440) === 8192 + return (mode & 61440) === 8192; }, isBlkdev: function(mode) { - return (mode & 61440) === 24576 + return (mode & 61440) === 24576; }, isFIFO: function(mode) { - return (mode & 61440) === 4096 + return (mode & 61440) === 4096; }, isSocket: function(mode) { - return (mode & 49152) === 49152 + return (mode & 49152) === 49152; }, flagModes: { r: 0, @@ -2379,399 +2378,399 @@ var libarchive = (function() { 'xa+': 1218, }, modeStringToFlags: function(str) { - var flags = FS.flagModes[str] + var flags = FS.flagModes[str]; if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str) + throw new Error('Unknown file open mode: ' + str); } - return flags + return flags; }, flagsToPermissionString: function(flag) { - var perms = ['r', 'w', 'rw'][flag & 3] + var perms = ['r', 'w', 'rw'][flag & 3]; if (flag & 512) { - perms += 'w' + perms += 'w'; } - return perms + return perms; }, nodePermissions: function(node, perms) { if (FS.ignorePermissions) { - return 0 + return 0; } if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return 13 + return 13; } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return 13 + return 13; } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return 13 + return 13; } - return 0 + return 0; }, mayLookup: function(dir) { - var err = FS.nodePermissions(dir, 'x') - if (err) return err - if (!dir.node_ops.lookup) return 13 - return 0 + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return 13; + return 0; }, mayCreate: function(dir, name) { try { - var node = FS.lookupNode(dir, name) - return 17 + var node = FS.lookupNode(dir, name); + return 17; } catch (e) {} - return FS.nodePermissions(dir, 'wx') + return FS.nodePermissions(dir, 'wx'); }, mayDelete: function(dir, name, isdir) { - var node + var node; try { - node = FS.lookupNode(dir, name) + node = FS.lookupNode(dir, name); } catch (e) { - return e.errno + return e.errno; } - var err = FS.nodePermissions(dir, 'wx') + var err = FS.nodePermissions(dir, 'wx'); if (err) { - return err + return err; } if (isdir) { if (!FS.isDir(node.mode)) { - return 20 + return 20; } if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 16 + return 16; } } else { if (FS.isDir(node.mode)) { - return 21 + return 21; } } - return 0 + return 0; }, mayOpen: function(node, flags) { if (!node) { - return 2 + return 2; } if (FS.isLink(node.mode)) { - return 40 + return 40; } else if (FS.isDir(node.mode)) { if (FS.flagsToPermissionString(flags) !== 'r' || flags & 512) { - return 21 + return 21; } } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)) + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); }, MAX_OPEN_FDS: 4096, nextfd: function(fd_start, fd_end) { - fd_start = fd_start || 0 - fd_end = fd_end || FS.MAX_OPEN_FDS + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; for (var fd = fd_start; fd <= fd_end; fd++) { if (!FS.streams[fd]) { - return fd + return fd; } } - throw new FS.ErrnoError(24) + throw new FS.ErrnoError(24); }, getStream: function(fd) { - return FS.streams[fd] + return FS.streams[fd]; }, createStream: function(stream, fd_start, fd_end) { if (!FS.FSStream) { - FS.FSStream = function() {} - FS.FSStream.prototype = {} + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { - return this.node + return this.node; }, set: function(val) { - this.node = val + this.node = val; }, }, isRead: { get: function() { - return (this.flags & 2097155) !== 1 + return (this.flags & 2097155) !== 1; }, }, isWrite: { get: function() { - return (this.flags & 2097155) !== 0 + return (this.flags & 2097155) !== 0; }, }, isAppend: { get: function() { - return this.flags & 1024 + return this.flags & 1024; }, }, - }) + }); } - var newStream = new FS.FSStream() + var newStream = new FS.FSStream(); for (var p in stream) { - newStream[p] = stream[p] + newStream[p] = stream[p]; } - stream = newStream - var fd = FS.nextfd(fd_start, fd_end) - stream.fd = fd - FS.streams[fd] = stream - return stream + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; }, closeStream: function(fd) { - FS.streams[fd] = null + FS.streams[fd] = null; }, chrdev_stream_ops: { open: function(stream) { - var device = FS.getDevice(stream.node.rdev) - stream.stream_ops = device.stream_ops + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; if (stream.stream_ops.open) { - stream.stream_ops.open(stream) + stream.stream_ops.open(stream); } }, llseek: function() { - throw new FS.ErrnoError(29) + throw new FS.ErrnoError(29); }, }, major: function(dev) { - return dev >> 8 + return dev >> 8; }, minor: function(dev) { - return dev & 255 + return dev & 255; }, makedev: function(ma, mi) { - return (ma << 8) | mi + return (ma << 8) | mi; }, registerDevice: function(dev, ops) { - FS.devices[dev] = { stream_ops: ops } + FS.devices[dev] = { stream_ops: ops }; }, getDevice: function(dev) { - return FS.devices[dev] + return FS.devices[dev]; }, getMounts: function(mount) { - var mounts = [] - var check = [mount] + var mounts = []; + var check = [mount]; while (check.length) { - var m = check.pop() - mounts.push(m) - check.push.apply(check, m.mounts) + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); } - return mounts + return mounts; }, syncfs: function(populate, callback) { if (typeof populate === 'function') { - callback = populate - populate = false + callback = populate; + populate = false; } - FS.syncFSRequests++ + FS.syncFSRequests++; if (FS.syncFSRequests > 1) { console.log( 'warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work' - ) + ); } - var mounts = FS.getMounts(FS.root.mount) - var completed = 0 + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; function doCallback(err) { - FS.syncFSRequests-- - return callback(err) + FS.syncFSRequests--; + return callback(err); } function done(err) { if (err) { if (!done.errored) { - done.errored = true - return doCallback(err) + done.errored = true; + return doCallback(err); } - return + return; } if (++completed >= mounts.length) { - doCallback(null) + doCallback(null); } } mounts.forEach(function(mount) { if (!mount.type.syncfs) { - return done(null) + return done(null); } - mount.type.syncfs(mount, populate, done) - }) + mount.type.syncfs(mount, populate, done); + }); }, mount: function(type, opts, mountpoint) { - var root = mountpoint === '/' - var pseudo = !mountpoint - var node + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; if (root && FS.root) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }) - mountpoint = lookup.path - node = lookup.node + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(20) + throw new FS.ErrnoError(20); } } - var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] } - var mountRoot = type.mount(mount) - mountRoot.mount = mount - mount.root = mountRoot + var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; if (root) { - FS.root = mountRoot + FS.root = mountRoot; } else if (node) { - node.mounted = mount + node.mounted = mount; if (node.mount) { - node.mount.mounts.push(mount) + node.mount.mounts.push(mount); } } - return mountRoot + return mountRoot; }, unmount: function(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }) + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var node = lookup.node - var mount = node.mounted - var mounts = FS.getMounts(mount) + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); Object.keys(FS.nameTable).forEach(function(hash) { - var current = FS.nameTable[hash] + var current = FS.nameTable[hash]; while (current) { - var next = current.name_next + var next = current.name_next; if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current) + FS.destroyNode(current); } - current = next + current = next; } - }) - node.mounted = null - var idx = node.mount.mounts.indexOf(mount) - node.mount.mounts.splice(idx, 1) + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); }, lookup: function(parent, name) { - return parent.node_ops.lookup(parent, name) + return parent.node_ops.lookup(parent, name); }, mknod: function(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }) - var parent = lookup.node - var name = PATH.basename(path) + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var err = FS.mayCreate(parent, name) + var err = FS.mayCreate(parent, name); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } - return parent.node_ops.mknod(parent, name, mode, dev) + return parent.node_ops.mknod(parent, name, mode, dev); }, create: function(path, mode) { - mode = mode !== undefined ? mode : 438 - mode &= 4095 - mode |= 32768 - return FS.mknod(path, mode, 0) + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); }, mkdir: function(path, mode) { - mode = mode !== undefined ? mode : 511 - mode &= 511 | 512 - mode |= 16384 - return FS.mknod(path, mode, 0) + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); }, mkdirTree: function(path, mode) { - var dirs = path.split('/') - var d = '' + var dirs = path.split('/'); + var d = ''; for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue - d += '/' + dirs[i] + if (!dirs[i]) continue; + d += '/' + dirs[i]; try { - FS.mkdir(d, mode) + FS.mkdir(d, mode); } catch (e) { - if (e.errno != 17) throw e + if (e.errno != 17) throw e; } } }, mkdev: function(path, mode, dev) { if (typeof dev === 'undefined') { - dev = mode - mode = 438 + dev = mode; + mode = 438; } - mode |= 8192 - return FS.mknod(path, mode, dev) + mode |= 8192; + return FS.mknod(path, mode, dev); }, symlink: function(oldpath, newpath) { if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } - var lookup = FS.lookupPath(newpath, { parent: true }) - var parent = lookup.node + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; if (!parent) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } - var newname = PATH.basename(newpath) - var err = FS.mayCreate(parent, newname) + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } - return parent.node_ops.symlink(parent, newname, oldpath) + return parent.node_ops.symlink(parent, newname, oldpath); }, rename: function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path) - var new_dirname = PATH.dirname(new_path) - var old_name = PATH.basename(old_path) - var new_name = PATH.basename(new_path) - var lookup, old_dir, new_dir + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; try { - lookup = FS.lookupPath(old_path, { parent: true }) - old_dir = lookup.node - lookup = FS.lookupPath(new_path, { parent: true }) - new_dir = lookup.node + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; } catch (e) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } - if (!old_dir || !new_dir) throw new FS.ErrnoError(2) + if (!old_dir || !new_dir) throw new FS.ErrnoError(2); if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(18) + throw new FS.ErrnoError(18); } - var old_node = FS.lookupNode(old_dir, old_name) - var relative = PATH_FS.relative(old_path, new_dirname) + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - relative = PATH_FS.relative(new_path, old_dirname) + relative = PATH_FS.relative(new_path, old_dirname); if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(39) + throw new FS.ErrnoError(39); } - var new_node + var new_node; try { - new_node = FS.lookupNode(new_dir, new_name) + new_node = FS.lookupNode(new_dir, new_name); } catch (e) {} if (old_node === new_node) { - return + return; } - var isdir = FS.isDir(old_node.mode) - var err = FS.mayDelete(old_dir, old_name, isdir) + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } err = new_node ? FS.mayDelete(new_dir, new_name, isdir) - : FS.mayCreate(new_dir, new_name) + : FS.mayCreate(new_dir, new_name); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w') + err = FS.nodePermissions(old_dir, 'w'); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } } try { if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path) + FS.trackingDelegate['willMovePath'](old_path, new_path); } } catch (e) { console.log( @@ -2781,19 +2780,19 @@ var libarchive = (function() { new_path + "') threw an exception: " + e.message - ) + ); } - FS.hashRemoveNode(old_node) + FS.hashRemoveNode(old_node); try { - old_dir.node_ops.rename(old_node, new_dir, new_name) + old_dir.node_ops.rename(old_node, new_dir, new_name); } catch (e) { - throw e + throw e; } finally { - FS.hashAddNode(old_node) + FS.hashAddNode(old_node); } try { if (FS.trackingDelegate['onMovePath']) - FS.trackingDelegate['onMovePath'](old_path, new_path) + { FS.trackingDelegate['onMovePath'](old_path, new_path) } } catch (e) { console.log( "FS.trackingDelegate['onMovePath']('" + @@ -2802,27 +2801,27 @@ var libarchive = (function() { new_path + "') threw an exception: " + e.message - ) + ); } }, rmdir: function(path) { - var lookup = FS.lookupPath(path, { parent: true }) - var parent = lookup.node - var name = PATH.basename(path) - var node = FS.lookupNode(parent, name) - var err = FS.mayDelete(parent, name, true) + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path) + FS.trackingDelegate['willDeletePath'](path); } } catch (e) { console.log( @@ -2830,48 +2829,48 @@ var libarchive = (function() { path + "') threw an exception: " + e.message - ) + ); } - parent.node_ops.rmdir(parent, name) - FS.destroyNode(node) + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) - FS.trackingDelegate['onDeletePath'](path) + { FS.trackingDelegate['onDeletePath'](path) } } catch (e) { console.log( "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message - ) + ); } }, readdir: function(path) { - var lookup = FS.lookupPath(path, { follow: true }) - var node = lookup.node + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; if (!node.node_ops.readdir) { - throw new FS.ErrnoError(20) + throw new FS.ErrnoError(20); } - return node.node_ops.readdir(node) + return node.node_ops.readdir(node); }, unlink: function(path) { - var lookup = FS.lookupPath(path, { parent: true }) - var parent = lookup.node - var name = PATH.basename(path) - var node = FS.lookupNode(parent, name) - var err = FS.mayDelete(parent, name, false) + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(16) + throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path) + FS.trackingDelegate['willDeletePath'](path); } } catch (e) { console.log( @@ -2879,188 +2878,188 @@ var libarchive = (function() { path + "') threw an exception: " + e.message - ) + ); } - parent.node_ops.unlink(parent, name) - FS.destroyNode(node) + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); try { if (FS.trackingDelegate['onDeletePath']) - FS.trackingDelegate['onDeletePath'](path) + { FS.trackingDelegate['onDeletePath'](path) } } catch (e) { console.log( "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message - ) + ); } }, readlink: function(path) { - var lookup = FS.lookupPath(path) - var link = lookup.node + var lookup = FS.lookupPath(path); + var link = lookup.node; if (!link) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } if (!link.node_ops.readlink) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)) + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); }, stat: function(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }) - var node = lookup.node + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; if (!node) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } if (!node.node_ops.getattr) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } - return node.node_ops.getattr(node) + return node.node_ops.getattr(node); }, lstat: function(path) { - return FS.stat(path, true) + return FS.stat(path, true); }, chmod: function(path, mode, dontFollow) { - var node + var node; if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }) - node = lookup.node + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; } else { - node = path + node = path; } if (!node.node_ops.setattr) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } node.node_ops.setattr(node, { mode: (mode & 4095) | (node.mode & ~4095), timestamp: Date.now(), - }) + }); }, lchmod: function(path, mode) { - FS.chmod(path, mode, true) + FS.chmod(path, mode, true); }, fchmod: function(fd, mode) { - var stream = FS.getStream(fd) + var stream = FS.getStream(fd); if (!stream) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } - FS.chmod(stream.node, mode) + FS.chmod(stream.node, mode); }, chown: function(path, uid, gid, dontFollow) { - var node + var node; if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }) - node = lookup.node + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; } else { - node = path + node = path; } if (!node.node_ops.setattr) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } - node.node_ops.setattr(node, { timestamp: Date.now() }) + node.node_ops.setattr(node, { timestamp: Date.now() }); }, lchown: function(path, uid, gid) { - FS.chown(path, uid, gid, true) + FS.chown(path, uid, gid, true); }, fchown: function(fd, uid, gid) { - var stream = FS.getStream(fd) + var stream = FS.getStream(fd); if (!stream) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } - FS.chown(stream.node, uid, gid) + FS.chown(stream.node, uid, gid); }, truncate: function(path, len) { if (len < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var node + var node; if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }) - node = lookup.node + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; } else { - node = path + node = path; } if (!node.node_ops.setattr) { - throw new FS.ErrnoError(1) + throw new FS.ErrnoError(1); } if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(21) + throw new FS.ErrnoError(21); } if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var err = FS.nodePermissions(node, 'w') + var err = FS.nodePermissions(node, 'w'); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } - node.node_ops.setattr(node, { size: len, timestamp: Date.now() }) + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); }, ftruncate: function(fd, len) { - var stream = FS.getStream(fd) + var stream = FS.getStream(fd); if (!stream) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - FS.truncate(stream.node, len) + FS.truncate(stream.node, len); }, utime: function(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }) - var node = lookup.node - node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }) + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); }, open: function(path, flags, mode, fd_start, fd_end) { if (path === '') { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags - mode = typeof mode === 'undefined' ? 438 : mode + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 : mode; if (flags & 64) { - mode = (mode & 4095) | 32768 + mode = (mode & 4095) | 32768; } else { - mode = 0 + mode = 0; } - var node + var node; if (typeof path === 'object') { - node = path + node = path; } else { - path = PATH.normalize(path) + path = PATH.normalize(path); try { - var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }) - node = lookup.node + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; } catch (e) {} } - var created = false + var created = false; if (flags & 64) { if (node) { if (flags & 128) { - throw new FS.ErrnoError(17) + throw new FS.ErrnoError(17); } } else { - node = FS.mknod(path, mode, 0) - created = true + node = FS.mknod(path, mode, 0); + created = true; } } if (!node) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } if (FS.isChrdev(node.mode)) { - flags &= ~512 + flags &= ~512; } if (flags & 65536 && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(20) + throw new FS.ErrnoError(20); } if (!created) { - var err = FS.mayOpen(node, flags) + var err = FS.mayOpen(node, flags); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } } if (flags & 512) { - FS.truncate(node, 0) + FS.truncate(node, 0); } - flags &= ~(128 | 512) + flags &= ~(128 | 512); var stream = FS.createStream( { node: node, @@ -3074,27 +3073,27 @@ var libarchive = (function() { }, fd_start, fd_end - ) + ); if (stream.stream_ops.open) { - stream.stream_ops.open(stream) + stream.stream_ops.open(stream); } if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {} + if (!FS.readFiles) FS.readFiles = {}; if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1 - console.log('FS.trackingDelegate error on read file: ' + path) + FS.readFiles[path] = 1; + console.log('FS.trackingDelegate error on read file: ' + path); } } try { if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0 + var trackingFlags = 0; if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ + trackingFlags |= FS.tracking.openFlags.READ; } if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE + trackingFlags |= FS.tracking.openFlags.WRITE; } - FS.trackingDelegate['onOpenFile'](path, trackingFlags) + FS.trackingDelegate['onOpenFile'](path, trackingFlags); } } catch (e) { console.log( @@ -3102,93 +3101,93 @@ var libarchive = (function() { path + "', flags) threw an exception: " + e.message - ) + ); } - return stream + return stream; }, close: function(stream) { if (FS.isClosed(stream)) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } - if (stream.getdents) stream.getdents = null + if (stream.getdents) stream.getdents = null; try { if (stream.stream_ops.close) { - stream.stream_ops.close(stream) + stream.stream_ops.close(stream); } } catch (e) { - throw e + throw e; } finally { - FS.closeStream(stream.fd) + FS.closeStream(stream.fd); } - stream.fd = null + stream.fd = null; }, isClosed: function(stream) { - return stream.fd === null + return stream.fd === null; }, llseek: function(stream, offset, whence) { if (FS.isClosed(stream)) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(29) + throw new FS.ErrnoError(29); } if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - stream.position = stream.stream_ops.llseek(stream, offset, whence) - stream.ungotten = [] - return stream.position + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; }, read: function(stream, buffer, offset, length, position) { if (length < 0 || position < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(21) + throw new FS.ErrnoError(21); } if (!stream.stream_ops.read) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } - var seeking = typeof position !== 'undefined' + var seeking = typeof position !== 'undefined'; if (!seeking) { - position = stream.position + position = stream.position; } else if (!stream.seekable) { - throw new FS.ErrnoError(29) + throw new FS.ErrnoError(29); } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position) - if (!seeking) stream.position += bytesRead - return bytesRead + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; }, write: function(stream, buffer, offset, length, position, canOwn) { if (length < 0 || position < 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(21) + throw new FS.ErrnoError(21); } if (!stream.stream_ops.write) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } if (stream.flags & 1024) { - FS.llseek(stream, 0, 2) + FS.llseek(stream, 0, 2); } - var seeking = typeof position !== 'undefined' + var seeking = typeof position !== 'undefined'; if (!seeking) { - position = stream.position + position = stream.position; } else if (!stream.seekable) { - throw new FS.ErrnoError(29) + throw new FS.ErrnoError(29); } var bytesWritten = stream.stream_ops.write( stream, @@ -3197,45 +3196,45 @@ var libarchive = (function() { length, position, canOwn - ) - if (!seeking) stream.position += bytesWritten + ); + if (!seeking) stream.position += bytesWritten; try { if (stream.path && FS.trackingDelegate['onWriteToFile']) - FS.trackingDelegate['onWriteToFile'](stream.path) + { FS.trackingDelegate['onWriteToFile'](stream.path) } } catch (e) { console.log( "FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message - ) + ); } - return bytesWritten + return bytesWritten; }, allocate: function(stream, offset, length) { if (FS.isClosed(stream)) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(22) + throw new FS.ErrnoError(22); } if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(9) + throw new FS.ErrnoError(9); } if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(19) + throw new FS.ErrnoError(19); } if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(95) + throw new FS.ErrnoError(95); } - stream.stream_ops.allocate(stream, offset, length) + stream.stream_ops.allocate(stream, offset, length); }, mmap: function(stream, buffer, offset, length, position, prot, flags) { if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(13) + throw new FS.ErrnoError(13); } if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(19) + throw new FS.ErrnoError(19); } return stream.stream_ops.mmap( stream, @@ -3245,264 +3244,264 @@ var libarchive = (function() { position, prot, flags - ) + ); }, msync: function(stream, buffer, offset, length, mmapFlags) { if (!stream || !stream.stream_ops.msync) { - return 0 + return 0; } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags) + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); }, munmap: function(stream) { - return 0 + return 0; }, ioctl: function(stream, cmd, arg) { if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(25) + throw new FS.ErrnoError(25); } - return stream.stream_ops.ioctl(stream, cmd, arg) + return stream.stream_ops.ioctl(stream, cmd, arg); }, readFile: function(path, opts) { - opts = opts || {} - opts.flags = opts.flags || 'r' - opts.encoding = opts.encoding || 'binary' + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"') + throw new Error('Invalid encoding type "' + opts.encoding + '"'); } - var ret - var stream = FS.open(path, opts.flags) - var stat = FS.stat(path) - var length = stat.size - var buf = new Uint8Array(length) - FS.read(stream, buf, 0, length, 0) + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0) + ret = UTF8ArrayToString(buf, 0); } else if (opts.encoding === 'binary') { - ret = buf + ret = buf; } - FS.close(stream) - return ret + FS.close(stream); + return ret; }, writeFile: function(path, data, opts) { - opts = opts || {} - opts.flags = opts.flags || 'w' - var stream = FS.open(path, opts.flags, opts.mode) + opts = opts || {}; + opts.flags = opts.flags || 'w'; + var stream = FS.open(path, opts.flags, opts.mode); if (typeof data === 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data) + 1) - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length) - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn) + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn) + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); } else { - throw new Error('Unsupported data type') + throw new Error('Unsupported data type'); } - FS.close(stream) + FS.close(stream); }, cwd: function() { - return FS.currentPath + return FS.currentPath; }, chdir: function(path) { - var lookup = FS.lookupPath(path, { follow: true }) + var lookup = FS.lookupPath(path, { follow: true }); if (lookup.node === null) { - throw new FS.ErrnoError(2) + throw new FS.ErrnoError(2); } if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(20) + throw new FS.ErrnoError(20); } - var err = FS.nodePermissions(lookup.node, 'x') + var err = FS.nodePermissions(lookup.node, 'x'); if (err) { - throw new FS.ErrnoError(err) + throw new FS.ErrnoError(err); } - FS.currentPath = lookup.path + FS.currentPath = lookup.path; }, createDefaultDirectories: function() { - FS.mkdir('/tmp') - FS.mkdir('/home') - FS.mkdir('/home/web_user') + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); }, createDefaultDevices: function() { - FS.mkdir('/dev') + FS.mkdir('/dev'); FS.registerDevice(FS.makedev(1, 3), { read: function() { - return 0 + return 0; }, write: function(stream, buffer, offset, length, pos) { - return length + return length; }, - }) - FS.mkdev('/dev/null', FS.makedev(1, 3)) - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops) - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops) - FS.mkdev('/dev/tty', FS.makedev(5, 0)) - FS.mkdev('/dev/tty1', FS.makedev(6, 0)) - var random_device + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + var random_device; if ( typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function' ) { - var randomBuffer = new Uint8Array(1) + var randomBuffer = new Uint8Array(1); random_device = function() { - crypto.getRandomValues(randomBuffer) - return randomBuffer[0] - } + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; } else if (ENVIRONMENT_IS_NODE) { try { - var crypto_module = require('crypto') + var crypto_module = require('crypto'); random_device = function() { - return crypto_module['randomBytes'](1)[0] - } + return crypto_module['randomBytes'](1)[0]; + }; } catch (e) {} } else { } if (!random_device) { random_device = function() { - abort('random_device') - } + abort('random_device'); + }; } - FS.createDevice('/dev', 'random', random_device) - FS.createDevice('/dev', 'urandom', random_device) - FS.mkdir('/dev/shm') - FS.mkdir('/dev/shm/tmp') + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); }, createSpecialDirectories: function() { - FS.mkdir('/proc') - FS.mkdir('/proc/self') - FS.mkdir('/proc/self/fd') + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); FS.mount( { mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 511, 73) + var node = FS.createNode('/proc/self', 'fd', 16384 | 511, 73); node.node_ops = { lookup: function(parent, name) { - var fd = +name - var stream = FS.getStream(fd) - if (!stream) throw new FS.ErrnoError(9) + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(9); var ret = { parent: null, mount: { mountpoint: 'fake' }, node_ops: { readlink: function() { - return stream.path + return stream.path; }, }, - } - ret.parent = ret - return ret + }; + ret.parent = ret; + return ret; }, - } - return node + }; + return node; }, }, {}, '/proc/self/fd' - ) + ); }, createStandardStreams: function() { if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']) + FS.createDevice('/dev', 'stdin', Module['stdin']); } else { - FS.symlink('/dev/tty', '/dev/stdin') + FS.symlink('/dev/tty', '/dev/stdin'); } if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']) + FS.createDevice('/dev', 'stdout', null, Module['stdout']); } else { - FS.symlink('/dev/tty', '/dev/stdout') + FS.symlink('/dev/tty', '/dev/stdout'); } if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']) + FS.createDevice('/dev', 'stderr', null, Module['stderr']); } else { - FS.symlink('/dev/tty1', '/dev/stderr') + FS.symlink('/dev/tty1', '/dev/stderr'); } - var stdin = FS.open('/dev/stdin', 'r') - var stdout = FS.open('/dev/stdout', 'w') - var stderr = FS.open('/dev/stderr', 'w') + var stdin = FS.open('/dev/stdin', 'r'); + var stdout = FS.open('/dev/stdout', 'w'); + var stderr = FS.open('/dev/stderr', 'w'); }, ensureErrnoError: function() { - if (FS.ErrnoError) return + if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { - this.node = node + this.node = node; this.setErrno = function(errno) { - this.errno = errno - } - this.setErrno(errno) - this.message = 'FS error' + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; if (this.stack) - Object.defineProperty(this, 'stack', { + { Object.defineProperty(this, 'stack', { value: new Error().stack, writable: true, - }) - } - FS.ErrnoError.prototype = new Error() + }); } + }; + FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError ;[2].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code) - FS.genericErrors[code].stack = '' - }) + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); }, staticInit: function() { - FS.ensureErrnoError() - FS.nameTable = new Array(4096) - FS.mount(MEMFS, {}, '/') - FS.createDefaultDirectories() - FS.createDefaultDevices() - FS.createSpecialDirectories() + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); FS.filesystems = { MEMFS: MEMFS, IDBFS: IDBFS, NODEFS: NODEFS, WORKERFS: WORKERFS, - } + }; }, init: function(input, output, error) { - FS.init.initialized = true - FS.ensureErrnoError() - Module['stdin'] = input || Module['stdin'] - Module['stdout'] = output || Module['stdout'] - Module['stderr'] = error || Module['stderr'] - FS.createStandardStreams() + FS.init.initialized = true; + FS.ensureErrnoError(); + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + FS.createStandardStreams(); }, quit: function() { - FS.init.initialized = false - var fflush = Module['_fflush'] - if (fflush) fflush(0) + FS.init.initialized = false; + var fflush = Module['_fflush']; + if (fflush) fflush(0); for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i] + var stream = FS.streams[i]; if (!stream) { - continue + continue; } - FS.close(stream) + FS.close(stream); } }, getMode: function(canRead, canWrite) { - var mode = 0 - if (canRead) mode |= 292 | 73 - if (canWrite) mode |= 146 - return mode + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; }, joinPath: function(parts, forceRelative) { - var path = PATH.join.apply(null, parts) - if (forceRelative && path[0] == '/') path = path.substr(1) - return path + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; }, absolutePath: function(relative, base) { - return PATH_FS.resolve(base, relative) + return PATH_FS.resolve(base, relative); }, standardizePath: function(path) { - return PATH.normalize(path) + return PATH.normalize(path); }, findObject: function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink) + var ret = FS.analyzePath(path, dontResolveLastLink); if (ret.exists) { - return ret.object + return ret.object; } else { - ___setErrNo(ret.error) - return null + ___setErrNo(ret.error); + return null; } }, analyzePath: function(path, dontResolveLastLink) { try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }) - path = lookup.path + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; } catch (e) {} var ret = { isRoot: false, @@ -3514,288 +3513,288 @@ var libarchive = (function() { parentExists: false, parentPath: null, parentObject: null, - } + }; try { - var lookup = FS.lookupPath(path, { parent: true }) - ret.parentExists = true - ret.parentPath = lookup.path - ret.parentObject = lookup.node - ret.name = PATH.basename(path) - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }) - ret.exists = true - ret.path = lookup.path - ret.object = lookup.node - ret.name = lookup.node.name - ret.isRoot = lookup.path === '/' + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; } catch (e) { - ret.error = e.errno + ret.error = e.errno; } - return ret + return ret; }, createFolder: function(parent, name, canRead, canWrite) { var path = PATH.join2( typeof parent === 'string' ? parent : FS.getPath(parent), name - ) - var mode = FS.getMode(canRead, canWrite) - return FS.mkdir(path, mode) + ); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); }, createPath: function(parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent) - var parts = path.split('/').reverse() + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); while (parts.length) { - var part = parts.pop() - if (!part) continue - var current = PATH.join2(parent, part) + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); try { - FS.mkdir(current) + FS.mkdir(current); } catch (e) {} - parent = current + parent = current; } - return current + return current; }, createFile: function(parent, name, properties, canRead, canWrite) { var path = PATH.join2( typeof parent === 'string' ? parent : FS.getPath(parent), name - ) - var mode = FS.getMode(canRead, canWrite) - return FS.create(path, mode) + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); }, createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) - : parent - var mode = FS.getMode(canRead, canWrite) - var node = FS.create(path, mode) + : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); if (data) { if (typeof data === 'string') { - var arr = new Array(data.length) - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i) - data = arr + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; } - FS.chmod(node, mode | 146) - var stream = FS.open(node, 'w') - FS.write(stream, data, 0, data.length, 0, canOwn) - FS.close(stream) - FS.chmod(node, mode) + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); } - return node + return node; }, createDevice: function(parent, name, input, output) { var path = PATH.join2( typeof parent === 'string' ? parent : FS.getPath(parent), name - ) - var mode = FS.getMode(!!input, !!output) - if (!FS.createDevice.major) FS.createDevice.major = 64 - var dev = FS.makedev(FS.createDevice.major++, 0) + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); FS.registerDevice(dev, { open: function(stream) { - stream.seekable = false + stream.seekable = false; }, close: function(stream) { if (output && output.buffer && output.buffer.length) { - output(10) + output(10); } }, read: function(stream, buffer, offset, length, pos) { - var bytesRead = 0 + var bytesRead = 0; for (var i = 0; i < length; i++) { - var result + var result; try { - result = input() + result = input(); } catch (e) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(11) + throw new FS.ErrnoError(11); } - if (result === null || result === undefined) break - bytesRead++ - buffer[offset + i] = result + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset + i] = result; } if (bytesRead) { - stream.node.timestamp = Date.now() + stream.node.timestamp = Date.now(); } - return bytesRead + return bytesRead; }, write: function(stream, buffer, offset, length, pos) { for (var i = 0; i < length; i++) { try { - output(buffer[offset + i]) + output(buffer[offset + i]); } catch (e) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } } if (length) { - stream.node.timestamp = Date.now() + stream.node.timestamp = Date.now(); } - return i + return i; }, - }) - return FS.mkdev(path, mode, dev) + }); + return FS.mkdev(path, mode, dev); }, createLink: function(parent, name, target, canRead, canWrite) { var path = PATH.join2( typeof parent === 'string' ? parent : FS.getPath(parent), name - ) - return FS.symlink(target, path) + ); + return FS.symlink(target, path); }, forceLoadFile: function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true - var success = true + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; if (typeof XMLHttpRequest !== 'undefined') { throw new Error( 'Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.' - ) + ); } else if (Module['read']) { try { - obj.contents = intArrayFromString(Module['read'](obj.url), true) - obj.usedBytes = obj.contents.length + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; } catch (e) { - success = false + success = false; } } else { - throw new Error('Cannot load without read() or XMLHttpRequest.') + throw new Error('Cannot load without read() or XMLHttpRequest.'); } - if (!success) ___setErrNo(5) - return success + if (!success) ___setErrNo(5); + return success; }, createLazyFile: function(parent, name, url, canRead, canWrite) { function LazyUint8Array() { - this.lengthKnown = false - this.chunks = [] + this.lengthKnown = false; + this.chunks = []; } LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { if (idx > this.length - 1 || idx < 0) { - return undefined + return undefined; } - var chunkOffset = idx % this.chunkSize - var chunkNum = (idx / this.chunkSize) | 0 - return this.getter(chunkNum)[chunkOffset] - } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter( getter ) { - this.getter = getter - } + this.getter = getter; + }; LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - var xhr = new XMLHttpRequest() - xhr.open('HEAD', url, false) - xhr.send(null) + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) - throw new Error("Couldn't load " + url + '. Status: ' + xhr.status) - var datalength = Number(xhr.getResponseHeader('Content-length')) - var header + { throw new Error("Couldn't load " + url + '. Status: ' + xhr.status) } + var datalength = Number(xhr.getResponseHeader('Content-length')); + var header; var hasByteServing = - (header = xhr.getResponseHeader('Accept-Ranges')) && header === 'bytes' + (header = xhr.getResponseHeader('Accept-Ranges')) && header === 'bytes'; var usesGzip = - (header = xhr.getResponseHeader('Content-Encoding')) && header === 'gzip' - var chunkSize = 1024 * 1024 - if (!hasByteServing) chunkSize = datalength + (header = xhr.getResponseHeader('Content-Encoding')) && header === 'gzip'; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; var doXHR = function(from, to) { if (from > to) - throw new Error( + { throw new Error( 'invalid range (' + from + ', ' + to + ') or no bytes requested!' - ) + ); } if (to > datalength - 1) - throw new Error( + { throw new Error( 'only ' + datalength + ' bytes available! programmer error!' - ) - var xhr = new XMLHttpRequest() - xhr.open('GET', url, false) + ); } + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); if (datalength !== chunkSize) - xhr.setRequestHeader('Range', 'bytes=' + from + '-' + to) - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer' + { xhr.setRequestHeader('Range', 'bytes=' + from + '-' + to) } + if (typeof Uint8Array !== 'undefined') xhr.responseType = 'arraybuffer'; if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined') + xhr.overrideMimeType('text/plain; charset=x-user-defined'); } - xhr.send(null) + xhr.send(null); if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) - throw new Error("Couldn't load " + url + '. Status: ' + xhr.status) + { throw new Error("Couldn't load " + url + '. Status: ' + xhr.status) } if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []) + return new Uint8Array(xhr.response || []); } else { - return intArrayFromString(xhr.responseText || '', true) + return intArrayFromString(xhr.responseText || '', true); } - } - var lazyArray = this + }; + var lazyArray = this; lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize - var end = (chunkNum + 1) * chunkSize - 1 - end = Math.min(end, datalength - 1) + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); if (typeof lazyArray.chunks[chunkNum] === 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end) + lazyArray.chunks[chunkNum] = doXHR(start, end); } if (typeof lazyArray.chunks[chunkNum] === 'undefined') - throw new Error('doXHR failed!') - return lazyArray.chunks[chunkNum] - }) + { throw new Error('doXHR failed!') } + return lazyArray.chunks[chunkNum]; + }); if (usesGzip || !datalength) { - chunkSize = datalength = 1 - datalength = this.getter(0).length - chunkSize = datalength + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; console.log( 'LazyFiles on gzip forces download of the whole file when length is accessed' - ) + ); } - this._length = datalength - this._chunkSize = chunkSize - this.lengthKnown = true - } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; if (typeof XMLHttpRequest !== 'undefined') { if (!ENVIRONMENT_IS_WORKER) - throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc' - var lazyArray = new LazyUint8Array() + { throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc' } + var lazyArray = new LazyUint8Array(); Object.defineProperties(lazyArray, { length: { get: function() { if (!this.lengthKnown) { - this.cacheLength() + this.cacheLength(); } - return this._length + return this._length; }, }, chunkSize: { get: function() { if (!this.lengthKnown) { - this.cacheLength() + this.cacheLength(); } - return this._chunkSize + return this._chunkSize; }, }, - }) - var properties = { isDevice: false, contents: lazyArray } + }); + var properties = { isDevice: false, contents: lazyArray }; } else { - var properties = { isDevice: false, url: url } + var properties = { isDevice: false, url: url }; } - var node = FS.createFile(parent, name, properties, canRead, canWrite) + var node = FS.createFile(parent, name, properties, canRead, canWrite); if (properties.contents) { - node.contents = properties.contents + node.contents = properties.contents; } else if (properties.url) { - node.contents = null - node.url = properties.url + node.contents = null; + node.url = properties.url; } Object.defineProperties(node, { usedBytes: { get: function() { - return this.contents.length + return this.contents.length; }, }, - }) - var stream_ops = {} - var keys = Object.keys(node.stream_ops) + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); keys.forEach(function(key) { - var fn = node.stream_ops[key] + var fn = node.stream_ops[key]; stream_ops[key] = function forceLoadLazyFile() { if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } - return fn.apply(null, arguments) - } - }) + return fn.apply(null, arguments); + }; + }); stream_ops.read = function stream_ops_read( stream, buffer, @@ -3804,24 +3803,24 @@ var libarchive = (function() { position ) { if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(5) + throw new FS.ErrnoError(5); } - var contents = stream.node.contents - if (position >= contents.length) return 0 - var size = Math.min(contents.length - position, length) + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); if (contents.slice) { for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i] + buffer[offset + i] = contents[position + i]; } } else { for (var i = 0; i < size; i++) { - buffer[offset + i] = contents.get(position + i) + buffer[offset + i] = contents.get(position + i); } } - return size - } - node.stream_ops = stream_ops - return node + return size; + }; + node.stream_ops = stream_ops; + return node; }, createPreloadedFile: function( parent, @@ -3835,42 +3834,42 @@ var libarchive = (function() { canOwn, preFinish ) { - Browser.init() - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent - var dep = getUniqueRunDependency('cp ' + fullname) + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); function processData(byteArray) { function finish(byteArray) { - if (preFinish) preFinish() + if (preFinish) preFinish(); if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn) + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); } - if (onload) onload() - removeRunDependency(dep) + if (onload) onload(); + removeRunDependency(dep); } - var handled = false + var handled = false; Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return + if (handled) return; if (plugin['canHandle'](fullname)) { plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror() - removeRunDependency(dep) - }) - handled = true + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; } - }) - if (!handled) finish(byteArray) + }); + if (!handled) finish(byteArray); } - addRunDependency(dep) - if (typeof url == 'string') { + addRunDependency(dep); + if (typeof url === 'string') { Browser.asyncLoad( url, function(byteArray) { - processData(byteArray) + processData(byteArray); }, onerror - ) + ); } else { - processData(url) + processData(url); } }, indexedDB: function() { @@ -3879,84 +3878,84 @@ var libarchive = (function() { window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB - ) + ); }, DB_NAME: function() { - return 'EM_FS_' + window.location.pathname + return 'EM_FS_' + window.location.pathname; }, DB_VERSION: 20, DB_STORE_NAME: 'FILE_DATA', saveFilesToDB: function(paths, onload, onerror) { - onload = onload || function() {} - onerror = onerror || function() {} - var indexedDB = FS.indexedDB() + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { - return onerror(e) + return onerror(e); } openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db') - var db = openRequest.result - db.createObjectStore(FS.DB_STORE_NAME) - } + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite') - var files = transaction.objectStore(FS.DB_STORE_NAME) + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, - total = paths.length + total = paths.length; function finish() { - if (fail == 0) onload() - else onerror() + if (fail == 0) onload(); + else onerror(); } paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path) + var putRequest = files.put(FS.analyzePath(path).object.contents, path); putRequest.onsuccess = function putRequest_onsuccess() { - ok++ - if (ok + fail == total) finish() - } + ok++; + if (ok + fail == total) finish(); + }; putRequest.onerror = function putRequest_onerror() { - fail++ - if (ok + fail == total) finish() - } - }) - transaction.onerror = onerror - } - openRequest.onerror = onerror + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; }, loadFilesFromDB: function(paths, onload, onerror) { - onload = onload || function() {} - onerror = onerror || function() {} - var indexedDB = FS.indexedDB() + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION) + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { - return onerror(e) + return onerror(e); } - openRequest.onupgradeneeded = onerror + openRequest.onupgradeneeded = onerror; openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result + var db = openRequest.result; try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly') + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); } catch (e) { - onerror(e) - return + onerror(e); + return; } - var files = transaction.objectStore(FS.DB_STORE_NAME) + var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, - total = paths.length + total = paths.length; function finish() { - if (fail == 0) onload() - else onerror() + if (fail == 0) onload(); + else onerror(); } paths.forEach(function(path) { - var getRequest = files.get(path) + var getRequest = files.get(path); getRequest.onsuccess = function getRequest_onsuccess() { if (FS.analyzePath(path).exists) { - FS.unlink(path) + FS.unlink(path); } FS.createDataFile( PATH.dirname(path), @@ -3965,59 +3964,59 @@ var libarchive = (function() { true, true, true - ) - ok++ - if (ok + fail == total) finish() - } + ); + ok++; + if (ok + fail == total) finish(); + }; getRequest.onerror = function getRequest_onerror() { - fail++ - if (ok + fail == total) finish() - } - }) - transaction.onerror = onerror - } - openRequest.onerror = onerror + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; }, - } + }; var SYSCALLS = { DEFAULT_POLLMASK: 5, mappings: {}, umask: 511, calculateAt: function(dirfd, path) { if (path[0] !== '/') { - var dir + var dir; if (dirfd === -100) { - dir = FS.cwd() + dir = FS.cwd(); } else { - var dirstream = FS.getStream(dirfd) - if (!dirstream) throw new FS.ErrnoError(9) - dir = dirstream.path + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(9); + dir = dirstream.path; } - path = PATH.join2(dir, path) + path = PATH.join2(dir, path); } - return path + return path; }, doStat: function(func, path, buf) { try { - var stat = func(path) + var stat = func(path); } catch (e) { if ( e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node)) ) { - return -20 + return -20; } - throw e + throw e; } - HEAP32[buf >> 2] = stat.dev - HEAP32[(buf + 4) >> 2] = 0 - HEAP32[(buf + 8) >> 2] = stat.ino - HEAP32[(buf + 12) >> 2] = stat.mode - HEAP32[(buf + 16) >> 2] = stat.nlink - HEAP32[(buf + 20) >> 2] = stat.uid - HEAP32[(buf + 24) >> 2] = stat.gid - HEAP32[(buf + 28) >> 2] = stat.rdev + HEAP32[buf >> 2] = stat.dev; + HEAP32[(buf + 4) >> 2] = 0; + HEAP32[(buf + 8) >> 2] = stat.ino; + HEAP32[(buf + 12) >> 2] = stat.mode; + HEAP32[(buf + 16) >> 2] = stat.nlink; + HEAP32[(buf + 20) >> 2] = stat.uid; + HEAP32[(buf + 24) >> 2] = stat.gid; + HEAP32[(buf + 28) >> 2] = stat.rdev; HEAP32[(buf + 32) >> 2] = 0 ;(tempI64 = [ stat.size >>> 0, @@ -4029,14 +4028,14 @@ var libarchive = (function() { : 0), ]), (HEAP32[(buf + 40) >> 2] = tempI64[0]), - (HEAP32[(buf + 44) >> 2] = tempI64[1]) - HEAP32[(buf + 48) >> 2] = 4096 - HEAP32[(buf + 52) >> 2] = stat.blocks - HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0 - HEAP32[(buf + 60) >> 2] = 0 - HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0 - HEAP32[(buf + 68) >> 2] = 0 - HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0 + (HEAP32[(buf + 44) >> 2] = tempI64[1]); + HEAP32[(buf + 48) >> 2] = 4096; + HEAP32[(buf + 52) >> 2] = stat.blocks; + HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0; + HEAP32[(buf + 60) >> 2] = 0; + HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0; + HEAP32[(buf + 68) >> 2] = 0; + HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0; HEAP32[(buf + 76) >> 2] = 0 ;(tempI64 = [ stat.ino >>> 0, @@ -4048,18 +4047,18 @@ var libarchive = (function() { : 0), ]), (HEAP32[(buf + 80) >> 2] = tempI64[0]), - (HEAP32[(buf + 84) >> 2] = tempI64[1]) - return 0 + (HEAP32[(buf + 84) >> 2] = tempI64[1]); + return 0; }, doMsync: function(addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)) - FS.msync(stream, buffer, 0, len, flags) + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); }, doMkdir: function(path, mode) { - path = PATH.normalize(path) - if (path[path.length - 1] === '/') path = path.substr(0, path.length - 1) - FS.mkdir(path, mode, 0) - return 0 + path = PATH.normalize(path); + if (path[path.length - 1] === '/') path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; }, doMknod: function(path, mode, dev) { switch (mode & 61440) { @@ -4068,105 +4067,105 @@ var libarchive = (function() { case 24576: case 4096: case 49152: - break + break; default: - return -22 + return -22; } - FS.mknod(path, mode, dev) - return 0 + FS.mknod(path, mode, dev); + return 0; }, doReadlink: function(path, buf, bufsize) { - if (bufsize <= 0) return -22 - var ret = FS.readlink(path) - var len = Math.min(bufsize, lengthBytesUTF8(ret)) - var endChar = HEAP8[buf + len] - stringToUTF8(ret, buf, bufsize + 1) - HEAP8[buf + len] = endChar - return len + if (bufsize <= 0) return -22; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; }, doAccess: function(path, amode) { if (amode & ~7) { - return -22 + return -22; } - var node - var lookup = FS.lookupPath(path, { follow: true }) - node = lookup.node - var perms = '' - if (amode & 4) perms += 'r' - if (amode & 2) perms += 'w' - if (amode & 1) perms += 'x' + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; if (perms && FS.nodePermissions(node, perms)) { - return -13 + return -13; } - return 0 + return 0; }, doDup: function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD) - if (suggest) FS.close(suggest) - return FS.open(path, flags, 0, suggestFD, suggestFD).fd + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; }, doReadv: function(stream, iov, iovcnt, offset) { - var ret = 0 + var ret = 0; for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(iov + i * 8) >> 2] - var len = HEAP32[(iov + (i * 8 + 4)) >> 2] - var curr = FS.read(stream, HEAP8, ptr, len, offset) - if (curr < 0) return -1 - ret += curr - if (curr < len) break + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; } - return ret + return ret; }, doWritev: function(stream, iov, iovcnt, offset) { - var ret = 0 + var ret = 0; for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(iov + i * 8) >> 2] - var len = HEAP32[(iov + (i * 8 + 4)) >> 2] - var curr = FS.write(stream, HEAP8, ptr, len, offset) - if (curr < 0) return -1 - ret += curr + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; } - return ret + return ret; }, varargs: 0, get: function(varargs) { - SYSCALLS.varargs += 4 - var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2] - return ret + SYSCALLS.varargs += 4; + var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2]; + return ret; }, getStr: function() { - var ret = UTF8ToString(SYSCALLS.get()) - return ret + var ret = UTF8ToString(SYSCALLS.get()); + return ret; }, getStreamFromFD: function() { - var stream = FS.getStream(SYSCALLS.get()) - if (!stream) throw new FS.ErrnoError(9) - return stream + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(9); + return stream; }, get64: function() { var low = SYSCALLS.get(), - high = SYSCALLS.get() - return low + high = SYSCALLS.get(); + return low; }, getZero: function() { - SYSCALLS.get() + SYSCALLS.get(); }, - } + }; function ___syscall140(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), - whence = SYSCALLS.get() + whence = SYSCALLS.get(); if ( !(offset_high == -1 && offset_low < 0) && !(offset_high == 0 && offset_low >= 0) ) { - return -75 + return -75; } - var offset = offset_low + var offset = offset_low; FS.llseek(stream, offset, whence) ;(tempI64 = [ stream.position >>> 0, @@ -4178,169 +4177,169 @@ var libarchive = (function() { : 0), ]), (HEAP32[result >> 2] = tempI64[0]), - (HEAP32[(result + 4) >> 2] = tempI64[1]) - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null - return 0 + (HEAP32[(result + 4) >> 2] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall146(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), - iovcnt = SYSCALLS.get() - return SYSCALLS.doWritev(stream, iov, iovcnt) + iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall168(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var fds = SYSCALLS.get(), nfds = SYSCALLS.get(), - timeout = SYSCALLS.get() - var nonzero = 0 + timeout = SYSCALLS.get(); + var nonzero = 0; for (var i = 0; i < nfds; i++) { - var pollfd = fds + 8 * i - var fd = HEAP32[pollfd >> 2] - var events = HEAP16[(pollfd + 4) >> 1] - var mask = 32 - var stream = FS.getStream(fd) + var pollfd = fds + 8 * i; + var fd = HEAP32[pollfd >> 2]; + var events = HEAP16[(pollfd + 4) >> 1]; + var mask = 32; + var stream = FS.getStream(fd); if (stream) { - mask = SYSCALLS.DEFAULT_POLLMASK + mask = SYSCALLS.DEFAULT_POLLMASK; if (stream.stream_ops.poll) { - mask = stream.stream_ops.poll(stream) + mask = stream.stream_ops.poll(stream); } } - mask &= events | 8 | 16 - if (mask) nonzero++ - HEAP16[(pollfd + 6) >> 1] = mask + mask &= events | 8 | 16; + if (mask) nonzero++; + HEAP16[(pollfd + 6) >> 1] = mask; } - return nonzero + return nonzero; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall195(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var path = SYSCALLS.getStr(), - buf = SYSCALLS.get() - return SYSCALLS.doStat(FS.stat, path, buf) + buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, path, buf); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall196(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var path = SYSCALLS.getStr(), - buf = SYSCALLS.get() - return SYSCALLS.doStat(FS.lstat, path, buf) + buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.lstat, path, buf); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall197(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), - buf = SYSCALLS.get() - return SYSCALLS.doStat(FS.stat, stream.path, buf) + buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, stream.path, buf); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall221(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), - cmd = SYSCALLS.get() + cmd = SYSCALLS.get(); switch (cmd) { case 0: { - var arg = SYSCALLS.get() + var arg = SYSCALLS.get(); if (arg < 0) { - return -22 + return -22; } - var newStream - newStream = FS.open(stream.path, stream.flags, 0, arg) - return newStream.fd + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; } case 1: case 2: - return 0 + return 0; case 3: - return stream.flags + return stream.flags; case 4: { - var arg = SYSCALLS.get() - stream.flags |= arg - return 0 + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; } case 12: { - var arg = SYSCALLS.get() - var offset = 0 - HEAP16[(arg + offset) >> 1] = 2 - return 0 + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[(arg + offset) >> 1] = 2; + return 0; } case 13: case 14: - return 0 + return 0; case 16: case 8: - return -22 + return -22; case 9: - ___setErrNo(22) - return -1 + ___setErrNo(22); + return -1; default: { - return -22 + return -22; } } } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall3(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), - count = SYSCALLS.get() - return FS.read(stream, HEAP8, buf, count) + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall4(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), - count = SYSCALLS.get() - return FS.write(stream, HEAP8, buf, count) + count = SYSCALLS.get(); + return FS.write(stream, HEAP8, buf, count); } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall41(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { - var old = SYSCALLS.getStreamFromFD() - return FS.open(old.path, old.flags, 0).fd + var old = SYSCALLS.getStreamFromFD(); + return FS.open(old.path, old.flags, 0).fd; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } var ERRNO_CODES = { @@ -4465,336 +4464,336 @@ var libarchive = (function() { ENOTRECOVERABLE: 131, EOWNERDEAD: 130, ESTRPIPE: 86, - } + }; var PIPEFS = { BUCKET_BUFFER_SIZE: 8192, mount: function(mount) { - return FS.createNode(null, '/', 16384 | 511, 0) + return FS.createNode(null, '/', 16384 | 511, 0); }, createPipe: function() { - var pipe = { buckets: [] } + var pipe = { buckets: [] }; pipe.buckets.push({ buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0, - }) - var rName = PIPEFS.nextname() - var wName = PIPEFS.nextname() - var rNode = FS.createNode(PIPEFS.root, rName, 4096, 0) - var wNode = FS.createNode(PIPEFS.root, wName, 4096, 0) - rNode.pipe = pipe - wNode.pipe = pipe + }); + var rName = PIPEFS.nextname(); + var wName = PIPEFS.nextname(); + var rNode = FS.createNode(PIPEFS.root, rName, 4096, 0); + var wNode = FS.createNode(PIPEFS.root, wName, 4096, 0); + rNode.pipe = pipe; + wNode.pipe = pipe; var readableStream = FS.createStream({ path: rName, node: rNode, flags: FS.modeStringToFlags('r'), seekable: false, stream_ops: PIPEFS.stream_ops, - }) - rNode.stream = readableStream + }); + rNode.stream = readableStream; var writableStream = FS.createStream({ path: wName, node: wNode, flags: FS.modeStringToFlags('w'), seekable: false, stream_ops: PIPEFS.stream_ops, - }) - wNode.stream = writableStream - return { readable_fd: readableStream.fd, writable_fd: writableStream.fd } + }); + wNode.stream = writableStream; + return { readable_fd: readableStream.fd, writable_fd: writableStream.fd }; }, stream_ops: { poll: function(stream) { - var pipe = stream.node.pipe + var pipe = stream.node.pipe; if ((stream.flags & 2097155) === 1) { - return 256 | 4 + return 256 | 4; } else { if (pipe.buckets.length > 0) { for (var i = 0; i < pipe.buckets.length; i++) { - var bucket = pipe.buckets[i] + var bucket = pipe.buckets[i]; if (bucket.offset - bucket.roffset > 0) { - return 64 | 1 + return 64 | 1; } } } } - return 0 + return 0; }, ioctl: function(stream, request, varargs) { - return ERRNO_CODES.EINVAL + return ERRNO_CODES.EINVAL; }, read: function(stream, buffer, offset, length, position) { - var pipe = stream.node.pipe - var currentLength = 0 + var pipe = stream.node.pipe; + var currentLength = 0; for (var i = 0; i < pipe.buckets.length; i++) { - var bucket = pipe.buckets[i] - currentLength += bucket.offset - bucket.roffset + var bucket = pipe.buckets[i]; + currentLength += bucket.offset - bucket.roffset; } - assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)) - var data = buffer.subarray(offset, offset + length) + assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)); + var data = buffer.subarray(offset, offset + length); if (length <= 0) { - return 0 + return 0; } if (currentLength == 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN) + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } - var toRead = Math.min(currentLength, length) - var totalRead = toRead - var toRemove = 0 + var toRead = Math.min(currentLength, length); + var totalRead = toRead; + var toRemove = 0; for (var i = 0; i < pipe.buckets.length; i++) { - var currBucket = pipe.buckets[i] - var bucketSize = currBucket.offset - currBucket.roffset + var currBucket = pipe.buckets[i]; + var bucketSize = currBucket.offset - currBucket.roffset; if (toRead <= bucketSize) { var tmpSlice = currBucket.buffer.subarray( currBucket.roffset, currBucket.offset - ) + ); if (toRead < bucketSize) { - tmpSlice = tmpSlice.subarray(0, toRead) - currBucket.roffset += toRead + tmpSlice = tmpSlice.subarray(0, toRead); + currBucket.roffset += toRead; } else { - toRemove++ + toRemove++; } - data.set(tmpSlice) - break + data.set(tmpSlice); + break; } else { var tmpSlice = currBucket.buffer.subarray( currBucket.roffset, currBucket.offset - ) - data.set(tmpSlice) - data = data.subarray(tmpSlice.byteLength) - toRead -= tmpSlice.byteLength - toRemove++ + ); + data.set(tmpSlice); + data = data.subarray(tmpSlice.byteLength); + toRead -= tmpSlice.byteLength; + toRemove++; } } if (toRemove && toRemove == pipe.buckets.length) { - toRemove-- - pipe.buckets[toRemove].offset = 0 - pipe.buckets[toRemove].roffset = 0 + toRemove--; + pipe.buckets[toRemove].offset = 0; + pipe.buckets[toRemove].roffset = 0; } - pipe.buckets.splice(0, toRemove) - return totalRead + pipe.buckets.splice(0, toRemove); + return totalRead; }, write: function(stream, buffer, offset, length, position) { - var pipe = stream.node.pipe - assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)) - var data = buffer.subarray(offset, offset + length) - var dataLen = data.byteLength + var pipe = stream.node.pipe; + assert(buffer instanceof ArrayBuffer || ArrayBuffer.isView(buffer)); + var data = buffer.subarray(offset, offset + length); + var dataLen = data.byteLength; if (dataLen <= 0) { - return 0 + return 0; } - var currBucket = null + var currBucket = null; if (pipe.buckets.length == 0) { currBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0, - } - pipe.buckets.push(currBucket) + }; + pipe.buckets.push(currBucket); } else { - currBucket = pipe.buckets[pipe.buckets.length - 1] + currBucket = pipe.buckets[pipe.buckets.length - 1]; } - assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE) - var freeBytesInCurrBuffer = PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset + assert(currBucket.offset <= PIPEFS.BUCKET_BUFFER_SIZE); + var freeBytesInCurrBuffer = PIPEFS.BUCKET_BUFFER_SIZE - currBucket.offset; if (freeBytesInCurrBuffer >= dataLen) { - currBucket.buffer.set(data, currBucket.offset) - currBucket.offset += dataLen - return dataLen + currBucket.buffer.set(data, currBucket.offset); + currBucket.offset += dataLen; + return dataLen; } else if (freeBytesInCurrBuffer > 0) { currBucket.buffer.set( data.subarray(0, freeBytesInCurrBuffer), currBucket.offset - ) - currBucket.offset += freeBytesInCurrBuffer - data = data.subarray(freeBytesInCurrBuffer, data.byteLength) + ); + currBucket.offset += freeBytesInCurrBuffer; + data = data.subarray(freeBytesInCurrBuffer, data.byteLength); } - var numBuckets = (data.byteLength / PIPEFS.BUCKET_BUFFER_SIZE) | 0 - var remElements = data.byteLength % PIPEFS.BUCKET_BUFFER_SIZE + var numBuckets = (data.byteLength / PIPEFS.BUCKET_BUFFER_SIZE) | 0; + var remElements = data.byteLength % PIPEFS.BUCKET_BUFFER_SIZE; for (var i = 0; i < numBuckets; i++) { var newBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: PIPEFS.BUCKET_BUFFER_SIZE, roffset: 0, - } - pipe.buckets.push(newBucket) - newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)) - data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength) + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)); + data = data.subarray(PIPEFS.BUCKET_BUFFER_SIZE, data.byteLength); } if (remElements > 0) { var newBucket = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: data.byteLength, roffset: 0, - } - pipe.buckets.push(newBucket) - newBucket.buffer.set(data) + }; + pipe.buckets.push(newBucket); + newBucket.buffer.set(data); } - return dataLen + return dataLen; }, close: function(stream) { - var pipe = stream.node.pipe - pipe.buckets = null + var pipe = stream.node.pipe; + pipe.buckets = null; }, }, nextname: function() { if (!PIPEFS.nextname.current) { - PIPEFS.nextname.current = 0 + PIPEFS.nextname.current = 0; } - return 'pipe[' + PIPEFS.nextname.current++ + ']' + return 'pipe[' + PIPEFS.nextname.current++ + ']'; }, - } + }; function ___syscall42(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { - var fdPtr = SYSCALLS.get() + var fdPtr = SYSCALLS.get(); if (fdPtr == 0) { - throw new FS.ErrnoError(14) + throw new FS.ErrnoError(14); } - var res = PIPEFS.createPipe() - HEAP32[fdPtr >> 2] = res.readable_fd - HEAP32[(fdPtr + 4) >> 2] = res.writable_fd - return 0 + var res = PIPEFS.createPipe(); + HEAP32[fdPtr >> 2] = res.readable_fd; + HEAP32[(fdPtr + 4) >> 2] = res.writable_fd; + return 0; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall5(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), - mode = SYSCALLS.get() - var stream = FS.open(pathname, flags, mode) - return stream.fd + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function ___syscall6(which, varargs) { - SYSCALLS.varargs = varargs + SYSCALLS.varargs = varargs; try { - var stream = SYSCALLS.getStreamFromFD() - FS.close(stream) - return 0 + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e) - return -e.errno + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; } } function _abort() { - Module['abort']() + Module['abort'](); } function _emscripten_get_heap_size() { - return HEAP8.length + return HEAP8.length; } function abortOnCannotGrowMemory(requestedSize) { - abort('OOM') + abort('OOM'); } function emscripten_realloc_buffer(size) { - var PAGE_MULTIPLE = 65536 - size = alignUp(size, PAGE_MULTIPLE) - var oldSize = buffer.byteLength + var PAGE_MULTIPLE = 65536; + size = alignUp(size, PAGE_MULTIPLE); + var oldSize = buffer.byteLength; try { - var result = wasmMemory.grow((size - oldSize) / 65536) + var result = wasmMemory.grow((size - oldSize) / 65536); if (result !== (-1 | 0)) { - buffer = wasmMemory.buffer - return true + buffer = wasmMemory.buffer; + return true; } else { - return false + return false; } } catch (e) { - return false + return false; } } function _emscripten_resize_heap(requestedSize) { - var oldSize = _emscripten_get_heap_size() - var PAGE_MULTIPLE = 65536 - var LIMIT = 2147483648 - PAGE_MULTIPLE + var oldSize = _emscripten_get_heap_size(); + var PAGE_MULTIPLE = 65536; + var LIMIT = 2147483648 - PAGE_MULTIPLE; if (requestedSize > LIMIT) { - return false + return false; } - var MIN_TOTAL_MEMORY = 16777216 - var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY) + var MIN_TOTAL_MEMORY = 16777216; + var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); while (newSize < requestedSize) { if (newSize <= 536870912) { - newSize = alignUp(2 * newSize, PAGE_MULTIPLE) + newSize = alignUp(2 * newSize, PAGE_MULTIPLE); } else { newSize = Math.min( alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT - ) + ); } } if (!emscripten_realloc_buffer(newSize)) { - return false + return false; } - updateGlobalBufferViews() - return true + updateGlobalBufferViews(); + return true; } function _exit(status) { - exit(status) + exit(status); } - var ___tm_current = 277408 - var ___tm_timezone = (stringToUTF8('GMT', 277456, 4), 277456) + var ___tm_current = 277408; + var ___tm_timezone = (stringToUTF8('GMT', 277456, 4), 277456); function _tzset() { - if (_tzset.called) return - _tzset.called = true - HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60 - var winter = new Date(2e3, 0, 1) - var summer = new Date(2e3, 6, 1) + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; + var winter = new Date(2e3, 0, 1); + var summer = new Date(2e3, 6, 1); HEAP32[__get_daylight() >> 2] = Number( winter.getTimezoneOffset() != summer.getTimezoneOffset() - ) + ); function extractZone(date) { - var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/) - return match ? match[1] : 'GMT' + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : 'GMT'; } - var winterName = extractZone(winter) - var summerName = extractZone(summer) - var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL) - var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL) + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { - HEAP32[__get_tzname() >> 2] = winterNamePtr - HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr; } else { - HEAP32[__get_tzname() >> 2] = summerNamePtr - HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr; } } function _localtime_r(time, tmPtr) { - _tzset() - var date = new Date(HEAP32[time >> 2] * 1e3) - HEAP32[tmPtr >> 2] = date.getSeconds() - HEAP32[(tmPtr + 4) >> 2] = date.getMinutes() - HEAP32[(tmPtr + 8) >> 2] = date.getHours() - HEAP32[(tmPtr + 12) >> 2] = date.getDate() - HEAP32[(tmPtr + 16) >> 2] = date.getMonth() - HEAP32[(tmPtr + 20) >> 2] = date.getFullYear() - 1900 - HEAP32[(tmPtr + 24) >> 2] = date.getDay() - var start = new Date(date.getFullYear(), 0, 1) - var yday = ((date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) | 0 - HEAP32[(tmPtr + 28) >> 2] = yday - HEAP32[(tmPtr + 36) >> 2] = -(date.getTimezoneOffset() * 60) - var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset() - var winterOffset = start.getTimezoneOffset() + _tzset(); + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getSeconds(); + HEAP32[(tmPtr + 4) >> 2] = date.getMinutes(); + HEAP32[(tmPtr + 8) >> 2] = date.getHours(); + HEAP32[(tmPtr + 12) >> 2] = date.getDate(); + HEAP32[(tmPtr + 16) >> 2] = date.getMonth(); + HEAP32[(tmPtr + 20) >> 2] = date.getFullYear() - 1900; + HEAP32[(tmPtr + 24) >> 2] = date.getDay(); + var start = new Date(date.getFullYear(), 0, 1); + var yday = ((date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + HEAP32[(tmPtr + 36) >> 2] = -(date.getTimezoneOffset() * 60); + var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); var dst = (summerOffset != winterOffset && - date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0 - HEAP32[(tmPtr + 32) >> 2] = dst - var zonePtr = HEAP32[(__get_tzname() + (dst ? 4 : 0)) >> 2] - HEAP32[(tmPtr + 40) >> 2] = zonePtr - return tmPtr + date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; + HEAP32[(tmPtr + 32) >> 2] = dst; + var zonePtr = HEAP32[(__get_tzname() + (dst ? 4 : 0)) >> 2]; + HEAP32[(tmPtr + 40) >> 2] = zonePtr; + return tmPtr; } function _localtime(time) { - return _localtime_r(time, ___tm_current) + return _localtime_r(time, ___tm_current); } function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src + num), dest) + HEAPU8.set(HEAPU8.subarray(src, src + num), dest); } function _mktime(tmPtr) { - _tzset() + _tzset(); var date = new Date( HEAP32[(tmPtr + 20) >> 2] + 1900, HEAP32[(tmPtr + 16) >> 2], @@ -4803,52 +4802,52 @@ var libarchive = (function() { HEAP32[(tmPtr + 4) >> 2], HEAP32[tmPtr >> 2], 0 - ) - var dst = HEAP32[(tmPtr + 32) >> 2] - var guessedOffset = date.getTimezoneOffset() - var start = new Date(date.getFullYear(), 0, 1) - var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset() - var winterOffset = start.getTimezoneOffset() - var dstOffset = Math.min(winterOffset, summerOffset) + ); + var dst = HEAP32[(tmPtr + 32) >> 2]; + var guessedOffset = date.getTimezoneOffset(); + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dstOffset = Math.min(winterOffset, summerOffset); if (dst < 0) { HEAP32[(tmPtr + 32) >> 2] = Number( summerOffset != winterOffset && dstOffset == guessedOffset - ) + ); } else if (dst > 0 != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset) - var trueOffset = dst > 0 ? dstOffset : nonDstOffset - date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4) + var nonDstOffset = Math.max(winterOffset, summerOffset); + var trueOffset = dst > 0 ? dstOffset : nonDstOffset; + date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4); } - HEAP32[(tmPtr + 24) >> 2] = date.getDay() - var yday = ((date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) | 0 - HEAP32[(tmPtr + 28) >> 2] = yday - return (date.getTime() / 1e3) | 0 + HEAP32[(tmPtr + 24) >> 2] = date.getDay(); + var yday = ((date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + return (date.getTime() / 1e3) | 0; } function _posix_spawn_file_actions_addclose() { - err('missing function: posix_spawn_file_actions_addclose') - abort(-1) + err('missing function: posix_spawn_file_actions_addclose'); + abort(-1); } function _posix_spawn_file_actions_adddup2() { - err('missing function: posix_spawn_file_actions_adddup2') - abort(-1) + err('missing function: posix_spawn_file_actions_adddup2'); + abort(-1); } function _posix_spawn_file_actions_destroy() { - err('missing function: posix_spawn_file_actions_destroy') - abort(-1) + err('missing function: posix_spawn_file_actions_destroy'); + abort(-1); } function _posix_spawn_file_actions_init() { - err('missing function: posix_spawn_file_actions_init') - abort(-1) + err('missing function: posix_spawn_file_actions_init'); + abort(-1); } function _fork() { - ___setErrNo(11) - return -1 + ___setErrNo(11); + return -1; } function _posix_spawnp() { - return _fork.apply(null, arguments) + return _fork.apply(null, arguments); } function _timegm(tmPtr) { - _tzset() + _tzset(); var time = Date.UTC( HEAP32[(tmPtr + 20) >> 2] + 1900, HEAP32[(tmPtr + 16) >> 2], @@ -4857,35 +4856,35 @@ var libarchive = (function() { HEAP32[(tmPtr + 4) >> 2], HEAP32[tmPtr >> 2], 0 - ) - var date = new Date(time) - HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay() - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0) - var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0 - HEAP32[(tmPtr + 28) >> 2] = yday - return (date.getTime() / 1e3) | 0 + ); + var date = new Date(time); + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + return (date.getTime() / 1e3) | 0; } function _wait(stat_loc) { - ___setErrNo(10) - return -1 + ___setErrNo(10); + return -1; } function _waitpid() { - return _wait.apply(null, arguments) + return _wait.apply(null, arguments); } - FS.staticInit() + FS.staticInit(); if (ENVIRONMENT_IS_NODE) { - var fs = require('fs') - var NODEJS_PATH = require('path') - NODEFS.staticInit() + var fs = require('fs'); + var NODEJS_PATH = require('path'); + NODEFS.staticInit(); } function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1 - var u8array = new Array(len) - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length) - if (dontAddNull) u8array.length = numBytesWritten - return u8array + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; } - var asmGlobalArg = {} + var asmGlobalArg = {}; var asmLibraryArg = { b: abort, q: setTempRet0, @@ -4920,193 +4919,193 @@ var libarchive = (function() { t: _waitpid, r: abortOnCannotGrowMemory, a: DYNAMICTOP_PTR, - } - var asm = Module['asm'](asmGlobalArg, asmLibraryArg, buffer) - Module['asm'] = asm + }; + var asm = Module['asm'](asmGlobalArg, asmLibraryArg, buffer); + Module['asm'] = asm; var ___emscripten_environ_constructor = (Module[ '___emscripten_environ_constructor' ] = function() { - return Module['asm']['H'].apply(null, arguments) - }) + return Module['asm']['H'].apply(null, arguments); + }); var ___errno_location = (Module['___errno_location'] = function() { - return Module['asm']['I'].apply(null, arguments) - }) + return Module['asm']['I'].apply(null, arguments); + }); var __get_daylight = (Module['__get_daylight'] = function() { - return Module['asm']['J'].apply(null, arguments) - }) + return Module['asm']['J'].apply(null, arguments); + }); var __get_timezone = (Module['__get_timezone'] = function() { - return Module['asm']['K'].apply(null, arguments) - }) + return Module['asm']['K'].apply(null, arguments); + }); var __get_tzname = (Module['__get_tzname'] = function() { - return Module['asm']['L'].apply(null, arguments) - }) + return Module['asm']['L'].apply(null, arguments); + }); var _archive_close = (Module['_archive_close'] = function() { - return Module['asm']['M'].apply(null, arguments) - }) + return Module['asm']['M'].apply(null, arguments); + }); var _archive_entry_filetype = (Module['_archive_entry_filetype'] = function() { - return Module['asm']['N'].apply(null, arguments) - }) + return Module['asm']['N'].apply(null, arguments); + }); var _archive_entry_is_encrypted = (Module[ '_archive_entry_is_encrypted' ] = function() { - return Module['asm']['O'].apply(null, arguments) - }) + return Module['asm']['O'].apply(null, arguments); + }); var _archive_entry_pathname = (Module['_archive_entry_pathname'] = function() { - return Module['asm']['P'].apply(null, arguments) - }) + return Module['asm']['P'].apply(null, arguments); + }); var _archive_entry_pathname_utf8 = (Module[ '_archive_entry_pathname_utf8' ] = function() { - return Module['asm']['Q'].apply(null, arguments) - }) + return Module['asm']['Q'].apply(null, arguments); + }); var _archive_entry_size = (Module['_archive_entry_size'] = function() { - return Module['asm']['R'].apply(null, arguments) - }) + return Module['asm']['R'].apply(null, arguments); + }); var _archive_error_string = (Module['_archive_error_string'] = function() { - return Module['asm']['S'].apply(null, arguments) - }) + return Module['asm']['S'].apply(null, arguments); + }); var _archive_open = (Module['_archive_open'] = function() { - return Module['asm']['T'].apply(null, arguments) - }) + return Module['asm']['T'].apply(null, arguments); + }); var _archive_read_add_passphrase = (Module[ '_archive_read_add_passphrase' ] = function() { - return Module['asm']['U'].apply(null, arguments) - }) + return Module['asm']['U'].apply(null, arguments); + }); var _archive_read_data_skip = (Module['_archive_read_data_skip'] = function() { - return Module['asm']['V'].apply(null, arguments) - }) + return Module['asm']['V'].apply(null, arguments); + }); var _archive_read_has_encrypted_entries = (Module[ '_archive_read_has_encrypted_entries' ] = function() { - return Module['asm']['W'].apply(null, arguments) - }) + return Module['asm']['W'].apply(null, arguments); + }); var _free = (Module['_free'] = function() { - return Module['asm']['X'].apply(null, arguments) - }) + return Module['asm']['X'].apply(null, arguments); + }); var _get_filedata = (Module['_get_filedata'] = function() { - return Module['asm']['Y'].apply(null, arguments) - }) + return Module['asm']['Y'].apply(null, arguments); + }); var _get_next_entry = (Module['_get_next_entry'] = function() { - return Module['asm']['Z'].apply(null, arguments) - }) + return Module['asm']['Z'].apply(null, arguments); + }); var _get_version = (Module['_get_version'] = function() { - return Module['asm']['_'].apply(null, arguments) - }) + return Module['asm']['_'].apply(null, arguments); + }); var _malloc = (Module['_malloc'] = function() { - return Module['asm']['$'].apply(null, arguments) - }) + return Module['asm']['$'].apply(null, arguments); + }); var stackAlloc = (Module['stackAlloc'] = function() { - return Module['asm']['ca'].apply(null, arguments) - }) + return Module['asm']['ca'].apply(null, arguments); + }); var stackRestore = (Module['stackRestore'] = function() { - return Module['asm']['da'].apply(null, arguments) - }) + return Module['asm']['da'].apply(null, arguments); + }); var stackSave = (Module['stackSave'] = function() { - return Module['asm']['ea'].apply(null, arguments) - }) + return Module['asm']['ea'].apply(null, arguments); + }); var dynCall_v = (Module['dynCall_v'] = function() { - return Module['asm']['aa'].apply(null, arguments) - }) + return Module['asm']['aa'].apply(null, arguments); + }); var dynCall_vi = (Module['dynCall_vi'] = function() { - return Module['asm']['ba'].apply(null, arguments) - }) - Module['asm'] = asm - Module['intArrayFromString'] = intArrayFromString - Module['cwrap'] = cwrap - Module['allocate'] = allocate + return Module['asm']['ba'].apply(null, arguments); + }); + Module['asm'] = asm; + Module['intArrayFromString'] = intArrayFromString; + Module['cwrap'] = cwrap; + Module['allocate'] = allocate; Module['then'] = function(func) { if (Module['calledRun']) { - func(Module) + func(Module); } else { - var old = Module['onRuntimeInitialized'] + var old = Module['onRuntimeInitialized']; Module['onRuntimeInitialized'] = function() { - if (old) old() - func(Module) - } + if (old) old(); + func(Module); + }; } - return Module - } + return Module; + }; function ExitStatus(status) { - this.name = 'ExitStatus' - this.message = 'Program terminated with exit(' + status + ')' - this.status = status + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; } - ExitStatus.prototype = new Error() - ExitStatus.prototype.constructor = ExitStatus + ExitStatus.prototype = new Error(); + ExitStatus.prototype.constructor = ExitStatus; dependenciesFulfilled = function runCaller() { - if (!Module['calledRun']) run() - if (!Module['calledRun']) dependenciesFulfilled = runCaller - } + if (!Module['calledRun']) run(); + if (!Module['calledRun']) dependenciesFulfilled = runCaller; + }; function run(args) { - args = args || Module['arguments'] + args = args || Module['arguments']; if (runDependencies > 0) { - return + return; } - preRun() - if (runDependencies > 0) return - if (Module['calledRun']) return + preRun(); + if (runDependencies > 0) return; + if (Module['calledRun']) return; function doRun() { - if (Module['calledRun']) return - Module['calledRun'] = true - if (ABORT) return - ensureInitRuntime() - preMain() - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']() - postRun() + if (Module['calledRun']) return; + Module['calledRun'] = true; + if (ABORT) return; + ensureInitRuntime(); + preMain(); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + postRun(); } if (Module['setStatus']) { - Module['setStatus']('Running...') + Module['setStatus']('Running...'); setTimeout(function() { setTimeout(function() { - Module['setStatus']('') - }, 1) - doRun() - }, 1) + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); } else { - doRun() + doRun(); } } - Module['run'] = run + Module['run'] = run; function exit(status, implicit) { if (implicit && Module['noExitRuntime'] && status === 0) { - return + return; } if (Module['noExitRuntime']) { } else { - ABORT = true - EXITSTATUS = status - exitRuntime() - if (Module['onExit']) Module['onExit'](status) + ABORT = true; + EXITSTATUS = status; + exitRuntime(); + if (Module['onExit']) Module['onExit'](status); } - Module['quit'](status, new ExitStatus(status)) + Module['quit'](status, new ExitStatus(status)); } function abort(what) { if (Module['onAbort']) { - Module['onAbort'](what) + Module['onAbort'](what); } if (what !== undefined) { - out(what) - err(what) - what = JSON.stringify(what) + out(what); + err(what); + what = JSON.stringify(what); } else { - what = '' + what = ''; } - ABORT = true - EXITSTATUS = 1 - throw 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.' + ABORT = true; + EXITSTATUS = 1; + throw 'abort(' + what + '). Build with -s ASSERTIONS=1 for more info.'; } - Module['abort'] = abort + Module['abort'] = abort; if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']] + if (typeof Module['preInit'] === 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { - Module['preInit'].pop()() + Module['preInit'].pop()(); } } - Module['noExitRuntime'] = true - run() + Module['noExitRuntime'] = true; + run(); - return libarchive - } -})() -export default libarchive + return libarchive; + }; +})(); +export default libarchive; diff --git a/static/webworkers/worker-bundle.js b/static/webworkers/worker-bundle.js index be9885c5a..298262874 100644 --- a/static/webworkers/worker-bundle.js +++ b/static/webworkers/worker-bundle.js @@ -1,5 +1,5 @@ !(function() { - 'use strict' + 'use strict'; const e = { 32768: 'FILE', 16384: 'DIR', @@ -8,27 +8,27 @@ 8192: 'CHARACTER_DEVICE', 24576: 'BLOCK_DEVICE', 4096: 'NAMED_PIPE', - } + }; class r { constructor(e) { ;(this._wasmModule = e), (this._runCode = e.runCode), (this._file = null), - (this._passphrase = null) + (this._passphrase = null); } open(e) { - null !== this._file && (console.warn('Closing previous file'), this.close()) - const { promise: r, resolve: t, reject: n } = this._promiseHandles() - this._file = e - const o = new FileReader() - return (o.onload = () => this._loadFile(o.result, t, n)), o.readAsArrayBuffer(e), r + this._file !== null && (console.warn('Closing previous file'), this.close()); + const { promise: r, resolve: t, reject: n } = this._promiseHandles(); + this._file = e; + const o = new FileReader(); + return (o.onload = () => this._loadFile(o.result, t, n)), o.readAsArrayBuffer(e), r; } close() { this._runCode.closeArchive(this._archive), this._wasmModule._free(this._filePtr), (this._file = null), (this._filePtr = null), - (this._archive = null) + (this._archive = null); } hasEncryptedData() { ;(this._archive = this._runCode.openArchive( @@ -36,22 +36,22 @@ this._fileLength, this._passphrase )), - this._runCode.getNextEntry(this._archive) - const e = this._runCode.hasEncryptedEntries(this._archive) - return 0 !== e && (e > 0 || null) + this._runCode.getNextEntry(this._archive); + const e = this._runCode.hasEncryptedEntries(this._archive); + return e !== 0 && (e > 0 || null); } setPassphrase(e) { - this._passphrase = e + this._passphrase = e; } - *entries(r = !1, t = null) { - let n + * entries(r = !1, t = null) { + let n; for ( this._archive = this._runCode.openArchive( this._filePtr, this._fileLength, this._passphrase ); - 0 !== (n = this._runCode.getNextEntry(this._archive)); + (n = this._runCode.getNextEntry(this._archive)) !== 0; ) { const o = { @@ -59,19 +59,19 @@ path: this._runCode.getEntryName(n), type: e[this._runCode.getEntryType(n)], ref: n, + }; + if (o.type === 'FILE') { + let e = o.path.split('/'); + o.fileName = e[e.length - 1]; } - if ('FILE' === o.type) { - let e = o.path.split('/') - o.fileName = e[e.length - 1] - } - if (r && t !== o.path) this._runCode.skipEntry(this._archive) + if (r && t !== o.path) this._runCode.skipEntry(this._archive); else { - const e = this._runCode.getFileData(this._archive, o.size) + const e = this._runCode.getFileData(this._archive, o.size); if (e < 0) throw new Error(this._runCode.getError(this._archive)) ;(o.fileData = this._wasmModule.HEAP8.slice(e, e + o.size)), - this._wasmModule._free(e) + this._wasmModule._free(e); } - yield o + yield o; } } _loadFile(e, r, t) { @@ -80,244 +80,244 @@ ;(this._fileLength = n.length), (this._filePtr = this._runCode.malloc(this._fileLength)), this._wasmModule.HEAP8.set(n, this._filePtr), - r() + r(); } catch (e) { - t(e) + t(e); } } _promiseHandles() { let e = null, - r = null + r = null; return { promise: new Promise((t, n) => { - ;(e = t), (r = n) + ;(e = t), (r = n); }), resolve: e, reject: r, - } + }; } } var t, n = ((t = - 'undefined' != typeof document && document.currentScript + typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : void 0), function(e) { var r, n = void 0 !== (e = e || {}) ? e : {}, - o = {} + o = {}; for (r in n) n.hasOwnProperty(r) && (o[r] = n[r]) ;(n.arguments = []), (n.thisProgram = './this.program'), (n.quit = function(e, r) { - throw r + throw r; }), (n.preRun = []), - (n.postRun = []) + (n.postRun = []); var i, a, s = !1, u = !1 - ;(s = 'object' == typeof window), - (u = 'function' == typeof importScripts), - (i = 'object' == typeof process && 'function' == typeof require && !s && !u), - (a = !s && !i && !u) + ;(s = typeof window === 'object'), + (u = typeof importScripts === 'function'), + (i = typeof process === 'object' && typeof require === 'function' && !s && !u), + (a = !s && !i && !u); var c, f, - l = '' + l = ''; i ? ((l = __dirname + '/'), (n.read = function(e, r) { - var t + var t; return ( c || (c = require('fs')), f || (f = require('path')), (e = f.normalize(e)), (t = c.readFileSync(e)), r ? t : t.toString() - ) + ); }), (n.readBinary = function(e) { - var r = n.read(e, !0) - return r.buffer || (r = new Uint8Array(r)), E(r.buffer), r + var r = n.read(e, !0); + return r.buffer || (r = new Uint8Array(r)), E(r.buffer), r; }), process.argv.length > 1 && (n.thisProgram = process.argv[1].replace(/\\/g, '/')), (n.arguments = process.argv.slice(2)), process.on('uncaughtException', function(e) { - if (!(e instanceof qe)) throw e + if (!(e instanceof qe)) throw e; }), process.on('unhandledRejection', Ze), (n.quit = function(e) { - process.exit(e) + process.exit(e); }), (n.inspect = function() { - return '[Emscripten Module object]' + return '[Emscripten Module object]'; })) : a - ? ('undefined' != typeof read && + ? (typeof read !== 'undefined' && (n.read = function(e) { - return read(e) + return read(e); }), (n.readBinary = function(e) { - var r - return 'function' == typeof readbuffer + var r; + return typeof readbuffer === 'function' ? new Uint8Array(readbuffer(e)) - : (E('object' == typeof (r = read(e, 'binary'))), r) + : (E(typeof (r = read(e, 'binary')) === 'object'), r); }), - 'undefined' != typeof scriptArgs + typeof scriptArgs !== 'undefined' ? (n.arguments = scriptArgs) : void 0 !== arguments && (n.arguments = arguments), - 'function' == typeof quit && + typeof quit === 'function' && (n.quit = function(e) { - quit(e) + quit(e); })) : (s || u) && (u ? (l = self.location.href) : document.currentScript && (l = document.currentScript.src), t && (l = t), - (l = 0 !== l.indexOf('blob:') ? l.substr(0, l.lastIndexOf('/') + 1) : ''), + (l = l.indexOf('blob:') !== 0 ? l.substr(0, l.lastIndexOf('/') + 1) : ''), (n.read = function(e) { - var r = new XMLHttpRequest() - return r.open('GET', e, !1), r.send(null), r.responseText + var r = new XMLHttpRequest(); + return r.open('GET', e, !1), r.send(null), r.responseText; }), u && (n.readBinary = function(e) { - var r = new XMLHttpRequest() + var r = new XMLHttpRequest(); return ( r.open('GET', e, !1), (r.responseType = 'arraybuffer'), r.send(null), new Uint8Array(r.response) - ) + ); }), (n.readAsync = function(e, r, t) { - var n = new XMLHttpRequest() + var n = new XMLHttpRequest(); n.open('GET', e, !0), (n.responseType = 'arraybuffer'), (n.onload = function() { - 200 == n.status || (0 == n.status && n.response) ? r(n.response) : t() + n.status == 200 || (n.status == 0 && n.response) ? r(n.response) : t(); }), (n.onerror = t), - n.send(null) + n.send(null); }), (n.setWindowTitle = function(e) { - document.title = e - })) + document.title = e; + })); var d = n.print || - ('undefined' != typeof console + (typeof console !== 'undefined' ? console.log.bind(console) - : 'undefined' != typeof print + : typeof print !== 'undefined' ? print : null), p = n.printErr || - ('undefined' != typeof printErr + (typeof printErr !== 'undefined' ? printErr - : ('undefined' != typeof console && console.warn.bind(console)) || d) - for (r in o) o.hasOwnProperty(r) && (n[r] = o[r]) + : (typeof console !== 'undefined' && console.warn.bind(console)) || d); + for (r in o) o.hasOwnProperty(r) && (n[r] = o[r]); function m(e) { var r = M[q >> 2], - t = (r + e + 15) & -16 - if (t <= Ae()) M[q >> 2] = t - else if (!Re(t)) return 0 - return r + t = (r + e + 15) & -16; + if (t <= Ae()) M[q >> 2] = t; + else if (!Re(t)) return 0; + return r; } function h(e) { switch (e) { case 'i1': case 'i8': - return 1 + return 1; case 'i16': - return 2 + return 2; case 'i32': - return 4 + return 4; case 'i64': - return 8 + return 8; case 'float': - return 4 + return 4; case 'double': - return 8 + return 8; default: - if ('*' === e[e.length - 1]) return 4 - if ('i' === e[0]) { - var r = parseInt(e.substr(1)) + if (e[e.length - 1] === '*') return 4; + if (e[0] === 'i') { + var r = parseInt(e.substr(1)); return ( E(r % 8 == 0, 'getNativeTypeSize invalid bits ' + r + ', type ' + e), r / 8 - ) + ); } - return 0 + return 0; } } - o = void 0 + o = void 0; var v, w = { 'f64-rem': function(e, r) { - return e % r + return e % r; }, debugger: function() {}, - } - 'object' != typeof WebAssembly && p('no native wasm support detected') - var y = !1 + }; + typeof WebAssembly !== 'object' && p('no native wasm support detected'); + var y = !1; function E(e, r) { - e || Ze('Assertion failed: ' + r) + e || Ze('Assertion failed: ' + r); } function g(e) { - var r = n['_' + e] + var r = n['_' + e]; return ( E(r, 'Cannot call unknown function ' + e + ', make sure it is exported'), r - ) + ); } function _(e, r, t, n, o) { var i = { string: function(e) { - var r = 0 - if (null != e && 0 !== e) { - var t = 1 + (e.length << 2) - C(e, (r = je(t)), t) + var r = 0; + if (e != null && e !== 0) { + var t = 1 + (e.length << 2); + C(e, (r = je(t)), t); } - return r + return r; }, array: function(e) { var r, t, - n = je(e.length) - return (r = e), (t = n), R.set(r, t), n + n = je(e.length); + return (r = e), (t = n), R.set(r, t), n; }, }, a = g(e), s = [], - u = 0 + u = 0; if (n) - for (var c = 0; c < n.length; c++) { - var f = i[t[c]] - f ? (0 === u && (u = We()), (s[c] = f(n[c]))) : (s[c] = n[c]) - } - var l = a.apply(null, s) + { for (var c = 0; c < n.length; c++) { + var f = i[t[c]]; + f ? (u === 0 && (u = We()), (s[c] = f(n[c]))) : (s[c] = n[c]); + } } + var l = a.apply(null, s); return ( (l = (function(e) { - return 'string' === r ? I(e) : 'boolean' === r ? Boolean(e) : e + return r === 'string' ? I(e) : r === 'boolean' ? Boolean(e) : e; })(l)), - 0 !== u && He(u), + u !== 0 && He(u), l - ) + ); } function b(e, r, t, n) { - switch (('*' === (t = t || 'i8').charAt(t.length - 1) && (t = 'i32'), t)) { + switch (((t = t || 'i8').charAt(t.length - 1) === '*' && (t = 'i32'), t)) { case 'i1': case 'i8': - R[e >> 0] = r - break + R[e >> 0] = r; + break; case 'i16': - P[e >> 1] = r - break + P[e >> 1] = r; + break; case 'i32': - M[e >> 2] = r - break + M[e >> 2] = r; + break; case 'i64': ;(tempI64 = [ r >>> 0, @@ -329,46 +329,46 @@ : 0), ]), (M[e >> 2] = tempI64[0]), - (M[(e + 4) >> 2] = tempI64[1]) - break + (M[(e + 4) >> 2] = tempI64[1]); + break; case 'float': - B[e >> 2] = r - break + B[e >> 2] = r; + break; case 'double': - N[e >> 3] = r - break + N[e >> 3] = r; + break; default: - Ze('invalid type for setValue: ' + t) + Ze('invalid type for setValue: ' + t); } } var k = 0, - D = 3 + D = 3; function S(e, r, t, n) { - var o, i - 'number' == typeof e ? ((o = !0), (i = e)) : ((o = !1), (i = e.length)) + var o, i; + typeof e === 'number' ? ((o = !0), (i = e)) : ((o = !1), (i = e.length)); var a, - s = 'string' == typeof r ? r : null + s = typeof r === 'string' ? r : null; if (((a = t == D ? n : [Ue, je, m][t](Math.max(i, s ? 1 : r.length))), o)) { - var u - for (n = a, E(0 == (3 & a)), u = a + (-4 & i); n < u; n += 4) M[n >> 2] = 0 - for (u = a + i; n < u; ) R[n++ >> 0] = 0 - return a + var u; + for (n = a, E((3 & a) == 0), u = a + (-4 & i); n < u; n += 4) M[n >> 2] = 0; + for (u = a + i; n < u;) R[n++ >> 0] = 0; + return a; } - if ('i8' === s) - return e.subarray || e.slice ? T.set(e, a) : T.set(new Uint8Array(e), a), a - for (var c, f, l, d = 0; d < i; ) { - var p = e[d] - 0 !== (c = s || r[d]) - ? ('i64' == c && (c = 'i32'), + if (s === 'i8') + { return e.subarray || e.slice ? T.set(e, a) : T.set(new Uint8Array(e), a), a } + for (var c, f, l, d = 0; d < i;) { + var p = e[d]; + (c = s || r[d]) !== 0 + ? (c == 'i64' && (c = 'i32'), b(a + d, p, c), l !== c && ((f = h(c)), (l = c)), (d += f)) - : d++ + : d++; } - return a + return a; } function F(e) { - return $ ? Ue(e) : m(e) + return $ ? Ue(e) : m(e); } var A, R, @@ -377,105 +377,105 @@ M, B, N, - O = 'undefined' != typeof TextDecoder ? new TextDecoder('utf8') : void 0 + O = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : void 0; function x(e, r, t) { - for (var n = r + t, o = r; e[o] && !(o >= n); ) ++o - if (o - r > 16 && e.subarray && O) return O.decode(e.subarray(r, o)) - for (var i = ''; r < o; ) { - var a = e[r++] + for (var n = r + t, o = r; e[o] && !(o >= n);) ++o; + if (o - r > 16 && e.subarray && O) return O.decode(e.subarray(r, o)); + for (var i = ''; r < o;) { + var a = e[r++]; if (128 & a) { - var s = 63 & e[r++] - if (192 != (224 & a)) { - var u = 63 & e[r++] + var s = 63 & e[r++]; + if ((224 & a) != 192) { + var u = 63 & e[r++]; if ( (a = - 224 == (240 & a) + (240 & a) == 224 ? ((15 & a) << 12) | (s << 6) | u : ((7 & a) << 18) | (s << 12) | (u << 6) | (63 & e[r++])) < 65536 ) - i += String.fromCharCode(a) + { i += String.fromCharCode(a) } else { - var c = a - 65536 - i += String.fromCharCode(55296 | (c >> 10), 56320 | (1023 & c)) + var c = a - 65536; + i += String.fromCharCode(55296 | (c >> 10), 56320 | (1023 & c)); } - } else i += String.fromCharCode(((31 & a) << 6) | s) - } else i += String.fromCharCode(a) + } else i += String.fromCharCode(((31 & a) << 6) | s); + } else i += String.fromCharCode(a); } - return i + return i; } function I(e, r) { - return e ? x(T, e, r) : '' + return e ? x(T, e, r) : ''; } function z(e, r, t, n) { - if (!(n > 0)) return 0 + if (!(n > 0)) return 0; for (var o = t, i = t + n - 1, a = 0; a < e.length; ++a) { - var s = e.charCodeAt(a) + var s = e.charCodeAt(a); if ( (s >= 55296 && s <= 57343 && (s = (65536 + ((1023 & s) << 10)) | (1023 & e.charCodeAt(++a))), s <= 127) ) { - if (t >= i) break - r[t++] = s + if (t >= i) break; + r[t++] = s; } else if (s <= 2047) { if (t + 1 >= i) break - ;(r[t++] = 192 | (s >> 6)), (r[t++] = 128 | (63 & s)) + ;(r[t++] = 192 | (s >> 6)), (r[t++] = 128 | (63 & s)); } else if (s <= 65535) { if (t + 2 >= i) break ;(r[t++] = 224 | (s >> 12)), (r[t++] = 128 | ((s >> 6) & 63)), - (r[t++] = 128 | (63 & s)) + (r[t++] = 128 | (63 & s)); } else { if (t + 3 >= i) break ;(r[t++] = 240 | (s >> 18)), (r[t++] = 128 | ((s >> 12) & 63)), (r[t++] = 128 | ((s >> 6) & 63)), - (r[t++] = 128 | (63 & s)) + (r[t++] = 128 | (63 & s)); } } - return (r[t] = 0), t - o + return (r[t] = 0), t - o; } function C(e, r, t) { - return z(e, T, r, t) + return z(e, T, r, t); } function L(e) { for (var r = 0, t = 0; t < e.length; ++t) { - var n = e.charCodeAt(t) + var n = e.charCodeAt(t); n >= 55296 && n <= 57343 && (n = (65536 + ((1023 & n) << 10)) | (1023 & e.charCodeAt(++t))), - n <= 127 ? ++r : (r += n <= 2047 ? 2 : n <= 65535 ? 3 : 4) + n <= 127 ? ++r : (r += n <= 2047 ? 2 : n <= 65535 ? 3 : 4); } - return r + return r; } function U(e, r, t) { - for (var n = 0; n < e.length; ++n) R[r++ >> 0] = e.charCodeAt(n) - t || (R[r >> 0] = 0) + for (var n = 0; n < e.length; ++n) R[r++ >> 0] = e.charCodeAt(n); + t || (R[r >> 0] = 0); } function j() { var e = (function() { - var e = new Error() + var e = new Error(); if (!e.stack) { try { - throw new Error(0) + throw new Error(0); } catch (r) { - e = r + e = r; } - if (!e.stack) return '(no stack trace available)' + if (!e.stack) return '(no stack trace available)'; } - return e.stack.toString() - })() + return e.stack.toString(); + })(); return ( n.extraStackTrace && (e += '\n' + n.extraStackTrace()), e.replace(/__Z[\w\d_]+/g, function(e) { - var r = e - return e === r ? e : r + ' [' + e + ']' + var r = e; + return e === r ? e : r + ' [' + e + ']'; }) - ) + ); } function H(e, r) { - return e % r > 0 && (e += r - (e % r)), e + return e % r > 0 && (e += r - (e % r)), e; } function W() { ;(n.HEAP8 = R = new Int8Array(A)), @@ -485,22 +485,22 @@ (n.HEAPU16 = new Uint16Array(A)), (n.HEAPU32 = new Uint32Array(A)), (n.HEAPF32 = B = new Float32Array(A)), - (n.HEAPF64 = N = new Float64Array(A)) + (n.HEAPF64 = N = new Float64Array(A)); } - 'undefined' != typeof TextDecoder && new TextDecoder('utf-16le') + typeof TextDecoder !== 'undefined' && new TextDecoder('utf-16le'); var q = 277552, - K = n.TOTAL_MEMORY || 16777216 + K = n.TOTAL_MEMORY || 16777216; function Z(e) { - for (; e.length > 0; ) { - var r = e.shift() - if ('function' != typeof r) { - var t = r.func - 'number' == typeof t + for (; e.length > 0;) { + var r = e.shift(); + if (typeof r !== 'function') { + var t = r.func; + typeof t === 'number' ? void 0 === r.arg ? n.dynCall_v(t) : n.dynCall_vi(t, r.arg) - : t(void 0 === r.arg ? null : r.arg) - } else r() + : t(void 0 === r.arg ? null : r.arg); + } else r(); } } K < 5242880 && @@ -511,11 +511,11 @@ ), n.buffer ? (A = n.buffer) - : 'object' == typeof WebAssembly && 'function' == typeof WebAssembly.Memory + : typeof WebAssembly === 'object' && typeof WebAssembly.Memory === 'function' ? ((v = new WebAssembly.Memory({ initial: K / 65536 })), (A = v.buffer)) : (A = new ArrayBuffer(K)), W(), - (M[q >> 2] = 5520464) + (M[q >> 2] = 5520464); var V = [], X = [], Y = [], @@ -527,34 +527,34 @@ re = Math.min, te = 0, ne = null, - oe = null + oe = null; function ie(e) { - te++, n.monitorRunDependencies && n.monitorRunDependencies(te) + te++, n.monitorRunDependencies && n.monitorRunDependencies(te); } function ae(e) { if ( (te--, n.monitorRunDependencies && n.monitorRunDependencies(te), - 0 == te && (null !== ne && (clearInterval(ne), (ne = null)), oe)) + te == 0 && (ne !== null && (clearInterval(ne), (ne = null)), oe)) ) { var r = oe - ;(oe = null), r() + ;(oe = null), r(); } } - ;(n.preloadedImages = {}), (n.preloadedAudios = {}) - var se = 'data:application/octet-stream;base64,' + ;(n.preloadedImages = {}), (n.preloadedAudios = {}); + var se = 'data:application/octet-stream;base64,'; function ue(e) { - return String.prototype.startsWith ? e.startsWith(se) : 0 === e.indexOf(se) + return String.prototype.startsWith ? e.startsWith(se) : e.indexOf(se) === 0; } var ce, - fe = 'libarchive.wasm' + fe = 'libarchive.wasm'; function le() { try { - if (n.wasmBinary) return new Uint8Array(n.wasmBinary) - if (n.readBinary) return n.readBinary(fe) - throw 'both async and sync fetching of the wasm failed' + if (n.wasmBinary) return new Uint8Array(n.wasmBinary); + if (n.readBinary) return n.readBinary(fe); + throw 'both async and sync fetching of the wasm failed'; } catch (e) { - Ze(e) + Ze(e); } } function de(e) { @@ -563,46 +563,46 @@ global: { NaN: NaN, Infinity: 1 / 0 }, 'global.Math': Math, asm2wasm: w, - } + }; function t(e, r) { var t = e.exports - ;(n.asm = t), ae() + ;(n.asm = t), ae(); } if ((ie(), n.instantiateWasm)) - try { - return n.instantiateWasm(r, t) + { try { + return n.instantiateWasm(r, t); } catch (e) { - return p('Module.instantiateWasm callback failed with error: ' + e), !1 - } + return p('Module.instantiateWasm callback failed with error: ' + e), !1; + } } function o(e) { - t(e.instance) + t(e.instance); } function i(e) { - ;(n.wasmBinary || (!s && !u) || 'function' != typeof fetch + ;(n.wasmBinary || (!s && !u) || typeof fetch !== 'function' ? new Promise(function(e, r) { - e(le()) + e(le()); }) : fetch(fe, { credentials: 'same-origin' }) .then(function(e) { - if (!e.ok) throw "failed to load wasm binary file at '" + fe + "'" - return e.arrayBuffer() + if (!e.ok) throw "failed to load wasm binary file at '" + fe + "'"; + return e.arrayBuffer(); }) .catch(function() { - return le() + return le(); }) ) .then(function(e) { - return WebAssembly.instantiate(e, r) + return WebAssembly.instantiate(e, r); }) .then(e, function(e) { - p('failed to asynchronously prepare wasm: ' + e), Ze(e) - }) + p('failed to asynchronously prepare wasm: ' + e), Ze(e); + }); } return ( n.wasmBinary || - 'function' != typeof WebAssembly.instantiateStreaming || + typeof WebAssembly.instantiateStreaming !== 'function' || ue(fe) || - 'function' != typeof fetch + typeof fetch !== 'function' ? i(o) : WebAssembly.instantiateStreaming( fetch(fe, { credentials: 'same-origin' }), @@ -610,10 +610,10 @@ ).then(o, function(e) { p('wasm streaming compile failed: ' + e), p('falling back to ArrayBuffer instantiation'), - i(o) + i(o); }), {} - ) + ); } ue(fe) || ((ce = fe), (fe = n.locateFile ? n.locateFile(ce, l) : l + ce)), (n.asm = function(e, r, t) { @@ -627,40 +627,40 @@ (r.__memory_base = 1024), (r.__table_base = 0), de(r) - ) + ); }), X.push({ func: function() { - Ie() + Ie(); }, - }) + }); var pe = {}, me = { splitPath: function(e) { return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/ .exec(e) - .slice(1) + .slice(1); }, normalizeArray: function(e, r) { for (var t = 0, n = e.length - 1; n >= 0; n--) { - var o = e[n] - '.' === o + var o = e[n]; + o === '.' ? e.splice(n, 1) - : '..' === o + : o === '..' ? (e.splice(n, 1), t++) - : t && (e.splice(n, 1), t--) + : t && (e.splice(n, 1), t--); } - if (r) for (; t; t--) e.unshift('..') - return e + if (r) for (; t; t--) e.unshift('..'); + return e; }, normalize: function(e) { - var r = '/' === e.charAt(0), - t = '/' === e.substr(-1) + var r = e.charAt(0) === '/', + t = e.substr(-1) === '/'; return ( (e = me .normalizeArray( e.split('/').filter(function(e) { - return !!e + return !!e; }), !r ) @@ -669,61 +669,61 @@ (e = '.'), e && t && (e += '/'), (r ? '/' : '') + e - ) + ); }, dirname: function(e) { var r = me.splitPath(e), t = r[0], - n = r[1] - return t || n ? (n && (n = n.substr(0, n.length - 1)), t + n) : '.' + n = r[1]; + return t || n ? (n && (n = n.substr(0, n.length - 1)), t + n) : '.'; }, basename: function(e) { - if ('/' === e) return '/' - var r = e.lastIndexOf('/') - return -1 === r ? e : e.substr(r + 1) + if (e === '/') return '/'; + var r = e.lastIndexOf('/'); + return r === -1 ? e : e.substr(r + 1); }, extname: function(e) { - return me.splitPath(e)[3] + return me.splitPath(e)[3]; }, join: function() { - var e = Array.prototype.slice.call(arguments, 0) - return me.normalize(e.join('/')) + var e = Array.prototype.slice.call(arguments, 0); + return me.normalize(e.join('/')); }, join2: function(e, r) { - return me.normalize(e + '/' + r) + return me.normalize(e + '/' + r); }, - } + }; function he(e) { - return n.___errno_location && (M[n.___errno_location() >> 2] = e), e + return n.___errno_location && (M[n.___errno_location() >> 2] = e), e; } var ve = { resolve: function() { for (var e = '', r = !1, t = arguments.length - 1; t >= -1 && !r; t--) { - var n = t >= 0 ? arguments[t] : be.cwd() - if ('string' != typeof n) - throw new TypeError('Arguments to path.resolve must be strings') + var n = t >= 0 ? arguments[t] : be.cwd(); + if (typeof n !== 'string') + { throw new TypeError('Arguments to path.resolve must be strings') } if (!n) return '' - ;(e = n + '/' + e), (r = '/' === n.charAt(0)) + ;(e = n + '/' + e), (r = n.charAt(0) === '/'); } return ( (r ? '/' : '') + (e = me .normalizeArray( e.split('/').filter(function(e) { - return !!e + return !!e; }), !r ) .join('/')) || '.' - ) + ); }, relative: function(e, r) { function t(e) { - for (var r = 0; r < e.length && '' === e[r]; r++); - for (var t = e.length - 1; t >= 0 && '' === e[t]; t--); - return r > t ? [] : e.slice(r, t - r + 1) + for (var r = 0; r < e.length && e[r] === ''; r++); + for (var t = e.length - 1; t >= 0 && e[t] === ''; t--); + return r > t ? [] : e.slice(r, t - r + 1); } - ;(e = ve.resolve(e).substr(1)), (r = ve.resolve(r).substr(1)) + ;(e = ve.resolve(e).substr(1)), (r = ve.resolve(r).substr(1)); for ( var n = t(e.split('/')), o = t(r.split('/')), @@ -733,13 +733,13 @@ s < i; s++ ) - if (n[s] !== o[s]) { - a = s - break - } - var u = [] - for (s = a; s < n.length; s++) u.push('..') - return (u = u.concat(o.slice(a))).join('/') + { if (n[s] !== o[s]) { + a = s; + break; + } } + var u = []; + for (s = a; s < n.length; s++) u.push('..'); + return (u = u.concat(o.slice(a))).join('/'); }, }, we = { @@ -748,106 +748,106 @@ shutdown: function() {}, register: function(e, r) { ;(we.ttys[e] = { input: [], output: [], ops: r }), - be.registerDevice(e, we.stream_ops) + be.registerDevice(e, we.stream_ops); }, stream_ops: { open: function(e) { - var r = we.ttys[e.node.rdev] + var r = we.ttys[e.node.rdev]; if (!r) throw new be.ErrnoError(19) - ;(e.tty = r), (e.seekable = !1) + ;(e.tty = r), (e.seekable = !1); }, close: function(e) { - e.tty.ops.flush(e.tty) + e.tty.ops.flush(e.tty); }, flush: function(e) { - e.tty.ops.flush(e.tty) + e.tty.ops.flush(e.tty); }, read: function(e, r, t, n, o) { - if (!e.tty || !e.tty.ops.get_char) throw new be.ErrnoError(6) + if (!e.tty || !e.tty.ops.get_char) throw new be.ErrnoError(6); for (var i = 0, a = 0; a < n; a++) { - var s + var s; try { - s = e.tty.ops.get_char(e.tty) + s = e.tty.ops.get_char(e.tty); } catch (e) { - throw new be.ErrnoError(5) + throw new be.ErrnoError(5); } - if (void 0 === s && 0 === i) throw new be.ErrnoError(11) - if (null == s) break - i++, (r[t + a] = s) + if (void 0 === s && i === 0) throw new be.ErrnoError(11); + if (s == null) break; + i++, (r[t + a] = s); } - return i && (e.node.timestamp = Date.now()), i + return i && (e.node.timestamp = Date.now()), i; }, write: function(e, r, t, n, o) { - if (!e.tty || !e.tty.ops.put_char) throw new be.ErrnoError(6) + if (!e.tty || !e.tty.ops.put_char) throw new be.ErrnoError(6); try { - for (var i = 0; i < n; i++) e.tty.ops.put_char(e.tty, r[t + i]) + for (var i = 0; i < n; i++) e.tty.ops.put_char(e.tty, r[t + i]); } catch (e) { - throw new be.ErrnoError(5) + throw new be.ErrnoError(5); } - return n && (e.node.timestamp = Date.now()), i + return n && (e.node.timestamp = Date.now()), i; }, }, default_tty_ops: { get_char: function(e) { if (!e.input.length) { - var r = null + var r = null; if (i) { var t = new Buffer(256), n = 0, - o = 'win32' != process.platform, - a = process.stdin.fd + o = process.platform != 'win32', + a = process.stdin.fd; if (o) { - var s = !1 + var s = !1; try { - ;(a = Me.openSync('/dev/stdin', 'r')), (s = !0) + ;(a = Me.openSync('/dev/stdin', 'r')), (s = !0); } catch (e) {} } try { - n = Me.readSync(a, t, 0, 256, null) + n = Me.readSync(a, t, 0, 256, null); } catch (e) { - if (-1 == e.toString().indexOf('EOF')) throw e - n = 0 + if (e.toString().indexOf('EOF') == -1) throw e; + n = 0; } s && Me.closeSync(a), - (r = n > 0 ? t.slice(0, n).toString('utf-8') : null) + (r = n > 0 ? t.slice(0, n).toString('utf-8') : null); } else - 'undefined' != typeof window && 'function' == typeof window.prompt - ? null !== (r = window.prompt('Input: ')) && (r += '\n') - : 'function' == typeof readline && - null !== (r = readline()) && - (r += '\n') - if (!r) return null - e.input = Ne(r, !0) + { typeof window !== 'undefined' && typeof window.prompt === 'function' + ? (r = window.prompt('Input: ')) !== null && (r += '\n') + : typeof readline === 'function' && + (r = readline()) !== null && + (r += '\n'); } + if (!r) return null; + e.input = Ne(r, !0); } - return e.input.shift() + return e.input.shift(); }, put_char: function(e, r) { - null === r || 10 === r + r === null || r === 10 ? (d(x(e.output, 0)), (e.output = [])) - : 0 != r && e.output.push(r) + : r != 0 && e.output.push(r); }, flush: function(e) { - e.output && e.output.length > 0 && (d(x(e.output, 0)), (e.output = [])) + e.output && e.output.length > 0 && (d(x(e.output, 0)), (e.output = [])); }, }, default_tty1_ops: { put_char: function(e, r) { - null === r || 10 === r + r === null || r === 10 ? (p(x(e.output, 0)), (e.output = [])) - : 0 != r && e.output.push(r) + : r != 0 && e.output.push(r); }, flush: function(e) { - e.output && e.output.length > 0 && (p(x(e.output, 0)), (e.output = [])) + e.output && e.output.length > 0 && (p(x(e.output, 0)), (e.output = [])); }, }, }, ye = { ops_table: null, mount: function(e) { - return ye.createNode(null, '/', 16895, 0) + return ye.createNode(null, '/', 16895, 0); }, createNode: function(e, r, t, n) { - if (be.isBlkdev(t) || be.isFIFO(t)) throw new be.ErrnoError(1) + if (be.isBlkdev(t) || be.isFIFO(t)) throw new be.ErrnoError(1); ye.ops_table || (ye.ops_table = { dir: { @@ -887,8 +887,8 @@ node: { getattr: ye.node_ops.getattr, setattr: ye.node_ops.setattr }, stream: be.chrdev_stream_ops, }, - }) - var o = be.createNode(e, r, t, n) + }); + var o = be.createNode(e, r, t, n); return ( be.isDir(o.mode) ? ((o.node_ops = ye.ops_table.dir.node), @@ -908,52 +908,52 @@ (o.timestamp = Date.now()), e && (e.contents[r] = o), o - ) + ); }, getFileDataAsRegularArray: function(e) { if (e.contents && e.contents.subarray) { - for (var r = [], t = 0; t < e.usedBytes; ++t) r.push(e.contents[t]) - return r + for (var r = [], t = 0; t < e.usedBytes; ++t) r.push(e.contents[t]); + return r; } - return e.contents + return e.contents; }, getFileDataAsTypedArray: function(e) { return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) - : new Uint8Array() + : new Uint8Array(); }, expandFileStorage: function(e, r) { - var t = e.contents ? e.contents.length : 0 + var t = e.contents ? e.contents.length : 0; if (!(t >= r)) { ;(r = Math.max(r, (t * (t < 1048576 ? 2 : 1.125)) | 0)), - 0 != t && (r = Math.max(r, 256)) + t != 0 && (r = Math.max(r, 256)); var n = e.contents ;(e.contents = new Uint8Array(r)), - e.usedBytes > 0 && e.contents.set(n.subarray(0, e.usedBytes), 0) + e.usedBytes > 0 && e.contents.set(n.subarray(0, e.usedBytes), 0); } }, resizeFileStorage: function(e, r) { if (e.usedBytes != r) { - if (0 == r) return (e.contents = null), void (e.usedBytes = 0) + if (r == 0) return (e.contents = null), void (e.usedBytes = 0); if (!e.contents || e.contents.subarray) { - var t = e.contents + var t = e.contents; return ( (e.contents = new Uint8Array(new ArrayBuffer(r))), t && e.contents.set(t.subarray(0, Math.min(r, e.usedBytes))), void (e.usedBytes = r) - ) + ); } if ((e.contents || (e.contents = []), e.contents.length > r)) - e.contents.length = r - else for (; e.contents.length < r; ) e.contents.push(0) - e.usedBytes = r + { e.contents.length = r } + else for (; e.contents.length < r;) e.contents.push(0); + e.usedBytes = r; } }, node_ops: { getattr: function(e) { - var r = {} + var r = {}; return ( (r.dev = be.isChrdev(e.mode) ? e.id : 1), (r.ino = e.id), @@ -975,104 +975,104 @@ (r.blksize = 4096), (r.blocks = Math.ceil(r.size / r.blksize)), r - ) + ); }, setattr: function(e, r) { void 0 !== r.mode && (e.mode = r.mode), void 0 !== r.timestamp && (e.timestamp = r.timestamp), - void 0 !== r.size && ye.resizeFileStorage(e, r.size) + void 0 !== r.size && ye.resizeFileStorage(e, r.size); }, lookup: function(e, r) { - throw be.genericErrors[2] + throw be.genericErrors[2]; }, mknod: function(e, r, t, n) { - return ye.createNode(e, r, t, n) + return ye.createNode(e, r, t, n); }, rename: function(e, r, t) { if (be.isDir(e.mode)) { - var n + var n; try { - n = be.lookupNode(r, t) + n = be.lookupNode(r, t); } catch (e) {} - if (n) for (var o in n.contents) throw new be.ErrnoError(39) + if (n) for (var o in n.contents) throw new be.ErrnoError(39); } delete e.parent.contents[e.name], (e.name = t), (r.contents[t] = e), - (e.parent = r) + (e.parent = r); }, unlink: function(e, r) { - delete e.contents[r] + delete e.contents[r]; }, rmdir: function(e, r) { - var t = be.lookupNode(e, r) - for (var n in t.contents) throw new be.ErrnoError(39) - delete e.contents[r] + var t = be.lookupNode(e, r); + for (var n in t.contents) throw new be.ErrnoError(39); + delete e.contents[r]; }, readdir: function(e) { - var r = ['.', '..'] - for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t) - return r + var r = ['.', '..']; + for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t); + return r; }, symlink: function(e, r, t) { - var n = ye.createNode(e, r, 41471, 0) - return (n.link = t), n + var n = ye.createNode(e, r, 41471, 0); + return (n.link = t), n; }, readlink: function(e) { - if (!be.isLink(e.mode)) throw new be.ErrnoError(22) - return e.link + if (!be.isLink(e.mode)) throw new be.ErrnoError(22); + return e.link; }, }, stream_ops: { read: function(e, r, t, n, o) { - var i = e.node.contents - if (o >= e.node.usedBytes) return 0 - var a = Math.min(e.node.usedBytes - o, n) - if (a > 8 && i.subarray) r.set(i.subarray(o, o + a), t) - else for (var s = 0; s < a; s++) r[t + s] = i[o + s] - return a + var i = e.node.contents; + if (o >= e.node.usedBytes) return 0; + var a = Math.min(e.node.usedBytes - o, n); + if (a > 8 && i.subarray) r.set(i.subarray(o, o + a), t); + else for (var s = 0; s < a; s++) r[t + s] = i[o + s]; + return a; }, write: function(e, r, t, n, o, i) { - if (!n) return 0 - var a = e.node + if (!n) return 0; + var a = e.node; if ( ((a.timestamp = Date.now()), r.subarray && (!a.contents || a.contents.subarray)) ) { - if (0 === a.usedBytes && 0 === o) - return ( + if (a.usedBytes === 0 && o === 0) + { return ( (a.contents = new Uint8Array(r.subarray(t, t + n))), (a.usedBytes = n), n - ) + ); } if (o + n <= a.usedBytes) - return a.contents.set(r.subarray(t, t + n), o), n + { return a.contents.set(r.subarray(t, t + n), o), n } } if ((ye.expandFileStorage(a, o + n), a.contents.subarray && r.subarray)) - a.contents.set(r.subarray(t, t + n), o) - else for (var s = 0; s < n; s++) a.contents[o + s] = r[t + s] - return (a.usedBytes = Math.max(a.usedBytes, o + n)), n + { a.contents.set(r.subarray(t, t + n), o) } + else for (var s = 0; s < n; s++) a.contents[o + s] = r[t + s]; + return (a.usedBytes = Math.max(a.usedBytes, o + n)), n; }, llseek: function(e, r, t) { - var n = r + var n = r; if ( - (1 === t + (t === 1 ? (n += e.position) - : 2 === t && be.isFile(e.node.mode) && (n += e.node.usedBytes), + : t === 2 && be.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) ) - throw new be.ErrnoError(22) - return n + { throw new be.ErrnoError(22) } + return n; }, allocate: function(e, r, t) { ye.expandFileStorage(e.node, r + t), - (e.node.usedBytes = Math.max(e.node.usedBytes, r + t)) + (e.node.usedBytes = Math.max(e.node.usedBytes, r + t)); }, mmap: function(e, r, t, n, o, i, a) { - if (!be.isFile(e.node.mode)) throw new be.ErrnoError(19) + if (!be.isFile(e.node.mode)) throw new be.ErrnoError(19); var s, u, - c = e.node.contents + c = e.node.contents; if (2 & a || (c.buffer !== r && c.buffer !== r.buffer)) { if ( ((o > 0 || o + n < e.node.usedBytes) && @@ -1082,24 +1082,24 @@ (u = !0), !(s = Ue(n))) ) - throw new be.ErrnoError(12) - r.set(c, s) - } else (u = !1), (s = c.byteOffset) - return { ptr: s, allocated: u } + { throw new be.ErrnoError(12) } + r.set(c, s); + } else (u = !1), (s = c.byteOffset); + return { ptr: s, allocated: u }; }, msync: function(e, r, t, n, o) { - if (!be.isFile(e.node.mode)) throw new be.ErrnoError(19) - return 2 & o ? 0 : (ye.stream_ops.write(e, r, 0, n, t, !1), 0) + if (!be.isFile(e.node.mode)) throw new be.ErrnoError(19); + return 2 & o ? 0 : (ye.stream_ops.write(e, r, 0, n, t, !1), 0); }, }, }, Ee = { dbs: {}, indexedDB: function() { - if ('undefined' != typeof indexedDB) return indexedDB - var e = null + if (typeof indexedDB !== 'undefined') return indexedDB; + var e = null; return ( - 'object' == typeof window && + typeof window === 'object' && (e = window.indexedDB || window.mozIndexedDB || @@ -1107,32 +1107,32 @@ window.msIndexedDB), E(e, 'IDBFS used, but indexedDB not supported'), e - ) + ); }, DB_VERSION: 21, DB_STORE_NAME: 'FILE_DATA', mount: function(e) { - return ye.mount.apply(null, arguments) + return ye.mount.apply(null, arguments); }, syncfs: function(e, r, t) { Ee.getLocalSet(e, function(n, o) { - if (n) return t(n) + if (n) return t(n); Ee.getRemoteSet(e, function(e, n) { - if (e) return t(e) + if (e) return t(e); var i = r ? n : o, - a = r ? o : n - Ee.reconcile(i, a, t) - }) - }) + a = r ? o : n; + Ee.reconcile(i, a, t); + }); + }); }, getDB: function(e, r) { var t, - n = Ee.dbs[e] - if (n) return r(null, n) + n = Ee.dbs[e]; + if (n) return r(null, n); try { - t = Ee.indexedDB().open(e, Ee.DB_VERSION) + t = Ee.indexedDB().open(e, Ee.DB_VERSION); } catch (e) { - return r(e) + return r(e); } if (!t) return r('Unable to connect to IndexedDB') ;(t.onupgradeneeded = function(e) { @@ -1143,24 +1143,24 @@ ? n.objectStore(Ee.DB_STORE_NAME) : t.createObjectStore(Ee.DB_STORE_NAME)).indexNames.contains( 'timestamp' - ) || r.createIndex('timestamp', 'timestamp', { unique: !1 }) + ) || r.createIndex('timestamp', 'timestamp', { unique: !1 }); }), (t.onsuccess = function() { - ;(n = t.result), (Ee.dbs[e] = n), r(null, n) + ;(n = t.result), (Ee.dbs[e] = n), r(null, n); }), (t.onerror = function(e) { - r(this.error), e.preventDefault() - }) + r(this.error), e.preventDefault(); + }); }, getLocalSet: function(e, r) { - var t = {} + var t = {}; function n(e) { - return '.' !== e && '..' !== e + return e !== '.' && e !== '..'; } function o(e) { return function(r) { - return me.join2(e, r) - } + return me.join2(e, r); + }; } for ( var i = be @@ -1171,11 +1171,11 @@ ) { var a, - s = i.pop() + s = i.pop(); try { - a = be.stat(s) + a = be.stat(s); } catch (e) { - return r(e) + return r(e); } be.isDir(a.mode) && i.push.apply( @@ -1185,118 +1185,118 @@ .filter(n) .map(o(s)) ), - (t[s] = { timestamp: a.mtime }) + (t[s] = { timestamp: a.mtime }); } - return r(null, { type: 'local', entries: t }) + return r(null, { type: 'local', entries: t }); }, getRemoteSet: function(e, r) { - var t = {} + var t = {}; Ee.getDB(e.mountpoint, function(e, n) { - if (e) return r(e) + if (e) return r(e); try { var o = n.transaction([Ee.DB_STORE_NAME], 'readonly') ;(o.onerror = function(e) { - r(this.error), e.preventDefault() + r(this.error), e.preventDefault(); }), (o .objectStore(Ee.DB_STORE_NAME) .index('timestamp') .openKeyCursor().onsuccess = function(e) { - var o = e.target.result + var o = e.target.result; if (!o) return r(null, { type: 'remote', db: n, entries: t }) - ;(t[o.primaryKey] = { timestamp: o.key }), o.continue() - }) + ;(t[o.primaryKey] = { timestamp: o.key }), o.continue(); + }); } catch (e) { - return r(e) + return r(e); } - }) + }); }, loadLocalEntry: function(e, r) { - var t, n + var t, n; try { - ;(n = be.lookupPath(e).node), (t = be.stat(e)) + ;(n = be.lookupPath(e).node), (t = be.stat(e)); } catch (e) { - return r(e) + return r(e); } return be.isDir(t.mode) ? r(null, { timestamp: t.mtime, mode: t.mode }) : be.isFile(t.mode) ? ((n.contents = ye.getFileDataAsTypedArray(n)), r(null, { timestamp: t.mtime, mode: t.mode, contents: n.contents })) - : r(new Error('node type not supported')) + : r(new Error('node type not supported')); }, storeLocalEntry: function(e, r, t) { try { - if (be.isDir(r.mode)) be.mkdir(e, r.mode) + if (be.isDir(r.mode)) be.mkdir(e, r.mode); else { - if (!be.isFile(r.mode)) return t(new Error('node type not supported')) - be.writeFile(e, r.contents, { canOwn: !0 }) + if (!be.isFile(r.mode)) return t(new Error('node type not supported')); + be.writeFile(e, r.contents, { canOwn: !0 }); } - be.chmod(e, r.mode), be.utime(e, r.timestamp, r.timestamp) + be.chmod(e, r.mode), be.utime(e, r.timestamp, r.timestamp); } catch (e) { - return t(e) + return t(e); } - t(null) + t(null); }, removeLocalEntry: function(e, r) { try { - be.lookupPath(e) - var t = be.stat(e) - be.isDir(t.mode) ? be.rmdir(e) : be.isFile(t.mode) && be.unlink(e) + be.lookupPath(e); + var t = be.stat(e); + be.isDir(t.mode) ? be.rmdir(e) : be.isFile(t.mode) && be.unlink(e); } catch (e) { - return r(e) + return r(e); } - r(null) + r(null); }, loadRemoteEntry: function(e, r, t) { var n = e.get(r) ;(n.onsuccess = function(e) { - t(null, e.target.result) + t(null, e.target.result); }), (n.onerror = function(e) { - t(this.error), e.preventDefault() - }) + t(this.error), e.preventDefault(); + }); }, storeRemoteEntry: function(e, r, t, n) { var o = e.put(t, r) ;(o.onsuccess = function() { - n(null) + n(null); }), (o.onerror = function(e) { - n(this.error), e.preventDefault() - }) + n(this.error), e.preventDefault(); + }); }, removeRemoteEntry: function(e, r, t) { var n = e.delete(r) ;(n.onsuccess = function() { - t(null) + t(null); }), (n.onerror = function(e) { - t(this.error), e.preventDefault() - }) + t(this.error), e.preventDefault(); + }); }, reconcile: function(e, r, t) { var n = 0, - o = [] + o = []; Object.keys(e.entries).forEach(function(t) { var i = e.entries[t], a = r.entries[t] - ;(!a || i.timestamp > a.timestamp) && (o.push(t), n++) - }) - var i = [] + ;(!a || i.timestamp > a.timestamp) && (o.push(t), n++); + }); + var i = []; if ( (Object.keys(r.entries).forEach(function(t) { - r.entries[t], e.entries[t] || (i.push(t), n++) + r.entries[t], e.entries[t] || (i.push(t), n++); }), !n) ) - return t(null) + { return t(null) } var a = 0, - s = ('remote' === e.type ? e.db : r.db).transaction( + s = (e.type === 'remote' ? e.db : r.db).transaction( [Ee.DB_STORE_NAME], 'readwrite' ), - u = s.objectStore(Ee.DB_STORE_NAME) + u = s.objectStore(Ee.DB_STORE_NAME); function c(e) { return e ? c.errored @@ -1304,37 +1304,37 @@ : ((c.errored = !0), t(e)) : ++a >= n ? t(null) - : void 0 + : void 0; } ;(s.onerror = function(e) { - c(this.error), e.preventDefault() + c(this.error), e.preventDefault(); }), o.sort().forEach(function(e) { - 'local' === r.type + r.type === 'local' ? Ee.loadRemoteEntry(u, e, function(r, t) { - if (r) return c(r) - Ee.storeLocalEntry(e, t, c) + if (r) return c(r); + Ee.storeLocalEntry(e, t, c); }) : Ee.loadLocalEntry(e, function(r, t) { - if (r) return c(r) - Ee.storeRemoteEntry(u, e, t, c) - }) + if (r) return c(r); + Ee.storeRemoteEntry(u, e, t, c); + }); }), i .sort() .reverse() .forEach(function(e) { - 'local' === r.type + r.type === 'local' ? Ee.removeLocalEntry(e, c) - : Ee.removeRemoteEntry(u, e, c) - }) + : Ee.removeRemoteEntry(u, e, c); + }); }, }, ge = { isWindows: !1, staticInit: function() { - ge.isWindows = !!process.platform.match(/^win/) - var e = process.binding('constants') + ge.isWindows = !!process.platform.match(/^win/); + var e = process.binding('constants'); e.fs && (e = e.fs), (ge.flagsForNodeMap = { 1024: e.O_APPEND, @@ -1345,52 +1345,52 @@ 4096: e.O_SYNC, 512: e.O_TRUNC, 1: e.O_WRONLY, - }) + }); }, bufferFrom: function(e) { - return Buffer.alloc ? Buffer.from(e) : new Buffer(e) + return Buffer.alloc ? Buffer.from(e) : new Buffer(e); }, mount: function(e) { - return E(i), ge.createNode(null, '/', ge.getMode(e.opts.root), 0) + return E(i), ge.createNode(null, '/', ge.getMode(e.opts.root), 0); }, createNode: function(e, r, t, n) { if (!be.isDir(t) && !be.isFile(t) && !be.isLink(t)) - throw new be.ErrnoError(22) - var o = be.createNode(e, r, t) - return (o.node_ops = ge.node_ops), (o.stream_ops = ge.stream_ops), o + { throw new be.ErrnoError(22) } + var o = be.createNode(e, r, t); + return (o.node_ops = ge.node_ops), (o.stream_ops = ge.stream_ops), o; }, getMode: function(e) { - var r + var r; try { ;(r = Me.lstatSync(e)), - ge.isWindows && (r.mode = r.mode | ((292 & r.mode) >> 2)) + ge.isWindows && (r.mode = r.mode | ((292 & r.mode) >> 2)); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } - return r.mode + return r.mode; }, realPath: function(e) { - for (var r = []; e.parent !== e; ) r.push(e.name), (e = e.parent) - return r.push(e.mount.opts.root), r.reverse(), me.join.apply(null, r) + for (var r = []; e.parent !== e;) r.push(e.name), (e = e.parent); + return r.push(e.mount.opts.root), r.reverse(), me.join.apply(null, r); }, flagsForNode: function(e) { - ;(e &= -2097153), (e &= -2049), (e &= -32769), (e &= -524289) - var r = 0 + ;(e &= -2097153), (e &= -2049), (e &= -32769), (e &= -524289); + var r = 0; for (var t in ge.flagsForNodeMap) - e & t && ((r |= ge.flagsForNodeMap[t]), (e ^= t)) - if (e) throw new be.ErrnoError(22) - return r + { e & t && ((r |= ge.flagsForNodeMap[t]), (e ^= t)) } + if (e) throw new be.ErrnoError(22); + return r; }, node_ops: { getattr: function(e) { var r, - t = ge.realPath(e) + t = ge.realPath(e); try { - r = Me.lstatSync(t) + r = Me.lstatSync(t); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } return ( ge.isWindows && !r.blksize && (r.blksize = 4096), @@ -1412,146 +1412,146 @@ blksize: r.blksize, blocks: r.blocks, } - ) + ); }, setattr: function(e, r) { - var t = ge.realPath(e) + var t = ge.realPath(e); try { if ( (void 0 !== r.mode && (Me.chmodSync(t, r.mode), (e.mode = r.mode)), void 0 !== r.timestamp) ) { - var n = new Date(r.timestamp) - Me.utimesSync(t, n, n) + var n = new Date(r.timestamp); + Me.utimesSync(t, n, n); } - void 0 !== r.size && Me.truncateSync(t, r.size) + void 0 !== r.size && Me.truncateSync(t, r.size); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, lookup: function(e, r) { var t = me.join2(ge.realPath(e), r), - n = ge.getMode(t) - return ge.createNode(e, r, n) + n = ge.getMode(t); + return ge.createNode(e, r, n); }, mknod: function(e, r, t, n) { var o = ge.createNode(e, r, t, n), - i = ge.realPath(o) + i = ge.realPath(o); try { be.isDir(o.mode) ? Me.mkdirSync(i, o.mode) - : Me.writeFileSync(i, '', { mode: o.mode }) + : Me.writeFileSync(i, '', { mode: o.mode }); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } - return o + return o; }, rename: function(e, r, t) { var n = ge.realPath(e), - o = me.join2(ge.realPath(r), t) + o = me.join2(ge.realPath(r), t); try { - Me.renameSync(n, o) + Me.renameSync(n, o); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, unlink: function(e, r) { - var t = me.join2(ge.realPath(e), r) + var t = me.join2(ge.realPath(e), r); try { - Me.unlinkSync(t) + Me.unlinkSync(t); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, rmdir: function(e, r) { - var t = me.join2(ge.realPath(e), r) + var t = me.join2(ge.realPath(e), r); try { - Me.rmdirSync(t) + Me.rmdirSync(t); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, readdir: function(e) { - var r = ge.realPath(e) + var r = ge.realPath(e); try { - return Me.readdirSync(r) + return Me.readdirSync(r); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, symlink: function(e, r, t) { - var n = me.join2(ge.realPath(e), r) + var n = me.join2(ge.realPath(e), r); try { - Me.symlinkSync(t, n) + Me.symlinkSync(t, n); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, readlink: function(e) { - var r = ge.realPath(e) + var r = ge.realPath(e); try { return ( (r = Me.readlinkSync(r)), (r = Be.relative(Be.resolve(e.mount.opts.root), r)) - ) + ); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, }, stream_ops: { open: function(e) { - var r = ge.realPath(e.node) + var r = ge.realPath(e.node); try { be.isFile(e.node.mode) && - (e.nfd = Me.openSync(r, ge.flagsForNode(e.flags))) + (e.nfd = Me.openSync(r, ge.flagsForNode(e.flags))); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, close: function(e) { try { - be.isFile(e.node.mode) && e.nfd && Me.closeSync(e.nfd) + be.isFile(e.node.mode) && e.nfd && Me.closeSync(e.nfd); } catch (e) { - if (!e.code) throw e - throw new be.ErrnoError(-e.errno) + if (!e.code) throw e; + throw new be.ErrnoError(-e.errno); } }, read: function(e, r, t, n, o) { - if (0 === n) return 0 + if (n === 0) return 0; try { - return Me.readSync(e.nfd, ge.bufferFrom(r.buffer), t, n, o) + return Me.readSync(e.nfd, ge.bufferFrom(r.buffer), t, n, o); } catch (e) { - throw new be.ErrnoError(-e.errno) + throw new be.ErrnoError(-e.errno); } }, write: function(e, r, t, n, o) { try { - return Me.writeSync(e.nfd, ge.bufferFrom(r.buffer), t, n, o) + return Me.writeSync(e.nfd, ge.bufferFrom(r.buffer), t, n, o); } catch (e) { - throw new be.ErrnoError(-e.errno) + throw new be.ErrnoError(-e.errno); } }, llseek: function(e, r, t) { - var n = r - if (1 === t) n += e.position - else if (2 === t && be.isFile(e.node.mode)) - try { - n += Me.fstatSync(e.nfd).size + var n = r; + if (t === 1) n += e.position; + else if (t === 2 && be.isFile(e.node.mode)) + { try { + n += Me.fstatSync(e.nfd).size; } catch (e) { - throw new be.ErrnoError(-e.errno) - } - if (n < 0) throw new be.ErrnoError(22) - return n + throw new be.ErrnoError(-e.errno); + } } + if (n < 0) throw new be.ErrnoError(22); + return n; }, }, }, @@ -1560,19 +1560,19 @@ FILE_MODE: 33279, reader: null, mount: function(e) { - E(u), _e.reader || (_e.reader = new FileReaderSync()) + E(u), _e.reader || (_e.reader = new FileReaderSync()); var r = _e.createNode(null, '/', _e.DIR_MODE, 0), - t = {} + t = {}; function n(e) { for (var n = e.split('/'), o = r, i = 0; i < n.length - 1; i++) { - var a = n.slice(0, i + 1).join('/') - t[a] || (t[a] = _e.createNode(o, n[i], _e.DIR_MODE, 0)), (o = t[a]) + var a = n.slice(0, i + 1).join('/'); + t[a] || (t[a] = _e.createNode(o, n[i], _e.DIR_MODE, 0)), (o = t[a]); } - return o + return o; } function o(e) { - var r = e.split('/') - return r[r.length - 1] + var r = e.split('/'); + return r[r.length - 1]; } return ( Array.prototype.forEach.call(e.opts.files || [], function(e) { @@ -1583,28 +1583,28 @@ 0, e, e.lastModifiedDate - ) + ); }), (e.opts.blobs || []).forEach(function(e) { - _e.createNode(n(e.name), o(e.name), _e.FILE_MODE, 0, e.data) + _e.createNode(n(e.name), o(e.name), _e.FILE_MODE, 0, e.data); }), (e.opts.packages || []).forEach(function(e) { e.metadata.files.forEach(function(r) { - var t = r.filename.substr(1) + var t = r.filename.substr(1); _e.createNode( n(t), o(t), _e.FILE_MODE, 0, e.blob.slice(r.start, r.end) - ) - }) + ); + }); }), r - ) + ); }, createNode: function(e, r, t, n, o, i) { - var a = be.createNode(e, r, t) + var a = be.createNode(e, r, t); return ( (a.mode = t), (a.node_ops = _e.node_ops), @@ -1616,7 +1616,7 @@ : ((a.size = 4096), (a.contents = {})), e && (e.contents[r] = a), a - ) + ); }, node_ops: { getattr: function(e) { @@ -1634,59 +1634,59 @@ ctime: new Date(e.timestamp), blksize: 4096, blocks: Math.ceil(e.size / 4096), - } + }; }, setattr: function(e, r) { void 0 !== r.mode && (e.mode = r.mode), - void 0 !== r.timestamp && (e.timestamp = r.timestamp) + void 0 !== r.timestamp && (e.timestamp = r.timestamp); }, lookup: function(e, r) { - throw new be.ErrnoError(2) + throw new be.ErrnoError(2); }, mknod: function(e, r, t, n) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, rename: function(e, r, t) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, unlink: function(e, r) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, rmdir: function(e, r) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, readdir: function(e) { - var r = ['.', '..'] - for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t) - return r + var r = ['.', '..']; + for (var t in e.contents) e.contents.hasOwnProperty(t) && r.push(t); + return r; }, symlink: function(e, r, t) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, readlink: function(e) { - throw new be.ErrnoError(1) + throw new be.ErrnoError(1); }, }, stream_ops: { read: function(e, r, t, n, o) { - if (o >= e.node.size) return 0 + if (o >= e.node.size) return 0; var i = e.node.contents.slice(o, o + n), - a = _e.reader.readAsArrayBuffer(i) - return r.set(new Uint8Array(a), t), i.size + a = _e.reader.readAsArrayBuffer(i); + return r.set(new Uint8Array(a), t), i.size; }, write: function(e, r, t, n, o) { - throw new be.ErrnoError(5) + throw new be.ErrnoError(5); }, llseek: function(e, r, t) { - var n = r + var n = r; if ( - (1 === t + (t === 1 ? (n += e.position) - : 2 === t && be.isFile(e.node.mode) && (n += e.node.size), + : t === 2 && be.isFile(e.node.mode) && (n += e.node.size), n < 0) ) - throw new be.ErrnoError(22) - return n + { throw new be.ErrnoError(22) } + return n; }, }, }, @@ -1707,19 +1707,19 @@ filesystems: null, syncFSRequests: 0, handleFSError: function(e) { - if (!(e instanceof be.ErrnoError)) throw e + ' : ' + j() - return he(e.errno) + if (!(e instanceof be.ErrnoError)) throw e + ' : ' + j(); + return he(e.errno); }, lookupPath: function(e, r) { if (((r = r || {}), !(e = ve.resolve(be.cwd(), e)))) - return { path: '', node: null } - var t = { follow_mount: !0, recurse_count: 0 } - for (var n in t) void 0 === r[n] && (r[n] = t[n]) - if (r.recurse_count > 8) throw new be.ErrnoError(40) + { return { path: '', node: null } } + var t = { follow_mount: !0, recurse_count: 0 }; + for (var n in t) void 0 === r[n] && (r[n] = t[n]); + if (r.recurse_count > 8) throw new be.ErrnoError(40); for ( var o = me.normalizeArray( e.split('/').filter(function(e) { - return !!e + return !!e; }), !1 ), @@ -1729,8 +1729,8 @@ s < o.length; s++ ) { - var u = s === o.length - 1 - if (u && r.parent) break + var u = s === o.length - 1; + if (u && r.parent) break; if ( ((i = be.lookupNode(i, o[s])), (a = me.join2(a, o[s])), @@ -1739,60 +1739,60 @@ (i = i.mounted.root), !u || r.follow) ) - for (var c = 0; be.isLink(i.mode); ) { - var f = be.readlink(a) + { for (var c = 0; be.isLink(i.mode);) { + var f = be.readlink(a); if ( ((a = ve.resolve(me.dirname(a), f)), (i = be.lookupPath(a, { recurse_count: r.recurse_count }).node), c++ > 40) ) - throw new be.ErrnoError(40) - } + { throw new be.ErrnoError(40) } + } } } - return { path: a, node: i } + return { path: a, node: i }; }, getPath: function(e) { - for (var r; ; ) { + for (var r; ;) { if (be.isRoot(e)) { - var t = e.mount.mountpoint - return r ? ('/' !== t[t.length - 1] ? t + '/' + r : t + r) : t + var t = e.mount.mountpoint; + return r ? (t[t.length - 1] !== '/' ? t + '/' + r : t + r) : t; } - ;(r = r ? e.name + '/' + r : e.name), (e = e.parent) + ;(r = r ? e.name + '/' + r : e.name), (e = e.parent); } }, hashName: function(e, r) { for (var t = 0, n = 0; n < r.length; n++) - t = ((t << 5) - t + r.charCodeAt(n)) | 0 - return ((e + t) >>> 0) % be.nameTable.length + { t = ((t << 5) - t + r.charCodeAt(n)) | 0 } + return ((e + t) >>> 0) % be.nameTable.length; }, hashAddNode: function(e) { var r = be.hashName(e.parent.id, e.name) - ;(e.name_next = be.nameTable[r]), (be.nameTable[r] = e) + ;(e.name_next = be.nameTable[r]), (be.nameTable[r] = e); }, hashRemoveNode: function(e) { - var r = be.hashName(e.parent.id, e.name) - if (be.nameTable[r] === e) be.nameTable[r] = e.name_next + var r = be.hashName(e.parent.id, e.name); + if (be.nameTable[r] === e) be.nameTable[r] = e.name_next; else - for (var t = be.nameTable[r]; t; ) { + { for (var t = be.nameTable[r]; t;) { if (t.name_next === e) { - t.name_next = e.name_next - break + t.name_next = e.name_next; + break; } - t = t.name_next - } + t = t.name_next; + } } }, lookupNode: function(e, r) { - var t = be.mayLookup(e) - if (t) throw new be.ErrnoError(t, e) + var t = be.mayLookup(e); + if (t) throw new be.ErrnoError(t, e); for ( var n = be.hashName(e.id, r), o = be.nameTable[n]; o; o = o.name_next ) { - var i = o.name - if (o.parent.id === e.id && i === r) return o + var i = o.name; + if (o.parent.id === e.id && i === r) return o; } - return be.lookup(e, r) + return be.lookup(e, r); }, createNode: function(e, r, t, n) { be.FSNode || @@ -1806,69 +1806,69 @@ (this.mode = t), (this.node_ops = {}), (this.stream_ops = {}), - (this.rdev = n) + (this.rdev = n); }), (be.FSNode.prototype = {}), Object.defineProperties(be.FSNode.prototype, { read: { get: function() { - return 365 == (365 & this.mode) + return (365 & this.mode) == 365; }, set: function(e) { - e ? (this.mode |= 365) : (this.mode &= -366) + e ? (this.mode |= 365) : (this.mode &= -366); }, }, write: { get: function() { - return 146 == (146 & this.mode) + return (146 & this.mode) == 146; }, set: function(e) { - e ? (this.mode |= 146) : (this.mode &= -147) + e ? (this.mode |= 146) : (this.mode &= -147); }, }, isFolder: { get: function() { - return be.isDir(this.mode) + return be.isDir(this.mode); }, }, isDevice: { get: function() { - return be.isChrdev(this.mode) + return be.isChrdev(this.mode); }, }, - })) - var o = new be.FSNode(e, r, t, n) - return be.hashAddNode(o), o + })); + var o = new be.FSNode(e, r, t, n); + return be.hashAddNode(o), o; }, destroyNode: function(e) { - be.hashRemoveNode(e) + be.hashRemoveNode(e); }, isRoot: function(e) { - return e === e.parent + return e === e.parent; }, isMountpoint: function(e) { - return !!e.mounted + return !!e.mounted; }, isFile: function(e) { - return 32768 == (61440 & e) + return (61440 & e) == 32768; }, isDir: function(e) { - return 16384 == (61440 & e) + return (61440 & e) == 16384; }, isLink: function(e) { - return 40960 == (61440 & e) + return (61440 & e) == 40960; }, isChrdev: function(e) { - return 8192 == (61440 & e) + return (61440 & e) == 8192; }, isBlkdev: function(e) { - return 24576 == (61440 & e) + return (61440 & e) == 24576; }, isFIFO: function(e) { - return 4096 == (61440 & e) + return (61440 & e) == 4096; }, isSocket: function(e) { - return 49152 == (49152 & e) + return (49152 & e) == 49152; }, flagModes: { r: 0, @@ -1888,65 +1888,65 @@ 'xa+': 1218, }, modeStringToFlags: function(e) { - var r = be.flagModes[e] - if (void 0 === r) throw new Error('Unknown file open mode: ' + e) - return r + var r = be.flagModes[e]; + if (void 0 === r) throw new Error('Unknown file open mode: ' + e); + return r; }, flagsToPermissionString: function(e) { - var r = ['r', 'w', 'rw'][3 & e] - return 512 & e && (r += 'w'), r + var r = ['r', 'w', 'rw'][3 & e]; + return 512 & e && (r += 'w'), r; }, nodePermissions: function(e, r) { return be.ignorePermissions ? 0 - : (-1 === r.indexOf('r') || 292 & e.mode) && - (-1 === r.indexOf('w') || 146 & e.mode) && - (-1 === r.indexOf('x') || 73 & e.mode) + : (r.indexOf('r') === -1 || 292 & e.mode) && + (r.indexOf('w') === -1 || 146 & e.mode) && + (r.indexOf('x') === -1 || 73 & e.mode) ? 0 - : 13 + : 13; }, mayLookup: function(e) { - var r = be.nodePermissions(e, 'x') - return r || (e.node_ops.lookup ? 0 : 13) + var r = be.nodePermissions(e, 'x'); + return r || (e.node_ops.lookup ? 0 : 13); }, mayCreate: function(e, r) { try { - return be.lookupNode(e, r), 17 + return be.lookupNode(e, r), 17; } catch (e) {} - return be.nodePermissions(e, 'wx') + return be.nodePermissions(e, 'wx'); }, mayDelete: function(e, r, t) { - var n + var n; try { - n = be.lookupNode(e, r) + n = be.lookupNode(e, r); } catch (e) { - return e.errno + return e.errno; } - var o = be.nodePermissions(e, 'wx') - if (o) return o + var o = be.nodePermissions(e, 'wx'); + if (o) return o; if (t) { - if (!be.isDir(n.mode)) return 20 - if (be.isRoot(n) || be.getPath(n) === be.cwd()) return 16 - } else if (be.isDir(n.mode)) return 21 - return 0 + if (!be.isDir(n.mode)) return 20; + if (be.isRoot(n) || be.getPath(n) === be.cwd()) return 16; + } else if (be.isDir(n.mode)) return 21; + return 0; }, mayOpen: function(e, r) { return e ? be.isLink(e.mode) ? 40 - : be.isDir(e.mode) && ('r' !== be.flagsToPermissionString(r) || 512 & r) + : be.isDir(e.mode) && (be.flagsToPermissionString(r) !== 'r' || 512 & r) ? 21 : be.nodePermissions(e, be.flagsToPermissionString(r)) - : 2 + : 2; }, MAX_OPEN_FDS: 4096, nextfd: function(e, r) { - ;(e = e || 0), (r = r || be.MAX_OPEN_FDS) - for (var t = e; t <= r; t++) if (!be.streams[t]) return t - throw new be.ErrnoError(24) + ;(e = e || 0), (r = r || be.MAX_OPEN_FDS); + for (var t = e; t <= r; t++) if (!be.streams[t]) return t; + throw new be.ErrnoError(24); }, getStream: function(e) { - return be.streams[e] + return be.streams[e]; }, createStream: function(e, r, t) { be.FSStream || @@ -1955,104 +1955,104 @@ Object.defineProperties(be.FSStream.prototype, { object: { get: function() { - return this.node + return this.node; }, set: function(e) { - this.node = e + this.node = e; }, }, isRead: { get: function() { - return 1 != (2097155 & this.flags) + return (2097155 & this.flags) != 1; }, }, isWrite: { get: function() { - return 0 != (2097155 & this.flags) + return (2097155 & this.flags) != 0; }, }, isAppend: { get: function() { - return 1024 & this.flags + return 1024 & this.flags; }, }, - })) - var n = new be.FSStream() - for (var o in e) n[o] = e[o] - e = n - var i = be.nextfd(r, t) - return (e.fd = i), (be.streams[i] = e), e + })); + var n = new be.FSStream(); + for (var o in e) n[o] = e[o]; + e = n; + var i = be.nextfd(r, t); + return (e.fd = i), (be.streams[i] = e), e; }, closeStream: function(e) { - be.streams[e] = null + be.streams[e] = null; }, chrdev_stream_ops: { open: function(e) { var r = be.getDevice(e.node.rdev) - ;(e.stream_ops = r.stream_ops), e.stream_ops.open && e.stream_ops.open(e) + ;(e.stream_ops = r.stream_ops), e.stream_ops.open && e.stream_ops.open(e); }, llseek: function() { - throw new be.ErrnoError(29) + throw new be.ErrnoError(29); }, }, major: function(e) { - return e >> 8 + return e >> 8; }, minor: function(e) { - return 255 & e + return 255 & e; }, makedev: function(e, r) { - return (e << 8) | r + return (e << 8) | r; }, registerDevice: function(e, r) { - be.devices[e] = { stream_ops: r } + be.devices[e] = { stream_ops: r }; }, getDevice: function(e) { - return be.devices[e] + return be.devices[e]; }, getMounts: function(e) { - for (var r = [], t = [e]; t.length; ) { - var n = t.pop() - r.push(n), t.push.apply(t, n.mounts) + for (var r = [], t = [e]; t.length;) { + var n = t.pop(); + r.push(n), t.push.apply(t, n.mounts); } - return r + return r; }, syncfs: function(e, r) { - 'function' == typeof e && ((r = e), (e = !1)), + typeof e === 'function' && ((r = e), (e = !1)), be.syncFSRequests++, be.syncFSRequests > 1 && console.log( 'warning: ' + be.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work' - ) + ); var t = be.getMounts(be.root.mount), - n = 0 + n = 0; function o(e) { - return be.syncFSRequests--, r(e) + return be.syncFSRequests--, r(e); } function i(e) { - if (e) return i.errored ? void 0 : ((i.errored = !0), o(e)) - ++n >= t.length && o(null) + if (e) return i.errored ? void 0 : ((i.errored = !0), o(e)); + ++n >= t.length && o(null); } t.forEach(function(r) { - if (!r.type.syncfs) return i(null) - r.type.syncfs(r, e, i) - }) + if (!r.type.syncfs) return i(null); + r.type.syncfs(r, e, i); + }); }, mount: function(e, r, t) { var n, - o = '/' === t, - i = !t - if (o && be.root) throw new be.ErrnoError(16) + o = t === '/', + i = !t; + if (o && be.root) throw new be.ErrnoError(16); if (!o && !i) { - var a = be.lookupPath(t, { follow_mount: !1 }) + var a = be.lookupPath(t, { follow_mount: !1 }); if (((t = a.path), (n = a.node), be.isMountpoint(n))) - throw new be.ErrnoError(16) - if (!be.isDir(n.mode)) throw new be.ErrnoError(20) + { throw new be.ErrnoError(16) } + if (!be.isDir(n.mode)) throw new be.ErrnoError(20); } var s = { type: e, opts: r, mountpoint: t, mounts: [] }, - u = e.mount(s) + u = e.mount(s); return ( (u.mount = s), (s.root = u), @@ -2060,69 +2060,69 @@ ? (be.root = u) : n && ((n.mounted = s), n.mount && n.mount.mounts.push(s)), u - ) + ); }, unmount: function(e) { - var r = be.lookupPath(e, { follow_mount: !1 }) - if (!be.isMountpoint(r.node)) throw new be.ErrnoError(22) + var r = be.lookupPath(e, { follow_mount: !1 }); + if (!be.isMountpoint(r.node)) throw new be.ErrnoError(22); var t = r.node, n = t.mounted, - o = be.getMounts(n) + o = be.getMounts(n); Object.keys(be.nameTable).forEach(function(e) { - for (var r = be.nameTable[e]; r; ) { + for (var r = be.nameTable[e]; r;) { var t = r.name_next - ;-1 !== o.indexOf(r.mount) && be.destroyNode(r), (r = t) + ;o.indexOf(r.mount) !== -1 && be.destroyNode(r), (r = t); } }), - (t.mounted = null) - var i = t.mount.mounts.indexOf(n) - t.mount.mounts.splice(i, 1) + (t.mounted = null); + var i = t.mount.mounts.indexOf(n); + t.mount.mounts.splice(i, 1); }, lookup: function(e, r) { - return e.node_ops.lookup(e, r) + return e.node_ops.lookup(e, r); }, mknod: function(e, r, t) { var n = be.lookupPath(e, { parent: !0 }).node, - o = me.basename(e) - if (!o || '.' === o || '..' === o) throw new be.ErrnoError(22) - var i = be.mayCreate(n, o) - if (i) throw new be.ErrnoError(i) - if (!n.node_ops.mknod) throw new be.ErrnoError(1) - return n.node_ops.mknod(n, o, r, t) + o = me.basename(e); + if (!o || o === '.' || o === '..') throw new be.ErrnoError(22); + var i = be.mayCreate(n, o); + if (i) throw new be.ErrnoError(i); + if (!n.node_ops.mknod) throw new be.ErrnoError(1); + return n.node_ops.mknod(n, o, r, t); }, create: function(e, r) { return ( (r = void 0 !== r ? r : 438), (r &= 4095), (r |= 32768), be.mknod(e, r, 0) - ) + ); }, mkdir: function(e, r) { return ( (r = void 0 !== r ? r : 511), (r &= 1023), (r |= 16384), be.mknod(e, r, 0) - ) + ); }, mkdirTree: function(e, r) { for (var t = e.split('/'), n = '', o = 0; o < t.length; ++o) - if (t[o]) { - n += '/' + t[o] + { if (t[o]) { + n += '/' + t[o]; try { - be.mkdir(n, r) + be.mkdir(n, r); } catch (e) { - if (17 != e.errno) throw e + if (e.errno != 17) throw e; } - } + } } }, mkdev: function(e, r, t) { - return void 0 === t && ((t = r), (r = 438)), (r |= 8192), be.mknod(e, r, t) + return void 0 === t && ((t = r), (r = 438)), (r |= 8192), be.mknod(e, r, t); }, symlink: function(e, r) { - if (!ve.resolve(e)) throw new be.ErrnoError(2) - var t = be.lookupPath(r, { parent: !0 }).node - if (!t) throw new be.ErrnoError(2) + if (!ve.resolve(e)) throw new be.ErrnoError(2); + var t = be.lookupPath(r, { parent: !0 }).node; + if (!t) throw new be.ErrnoError(2); var n = me.basename(r), - o = be.mayCreate(t, n) - if (o) throw new be.ErrnoError(o) - if (!t.node_ops.symlink) throw new be.ErrnoError(1) - return t.node_ops.symlink(t, n, e) + o = be.mayCreate(t, n); + if (o) throw new be.ErrnoError(o); + if (!t.node_ops.symlink) throw new be.ErrnoError(1); + return t.node_ops.symlink(t, n, e); }, rename: function(e, r) { var t, @@ -2130,41 +2130,41 @@ o = me.dirname(e), i = me.dirname(r), a = me.basename(e), - s = me.basename(r) + s = me.basename(r); try { ;(t = be.lookupPath(e, { parent: !0 }).node), - (n = be.lookupPath(r, { parent: !0 }).node) + (n = be.lookupPath(r, { parent: !0 }).node); } catch (e) { - throw new be.ErrnoError(16) + throw new be.ErrnoError(16); } - if (!t || !n) throw new be.ErrnoError(2) - if (t.mount !== n.mount) throw new be.ErrnoError(18) + if (!t || !n) throw new be.ErrnoError(2); + if (t.mount !== n.mount) throw new be.ErrnoError(18); var u, c = be.lookupNode(t, a), - f = ve.relative(e, i) - if ('.' !== f.charAt(0)) throw new be.ErrnoError(22) - if ('.' !== (f = ve.relative(r, o)).charAt(0)) throw new be.ErrnoError(39) + f = ve.relative(e, i); + if (f.charAt(0) !== '.') throw new be.ErrnoError(22); + if ((f = ve.relative(r, o)).charAt(0) !== '.') throw new be.ErrnoError(39); try { - u = be.lookupNode(n, s) + u = be.lookupNode(n, s); } catch (e) {} if (c !== u) { var l = be.isDir(c.mode), - d = be.mayDelete(t, a, l) - if (d) throw new be.ErrnoError(d) + d = be.mayDelete(t, a, l); + if (d) throw new be.ErrnoError(d); if ((d = u ? be.mayDelete(n, s, l) : be.mayCreate(n, s))) - throw new be.ErrnoError(d) - if (!t.node_ops.rename) throw new be.ErrnoError(1) + { throw new be.ErrnoError(d) } + if (!t.node_ops.rename) throw new be.ErrnoError(1); if (be.isMountpoint(c) || (u && be.isMountpoint(u))) - throw new be.ErrnoError(16) + { throw new be.ErrnoError(16) } if (n !== t && (d = be.nodePermissions(t, 'w'))) - throw new be.ErrnoError(d) - be.hashRemoveNode(c) + { throw new be.ErrnoError(d) } + be.hashRemoveNode(c); try { - t.node_ops.rename(c, n, s) + t.node_ops.rename(c, n, s); } catch (e) { - throw e + throw e; } finally { - be.hashAddNode(c) + be.hashAddNode(c); } } }, @@ -2172,134 +2172,134 @@ var r = be.lookupPath(e, { parent: !0 }).node, t = me.basename(e), n = be.lookupNode(r, t), - o = be.mayDelete(r, t, !0) - if (o) throw new be.ErrnoError(o) - if (!r.node_ops.rmdir) throw new be.ErrnoError(1) - if (be.isMountpoint(n)) throw new be.ErrnoError(16) - r.node_ops.rmdir(r, t), be.destroyNode(n) + o = be.mayDelete(r, t, !0); + if (o) throw new be.ErrnoError(o); + if (!r.node_ops.rmdir) throw new be.ErrnoError(1); + if (be.isMountpoint(n)) throw new be.ErrnoError(16); + r.node_ops.rmdir(r, t), be.destroyNode(n); }, readdir: function(e) { - var r = be.lookupPath(e, { follow: !0 }).node - if (!r.node_ops.readdir) throw new be.ErrnoError(20) - return r.node_ops.readdir(r) + var r = be.lookupPath(e, { follow: !0 }).node; + if (!r.node_ops.readdir) throw new be.ErrnoError(20); + return r.node_ops.readdir(r); }, unlink: function(e) { var r = be.lookupPath(e, { parent: !0 }).node, t = me.basename(e), n = be.lookupNode(r, t), - o = be.mayDelete(r, t, !1) - if (o) throw new be.ErrnoError(o) - if (!r.node_ops.unlink) throw new be.ErrnoError(1) - if (be.isMountpoint(n)) throw new be.ErrnoError(16) - r.node_ops.unlink(r, t), be.destroyNode(n) + o = be.mayDelete(r, t, !1); + if (o) throw new be.ErrnoError(o); + if (!r.node_ops.unlink) throw new be.ErrnoError(1); + if (be.isMountpoint(n)) throw new be.ErrnoError(16); + r.node_ops.unlink(r, t), be.destroyNode(n); }, readlink: function(e) { - var r = be.lookupPath(e).node - if (!r) throw new be.ErrnoError(2) - if (!r.node_ops.readlink) throw new be.ErrnoError(22) - return ve.resolve(be.getPath(r.parent), r.node_ops.readlink(r)) + var r = be.lookupPath(e).node; + if (!r) throw new be.ErrnoError(2); + if (!r.node_ops.readlink) throw new be.ErrnoError(22); + return ve.resolve(be.getPath(r.parent), r.node_ops.readlink(r)); }, stat: function(e, r) { - var t = be.lookupPath(e, { follow: !r }).node - if (!t) throw new be.ErrnoError(2) - if (!t.node_ops.getattr) throw new be.ErrnoError(1) - return t.node_ops.getattr(t) + var t = be.lookupPath(e, { follow: !r }).node; + if (!t) throw new be.ErrnoError(2); + if (!t.node_ops.getattr) throw new be.ErrnoError(1); + return t.node_ops.getattr(t); }, lstat: function(e) { - return be.stat(e, !0) + return be.stat(e, !0); }, chmod: function(e, r, t) { - var n + var n; if ( - !(n = 'string' == typeof e ? be.lookupPath(e, { follow: !t }).node : e) + !(n = typeof e === 'string' ? be.lookupPath(e, { follow: !t }).node : e) .node_ops.setattr ) - throw new be.ErrnoError(1) + { throw new be.ErrnoError(1) } n.node_ops.setattr(n, { mode: (4095 & r) | (-4096 & n.mode), timestamp: Date.now(), - }) + }); }, lchmod: function(e, r) { - be.chmod(e, r, !0) + be.chmod(e, r, !0); }, fchmod: function(e, r) { - var t = be.getStream(e) - if (!t) throw new be.ErrnoError(9) - be.chmod(t.node, r) + var t = be.getStream(e); + if (!t) throw new be.ErrnoError(9); + be.chmod(t.node, r); }, chown: function(e, r, t, n) { - var o + var o; if ( - !(o = 'string' == typeof e ? be.lookupPath(e, { follow: !n }).node : e) + !(o = typeof e === 'string' ? be.lookupPath(e, { follow: !n }).node : e) .node_ops.setattr ) - throw new be.ErrnoError(1) - o.node_ops.setattr(o, { timestamp: Date.now() }) + { throw new be.ErrnoError(1) } + o.node_ops.setattr(o, { timestamp: Date.now() }); }, lchown: function(e, r, t) { - be.chown(e, r, t, !0) + be.chown(e, r, t, !0); }, fchown: function(e, r, t) { - var n = be.getStream(e) - if (!n) throw new be.ErrnoError(9) - be.chown(n.node, r, t) + var n = be.getStream(e); + if (!n) throw new be.ErrnoError(9); + be.chown(n.node, r, t); }, truncate: function(e, r) { - if (r < 0) throw new be.ErrnoError(22) - var t + if (r < 0) throw new be.ErrnoError(22); + var t; if ( - !(t = 'string' == typeof e ? be.lookupPath(e, { follow: !0 }).node : e) + !(t = typeof e === 'string' ? be.lookupPath(e, { follow: !0 }).node : e) .node_ops.setattr ) - throw new be.ErrnoError(1) - if (be.isDir(t.mode)) throw new be.ErrnoError(21) - if (!be.isFile(t.mode)) throw new be.ErrnoError(22) - var n = be.nodePermissions(t, 'w') - if (n) throw new be.ErrnoError(n) - t.node_ops.setattr(t, { size: r, timestamp: Date.now() }) + { throw new be.ErrnoError(1) } + if (be.isDir(t.mode)) throw new be.ErrnoError(21); + if (!be.isFile(t.mode)) throw new be.ErrnoError(22); + var n = be.nodePermissions(t, 'w'); + if (n) throw new be.ErrnoError(n); + t.node_ops.setattr(t, { size: r, timestamp: Date.now() }); }, ftruncate: function(e, r) { - var t = be.getStream(e) - if (!t) throw new be.ErrnoError(9) - if (0 == (2097155 & t.flags)) throw new be.ErrnoError(22) - be.truncate(t.node, r) + var t = be.getStream(e); + if (!t) throw new be.ErrnoError(9); + if ((2097155 & t.flags) == 0) throw new be.ErrnoError(22); + be.truncate(t.node, r); }, utime: function(e, r, t) { - var n = be.lookupPath(e, { follow: !0 }).node - n.node_ops.setattr(n, { timestamp: Math.max(r, t) }) + var n = be.lookupPath(e, { follow: !0 }).node; + n.node_ops.setattr(n, { timestamp: Math.max(r, t) }); }, open: function(e, r, t, o, i) { - if ('' === e) throw new be.ErrnoError(2) - var a + if (e === '') throw new be.ErrnoError(2); + var a; if ( ((t = void 0 === t ? 438 : t), (t = - 64 & (r = 'string' == typeof r ? be.modeStringToFlags(r) : r) + 64 & (r = typeof r === 'string' ? be.modeStringToFlags(r) : r) ? (4095 & t) | 32768 : 0), - 'object' == typeof e) + typeof e === 'object') ) - a = e + { a = e } else { - e = me.normalize(e) + e = me.normalize(e); try { - a = be.lookupPath(e, { follow: !(131072 & r) }).node + a = be.lookupPath(e, { follow: !(131072 & r) }).node; } catch (e) {} } - var s = !1 + var s = !1; if (64 & r) - if (a) { - if (128 & r) throw new be.ErrnoError(17) - } else (a = be.mknod(e, t, 0)), (s = !0) - if (!a) throw new be.ErrnoError(2) + { if (a) { + if (128 & r) throw new be.ErrnoError(17); + } else (a = be.mknod(e, t, 0)), (s = !0); } + if (!a) throw new be.ErrnoError(2); if ((be.isChrdev(a.mode) && (r &= -513), 65536 & r && !be.isDir(a.mode))) - throw new be.ErrnoError(20) + { throw new be.ErrnoError(20) } if (!s) { - var u = be.mayOpen(a, r) - if (u) throw new be.ErrnoError(u) + var u = be.mayOpen(a, r); + if (u) throw new be.ErrnoError(u); } - 512 & r && be.truncate(a, 0), (r &= -641) + 512 & r && be.truncate(a, 0), (r &= -641); var c = be.createStream( { node: a, @@ -2313,7 +2313,7 @@ }, o, i - ) + ); return ( c.stream_ops.open && c.stream_ops.open(c), !n.logReadFiles || @@ -2323,152 +2323,152 @@ ((be.readFiles[e] = 1), console.log('FS.trackingDelegate error on read file: ' + e))), c - ) + ); }, close: function(e) { - if (be.isClosed(e)) throw new be.ErrnoError(9) - e.getdents && (e.getdents = null) + if (be.isClosed(e)) throw new be.ErrnoError(9); + e.getdents && (e.getdents = null); try { - e.stream_ops.close && e.stream_ops.close(e) + e.stream_ops.close && e.stream_ops.close(e); } catch (e) { - throw e + throw e; } finally { - be.closeStream(e.fd) + be.closeStream(e.fd); } - e.fd = null + e.fd = null; }, isClosed: function(e) { - return null === e.fd + return e.fd === null; }, llseek: function(e, r, t) { - if (be.isClosed(e)) throw new be.ErrnoError(9) - if (!e.seekable || !e.stream_ops.llseek) throw new be.ErrnoError(29) - if (0 != t && 1 != t && 2 != t) throw new be.ErrnoError(22) + if (be.isClosed(e)) throw new be.ErrnoError(9); + if (!e.seekable || !e.stream_ops.llseek) throw new be.ErrnoError(29); + if (t != 0 && t != 1 && t != 2) throw new be.ErrnoError(22); return ( (e.position = e.stream_ops.llseek(e, r, t)), (e.ungotten = []), e.position - ) + ); }, read: function(e, r, t, n, o) { - if (n < 0 || o < 0) throw new be.ErrnoError(22) - if (be.isClosed(e)) throw new be.ErrnoError(9) - if (1 == (2097155 & e.flags)) throw new be.ErrnoError(9) - if (be.isDir(e.node.mode)) throw new be.ErrnoError(21) - if (!e.stream_ops.read) throw new be.ErrnoError(22) - var i = void 0 !== o + if (n < 0 || o < 0) throw new be.ErrnoError(22); + if (be.isClosed(e)) throw new be.ErrnoError(9); + if ((2097155 & e.flags) == 1) throw new be.ErrnoError(9); + if (be.isDir(e.node.mode)) throw new be.ErrnoError(21); + if (!e.stream_ops.read) throw new be.ErrnoError(22); + var i = void 0 !== o; if (i) { - if (!e.seekable) throw new be.ErrnoError(29) - } else o = e.position - var a = e.stream_ops.read(e, r, t, n, o) - return i || (e.position += a), a + if (!e.seekable) throw new be.ErrnoError(29); + } else o = e.position; + var a = e.stream_ops.read(e, r, t, n, o); + return i || (e.position += a), a; }, write: function(e, r, t, n, o, i) { - if (n < 0 || o < 0) throw new be.ErrnoError(22) - if (be.isClosed(e)) throw new be.ErrnoError(9) - if (0 == (2097155 & e.flags)) throw new be.ErrnoError(9) - if (be.isDir(e.node.mode)) throw new be.ErrnoError(21) - if (!e.stream_ops.write) throw new be.ErrnoError(22) - 1024 & e.flags && be.llseek(e, 0, 2) - var a = void 0 !== o + if (n < 0 || o < 0) throw new be.ErrnoError(22); + if (be.isClosed(e)) throw new be.ErrnoError(9); + if ((2097155 & e.flags) == 0) throw new be.ErrnoError(9); + if (be.isDir(e.node.mode)) throw new be.ErrnoError(21); + if (!e.stream_ops.write) throw new be.ErrnoError(22); + 1024 & e.flags && be.llseek(e, 0, 2); + var a = void 0 !== o; if (a) { - if (!e.seekable) throw new be.ErrnoError(29) - } else o = e.position - var s = e.stream_ops.write(e, r, t, n, o, i) - a || (e.position += s) + if (!e.seekable) throw new be.ErrnoError(29); + } else o = e.position; + var s = e.stream_ops.write(e, r, t, n, o, i); + a || (e.position += s); try { e.path && be.trackingDelegate.onWriteToFile && - be.trackingDelegate.onWriteToFile(e.path) + be.trackingDelegate.onWriteToFile(e.path); } catch (r) { console.log( "FS.trackingDelegate['onWriteToFile']('" + e.path + "') threw an exception: " + r.message - ) + ); } - return s + return s; }, allocate: function(e, r, t) { - if (be.isClosed(e)) throw new be.ErrnoError(9) - if (r < 0 || t <= 0) throw new be.ErrnoError(22) - if (0 == (2097155 & e.flags)) throw new be.ErrnoError(9) + if (be.isClosed(e)) throw new be.ErrnoError(9); + if (r < 0 || t <= 0) throw new be.ErrnoError(22); + if ((2097155 & e.flags) == 0) throw new be.ErrnoError(9); if (!be.isFile(e.node.mode) && !be.isDir(e.node.mode)) - throw new be.ErrnoError(19) - if (!e.stream_ops.allocate) throw new be.ErrnoError(95) - e.stream_ops.allocate(e, r, t) + { throw new be.ErrnoError(19) } + if (!e.stream_ops.allocate) throw new be.ErrnoError(95); + e.stream_ops.allocate(e, r, t); }, mmap: function(e, r, t, n, o, i, a) { - if (1 == (2097155 & e.flags)) throw new be.ErrnoError(13) - if (!e.stream_ops.mmap) throw new be.ErrnoError(19) - return e.stream_ops.mmap(e, r, t, n, o, i, a) + if ((2097155 & e.flags) == 1) throw new be.ErrnoError(13); + if (!e.stream_ops.mmap) throw new be.ErrnoError(19); + return e.stream_ops.mmap(e, r, t, n, o, i, a); }, msync: function(e, r, t, n, o) { - return e && e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, o) : 0 + return e && e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, o) : 0; }, munmap: function(e) { - return 0 + return 0; }, ioctl: function(e, r, t) { - if (!e.stream_ops.ioctl) throw new be.ErrnoError(25) - return e.stream_ops.ioctl(e, r, t) + if (!e.stream_ops.ioctl) throw new be.ErrnoError(25); + return e.stream_ops.ioctl(e, r, t); }, readFile: function(e, r) { if ( (((r = r || {}).flags = r.flags || 'r'), (r.encoding = r.encoding || 'binary'), - 'utf8' !== r.encoding && 'binary' !== r.encoding) + r.encoding !== 'utf8' && r.encoding !== 'binary') ) - throw new Error('Invalid encoding type "' + r.encoding + '"') + { throw new Error('Invalid encoding type "' + r.encoding + '"') } var t, n = be.open(e, r.flags), o = be.stat(e).size, - i = new Uint8Array(o) + i = new Uint8Array(o); return ( be.read(n, i, 0, o, 0), - 'utf8' === r.encoding + r.encoding === 'utf8' ? (t = x(i, 0)) - : 'binary' === r.encoding && (t = i), + : r.encoding === 'binary' && (t = i), be.close(n), t - ) + ); }, writeFile: function(e, r, t) { - ;(t = t || {}).flags = t.flags || 'w' - var n = be.open(e, t.flags, t.mode) - if ('string' == typeof r) { + ;(t = t || {}).flags = t.flags || 'w'; + var n = be.open(e, t.flags, t.mode); + if (typeof r === 'string') { var o = new Uint8Array(L(r) + 1), - i = z(r, o, 0, o.length) - be.write(n, o, 0, i, void 0, t.canOwn) + i = z(r, o, 0, o.length); + be.write(n, o, 0, i, void 0, t.canOwn); } else { - if (!ArrayBuffer.isView(r)) throw new Error('Unsupported data type') - be.write(n, r, 0, r.byteLength, void 0, t.canOwn) + if (!ArrayBuffer.isView(r)) throw new Error('Unsupported data type'); + be.write(n, r, 0, r.byteLength, void 0, t.canOwn); } - be.close(n) + be.close(n); }, cwd: function() { - return be.currentPath + return be.currentPath; }, chdir: function(e) { - var r = be.lookupPath(e, { follow: !0 }) - if (null === r.node) throw new be.ErrnoError(2) - if (!be.isDir(r.node.mode)) throw new be.ErrnoError(20) - var t = be.nodePermissions(r.node, 'x') - if (t) throw new be.ErrnoError(t) - be.currentPath = r.path + var r = be.lookupPath(e, { follow: !0 }); + if (r.node === null) throw new be.ErrnoError(2); + if (!be.isDir(r.node.mode)) throw new be.ErrnoError(20); + var t = be.nodePermissions(r.node, 'x'); + if (t) throw new be.ErrnoError(t); + be.currentPath = r.path; }, createDefaultDirectories: function() { - be.mkdir('/tmp'), be.mkdir('/home'), be.mkdir('/home/web_user') + be.mkdir('/tmp'), be.mkdir('/home'), be.mkdir('/home/web_user'); }, createDefaultDevices: function() { - var e + var e; if ( (be.mkdir('/dev'), be.registerDevice(be.makedev(1, 3), { read: function() { - return 0 + return 0; }, write: function(e, r, t, n, o) { - return n + return n; }, }), be.mkdev('/dev/null', be.makedev(1, 3)), @@ -2476,27 +2476,27 @@ we.register(be.makedev(6, 0), we.default_tty1_ops), be.mkdev('/dev/tty', be.makedev(5, 0)), be.mkdev('/dev/tty1', be.makedev(6, 0)), - 'object' == typeof crypto && 'function' == typeof crypto.getRandomValues) + typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') ) { - var r = new Uint8Array(1) + var r = new Uint8Array(1); e = function() { - return crypto.getRandomValues(r), r[0] - } + return crypto.getRandomValues(r), r[0]; + }; } else if (i) - try { - var t = require('crypto') + { try { + var t = require('crypto'); e = function() { - return t.randomBytes(1)[0] - } - } catch (e) {} + return t.randomBytes(1)[0]; + }; + } catch (e) {} } e || (e = function() { - Ze('random_device') + Ze('random_device'); }), be.createDevice('/dev', 'random', e), be.createDevice('/dev', 'urandom', e), be.mkdir('/dev/shm'), - be.mkdir('/dev/shm/tmp') + be.mkdir('/dev/shm/tmp'); }, createSpecialDirectories: function() { be.mkdir('/proc'), @@ -2505,32 +2505,32 @@ be.mount( { mount: function() { - var e = be.createNode('/proc/self', 'fd', 16895, 73) + var e = be.createNode('/proc/self', 'fd', 16895, 73); return ( (e.node_ops = { lookup: function(e, r) { var t = +r, - n = be.getStream(t) - if (!n) throw new be.ErrnoError(9) + n = be.getStream(t); + if (!n) throw new be.ErrnoError(9); var o = { parent: null, mount: { mountpoint: 'fake' }, node_ops: { readlink: function() { - return n.path + return n.path; }, }, - } - return (o.parent = o), o + }; + return (o.parent = o), o; }, }), e - ) + ); }, }, {}, '/proc/self/fd' - ) + ); }, createStandardStreams: function() { n.stdin @@ -2544,14 +2544,14 @@ : be.symlink('/dev/tty1', '/dev/stderr'), be.open('/dev/stdin', 'r'), be.open('/dev/stdout', 'w'), - be.open('/dev/stderr', 'w') + be.open('/dev/stderr', 'w'); }, ensureErrnoError: function() { be.ErrnoError || ((be.ErrnoError = function(e, r) { ;(this.node = r), (this.setErrno = function(e) { - this.errno = e + this.errno = e; }), this.setErrno(e), (this.message = 'FS error'), @@ -2559,14 +2559,14 @@ Object.defineProperty(this, 'stack', { value: new Error().stack, writable: !0, - }) + }); }), (be.ErrnoError.prototype = new Error()), (be.ErrnoError.prototype.constructor = be.ErrnoError), [2].forEach(function(e) { ;(be.genericErrors[e] = new be.ErrnoError(e)), - (be.genericErrors[e].stack = '') - })) + (be.genericErrors[e].stack = ''); + })); }, staticInit: function() { be.ensureErrnoError(), @@ -2575,7 +2575,7 @@ be.createDefaultDirectories(), be.createDefaultDevices(), be.createSpecialDirectories(), - (be.filesystems = { MEMFS: ye, IDBFS: Ee, NODEFS: ge, WORKERFS: _e }) + (be.filesystems = { MEMFS: ye, IDBFS: Ee, NODEFS: ge, WORKERFS: _e }); }, init: function(e, r, t) { ;(be.init.initialized = !0), @@ -2583,38 +2583,38 @@ (n.stdin = e || n.stdin), (n.stdout = r || n.stdout), (n.stderr = t || n.stderr), - be.createStandardStreams() + be.createStandardStreams(); }, quit: function() { - be.init.initialized = !1 - var e = n._fflush - e && e(0) + be.init.initialized = !1; + var e = n._fflush; + e && e(0); for (var r = 0; r < be.streams.length; r++) { - var t = be.streams[r] - t && be.close(t) + var t = be.streams[r]; + t && be.close(t); } }, getMode: function(e, r) { - var t = 0 - return e && (t |= 365), r && (t |= 146), t + var t = 0; + return e && (t |= 365), r && (t |= 146), t; }, joinPath: function(e, r) { - var t = me.join.apply(null, e) - return r && '/' == t[0] && (t = t.substr(1)), t + var t = me.join.apply(null, e); + return r && t[0] == '/' && (t = t.substr(1)), t; }, absolutePath: function(e, r) { - return ve.resolve(r, e) + return ve.resolve(r, e); }, standardizePath: function(e) { - return me.normalize(e) + return me.normalize(e); }, findObject: function(e, r) { - var t = be.analyzePath(e, r) - return t.exists ? t.object : (he(t.error), null) + var t = be.analyzePath(e, r); + return t.exists ? t.object : (he(t.error), null); }, analyzePath: function(e, r) { try { - e = (n = be.lookupPath(e, { follow: !r })).path + e = (n = be.lookupPath(e, { follow: !r })).path; } catch (e) {} var t = { isRoot: !1, @@ -2626,7 +2626,7 @@ parentExists: !1, parentPath: null, parentObject: null, - } + }; try { var n = be.lookupPath(e, { parent: !0 }) ;(t.parentExists = !0), @@ -2638,184 +2638,184 @@ (t.path = n.path), (t.object = n.node), (t.name = n.node.name), - (t.isRoot = '/' === n.path) + (t.isRoot = n.path === '/'); } catch (e) { - t.error = e.errno + t.error = e.errno; } - return t + return t; }, createFolder: function(e, r, t, n) { - var o = me.join2('string' == typeof e ? e : be.getPath(e), r), - i = be.getMode(t, n) - return be.mkdir(o, i) + var o = me.join2(typeof e === 'string' ? e : be.getPath(e), r), + i = be.getMode(t, n); + return be.mkdir(o, i); }, createPath: function(e, r, t, n) { - e = 'string' == typeof e ? e : be.getPath(e) - for (var o = r.split('/').reverse(); o.length; ) { - var i = o.pop() + e = typeof e === 'string' ? e : be.getPath(e); + for (var o = r.split('/').reverse(); o.length;) { + var i = o.pop(); if (i) { - var a = me.join2(e, i) + var a = me.join2(e, i); try { - be.mkdir(a) + be.mkdir(a); } catch (e) {} - e = a + e = a; } } - return a + return a; }, createFile: function(e, r, t, n, o) { - var i = me.join2('string' == typeof e ? e : be.getPath(e), r), - a = be.getMode(n, o) - return be.create(i, a) + var i = me.join2(typeof e === 'string' ? e : be.getPath(e), r), + a = be.getMode(n, o); + return be.create(i, a); }, createDataFile: function(e, r, t, n, o, i) { - var a = r ? me.join2('string' == typeof e ? e : be.getPath(e), r) : e, + var a = r ? me.join2(typeof e === 'string' ? e : be.getPath(e), r) : e, s = be.getMode(n, o), - u = be.create(a, s) + u = be.create(a, s); if (t) { - if ('string' == typeof t) { + if (typeof t === 'string') { for (var c = new Array(t.length), f = 0, l = t.length; f < l; ++f) - c[f] = t.charCodeAt(f) - t = c + { c[f] = t.charCodeAt(f) } + t = c; } - be.chmod(u, 146 | s) - var d = be.open(u, 'w') - be.write(d, t, 0, t.length, 0, i), be.close(d), be.chmod(u, s) + be.chmod(u, 146 | s); + var d = be.open(u, 'w'); + be.write(d, t, 0, t.length, 0, i), be.close(d), be.chmod(u, s); } - return u + return u; }, createDevice: function(e, r, t, n) { - var o = me.join2('string' == typeof e ? e : be.getPath(e), r), - i = be.getMode(!!t, !!n) - be.createDevice.major || (be.createDevice.major = 64) - var a = be.makedev(be.createDevice.major++, 0) + var o = me.join2(typeof e === 'string' ? e : be.getPath(e), r), + i = be.getMode(!!t, !!n); + be.createDevice.major || (be.createDevice.major = 64); + var a = be.makedev(be.createDevice.major++, 0); return ( be.registerDevice(a, { open: function(e) { - e.seekable = !1 + e.seekable = !1; }, close: function(e) { - n && n.buffer && n.buffer.length && n(10) + n && n.buffer && n.buffer.length && n(10); }, read: function(e, r, n, o, i) { for (var a = 0, s = 0; s < o; s++) { - var u + var u; try { - u = t() + u = t(); } catch (e) { - throw new be.ErrnoError(5) + throw new be.ErrnoError(5); } - if (void 0 === u && 0 === a) throw new be.ErrnoError(11) - if (null == u) break - a++, (r[n + s] = u) + if (void 0 === u && a === 0) throw new be.ErrnoError(11); + if (u == null) break; + a++, (r[n + s] = u); } - return a && (e.node.timestamp = Date.now()), a + return a && (e.node.timestamp = Date.now()), a; }, write: function(e, r, t, o, i) { for (var a = 0; a < o; a++) - try { - n(r[t + a]) + { try { + n(r[t + a]); } catch (e) { - throw new be.ErrnoError(5) - } - return o && (e.node.timestamp = Date.now()), a + throw new be.ErrnoError(5); + } } + return o && (e.node.timestamp = Date.now()), a; }, }), be.mkdev(o, i, a) - ) + ); }, createLink: function(e, r, t, n, o) { - var i = me.join2('string' == typeof e ? e : be.getPath(e), r) - return be.symlink(t, i) + var i = me.join2(typeof e === 'string' ? e : be.getPath(e), r); + return be.symlink(t, i); }, forceLoadFile: function(e) { - if (e.isDevice || e.isFolder || e.link || e.contents) return !0 - var r = !0 - if ('undefined' != typeof XMLHttpRequest) - throw new Error( + if (e.isDevice || e.isFolder || e.link || e.contents) return !0; + var r = !0; + if (typeof XMLHttpRequest !== 'undefined') + { throw new Error( 'Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.' - ) + ); } if (!n.read) - throw new Error('Cannot load without read() or XMLHttpRequest.') + { throw new Error('Cannot load without read() or XMLHttpRequest.') } try { - ;(e.contents = Ne(n.read(e.url), !0)), (e.usedBytes = e.contents.length) + ;(e.contents = Ne(n.read(e.url), !0)), (e.usedBytes = e.contents.length); } catch (e) { - r = !1 + r = !1; } - return r || he(5), r + return r || he(5), r; }, createLazyFile: function(e, r, t, n, o) { function i() { - ;(this.lengthKnown = !1), (this.chunks = []) + ;(this.lengthKnown = !1), (this.chunks = []); } if ( ((i.prototype.get = function(e) { if (!(e > this.length - 1 || e < 0)) { var r = e % this.chunkSize, - t = (e / this.chunkSize) | 0 - return this.getter(t)[r] + t = (e / this.chunkSize) | 0; + return this.getter(t)[r]; } }), (i.prototype.setDataGetter = function(e) { - this.getter = e + this.getter = e; }), (i.prototype.cacheLength = function() { - var e = new XMLHttpRequest() + var e = new XMLHttpRequest(); if ( (e.open('HEAD', t, !1), e.send(null), - !((e.status >= 200 && e.status < 300) || 304 === e.status)) + !((e.status >= 200 && e.status < 300) || e.status === 304)) ) - throw new Error("Couldn't load " + t + '. Status: ' + e.status) + { throw new Error("Couldn't load " + t + '. Status: ' + e.status) } var r, n = Number(e.getResponseHeader('Content-length')), - o = (r = e.getResponseHeader('Accept-Ranges')) && 'bytes' === r, - i = (r = e.getResponseHeader('Content-Encoding')) && 'gzip' === r, - a = 1048576 - o || (a = n) - var s = this + o = (r = e.getResponseHeader('Accept-Ranges')) && r === 'bytes', + i = (r = e.getResponseHeader('Content-Encoding')) && r === 'gzip', + a = 1048576; + o || (a = n); + var s = this; s.setDataGetter(function(e) { var r = e * a, - o = (e + 1) * a - 1 + o = (e + 1) * a - 1; if ( ((o = Math.min(o, n - 1)), void 0 === s.chunks[e] && (s.chunks[e] = (function(e, r) { if (e > r) - throw new Error( + { throw new Error( 'invalid range (' + e + ', ' + r + ') or no bytes requested!' - ) + ); } if (r > n - 1) - throw new Error( + { throw new Error( 'only ' + n + ' bytes available! programmer error!' - ) - var o = new XMLHttpRequest() + ); } + var o = new XMLHttpRequest(); if ( (o.open('GET', t, !1), n !== a && o.setRequestHeader('Range', 'bytes=' + e + '-' + r), - 'undefined' != typeof Uint8Array && + typeof Uint8Array !== 'undefined' && (o.responseType = 'arraybuffer'), o.overrideMimeType && o.overrideMimeType('text/plain; charset=x-user-defined'), o.send(null), - !((o.status >= 200 && o.status < 300) || 304 === o.status)) + !((o.status >= 200 && o.status < 300) || o.status === 304)) ) - throw new Error( + { throw new Error( "Couldn't load " + t + '. Status: ' + o.status - ) + ); } return void 0 !== o.response ? new Uint8Array(o.response || []) - : Ne(o.responseText || '', !0) + : Ne(o.responseText || '', !0); })(r, o)), void 0 === s.chunks[e]) ) - throw new Error('doXHR failed!') - return s.chunks[e] + { throw new Error('doXHR failed!') } + return s.chunks[e]; }), (!i && n) || ((a = n = 1), @@ -2826,88 +2826,88 @@ )), (this._length = n), (this._chunkSize = a), - (this.lengthKnown = !0) + (this.lengthKnown = !0); }), - 'undefined' != typeof XMLHttpRequest) + typeof XMLHttpRequest !== 'undefined') ) { if (!u) - throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc' - var a = new i() + { throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc' } + var a = new i(); Object.defineProperties(a, { length: { get: function() { - return this.lengthKnown || this.cacheLength(), this._length + return this.lengthKnown || this.cacheLength(), this._length; }, }, chunkSize: { get: function() { - return this.lengthKnown || this.cacheLength(), this._chunkSize + return this.lengthKnown || this.cacheLength(), this._chunkSize; }, }, - }) - var s = { isDevice: !1, contents: a } - } else s = { isDevice: !1, url: t } - var c = be.createFile(e, r, s, n, o) + }); + var s = { isDevice: !1, contents: a }; + } else s = { isDevice: !1, url: t }; + var c = be.createFile(e, r, s, n, o); s.contents ? (c.contents = s.contents) : s.url && ((c.contents = null), (c.url = s.url)), Object.defineProperties(c, { usedBytes: { get: function() { - return this.contents.length + return this.contents.length; }, }, - }) - var f = {} + }); + var f = {}; return ( Object.keys(c.stream_ops).forEach(function(e) { - var r = c.stream_ops[e] + var r = c.stream_ops[e]; f[e] = function() { - if (!be.forceLoadFile(c)) throw new be.ErrnoError(5) - return r.apply(null, arguments) - } + if (!be.forceLoadFile(c)) throw new be.ErrnoError(5); + return r.apply(null, arguments); + }; }), (f.read = function(e, r, t, n, o) { - if (!be.forceLoadFile(c)) throw new be.ErrnoError(5) - var i = e.node.contents - if (o >= i.length) return 0 - var a = Math.min(i.length - o, n) - if (i.slice) for (var s = 0; s < a; s++) r[t + s] = i[o + s] - else for (s = 0; s < a; s++) r[t + s] = i.get(o + s) - return a + if (!be.forceLoadFile(c)) throw new be.ErrnoError(5); + var i = e.node.contents; + if (o >= i.length) return 0; + var a = Math.min(i.length - o, n); + if (i.slice) for (var s = 0; s < a; s++) r[t + s] = i[o + s]; + else for (s = 0; s < a; s++) r[t + s] = i.get(o + s); + return a; }), (c.stream_ops = f), c - ) + ); }, createPreloadedFile: function(e, r, t, o, i, a, s, u, c, f) { - Browser.init() - var l = r ? ve.resolve(me.join2(e, r)) : e + Browser.init(); + var l = r ? ve.resolve(me.join2(e, r)) : e; function d(t) { function d(t) { - f && f(), u || be.createDataFile(e, r, t, o, i, c), a && a(), ae() + f && f(), u || be.createDataFile(e, r, t, o, i, c), a && a(), ae(); } - var p = !1 + var p = !1; n.preloadPlugins.forEach(function(e) { p || (e.canHandle(l) && (e.handle(t, l, d, function() { - s && s(), ae() + s && s(), ae(); }), - (p = !0))) + (p = !0))); }), - p || d(t) + p || d(t); } ie(), - 'string' == typeof t + typeof t === 'string' ? Browser.asyncLoad( t, function(e) { - d(e) + d(e); }, s ) - : d(t) + : d(t); }, indexedDB: function() { return ( @@ -2915,68 +2915,68 @@ window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB - ) + ); }, DB_NAME: function() { - return 'EM_FS_' + window.location.pathname + return 'EM_FS_' + window.location.pathname; }, DB_VERSION: 20, DB_STORE_NAME: 'FILE_DATA', saveFilesToDB: function(e, r, t) { - ;(r = r || function() {}), (t = t || function() {}) - var n = be.indexedDB() + ;(r = r || function() {}), (t = t || function() {}); + var n = be.indexedDB(); try { - var o = n.open(be.DB_NAME(), be.DB_VERSION) + var o = n.open(be.DB_NAME(), be.DB_VERSION); } catch (e) { - return t(e) + return t(e); } ;(o.onupgradeneeded = function() { - console.log('creating db'), o.result.createObjectStore(be.DB_STORE_NAME) + console.log('creating db'), o.result.createObjectStore(be.DB_STORE_NAME); }), (o.onsuccess = function() { var n = o.result.transaction([be.DB_STORE_NAME], 'readwrite'), i = n.objectStore(be.DB_STORE_NAME), a = 0, s = 0, - u = e.length + u = e.length; function c() { - 0 == s ? r() : t() + s == 0 ? r() : t(); } e.forEach(function(e) { var r = i.put(be.analyzePath(e).object.contents, e) ;(r.onsuccess = function() { - ++a + s == u && c() + ++a + s == u && c(); }), (r.onerror = function() { - a + ++s == u && c() - }) + a + ++s == u && c(); + }); }), - (n.onerror = t) + (n.onerror = t); }), - (o.onerror = t) + (o.onerror = t); }, loadFilesFromDB: function(e, r, t) { - ;(r = r || function() {}), (t = t || function() {}) - var n = be.indexedDB() + ;(r = r || function() {}), (t = t || function() {}); + var n = be.indexedDB(); try { - var o = n.open(be.DB_NAME(), be.DB_VERSION) + var o = n.open(be.DB_NAME(), be.DB_VERSION); } catch (e) { - return t(e) + return t(e); } ;(o.onupgradeneeded = t), (o.onsuccess = function() { - var n = o.result + var n = o.result; try { - var i = n.transaction([be.DB_STORE_NAME], 'readonly') + var i = n.transaction([be.DB_STORE_NAME], 'readonly'); } catch (e) { - return void t(e) + return void t(e); } var a = i.objectStore(be.DB_STORE_NAME), s = 0, u = 0, - c = e.length + c = e.length; function f() { - 0 == u ? r() : t() + u == 0 ? r() : t(); } e.forEach(function(e) { var r = a.get(e) @@ -2990,15 +2990,15 @@ !0, !0 ), - ++s + u == c && f() + ++s + u == c && f(); }), (r.onerror = function() { - s + ++u == c && f() - }) + s + ++u == c && f(); + }); }), - (i.onerror = t) + (i.onerror = t); }), - (o.onerror = t) + (o.onerror = t); }, }, ke = { @@ -3006,25 +3006,25 @@ mappings: {}, umask: 511, calculateAt: function(e, r) { - if ('/' !== r[0]) { - var t - if (-100 === e) t = be.cwd() + if (r[0] !== '/') { + var t; + if (e === -100) t = be.cwd(); else { - var n = be.getStream(e) - if (!n) throw new be.ErrnoError(9) - t = n.path + var n = be.getStream(e); + if (!n) throw new be.ErrnoError(9); + t = n.path; } - r = me.join2(t, r) + r = me.join2(t, r); } - return r + return r; }, doStat: function(e, r, t) { try { - var n = e(r) + var n = e(r); } catch (e) { if (e && e.node && me.normalize(r) !== me.normalize(be.getPath(e.node))) - return -20 - throw e + { return -20 } + throw e; } return ( (M[t >> 2] = n.dev), @@ -3067,19 +3067,19 @@ (M[(t + 80) >> 2] = tempI64[0]), (M[(t + 84) >> 2] = tempI64[1]), 0 - ) + ); }, doMsync: function(e, r, t, n) { - var o = new Uint8Array(T.subarray(e, e + t)) - be.msync(r, o, 0, t, n) + var o = new Uint8Array(T.subarray(e, e + t)); + be.msync(r, o, 0, t, n); }, doMkdir: function(e, r) { return ( - '/' === (e = me.normalize(e))[e.length - 1] && + (e = me.normalize(e))[e.length - 1] === '/' && (e = e.substr(0, e.length - 1)), be.mkdir(e, r, 0), 0 - ) + ); }, doMknod: function(e, r, t) { switch (61440 & r) { @@ -3088,73 +3088,73 @@ case 24576: case 4096: case 49152: - break + break; default: - return -22 + return -22; } - return be.mknod(e, r, t), 0 + return be.mknod(e, r, t), 0; }, doReadlink: function(e, r, t) { - if (t <= 0) return -22 + if (t <= 0) return -22; var n = be.readlink(e), o = Math.min(t, L(n)), - i = R[r + o] - return C(n, r, t + 1), (R[r + o] = i), o + i = R[r + o]; + return C(n, r, t + 1), (R[r + o] = i), o; }, doAccess: function(e, r) { - if (-8 & r) return -22 - var t - t = be.lookupPath(e, { follow: !0 }).node - var n = '' + if (-8 & r) return -22; + var t; + t = be.lookupPath(e, { follow: !0 }).node; + var n = ''; return ( 4 & r && (n += 'r'), 2 & r && (n += 'w'), 1 & r && (n += 'x'), n && be.nodePermissions(t, n) ? -13 : 0 - ) + ); }, doDup: function(e, r, t) { - var n = be.getStream(t) - return n && be.close(n), be.open(e, r, 0, t, t).fd + var n = be.getStream(t); + return n && be.close(n), be.open(e, r, 0, t, t).fd; }, doReadv: function(e, r, t, n) { for (var o = 0, i = 0; i < t; i++) { var a = M[(r + 8 * i) >> 2], s = M[(r + (8 * i + 4)) >> 2], - u = be.read(e, R, a, s, n) - if (u < 0) return -1 - if (((o += u), u < s)) break + u = be.read(e, R, a, s, n); + if (u < 0) return -1; + if (((o += u), u < s)) break; } - return o + return o; }, doWritev: function(e, r, t, n) { for (var o = 0, i = 0; i < t; i++) { var a = M[(r + 8 * i) >> 2], s = M[(r + (8 * i + 4)) >> 2], - u = be.write(e, R, a, s, n) - if (u < 0) return -1 - o += u + u = be.write(e, R, a, s, n); + if (u < 0) return -1; + o += u; } - return o + return o; }, varargs: 0, get: function(e) { - return (ke.varargs += 4), M[(ke.varargs - 4) >> 2] + return (ke.varargs += 4), M[(ke.varargs - 4) >> 2]; }, getStr: function() { - return I(ke.get()) + return I(ke.get()); }, getStreamFromFD: function() { - var e = be.getStream(ke.get()) - if (!e) throw new be.ErrnoError(9) - return e + var e = be.getStream(ke.get()); + if (!e) throw new be.ErrnoError(9); + return e; }, get64: function() { - var e = ke.get() - return ke.get(), e + var e = ke.get(); + return ke.get(), e; }, getZero: function() { - ke.get() + ke.get(); }, }, De = 11, @@ -3162,76 +3162,76 @@ Fe = { BUCKET_BUFFER_SIZE: 8192, mount: function(e) { - return be.createNode(null, '/', 16895, 0) + return be.createNode(null, '/', 16895, 0); }, createPipe: function() { - var e = { buckets: [] } + var e = { buckets: [] }; e.buckets.push({ buffer: new Uint8Array(Fe.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0, - }) + }); var r = Fe.nextname(), t = Fe.nextname(), n = be.createNode(Fe.root, r, 4096, 0), o = be.createNode(Fe.root, t, 4096, 0) - ;(n.pipe = e), (o.pipe = e) + ;(n.pipe = e), (o.pipe = e); var i = be.createStream({ path: r, node: n, flags: be.modeStringToFlags('r'), seekable: !1, stream_ops: Fe.stream_ops, - }) - n.stream = i + }); + n.stream = i; var a = be.createStream({ path: t, node: o, flags: be.modeStringToFlags('w'), seekable: !1, stream_ops: Fe.stream_ops, - }) - return (o.stream = a), { readable_fd: i.fd, writable_fd: a.fd } + }); + return (o.stream = a), { readable_fd: i.fd, writable_fd: a.fd }; }, stream_ops: { poll: function(e) { - var r = e.node.pipe - if (1 == (2097155 & e.flags)) return 260 + var r = e.node.pipe; + if ((2097155 & e.flags) == 1) return 260; if (r.buckets.length > 0) - for (var t = 0; t < r.buckets.length; t++) { - var n = r.buckets[t] - if (n.offset - n.roffset > 0) return 65 - } - return 0 + { for (var t = 0; t < r.buckets.length; t++) { + var n = r.buckets[t]; + if (n.offset - n.roffset > 0) return 65; + } } + return 0; }, ioctl: function(e, r, t) { - return Se + return Se; }, read: function(e, r, t, n, o) { for (var i = e.node.pipe, a = 0, s = 0; s < i.buckets.length; s++) { - var u = i.buckets[s] - a += u.offset - u.roffset + var u = i.buckets[s]; + a += u.offset - u.roffset; } - E(r instanceof ArrayBuffer || ArrayBuffer.isView(r)) - var c = r.subarray(t, t + n) - if (n <= 0) return 0 - if (0 == a) throw new be.ErrnoError(De) + E(r instanceof ArrayBuffer || ArrayBuffer.isView(r)); + var c = r.subarray(t, t + n); + if (n <= 0) return 0; + if (a == 0) throw new be.ErrnoError(De); var f = Math.min(a, n), l = f, - d = 0 + d = 0; for (s = 0; s < i.buckets.length; s++) { var p = i.buckets[s], - m = p.offset - p.roffset + m = p.offset - p.roffset; if (f <= m) { - var h = p.buffer.subarray(p.roffset, p.offset) - f < m ? ((h = h.subarray(0, f)), (p.roffset += f)) : d++, c.set(h) - break + var h = p.buffer.subarray(p.roffset, p.offset); + f < m ? ((h = h.subarray(0, f)), (p.roffset += f)) : d++, c.set(h); + break; } ;(h = p.buffer.subarray(p.roffset, p.offset)), c.set(h), (c = c.subarray(h.byteLength)), (f -= h.byteLength), - d++ + d++; } return ( d && @@ -3239,16 +3239,16 @@ (d--, (i.buckets[d].offset = 0), (i.buckets[d].roffset = 0)), i.buckets.splice(0, d), l - ) + ); }, write: function(e, r, t, n, o) { - var i = e.node.pipe - E(r instanceof ArrayBuffer || ArrayBuffer.isView(r)) + var i = e.node.pipe; + E(r instanceof ArrayBuffer || ArrayBuffer.isView(r)); var a = r.subarray(t, t + n), - s = a.byteLength - if (s <= 0) return 0 - var u = null - 0 == i.buckets.length + s = a.byteLength; + if (s <= 0) return 0; + var u = null; + i.buckets.length == 0 ? ((u = { buffer: new Uint8Array(Fe.BUCKET_BUFFER_SIZE), offset: 0, @@ -3256,13 +3256,13 @@ }), i.buckets.push(u)) : (u = i.buckets[i.buckets.length - 1]), - E(u.offset <= Fe.BUCKET_BUFFER_SIZE) - var c = Fe.BUCKET_BUFFER_SIZE - u.offset - if (c >= s) return u.buffer.set(a, u.offset), (u.offset += s), s + E(u.offset <= Fe.BUCKET_BUFFER_SIZE); + var c = Fe.BUCKET_BUFFER_SIZE - u.offset; + if (c >= s) return u.buffer.set(a, u.offset), (u.offset += s), s; c > 0 && (u.buffer.set(a.subarray(0, c), u.offset), (u.offset += c), - (a = a.subarray(c, a.byteLength))) + (a = a.subarray(c, a.byteLength))); for ( var f = (a.byteLength / Fe.BUCKET_BUFFER_SIZE) | 0, l = a.byteLength % Fe.BUCKET_BUFFER_SIZE, @@ -3274,10 +3274,10 @@ buffer: new Uint8Array(Fe.BUCKET_BUFFER_SIZE), offset: Fe.BUCKET_BUFFER_SIZE, roffset: 0, - } + }; i.buckets.push(p), p.buffer.set(a.subarray(0, Fe.BUCKET_BUFFER_SIZE)), - (a = a.subarray(Fe.BUCKET_BUFFER_SIZE, a.byteLength)) + (a = a.subarray(Fe.BUCKET_BUFFER_SIZE, a.byteLength)); } return ( l > 0 && @@ -3289,78 +3289,78 @@ i.buckets.push(p), p.buffer.set(a)), s - ) + ); }, close: function(e) { - e.node.pipe.buckets = null + e.node.pipe.buckets = null; }, }, nextname: function() { return ( Fe.nextname.current || (Fe.nextname.current = 0), 'pipe[' + Fe.nextname.current++ + ']' - ) + ); }, - } + }; function Ae() { - return R.length + return R.length; } function Re(e) { - var r = Ae() - if (e > 2147418112) return !1 - for (var t = Math.max(r, 16777216); t < e; ) - t = + var r = Ae(); + if (e > 2147418112) return !1; + for (var t = Math.max(r, 16777216); t < e;) + { t = t <= 536870912 ? H(2 * t, 65536) - : Math.min(H((3 * t + 2147483648) / 4, 65536), 2147418112) + : Math.min(H((3 * t + 2147483648) / 4, 65536), 2147418112); } return ( !!(function(e) { - e = H(e, 65536) - var r = A.byteLength + e = H(e, 65536); + var r = A.byteLength; try { - return -1 !== v.grow((e - r) / 65536) && ((A = v.buffer), !0) + return v.grow((e - r) / 65536) !== -1 && ((A = v.buffer), !0); } catch (e) { - return !1 + return !1; } })(t) && (W(), !0) - ) + ); } - var Te = 277408 + var Te = 277408; function Pe() { if (!Pe.called) { - ;(Pe.called = !0), (M[Ce() >> 2] = 60 * new Date().getTimezoneOffset()) + ;(Pe.called = !0), (M[Ce() >> 2] = 60 * new Date().getTimezoneOffset()); var e = new Date(2e3, 0, 1), - r = new Date(2e3, 6, 1) - M[ze() >> 2] = Number(e.getTimezoneOffset() != r.getTimezoneOffset()) + r = new Date(2e3, 6, 1); + M[ze() >> 2] = Number(e.getTimezoneOffset() != r.getTimezoneOffset()); var t = a(e), n = a(r), o = S(Ne(t), 'i8', k), - i = S(Ne(n), 'i8', k) + i = S(Ne(n), 'i8', k); r.getTimezoneOffset() < e.getTimezoneOffset() ? ((M[Le() >> 2] = o), (M[(Le() + 4) >> 2] = i)) - : ((M[Le() >> 2] = i), (M[(Le() + 4) >> 2] = o)) + : ((M[Le() >> 2] = i), (M[(Le() + 4) >> 2] = o)); } function a(e) { - var r = e.toTimeString().match(/\(([A-Za-z ]+)\)$/) - return r ? r[1] : 'GMT' + var r = e.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return r ? r[1] : 'GMT'; } } if ((C('GMT', 277456, 4), be.staticInit(), i)) { var Me = require('fs'), - Be = require('path') - ge.staticInit() + Be = require('path'); + ge.staticInit(); } function Ne(e, r, t) { var n = t > 0 ? t : L(e) + 1, o = new Array(n), - i = z(e, o, 0, o.length) - return r && (o.length = i), o + i = z(e, o, 0, o.length); + return r && (o.length = i), o; } var Oe = { b: Ze, q: function(e) {}, G: function e(r) { - var t, o + var t, o; e.called ? ((o = M[r >> 2]), (t = M[o >> 2])) : ((e.called = !0), @@ -3373,30 +3373,30 @@ (t = F(1024)), (o = F(256)), (M[o >> 2] = t), - (M[r >> 2] = o)) + (M[r >> 2] = o)); var i = [], - a = 0 + a = 0; for (var s in pe) - if ('string' == typeof pe[s]) { - var u = s + '=' + pe[s] - i.push(u), (a += u.length) - } - if (a > 1024) throw new Error('Environment size exceeded TOTAL_ENV_SIZE!') + { if (typeof pe[s] === 'string') { + var u = s + '=' + pe[s]; + i.push(u), (a += u.length); + } } + if (a > 1024) throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); for (var c = 0; c < i.length; c++) - U((u = i[c]), t), (M[(o + 4 * c) >> 2] = t), (t += u.length + 1) - M[(o + 4 * i.length) >> 2] = 0 + { U((u = i[c]), t), (M[(o + 4 * c) >> 2] = t), (t += u.length + 1) } + M[(o + 4 * i.length) >> 2] = 0; }, l: he, s: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStreamFromFD(), n = ke.get(), o = ke.get(), i = ke.get(), - a = ke.get() - if (!((-1 == n && o < 0) || (0 == n && o >= 0))) return -75 - var s = o + a = ke.get(); + if (!((n == -1 && o < 0) || (n == 0 && o >= 0))) return -75; + var s = o; return ( be.llseek(t, s, a), (tempI64 = [ @@ -3410,26 +3410,26 @@ ]), (M[i >> 2] = tempI64[0]), (M[(i + 4) >> 2] = tempI64[1]), - t.getdents && 0 === s && 0 === a && (t.getdents = null), + t.getdents && s === 0 && a === 0 && (t.getdents = null), 0 - ) + ); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, i: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStreamFromFD(), n = ke.get(), - o = ke.get() - return ke.doWritev(t, n, o) + o = ke.get(); + return ke.doWritev(t, n, o); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, p: function(e, r) { - ke.varargs = r + ke.varargs = r; try { for ( var t = ke.get(), n = ke.get(), o = (ke.get(), 0), i = 0; @@ -3440,160 +3440,160 @@ s = M[a >> 2], u = P[(a + 4) >> 1], c = 32, - f = be.getStream(s) + f = be.getStream(s); f && ((c = ke.DEFAULT_POLLMASK), f.stream_ops.poll && (c = f.stream_ops.poll(f))), (c &= 24 | u) && o++, - (P[(a + 6) >> 1] = c) + (P[(a + 6) >> 1] = c); } - return o + return o; } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, o: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStr(), - n = ke.get() - return ke.doStat(be.stat, t, n) + n = ke.get(); + return ke.doStat(be.stat, t, n); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, n: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStr(), - n = ke.get() - return ke.doStat(be.lstat, t, n) + n = ke.get(); + return ke.doStat(be.lstat, t, n); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, m: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStreamFromFD(), - n = ke.get() - return ke.doStat(be.stat, t.path, n) + n = ke.get(); + return ke.doStat(be.stat, t.path, n); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, c: function(e, r) { - ke.varargs = r + ke.varargs = r; try { - var t = ke.getStreamFromFD() + var t = ke.getStreamFromFD(); switch (ke.get()) { case 0: - return (n = ke.get()) < 0 ? -22 : be.open(t.path, t.flags, 0, n).fd + return (n = ke.get()) < 0 ? -22 : be.open(t.path, t.flags, 0, n).fd; case 1: case 2: - return 0 + return 0; case 3: - return t.flags + return t.flags; case 4: - var n = ke.get() - return (t.flags |= n), 0 + var n = ke.get(); + return (t.flags |= n), 0; case 12: - return (n = ke.get()), (P[(n + 0) >> 1] = 2), 0 + return (n = ke.get()), (P[(n + 0) >> 1] = 2), 0; case 13: case 14: - return 0 + return 0; case 16: case 8: - return -22 + return -22; case 9: - return he(22), -1 + return he(22), -1; default: - return -22 + return -22; } } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, F: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStreamFromFD(), n = ke.get(), - o = ke.get() - return be.read(t, R, n, o) + o = ke.get(); + return be.read(t, R, n, o); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, E: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStreamFromFD(), n = ke.get(), - o = ke.get() - return be.write(t, R, n, o) + o = ke.get(); + return be.write(t, R, n, o); } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, D: function(e, r) { - ke.varargs = r + ke.varargs = r; try { - var t = ke.getStreamFromFD() - return be.open(t.path, t.flags, 0).fd + var t = ke.getStreamFromFD(); + return be.open(t.path, t.flags, 0).fd; } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, C: function(e, r) { - ke.varargs = r + ke.varargs = r; try { - var t = ke.get() - if (0 == t) throw new be.ErrnoError(14) - var n = Fe.createPipe() - return (M[t >> 2] = n.readable_fd), (M[(t + 4) >> 2] = n.writable_fd), 0 + var t = ke.get(); + if (t == 0) throw new be.ErrnoError(14); + var n = Fe.createPipe(); + return (M[t >> 2] = n.readable_fd), (M[(t + 4) >> 2] = n.writable_fd), 0; } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, B: function(e, r) { - ke.varargs = r + ke.varargs = r; try { var t = ke.getStr(), n = ke.get(), - o = ke.get() - return be.open(t, n, o).fd + o = ke.get(); + return be.open(t, n, o).fd; } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, h: function(e, r) { - ke.varargs = r + ke.varargs = r; try { - var t = ke.getStreamFromFD() - return be.close(t), 0 + var t = ke.getStreamFromFD(); + return be.close(t), 0; } catch (e) { - return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno + return (void 0 !== be && e instanceof be.ErrnoError) || Ze(e), -e.errno; } }, g: function() { - n.abort() + n.abort(); }, A: Ae, z: function(e, r, t) { - T.set(T.subarray(r, r + t), e) + T.set(T.subarray(r, r + t), e); }, y: Re, f: function(e) { !(function(e, r) { - ;(r && n.noExitRuntime && 0 === e) || + ;(r && n.noExitRuntime && e === 0) || (n.noExitRuntime || ((y = !0), n.onExit && n.onExit(e)), - n.quit(e, new qe(e))) - })(e) + n.quit(e, new qe(e))); + })(e); }, x: function(e) { return (function(e, r) { - Pe() + Pe(); var t = new Date(1e3 * M[e >> 2]) ;(M[r >> 2] = t.getSeconds()), (M[(r + 4) >> 2] = t.getMinutes()), @@ -3601,20 +3601,20 @@ (M[(r + 12) >> 2] = t.getDate()), (M[(r + 16) >> 2] = t.getMonth()), (M[(r + 20) >> 2] = t.getFullYear() - 1900), - (M[(r + 24) >> 2] = t.getDay()) + (M[(r + 24) >> 2] = t.getDay()); var n = new Date(t.getFullYear(), 0, 1), o = ((t.getTime() - n.getTime()) / 864e5) | 0 - ;(M[(r + 28) >> 2] = o), (M[(r + 36) >> 2] = -60 * t.getTimezoneOffset()) + ;(M[(r + 28) >> 2] = o), (M[(r + 36) >> 2] = -60 * t.getTimezoneOffset()); var i = new Date(2e3, 6, 1).getTimezoneOffset(), a = n.getTimezoneOffset(), - s = 0 | (i != a && t.getTimezoneOffset() == Math.min(a, i)) - M[(r + 32) >> 2] = s - var u = M[(Le() + (s ? 4 : 0)) >> 2] - return (M[(r + 40) >> 2] = u), r - })(e, Te) + s = 0 | (i != a && t.getTimezoneOffset() == Math.min(a, i)); + M[(r + 32) >> 2] = s; + var u = M[(Le() + (s ? 4 : 0)) >> 2]; + return (M[(r + 40) >> 2] = u), r; + })(e, Te); }, d: function(e) { - Pe() + Pe(); var r = new Date( M[(e + 20) >> 2] + 1900, M[(e + 16) >> 2], @@ -3629,36 +3629,36 @@ o = new Date(r.getFullYear(), 0, 1), i = new Date(2e3, 6, 1).getTimezoneOffset(), a = o.getTimezoneOffset(), - s = Math.min(a, i) - if (t < 0) M[(e + 32) >> 2] = Number(i != a && s == n) + s = Math.min(a, i); + if (t < 0) M[(e + 32) >> 2] = Number(i != a && s == n); else if (t > 0 != (s == n)) { var u = Math.max(a, i), - c = t > 0 ? s : u - r.setTime(r.getTime() + 6e4 * (c - n)) + c = t > 0 ? s : u; + r.setTime(r.getTime() + 6e4 * (c - n)); } - M[(e + 24) >> 2] = r.getDay() - var f = ((r.getTime() - o.getTime()) / 864e5) | 0 - return (M[(e + 28) >> 2] = f), (r.getTime() / 1e3) | 0 + M[(e + 24) >> 2] = r.getDay(); + var f = ((r.getTime() - o.getTime()) / 864e5) | 0; + return (M[(e + 28) >> 2] = f), (r.getTime() / 1e3) | 0; }, e: function() { - p('missing function: posix_spawn_file_actions_addclose'), Ze(-1) + p('missing function: posix_spawn_file_actions_addclose'), Ze(-1); }, k: function() { - p('missing function: posix_spawn_file_actions_adddup2'), Ze(-1) + p('missing function: posix_spawn_file_actions_adddup2'), Ze(-1); }, j: function() { - p('missing function: posix_spawn_file_actions_destroy'), Ze(-1) + p('missing function: posix_spawn_file_actions_destroy'), Ze(-1); }, w: function() { - p('missing function: posix_spawn_file_actions_init'), Ze(-1) + p('missing function: posix_spawn_file_actions_init'), Ze(-1); }, v: function() { - return function() { - return he(11), -1 - }.apply(null, arguments) + return (function() { + return he(11), -1; + }.apply(null, arguments)); }, u: function(e) { - Pe() + Pe(); var r = Date.UTC( M[(e + 20) >> 2] + 1900, M[(e + 16) >> 2], @@ -3668,102 +3668,102 @@ M[e >> 2], 0 ), - t = new Date(r) - M[(e + 24) >> 2] = t.getUTCDay() + t = new Date(r); + M[(e + 24) >> 2] = t.getUTCDay(); var n = Date.UTC(t.getUTCFullYear(), 0, 1, 0, 0, 0, 0), - o = ((t.getTime() - n) / 864e5) | 0 - return (M[(e + 28) >> 2] = o), (t.getTime() / 1e3) | 0 + o = ((t.getTime() - n) / 864e5) | 0; + return (M[(e + 28) >> 2] = o), (t.getTime() / 1e3) | 0; }, t: function() { - return function(e) { - return he(10), -1 - }.apply(null, arguments) + return (function(e) { + return he(10), -1; + }.apply(null, arguments)); }, r: function(e) { - Ze('OOM') + Ze('OOM'); }, a: q, }, - xe = n.asm({}, Oe, A) - n.asm = xe + xe = n.asm({}, Oe, A); + n.asm = xe; var Ie = (n.___emscripten_environ_constructor = function() { - return n.asm.H.apply(null, arguments) + return n.asm.H.apply(null, arguments); }), ze = ((n.___errno_location = function() { - return n.asm.I.apply(null, arguments) + return n.asm.I.apply(null, arguments); }), (n.__get_daylight = function() { - return n.asm.J.apply(null, arguments) + return n.asm.J.apply(null, arguments); })), Ce = (n.__get_timezone = function() { - return n.asm.K.apply(null, arguments) + return n.asm.K.apply(null, arguments); }), Le = (n.__get_tzname = function() { - return n.asm.L.apply(null, arguments) + return n.asm.L.apply(null, arguments); }), Ue = ((n._archive_close = function() { - return n.asm.M.apply(null, arguments) + return n.asm.M.apply(null, arguments); }), (n._archive_entry_filetype = function() { - return n.asm.N.apply(null, arguments) + return n.asm.N.apply(null, arguments); }), (n._archive_entry_is_encrypted = function() { - return n.asm.O.apply(null, arguments) + return n.asm.O.apply(null, arguments); }), (n._archive_entry_pathname = function() { - return n.asm.P.apply(null, arguments) + return n.asm.P.apply(null, arguments); }), (n._archive_entry_pathname_utf8 = function() { - return n.asm.Q.apply(null, arguments) + return n.asm.Q.apply(null, arguments); }), (n._archive_entry_size = function() { - return n.asm.R.apply(null, arguments) + return n.asm.R.apply(null, arguments); }), (n._archive_error_string = function() { - return n.asm.S.apply(null, arguments) + return n.asm.S.apply(null, arguments); }), (n._archive_open = function() { - return n.asm.T.apply(null, arguments) + return n.asm.T.apply(null, arguments); }), (n._archive_read_add_passphrase = function() { - return n.asm.U.apply(null, arguments) + return n.asm.U.apply(null, arguments); }), (n._archive_read_data_skip = function() { - return n.asm.V.apply(null, arguments) + return n.asm.V.apply(null, arguments); }), (n._archive_read_has_encrypted_entries = function() { - return n.asm.W.apply(null, arguments) + return n.asm.W.apply(null, arguments); }), (n._free = function() { - return n.asm.X.apply(null, arguments) + return n.asm.X.apply(null, arguments); }), (n._get_filedata = function() { - return n.asm.Y.apply(null, arguments) + return n.asm.Y.apply(null, arguments); }), (n._get_next_entry = function() { - return n.asm.Z.apply(null, arguments) + return n.asm.Z.apply(null, arguments); }), (n._get_version = function() { - return n.asm._.apply(null, arguments) + return n.asm._.apply(null, arguments); }), (n._malloc = function() { - return n.asm.$.apply(null, arguments) + return n.asm.$.apply(null, arguments); })), je = (n.stackAlloc = function() { - return n.asm.ca.apply(null, arguments) + return n.asm.ca.apply(null, arguments); }), He = (n.stackRestore = function() { - return n.asm.da.apply(null, arguments) + return n.asm.da.apply(null, arguments); }), We = (n.stackSave = function() { - return n.asm.ea.apply(null, arguments) - }) + return n.asm.ea.apply(null, arguments); + }); function qe(e) { ;(this.name = 'ExitStatus'), (this.message = 'Program terminated with exit(' + e + ')'), - (this.status = e) + (this.status = e); } function Ke(e) { function r() { @@ -3780,28 +3780,28 @@ n.onRuntimeInitialized && n.onRuntimeInitialized(), (function() { if (n.postRun) - for ( - 'function' == typeof n.postRun && (n.postRun = [n.postRun]); + { for ( + typeof n.postRun === 'function' && (n.postRun = [n.postRun]); n.postRun.length; ) - (e = n.postRun.shift()), G.unshift(e) - var e - Z(G) - })())) + { (e = n.postRun.shift()), G.unshift(e) } } + var e; + Z(G); + })())); } ;(e = e || n.arguments), te > 0 || ((function() { if (n.preRun) - for ( - 'function' == typeof n.preRun && (n.preRun = [n.preRun]); + { for ( + typeof n.preRun === 'function' && (n.preRun = [n.preRun]); n.preRun.length; ) - (e = n.preRun.shift()), V.unshift(e) - var e - Z(V) + { (e = n.preRun.shift()), V.unshift(e) } } + var e; + Z(V); })(), te > 0 || n.calledRun || @@ -3809,74 +3809,74 @@ ? (n.setStatus('Running...'), setTimeout(function() { setTimeout(function() { - n.setStatus('') + n.setStatus(''); }, 1), - r() + r(); }, 1)) - : r())) + : r())); } function Ze(e) { throw (n.onAbort && n.onAbort(e), void 0 !== e ? (d(e), p(e), (e = JSON.stringify(e))) : (e = ''), (y = !0), - 'abort(' + e + '). Build with -s ASSERTIONS=1 for more info.') + 'abort(' + e + '). Build with -s ASSERTIONS=1 for more info.'); } if ( ((n.dynCall_v = function() { - return n.asm.aa.apply(null, arguments) + return n.asm.aa.apply(null, arguments); }), (n.dynCall_vi = function() { - return n.asm.ba.apply(null, arguments) + return n.asm.ba.apply(null, arguments); }), (n.asm = xe), (n.intArrayFromString = Ne), (n.cwrap = function(e, r, t, n) { var o = (t = t || []).every(function(e) { - return 'number' === e - }) - return 'string' !== r && o && !n + return e === 'number'; + }); + return r !== 'string' && o && !n ? g(e) : function() { - return _(e, r, t, arguments) - } + return _(e, r, t, arguments); + }; }), (n.allocate = S), (n.then = function(e) { - if (n.calledRun) e(n) + if (n.calledRun) e(n); else { - var r = n.onRuntimeInitialized + var r = n.onRuntimeInitialized; n.onRuntimeInitialized = function() { - r && r(), e(n) - } + r && r(), e(n); + }; } - return n + return n; }), (qe.prototype = new Error()), (qe.prototype.constructor = qe), (oe = function e() { - n.calledRun || Ke(), n.calledRun || (oe = e) + n.calledRun || Ke(), n.calledRun || (oe = e); }), (n.run = Ke), (n.abort = Ze), n.preInit) ) - for ( - 'function' == typeof n.preInit && (n.preInit = [n.preInit]); + { for ( + typeof n.preInit === 'function' && (n.preInit = [n.preInit]); n.preInit.length > 0; ) - n.preInit.pop()() - return (n.noExitRuntime = !0), Ke(), e - }) + { n.preInit.pop()() } } + return (n.noExitRuntime = !0), Ke(), e; + }); class o { constructor() { - ;(this.preRun = []), (this.postRun = []), (this.totalDependencies = 0) + ;(this.preRun = []), (this.postRun = []), (this.totalDependencies = 0); } print(...e) { - console.log(e) + console.log(e); } printErr(...e) { - console.error(e) + console.error(e); } initFunctions() { this.runCode = { @@ -3901,60 +3901,60 @@ string: e => this.allocate(this.intArrayFromString(e), 'i8', 0), malloc: this.cwrap('malloc', 'number', ['number']), free: this.cwrap('free', null, ['number']), - } + }; } monitorRunDependencies() {} locateFile(e) { - return `wasm-gen/${e}` + return `wasm-gen/${e}`; } } let i = null, - a = !1 + a = !1; var s ;(s = e => { - ;(i = new r(e)), (a = !1), self.postMessage({ type: 'READY' }) + ;(i = new r(e)), (a = !1), self.postMessage({ type: 'READY' }); }), n(new o()).then(e => { - e.initFunctions(), s(e) + e.initFunctions(), s(e); }), (self.onmessage = async ({ data: e }) => { - if (a) return void self.postMessage({ type: 'BUSY' }) - let r = !1 - a = !0 + if (a) return void self.postMessage({ type: 'BUSY' }); + let r = !1; + a = !0; try { switch (e.type) { case 'HELLO': - break + break; case 'OPEN': - await i.open(e.file), self.postMessage({ type: 'OPENED' }) - break + await i.open(e.file), self.postMessage({ type: 'OPENED' }); + break; case 'LIST_FILES': - r = !0 + r = !0; case 'EXTRACT_FILES': - for (const e of i.entries(r)) self.postMessage({ type: 'ENTRY', entry: e }) - self.postMessage({ type: 'END' }) - break + for (const e of i.entries(r)) self.postMessage({ type: 'ENTRY', entry: e }); + self.postMessage({ type: 'END' }); + break; case 'EXTRACT_SINGLE_FILE': for (const r of i.entries(!0, e.target)) - r.fileData && self.postMessage({ type: 'FILE', entry: r }) - break + { r.fileData && self.postMessage({ type: 'FILE', entry: r }) } + break; case 'CHECK_ENCRYPTION': - self.postMessage({ type: 'ENCRYPTION_STATUS', status: i.hasEncryptedData() }) - break + self.postMessage({ type: 'ENCRYPTION_STATUS', status: i.hasEncryptedData() }); + break; case 'SET_PASSPHRASE': i.setPassphrase(e.passphrase), - self.postMessage({ type: 'PASSPHRASE_STATUS', status: !0 }) - break + self.postMessage({ type: 'PASSPHRASE_STATUS', status: !0 }); + break; default: - throw new Error('Invalid Command') + throw new Error('Invalid Command'); } } catch (e) { self.postMessage({ type: 'ERROR', error: { message: e.message, name: e.name, stack: e.stack }, - }) + }); } finally { - a = !1 + a = !1; } - }) -})() + }); +})(); diff --git a/ui/component/app/view.jsx b/ui/component/app/view.jsx index 4c5f5f849..c252a0e01 100644 --- a/ui/component/app/view.jsx +++ b/ui/component/app/view.jsx @@ -236,7 +236,15 @@ function App(props: Props) { fetchModBlockedList(); fetchModAmIList(); } - }, [hasMyChannels, hasNoChannels, hasActiveChannelClaim, setActiveChannelIfNotSet, setIncognito]); + }, [ + fetchModAmIList, + fetchModBlockedList, + hasMyChannels, + hasNoChannels, + hasActiveChannelClaim, + setActiveChannelIfNotSet, + setIncognito, + ]); useEffect(() => { // $FlowFixMe diff --git a/ui/component/channelContent/view.jsx b/ui/component/channelContent/view.jsx index 11aa4eedb..4e504658d 100644 --- a/ui/component/channelContent/view.jsx +++ b/ui/component/channelContent/view.jsx @@ -102,7 +102,7 @@ function ChannelContent(props: Props) { } }, DEBOUNCE_WAIT_DURATION_MS); return () => clearTimeout(timer); - }, [claimId, searchQuery, showMature]); + }, [claimId, doResolveUris, searchQuery, showMature]); React.useEffect(() => { setSearchQuery(''); diff --git a/ui/component/channelForm/view.jsx b/ui/component/channelForm/view.jsx index 236d42ae5..648a0284d 100644 --- a/ui/component/channelForm/view.jsx +++ b/ui/component/channelForm/view.jsx @@ -121,7 +121,7 @@ function ChannelForm(props: Props) { bidError || (isNewChannel && !params.name) ); - }, [isClaimingInitialRewards, creatingChannel, updatingChannel, nameError, bidError, isNewChannel, params.name]); + }, [coverError, isClaimingInitialRewards, creatingChannel, updatingChannel, bidError, isNewChannel, params.name]); function getChannelParams() { // fill this in with sdk data diff --git a/ui/component/claimPreview/view.jsx b/ui/component/claimPreview/view.jsx index 9717eeec7..5246aaeb5 100644 --- a/ui/component/claimPreview/view.jsx +++ b/ui/component/claimPreview/view.jsx @@ -385,7 +385,7 @@ const ClaimPreview = forwardRef((props: Props, ref: any) => { )} -
+
{!isChannelUri && signingChannel && (
diff --git a/ui/component/collectionEdit/view.jsx b/ui/component/collectionEdit/view.jsx index 088e67225..16b097019 100644 --- a/ui/component/collectionEdit/view.jsx +++ b/ui/component/collectionEdit/view.jsx @@ -260,7 +260,7 @@ function CollectionForm(props: Props) { const collectionClaimIds = JSON.parse(collectionClaimIdsString); setParams({ ...params, claims: collectionClaimIds }); clearCollectionErrors(); - }, [collectionClaimIdsString, setParams]); + }, [clearCollectionErrors, params, collectionClaimIdsString, setParams]); React.useEffect(() => { let nameError; @@ -302,14 +302,14 @@ function CollectionForm(props: Props) { setParam({ channel_id: undefined }); } } - }, [activeChannelId, incognito, initialized]); + }, [setParam, activeChannelId, incognito, initialized]); // setup initial params after we're sure if it's published or not React.useEffect(() => { if (!uri || (uri && hasClaim)) { updateParams(getCollectionParams()); } - }, [uri, hasClaim]); + }, [uri, hasClaim, getCollectionParams, updateParams]); React.useEffect(() => { resetThumbnailStatus(); diff --git a/ui/component/common/file-list.jsx b/ui/component/common/file-list.jsx index b4acb993c..eaaab9c69 100644 --- a/ui/component/common/file-list.jsx +++ b/ui/component/common/file-list.jsx @@ -58,7 +58,7 @@ function FileList(props: Props) { } } } - }, [radio, onChange]); + }, [radio, onChange, getFile]); return (
diff --git a/ui/component/loginGraphic/index.jsx b/ui/component/loginGraphic/index.jsx index cefc65753..9b166adab 100644 --- a/ui/component/loginGraphic/index.jsx +++ b/ui/component/loginGraphic/index.jsx @@ -23,7 +23,7 @@ function LoginGraphic(props: any) { } else { setSrc(imgUrl); } - }, []); + }, [imgUrl]); if (error || !imgUrl) { return null; diff --git a/ui/component/publishFile/view.jsx b/ui/component/publishFile/view.jsx index f1a5f64de..39538b8f0 100644 --- a/ui/component/publishFile/view.jsx +++ b/ui/component/publishFile/view.jsx @@ -120,7 +120,7 @@ function PublishFile(props: Props) { processSelectedFile(fileData); } readSelectedFileDetails(); - }, [filePath]); + }, [filePath, processSelectedFile]); useEffect(() => { const isOptimizeAvail = currentFile && currentFile !== '' && isVid && ffmpegAvail; diff --git a/ui/component/publishForm/view.jsx b/ui/component/publishForm/view.jsx index 4081f1168..c34760667 100644 --- a/ui/component/publishForm/view.jsx +++ b/ui/component/publishForm/view.jsx @@ -262,7 +262,7 @@ function PublishForm(props: Props) { if (publishing || publishSuccess) { clearPublish(); } - }, [clearPublish]); + }, [clearPublish, publishing, publishSuccess]); useEffect(() => { if (!thumbnail) { @@ -363,7 +363,7 @@ function PublishForm(props: Props) { const newParams = new URLSearchParams(); newParams.set(TYPE_PARAM, mode.toLowerCase()); replace({ search: newParams.toString() }); - }, [mode, _uploadType]); + }, [mode, _uploadType, replace]); // @if TARGET='app' // Save file changes locally ( desktop ) diff --git a/ui/component/reportContent/view.jsx b/ui/component/reportContent/view.jsx index a1894a5c4..5a9e68b69 100644 --- a/ui/component/reportContent/view.jsx +++ b/ui/component/reportContent/view.jsx @@ -87,7 +87,7 @@ export default function ReportContent(props: Props) { claim_ids: [claimId], }); } - }, [claim, claimId]); + }, [claim, claimId, doClaimSearch]); // On mount, pause player and get the timestamp, if applicable. React.useEffect(() => { @@ -102,7 +102,7 @@ export default function ReportContent(props: Props) { const str = (n) => n.toLocaleString('en-US', { minimumIntegerDigits: 2, useGrouping: false }); updateInput('timestamp', str(h) + ':' + str(m) + ':' + str(s)); } - }, []); + }, [updateInput]); React.useEffect(() => { let timer; diff --git a/ui/component/repostCreate/view.jsx b/ui/component/repostCreate/view.jsx index 261da7b41..d11c5ae1e 100644 --- a/ui/component/repostCreate/view.jsx +++ b/ui/component/repostCreate/view.jsx @@ -196,7 +196,7 @@ function RepostCreate(props: Props) { if (repostTakeoverAmount) { setAutoRepostBid(repostTakeoverAmount); } - }, [enteredRepostAmount, passedRepostAmount]); + }, [setAutoRepostBid, enteredRepostAmount, passedRepostAmount]); // repost bid error React.useEffect(() => { @@ -211,7 +211,7 @@ function RepostCreate(props: Props) { rBidError = __('Your deposit must be higher'); } setRepostBidError(rBidError); - }, [setRepostBidError, repostBidError, repostBid]); + }, [balance, setRepostBidError, repostBidError, repostBid]); // setContentUri given enteredUri React.useEffect(() => { diff --git a/ui/component/searchOptions/view.jsx b/ui/component/searchOptions/view.jsx index 70aa32c5f..43de67008 100644 --- a/ui/component/searchOptions/view.jsx +++ b/ui/component/searchOptions/view.jsx @@ -67,7 +67,7 @@ const SearchOptions = (props: Props) => { if (options[SEARCH_OPTIONS.RESULT_COUNT] !== SEARCH_PAGE_SIZE) { setSearchOption(SEARCH_OPTIONS.RESULT_COUNT, SEARCH_PAGE_SIZE); } - }, []); + }, [options, setSearchOption]); function updateSearchOptions(option, value) { setSearchOption(option, value); diff --git a/ui/component/settingStorage/view.jsx b/ui/component/settingStorage/view.jsx index 1de4002a0..5834f1505 100644 --- a/ui/component/settingStorage/view.jsx +++ b/ui/component/settingStorage/view.jsx @@ -34,7 +34,7 @@ export default function SettingStorage(props: Props) { cleanBlobs().then(() => { setCleaning(false); }); - }, []); + }, [cleanBlobs]); return ( <> diff --git a/ui/component/settingViewHosting/view.jsx b/ui/component/settingViewHosting/view.jsx index e82b3b2cf..05e50894b 100644 --- a/ui/component/settingViewHosting/view.jsx +++ b/ui/component/settingViewHosting/view.jsx @@ -105,7 +105,7 @@ function SettingViewHosting(props: Props) { if (unlimited && viewHostingLimit !== 0) { handleApply(); } - }, [unlimited, viewHostingLimit]); + }, [handleApply, unlimited, viewHostingLimit]); return ( <> diff --git a/ui/component/settingWalletServer/view.jsx b/ui/component/settingWalletServer/view.jsx index 791afa584..8b954c94d 100644 --- a/ui/component/settingWalletServer/view.jsx +++ b/ui/component/settingWalletServer/view.jsx @@ -73,27 +73,27 @@ function SettingWalletServer(props: Props) { doClear(); } }, - [] + [doClear] ); useEffect(() => { if (hasWalletServerPrefs) { setUsingCustomServer(true); } - }, []); + }, [hasWalletServerPrefs]); useEffect(() => { const interval = setInterval(() => { getDaemonStatus(); }, STATUS_INTERVAL); return () => clearInterval(interval); - }, []); + }, [getDaemonStatus]); useEffect(() => { if (walletRollbackToDefault) { doClear(); } - }, [walletRollbackToDefault]); + }, [doClear, walletRollbackToDefault]); useEffect(() => { if (usingCustomServer) { diff --git a/ui/component/supportsLiquidate/view.jsx b/ui/component/supportsLiquidate/view.jsx index 059d11ccf..4842fc44a 100644 --- a/ui/component/supportsLiquidate/view.jsx +++ b/ui/component/supportsLiquidate/view.jsx @@ -89,7 +89,14 @@ const SupportsLiquidate = (props: Props) => { } setUnlockTextAmount(String(defaultValue)); setDefaultValueAssigned(true); - }, [defaultValueAssigned, previewBalance, unlockTextAmount, setUnlockTextAmount, setDefaultValueAssigned]); + }, [ + defaultValue, + defaultValueAssigned, + previewBalance, + unlockTextAmount, + setUnlockTextAmount, + setDefaultValueAssigned, + ]); // Update message & error based on unlock amount. useEffect(() => { @@ -117,7 +124,7 @@ const SupportsLiquidate = (props: Props) => { setMessage(initialMessage); setError(false); } - }, [unlockTextAmount, previewBalance, setMessage, setError]); + }, [initialMessage, unlockTextAmount, previewBalance, setMessage, setError]); return ( void] = React.useState(); @@ -118,7 +110,7 @@ function SyncEnableFlow(props: Props) { setStep(FETCH_FOR_DISABLE); } } - }, [mode, setPassword]); + }, [mode, setPassword, checkSync]); React.useEffect(() => { if (step === FETCH_FOR_ENABLE) { @@ -146,7 +138,7 @@ function SyncEnableFlow(props: Props) { setStep(CONFIRM); }); } - }, [step, setPrefDict, setStep, password]); + }, [step, setPrefDict, setStep, password, getSync]); if (getSyncPending) { return ( diff --git a/ui/component/textareaSuggestionsItem/view.jsx b/ui/component/textareaSuggestionsItem/view.jsx index 2c9ed477e..b711c0f22 100644 --- a/ui/component/textareaSuggestionsItem/view.jsx +++ b/ui/component/textareaSuggestionsItem/view.jsx @@ -15,7 +15,7 @@ export default function TextareaSuggestionsItem(props: Props) { const { name: value, url, unicode } = emote; return ( -
+
{unicode ?
{unicode}
: }
@@ -31,7 +31,7 @@ export default function TextareaSuggestionsItem(props: Props) { const value = claim.canonical_url.replace('lbry://', '').replace('#', ':'); return ( -
+
diff --git a/ui/component/userChannelFollowIntro/view.jsx b/ui/component/userChannelFollowIntro/view.jsx index 36341d7a0..a4ea34e6d 100644 --- a/ui/component/userChannelFollowIntro/view.jsx +++ b/ui/component/userChannelFollowIntro/view.jsx @@ -56,7 +56,7 @@ function UserChannelFollowIntro(props: Props) { }; setTimeout(delayedChannelSubscribe, 1000); } - }, [prefsReady]); + }, [prefsReady, channelSubscribe]); return ( diff --git a/ui/component/userSignIn/view.jsx b/ui/component/userSignIn/view.jsx index 6e646019d..ab59f8fc7 100644 --- a/ui/component/userSignIn/view.jsx +++ b/ui/component/userSignIn/view.jsx @@ -7,10 +7,10 @@ import Spinner from 'component/spinner'; type Props = { user: ?User, - history: { push: string => void, replace: string => void }, + history: { push: (string) => void, replace: (string) => void }, location: { search: string }, userFetchPending: boolean, - doUserSignIn: string => void, + doUserSignIn: (string) => void, emailToVerify: ?string, passwordExists: boolean, }; @@ -30,7 +30,7 @@ function UserSignIn(props: Props) { if (hasVerifiedEmail || (!showEmail && !showPassword && !showLoading)) { history.replace(redirect || '/'); } - }, [showEmail, showPassword, showLoading, hasVerifiedEmail]); + }, [showEmail, showPassword, showLoading, hasVerifiedEmail, history, redirect]); React.useEffect(() => { if (emailToVerify && emailOnlyLogin) { diff --git a/ui/component/userSignUp/view.jsx b/ui/component/userSignUp/view.jsx index fbaa96ab4..dce8680d1 100644 --- a/ui/component/userSignUp/view.jsx +++ b/ui/component/userSignUp/view.jsx @@ -110,7 +110,7 @@ function UserSignUp(props: Props) { if (previousHasVerifiedEmail === false && hasVerifiedEmail && prefsReady) { setSettingAndSync(SETTINGS.FIRST_RUN_STARTED, true); } - }, [hasVerifiedEmail, previousHasVerifiedEmail, prefsReady]); + }, [hasVerifiedEmail, previousHasVerifiedEmail, prefsReady, setSettingAndSync]); React.useEffect(() => { // Don't claim the reward if sync is enabled until after a sync has been completed successfully diff --git a/ui/component/viewers/videoViewer/internal/videojs-events.jsx b/ui/component/viewers/videoViewer/internal/videojs-events.jsx index 914477c72..e38ad96cc 100644 --- a/ui/component/viewers/videoViewer/internal/videojs-events.jsx +++ b/ui/component/viewers/videoViewer/internal/videojs-events.jsx @@ -157,7 +157,7 @@ const VideoJsEvents = ({ .getChild('TheaterModeButton') .controlText(videoTheaterMode ? __('Default Mode (t)') : __('Theater Mode (t)')); } - }, [videoTheaterMode]); + }, [videoTheaterMode, playerRef]); // when user clicks 'Unmute' button, turn audio on and hide unmute button function unmuteAndHideHint() { @@ -224,14 +224,14 @@ const VideoJsEvents = ({ autoplayButton.setAttribute('aria-checked', autoplaySetting); } } - }, [autoplaySetting]); + }, [autoplaySetting, playerRef]); useEffect(() => { const player = playerRef.current; if (replay && player) { player.play(); } - }, [replay]); + }, [replay, playerRef]); function initializeEvents() { const player = playerRef.current; diff --git a/ui/component/viewers/videoViewer/internal/videojs.jsx b/ui/component/viewers/videoViewer/internal/videojs.jsx index 11e77a892..9d39d622e 100644 --- a/ui/component/viewers/videoViewer/internal/videojs.jsx +++ b/ui/component/viewers/videoViewer/internal/videojs.jsx @@ -245,7 +245,7 @@ export default React.memo(function VideoJs(props: Props) { window.player = undefined; } }; - }, [isAudio, source]); + }, [isAudio, source, curried_function, createVideoPlayerDOM, detectFileType, initializeVideoPlayer]); // Update video player and reload when source URL changes useEffect(() => { @@ -279,7 +279,7 @@ export default React.memo(function VideoJs(props: Props) { player.bigPlayButton.hide(); } }); - }, [source, reload]); + }, [source, reload, sourceType, videoJsOptions.sources]); return ( // $FlowFixMe diff --git a/ui/effects/use-history-nav.js b/ui/effects/use-history-nav.js index a766cd368..dc0682d56 100644 --- a/ui/effects/use-history-nav.js +++ b/ui/effects/use-history-nav.js @@ -24,5 +24,5 @@ export default function useHistoryNav(history) { window.addEventListener('keydown', handleKeyPress); } return () => window.removeEventListener('keydown', handleKeyPress); - }, [el]); + }, [el, history]); } diff --git a/ui/effects/use-lazy-loading.js b/ui/effects/use-lazy-loading.js index 18ac92be5..d12fc1cf0 100644 --- a/ui/effects/use-lazy-loading.js +++ b/ui/effects/use-lazy-loading.js @@ -71,7 +71,7 @@ export default function useLazyLoading( // $FlowFixMe lazyLoadingObserver.observe(elementRef.current); - }, deps); + }, [backgroundFallback, elementRef, yOffsetPx]); return srcLoaded; } diff --git a/ui/modal/modalAffirmPurchase/view.jsx b/ui/modal/modalAffirmPurchase/view.jsx index ca3222f1c..5903e08ab 100644 --- a/ui/modal/modalAffirmPurchase/view.jsx +++ b/ui/modal/modalAffirmPurchase/view.jsx @@ -71,7 +71,7 @@ function ModalAffirmPurchase(props: Props) { clearTimeout(timeout); } }; - }, [success, uri]); + }, [success, uri, closeModal]); return ( diff --git a/ui/page/fileListPublished/view.jsx b/ui/page/fileListPublished/view.jsx index 3e90e0f31..61e5416c4 100644 --- a/ui/page/fileListPublished/view.jsx +++ b/ui/page/fileListPublished/view.jsx @@ -92,11 +92,11 @@ function FileListPublished(props: Props) { params.set('searchText', searchText); history.replace('?' + params.toString()); debounceFilter(); - }, [myClaims, searchText]); + }, [myClaims, searchText, debounceFilter, history, search]); useEffect(() => { doFilterClaims(); - }, [myClaims, filterBy]); + }, [myClaims, filterBy, doFilterClaims]); const urlTotal = filteredClaims.length; @@ -118,7 +118,7 @@ function FileListPublished(props: Props) { const params = new URLSearchParams(search); params.set(PAGINATE_PARAM, '1'); history.replace('?' + params.toString()); - }, [filteredClaims]); + }, [filteredClaims, history, search]); useEffect(() => { fetchAllMyClaims(); diff --git a/ui/page/notifications/view.jsx b/ui/page/notifications/view.jsx index 5fd137083..bbb3d1c95 100644 --- a/ui/page/notifications/view.jsx +++ b/ui/page/notifications/view.jsx @@ -77,7 +77,7 @@ export default function NotificationsPage(props: Props) { // If there are unread notifications when entering the page, reset to All. setName(NOTIFICATIONS.NOTIFICATION_NAME_ALL); } - }, []); + }, [setName, unreadCount, unseenCount]); React.useEffect(() => { if (unseenCount > 0) { @@ -104,7 +104,7 @@ export default function NotificationsPage(props: Props) { } } } - }, [name, notifications, stringifiedNotificationCategories]); + }, [name, notifications, stringifiedNotificationCategories, doNotificationList]); const notificationListElement = ( <> diff --git a/ui/page/settingsNotifications/view.jsx b/ui/page/settingsNotifications/view.jsx index 3d3f1d229..d421d9d85 100644 --- a/ui/page/settingsNotifications/view.jsx +++ b/ui/page/settingsNotifications/view.jsx @@ -53,7 +53,7 @@ export default function NotificationSettingsPage(props: Props) { setError(true); }); } - }, [isAuthenticated]); + }, [lbryIoParams, isAuthenticated]); function handleChangeTag(name, newIsEnabled) { const tagParams = newIsEnabled ? { add: name } : { remove: name }; diff --git a/ui/page/signInVerify/view.jsx b/ui/page/signInVerify/view.jsx index 86bfd0cd0..badfa7ddf 100644 --- a/ui/page/signInVerify/view.jsx +++ b/ui/page/signInVerify/view.jsx @@ -39,13 +39,13 @@ function SignInVerifyPage(props: Props) { if (!authToken || !userSubmittedEmail || !verificationToken) { onAuthError(__('Invalid or expired sign-in link.')); } - }, [authToken, userSubmittedEmail, verificationToken, doToast, push]); + }, [onAuthError, authToken, userSubmittedEmail, verificationToken, doToast, push]); React.useEffect(() => { if (!needsRecaptcha) { verifyUser(); } - }, [needsRecaptcha]); + }, [verifyUser, needsRecaptcha]); React.useEffect(() => { let captchaTimeout; diff --git a/webpack.base.config.js b/webpack.base.config.js index fc8cd7475..b271e31aa 100644 --- a/webpack.base.config.js +++ b/webpack.base.config.js @@ -46,7 +46,7 @@ let baseConfig = { loader: 'postcss-loader', options: { postcssOptions: { - plugins: function () { + plugins: function() { return [require('postcss-rtl')()]; }, }, @@ -102,7 +102,7 @@ let baseConfig = { plugins: [ new webpack.IgnorePlugin({ resourceRegExp: /^\.\/locale$/, contextRegExp: /moment$/ }), new webpack.EnvironmentPlugin({ - NODE_ENV: 'development' // default value if NODE_ENV is not defined + NODE_ENV: 'development', // default value if NODE_ENV is not defined }), new DefinePlugin({ __static: `"${path.join(__dirname, 'static').replace(/\\/g, '\\\\')}"`,