Sha256: f97ee169d3ee9be7787f1b98ab4a33a7d0e790ae151078046ec4a346e3ddc087
Contents?: true
Size: 1.17 KB
Versions: 26
Compression:
Stored size: 1.17 KB
Contents
import { promises, existsSync } from 'node:fs'; import { isAbsolute, resolve, dirname, join, basename } from 'pathe'; class NodeSnapshotEnvironment { constructor(options = {}) { this.options = options; } getVersion() { return "1"; } getHeader() { return `// Snapshot v${this.getVersion()}`; } async resolveRawPath(testPath, rawPath) { return isAbsolute(rawPath) ? rawPath : resolve(dirname(testPath), rawPath); } async resolvePath(filepath) { return join( join(dirname(filepath), this.options.snapshotsDirName ?? "__snapshots__"), `${basename(filepath)}.snap` ); } async prepareDirectory(dirPath) { await promises.mkdir(dirPath, { recursive: true }); } async saveSnapshotFile(filepath, snapshot) { await promises.mkdir(dirname(filepath), { recursive: true }); await promises.writeFile(filepath, snapshot, "utf-8"); } async readSnapshotFile(filepath) { if (!existsSync(filepath)) { return null; } return promises.readFile(filepath, "utf-8"); } async removeSnapshotFile(filepath) { if (existsSync(filepath)) { await promises.unlink(filepath); } } } export { NodeSnapshotEnvironment };
Version data entries
26 entries across 26 versions & 1 rubygems