aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/tar/dist/esm/update.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tar/dist/esm/update.js')
-rw-r--r--node_modules/tar/dist/esm/update.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/tar/dist/esm/update.js b/node_modules/tar/dist/esm/update.js
new file mode 100644
index 0000000..21398e9
--- /dev/null
+++ b/node_modules/tar/dist/esm/update.js
@@ -0,0 +1,30 @@
+// tar -u
+import { makeCommand } from './make-command.js';
+import { replace as r } from './replace.js';
+// just call tar.r with the filter and mtimeCache
+export const update = makeCommand(r.syncFile, r.asyncFile, r.syncNoFile, r.asyncNoFile, (opt, entries = []) => {
+ r.validate?.(opt, entries);
+ mtimeFilter(opt);
+});
+const mtimeFilter = (opt) => {
+ const filter = opt.filter;
+ if (!opt.mtimeCache) {
+ opt.mtimeCache = new Map();
+ }
+ opt.filter =
+ filter ?
+ (path, stat) => filter(path, stat) &&
+ !(
+ /* c8 ignore start */
+ ((opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >
+ (stat.mtime ?? 0))
+ /* c8 ignore stop */
+ )
+ : (path, stat) => !(
+ /* c8 ignore start */
+ ((opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >
+ (stat.mtime ?? 0))
+ /* c8 ignore stop */
+ );
+};
+//# sourceMappingURL=update.js.map \ No newline at end of file