https://github.com/ganevdev/enough-time-ago
A Node.js library for checking how much time has passed since file was modified, changed, created or accessed.
https://github.com/ganevdev/enough-time-ago
filesystem node nodejs time
Last synced: 6 months ago
JSON representation
A Node.js library for checking how much time has passed since file was modified, changed, created or accessed.
- Host: GitHub
- URL: https://github.com/ganevdev/enough-time-ago
- Owner: ganevdev
- License: mit
- Created: 2019-01-31T13:25:34.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-01T07:27:02.000Z (almost 7 years ago)
- Last Synced: 2025-03-14T10:39:03.687Z (11 months ago)
- Topics: filesystem, node, nodejs, time
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/enough-time-ago
- Size: 50.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Enough Time Ago
[](https://travis-ci.com/Ganevru/enough-time-ago)
[](http://npm.im/enough-time-ago)
A [node js](https://nodejs.org/) library for checking how much time has passed since file was modified, changed, created or accessed. Always returns true, false or undefined (if file does not exist).
This library uses [node fs](https://nodejs.org/api/fs.html) methods, and its purpose is to shorten the code.
```bash
npm i enough-time-ago
```
Examples with `modified`, same with `created`, `changed` or `accessed`.
```js
const enoughTimeAgo = require('enough-time-ago');
enoughTimeAgo('./newFile', 'modified', 10000);
// return false, if file newFile modified less (or exactly 10000 ms) than 10 seconds ago
enoughTimeAgo('./oldFile', 'modified', 10000);
// return true, if file oldFile modified more than 10 seconds ago
enoughTimeAgo('./nonFile', 'modified', 10000);
// return undefined, if such file does not exist
enoughTimeAgo('./newFile');
// return false, if file newFile modified less (or exactly 86400000 ms) than one day ago
// by default millisecond values are 86400000 ms (one day) and modified are default check
```
Delete file if it was last modified more than a 10 seconds ago.
Same with `created`, `changed` and `accessed`.
```js
const enoughTimeAgo = require('enough-time-ago');
const fs = require('fs');
if (enoughTimeAgo('./file.html', 'modified', 10000)) {
fs.unlinkSync('./file.html');
}
// delete './file.html' if this file modified more than 10 seconds ago
```
Example - how to delete all obsolete (older than one day - 86400000 ms) files in a folder:
Remember! This example can even delete the file that launched it.
```js
const fs = require('fs');
const path = require('path');
const enoughTimeAgo = require('enough-time-ago');
// This function removes the old file (which has been updated too long ago).
function delOld(file, time) {
if (fs.existsSync(file)) {
if (enoughTimeAgo(file, 'modified', time)) {
fs.unlinkSync(file);
}
}
}
// This function deletes all old files with the specified extension in the specified folder.
function delAllOld(folder, extension, time = 86400000) {
fs.readdirSync(folder).forEach((file) => {
if (file.split('.').pop() === extension) {
delOld(folder + '/' + file, time);
}
});
}
delAllOld(path.resolve(__dirname, ''), 'html', 86400000);
// This function delete ALL old files with the extension 'html' in the same folder that contains this script.
```