94 lines
No EOL
3.4 KiB
HTML
94 lines
No EOL
3.4 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta name="generator" content="JSDoc 3.6.11">
|
|
<meta charset="utf-8">
|
|
<title>whatsapp-web.js 1.30.1-alpha.2 » Source: webCache/LocalWebCache.js</title>
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css">
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css">
|
|
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
|
|
<link href="css/baseline.css" rel="stylesheet">
|
|
</head>
|
|
|
|
<body onload="prettyPrint()">
|
|
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
|
|
<div id="jsdoc-navbar-container">
|
|
<div id="jsdoc-navbar-content">
|
|
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>30.<wbr>1-alpha.<wbr>2</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div id="jsdoc-body-container">
|
|
<div id="jsdoc-content">
|
|
<div id="jsdoc-content-container">
|
|
<div id="jsdoc-banner" role="banner">
|
|
</div>
|
|
<div id="jsdoc-main" role="main">
|
|
<header class="page-header">
|
|
<h1>Source: webCache/LocalWebCache.js</h1>
|
|
</header>
|
|
<article>
|
|
<pre class="prettyprint linenums"><code>const path = require('path');
|
|
const fs = require('fs');
|
|
|
|
const { WebCache, VersionResolveError } = require('./WebCache');
|
|
|
|
/**
|
|
* LocalWebCache - Fetches a WhatsApp Web version from a local file store
|
|
* @param {object} options - options
|
|
* @param {string} options.path - Path to the directory where cached versions are saved, default is: "./.wwebjs_cache/"
|
|
* @param {boolean} options.strict - If true, will throw an error if the requested version can't be fetched. If false, will resolve to the latest version.
|
|
*/
|
|
class LocalWebCache extends WebCache {
|
|
constructor(options = {}) {
|
|
super();
|
|
|
|
this.path = options.path || './.wwebjs_cache/';
|
|
this.strict = options.strict || false;
|
|
}
|
|
|
|
async resolve(version) {
|
|
const filePath = path.join(this.path, `${version}.html`);
|
|
|
|
try {
|
|
return fs.readFileSync(filePath, 'utf-8');
|
|
}
|
|
catch (err) {
|
|
if (this.strict) throw new VersionResolveError(`Couldn't load version ${version} from the cache`);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
async persist(indexHtml, version) {
|
|
// version = (version+'').replace(/[^0-9.]/g,'');
|
|
const filePath = path.join(this.path, `${version}.html`);
|
|
fs.mkdirSync(this.path, { recursive: true });
|
|
fs.writeFileSync(filePath, indexHtml);
|
|
}
|
|
}
|
|
|
|
module.exports = LocalWebCache;
|
|
</code></pre>
|
|
</article>
|
|
</div>
|
|
</div>
|
|
<nav id="jsdoc-toc-nav" role="navigation"></nav>
|
|
</div>
|
|
</div>
|
|
<footer id="jsdoc-footer" class="jsdoc-footer">
|
|
<div id="jsdoc-footer-container">
|
|
<p>
|
|
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on June 5, 2025.
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
<script src="scripts/jquery.min.js"></script>
|
|
<script src="scripts/tree.jquery.js"></script>
|
|
<script src="scripts/prettify.js"></script>
|
|
<script src="scripts/jsdoc-toc.js"></script>
|
|
<script src="scripts/linenumber.js"></script>
|
|
<script src="scripts/scrollanchor.js"></script>
|
|
</body>
|
|
|
|
</html> |