https://github.com/dalcib/deno-cache
A port of the cache module of Deno to be used with nodejs
https://github.com/dalcib/deno-cache
cache deno
Last synced: 10 months ago
JSON representation
A port of the cache module of Deno to be used with nodejs
- Host: GitHub
- URL: https://github.com/dalcib/deno-cache
- Owner: dalcib
- License: mit
- Created: 2020-10-18T15:12:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-12-13T14:33:32.000Z (over 5 years ago)
- Last Synced: 2024-11-14T10:10:08.842Z (over 1 year ago)
- Topics: cache, deno
- Language: JavaScript
- Homepage:
- Size: 27.3 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# deno-cache
This npm package is a port of the [cache](https://deno.land/x/cache) module of Deno to be used with nodejs.
Cache library, compatible with deno [module caching](https://deno.land/manual/linking_to_external_code).
```typescript
import {readFile} from 'fs/promises'
import {cache} from "deno-cache";
let file = await cache("https://example.com/file.json");
const text = await fs.readFile(file.path, 'utf8');
console.log(text);
```
or
```typescript
import {readFile} from 'fs/promises'
import * as Cache from "deno-cache";
const url = 'https://example.com/file.js'
Cache.configure({
directory: 'cache',
})
const deps = Cache.namespace('deps')
console.log(await deps.exists(url)) //false
const file = await deps.cache(url)
console.log(await deps.exists(url)) //true
console.log(file)
/* {
url: URL {...}
policy: undefined,
ns: 'deps',
hash: 'cdb5afb638e1edad8d0b947130a614930b0ec51ada5294dcedf120ad1518692f',
path: './cache/deps/https/example.com/cdb5afb638e1edad8d0b947130a614930b0ec51ada5294dcedf120ad1518692f',
metapath: './cache/deps/https/example.com/cdb5afb638e1edad8d0b947130a614930b0ec51ada5294dcedf120ad1518692f.metadata.json',
origin: 'fetch'
lstat: Stats {...}
}*/
await deps.remove(abs)
console.log(await deps.exists(url)) //false
```